{
  "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": "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"
        },
        "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%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 3 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%2Fv3%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 3 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%2Fv3%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/v3/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.v3.Overridesetting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 6,\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.v3.Overridesetting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=6,\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.V3.Overridesetting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 6,\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(6),\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(6)\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/v3:Overridesetting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 6\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\nLogFortianalyzer3 OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/overridesetting:Overridesetting labelname LogFortianalyzer3OverrideSetting\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/overridesetting:Overridesetting labelname LogFortianalyzer3OverrideSetting\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%2Fv3%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%2Fv3%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%2Fv3%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/v3/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.v3.Setting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 3,\n    hmacAlgorithm: \"sha256\",\n    ipsArchive: \"enable\",\n    mgmtName: \"FGh_Log3\",\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.v3.Setting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=3,\n    hmac_algorithm=\"sha256\",\n    ips_archive=\"enable\",\n    mgmt_name=\"FGh_Log3\",\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.V3.Setting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 3,\n        HmacAlgorithm = \"sha256\",\n        IpsArchive = \"enable\",\n        MgmtName = \"FGh_Log3\",\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(3),\n\t\t\tHmacAlgorithm:             pulumi.String(\"sha256\"),\n\t\t\tIpsArchive:                pulumi.String(\"enable\"),\n\t\t\tMgmtName:                  pulumi.String(\"FGh_Log3\"),\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(3)\n            .hmacAlgorithm(\"sha256\")\n            .ipsArchive(\"enable\")\n            .mgmtName(\"FGh_Log3\")\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/v3:Setting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 3\n      hmacAlgorithm: sha256\n      ipsArchive: enable\n      mgmtName: FGh_Log3\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\nLogFortianalyzer3 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/setting:Setting labelname LogFortianalyzer3Setting\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/setting:Setting labelname LogFortianalyzer3Setting\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%2Fv3%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%2Fv3%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%2Fv3%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/fortiguard/filter:Filter": {
      "description": "Filters for FortiCloud.\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.fortiguard.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.fortiguard.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.Fortiguard.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/fortiguard: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\nLogFortiguard Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortiguard/filter:Filter labelname LogFortiguardFilter\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/fortiguard/filter:Filter labelname LogFortiguardFilter\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": "FortiCloud 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%2Ffortiguard%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": "FortiCloud 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%2Ffortiguard%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": "FortiCloud 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%2Ffortiguard%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/fortiguard/overridefilter:Overridefilter": {
      "description": "Override filters for FortiCloud.\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.fortiguard.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.fortiguard.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.Fortiguard.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/fortiguard: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\nLogFortiguard OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortiguard/overridefilter:Overridefilter labelname LogFortiguardOverrideFilter\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/fortiguard/overridefilter:Overridefilter labelname LogFortiguardOverrideFilter\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": "FortiCloud 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%2Ffortiguard%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": "FortiCloud 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%2Ffortiguard%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": "FortiCloud 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%2Ffortiguard%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/fortiguard/overridesetting:Overridesetting": {
      "description": "Override global FortiCloud logging settings for this VDOM.\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.fortiguard.Overridesetting(\"trname\", {\n    override: \"disable\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortiguard.Overridesetting(\"trname\",\n    override=\"disable\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"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.Log.Fortiguard.Overridesetting(\"trname\", new()\n    {\n        Override = \"disable\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"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/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\tOverride:       pulumi.String(\"disable\"),\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: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.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            .override(\"disable\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortiguard:Overridesetting\n    properties:\n      override: disable\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortiguard OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortiguard/overridesetting:Overridesetting labelname LogFortiguardOverrideSetting\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/fortiguard/overridesetting:Overridesetting labelname LogFortiguardOverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
        },
        "override": {
          "type": "string",
          "description": "Overriding FortiCloud settings for this VDOM or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week to roll logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time of day to roll 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",
        "maxLogRate",
        "override",
        "priority",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "vdomparam"
      ],
      "inputProperties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
        },
        "override": {
          "type": "string",
          "description": "Overriding FortiCloud settings for this VDOM or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week to roll logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time of day to roll 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 Overridesetting resources.\n",
        "properties": {
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
          },
          "override": {
            "type": "string",
            "description": "Overriding FortiCloud settings for this VDOM or use global settings. Valid values: `enable`, `disable`.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiCloud. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week to roll logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time of day to roll 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/fortiguard/setting:Setting": {
      "description": "Configure logging to FortiCloud.\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.fortiguard.Setting(\"trname\", {\n    encAlgorithm: \"high\",\n    sourceIp: \"0.0.0.0\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortiguard.Setting(\"trname\",\n    enc_algorithm=\"high\",\n    source_ip=\"0.0.0.0\",\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"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.Log.Fortiguard.Setting(\"trname\", new()\n    {\n        EncAlgorithm = \"high\",\n        SourceIp = \"0.0.0.0\",\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"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/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\tEncAlgorithm:       pulumi.String(\"high\"),\n\t\t\tSourceIp:           pulumi.String(\"0.0.0.0\"),\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: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.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            .encAlgorithm(\"high\")\n            .sourceIp(\"0.0.0.0\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortiguard:Setting\n    properties:\n      encAlgorithm: high\n      sourceIp: 0.0.0.0\n      sslMinProtoVersion: default\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortiguard Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortiguard/setting:Setting labelname LogFortiguardSetting\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/fortiguard/setting:Setting labelname LogFortiguardSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiGate Cloud connection timeout in seconds.\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable and set the SSL security level for for sending encrypted logs to FortiCloud. Valid values: `high-medium`, `high`, `low`.\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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address used to connect FortiCloud.\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 FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week to roll logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time of day to roll 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",
        "connTimeout",
        "encAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "priority",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "vdomparam"
      ],
      "inputProperties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiGate Cloud connection timeout in seconds.\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable and set the SSL security level for for sending encrypted logs to FortiCloud. Valid values: `high-medium`, `high`, `low`.\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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address used to connect FortiCloud.\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 FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week to roll logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time of day to roll 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 FortiCloud access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiGate Cloud connection timeout in seconds.\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable and set the SSL security level for for sending encrypted logs to FortiCloud. Valid values: `high-medium`, `high`, `low`.\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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiCloud maximum log rate in MBps (0 = unlimited).\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address used to connect FortiCloud.\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 FortiCloud. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week to roll logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency of uploading log files to FortiCloud. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Configure how log messages are sent to FortiCloud. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time of day to roll 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/guidisplay:Guidisplay": {
      "description": "Configure how log messages are displayed on the GUI.\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.Guidisplay(\"trname\", {\n    fortiviewUnscannedApps: \"disable\",\n    resolveApps: \"enable\",\n    resolveHosts: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.Guidisplay(\"trname\",\n    fortiview_unscanned_apps=\"disable\",\n    resolve_apps=\"enable\",\n    resolve_hosts=\"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.Guidisplay(\"trname\", new()\n    {\n        FortiviewUnscannedApps = \"disable\",\n        ResolveApps = \"enable\",\n        ResolveHosts = \"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.NewGuidisplay(ctx, \"trname\", &log.GuidisplayArgs{\n\t\t\tFortiviewUnscannedApps: pulumi.String(\"disable\"),\n\t\t\tResolveApps:            pulumi.String(\"enable\"),\n\t\t\tResolveHosts:           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.Guidisplay;\nimport com.pulumi.fortios.log.GuidisplayArgs;\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 Guidisplay(\"trname\", GuidisplayArgs.builder()\n            .fortiviewUnscannedApps(\"disable\")\n            .resolveApps(\"enable\")\n            .resolveHosts(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log:Guidisplay\n    properties:\n      fortiviewUnscannedApps: disable\n      resolveApps: enable\n      resolveHosts: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLog GuiDisplay can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/guidisplay:Guidisplay labelname LogGuiDisplay\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/guidisplay:Guidisplay labelname LogGuiDisplay\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fortiviewUnscannedApps": {
          "type": "string",
          "description": "Enable/disable showing unscanned traffic in FortiView application charts. Valid values: `enable`, `disable`.\n"
        },
        "resolveApps": {
          "type": "string",
          "description": "Resolve unknown applications on the GUI using Fortinet's remote application database. Valid values: `enable`, `disable`.\n"
        },
        "resolveHosts": {
          "type": "string",
          "description": "Enable/disable resolving IP addresses to hostname in log messages on the GUI using reverse DNS lookup 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": [
        "fortiviewUnscannedApps",
        "resolveApps",
        "resolveHosts",
        "vdomparam"
      ],
      "inputProperties": {
        "fortiviewUnscannedApps": {
          "type": "string",
          "description": "Enable/disable showing unscanned traffic in FortiView application charts. Valid values: `enable`, `disable`.\n"
        },
        "resolveApps": {
          "type": "string",
          "description": "Resolve unknown applications on the GUI using Fortinet's remote application database. Valid values: `enable`, `disable`.\n"
        },
        "resolveHosts": {
          "type": "string",
          "description": "Enable/disable resolving IP addresses to hostname in log messages on the GUI using reverse DNS lookup 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 Guidisplay resources.\n",
        "properties": {
          "fortiviewUnscannedApps": {
            "type": "string",
            "description": "Enable/disable showing unscanned traffic in FortiView application charts. Valid values: `enable`, `disable`.\n"
          },
          "resolveApps": {
            "type": "string",
            "description": "Resolve unknown applications on the GUI using Fortinet's remote application database. Valid values: `enable`, `disable`.\n"
          },
          "resolveHosts": {
            "type": "string",
            "description": "Enable/disable resolving IP addresses to hostname in log messages on the GUI using reverse DNS lookup 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/memory/filter:Filter": {
      "description": "Filters for memory buffer.\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.memory.Filter(\"trname\", {\n    anomaly: \"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.memory.Filter(\"trname\",\n    anomaly=\"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.Memory.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/memory:Filter\n    properties:\n      anomaly: 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\nLogMemory Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/memory/filter:Filter labelname LogMemoryFilter\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/memory/filter:Filter labelname LogMemoryFilter\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"
        },
        "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": "Memory 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%2Fmemory%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 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",
        "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"
        },
        "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": "Memory 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%2Fmemory%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 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"
          },
          "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": "Memory 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%2Fmemory%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 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/memory/globalsetting:Globalsetting": {
      "description": "Global settings for memory 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.memory.Globalsetting(\"trname\", {\n    fullFinalWarningThreshold: 95,\n    fullFirstWarningThreshold: 75,\n    fullSecondWarningThreshold: 90,\n    maxSize: 163840,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.memory.Globalsetting(\"trname\",\n    full_final_warning_threshold=95,\n    full_first_warning_threshold=75,\n    full_second_warning_threshold=90,\n    max_size=163840)\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.Memory.Globalsetting(\"trname\", new()\n    {\n        FullFinalWarningThreshold = 95,\n        FullFirstWarningThreshold = 75,\n        FullSecondWarningThreshold = 90,\n        MaxSize = 163840,\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.NewGlobalsetting(ctx, \"trname\", &log.GlobalsettingArgs{\n\t\t\tFullFinalWarningThreshold:  pulumi.Int(95),\n\t\t\tFullFirstWarningThreshold:  pulumi.Int(75),\n\t\t\tFullSecondWarningThreshold: pulumi.Int(90),\n\t\t\tMaxSize:                    pulumi.Int(163840),\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.Globalsetting;\nimport com.pulumi.fortios.log.GlobalsettingArgs;\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 Globalsetting(\"trname\", GlobalsettingArgs.builder()\n            .fullFinalWarningThreshold(95)\n            .fullFirstWarningThreshold(75)\n            .fullSecondWarningThreshold(90)\n            .maxSize(163840)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/memory:Globalsetting\n    properties:\n      fullFinalWarningThreshold: 95\n      fullFirstWarningThreshold: 75\n      fullSecondWarningThreshold: 90\n      maxSize: 163840\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogMemory GlobalSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/memory/globalsetting:Globalsetting labelname LogMemoryGlobalSetting\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/memory/globalsetting:Globalsetting labelname LogMemoryGlobalSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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"
        },
        "maxSize": {
          "type": "integer",
          "description": "Maximum amount of memory that can be used for memory logging in bytes.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "fullFinalWarningThreshold",
        "fullFirstWarningThreshold",
        "fullSecondWarningThreshold",
        "maxSize",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "maxSize": {
          "type": "integer",
          "description": "Maximum amount of memory that can be used for memory logging in bytes.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Globalsetting resources.\n",
        "properties": {
          "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"
          },
          "maxSize": {
            "type": "integer",
            "description": "Maximum amount of memory that can be used for memory logging in bytes.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/memory/setting:Setting": {
      "description": "Settings for memory buffer.\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.memory.Setting(\"trname\", {\n    diskfull: \"overwrite\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.memory.Setting(\"trname\",\n    diskfull=\"overwrite\",\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.Log.Memory.Setting(\"trname\", new()\n    {\n        Diskfull = \"overwrite\",\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/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\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.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            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/memory:Setting\n    properties:\n      diskfull: overwrite\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogMemory Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/memory/setting:Setting labelname LogMemorySetting\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/memory/setting:Setting labelname LogMemorySetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "diskfull": {
          "type": "string",
          "description": "Action to take when memory is full. Valid values: `overwrite`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to the FortiGate's memory. 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": [
        "diskfull",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "diskfull": {
          "type": "string",
          "description": "Action to take when memory is full. Valid values: `overwrite`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to the FortiGate's memory. 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 Setting resources.\n",
        "properties": {
          "diskfull": {
            "type": "string",
            "description": "Action to take when memory is full. Valid values: `overwrite`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to the FortiGate's memory. 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/nulldevice/filter:Filter": {
      "description": "Filters for null device 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.nulldevice.Filter(\"trname\", {\n    anomaly: \"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.nulldevice.Filter(\"trname\",\n    anomaly=\"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.Nulldevice.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/nulldevice:Filter\n    properties:\n      anomaly: 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\nLogNullDevice Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/nulldevice/filter:Filter labelname LogNullDeviceFilter\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/nulldevice/filter:Filter labelname LogNullDeviceFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Null-device 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%2Fnulldevice%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",
        "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"
        },
        "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": "Null-device 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%2Fnulldevice%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"
          },
          "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": "Null-device 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%2Fnulldevice%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/nulldevice/setting:Setting": {
      "description": "Settings for null device 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.nulldevice.Setting(\"trname\", {status: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.nulldevice.Setting(\"trname\", 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.Log.Nulldevice.Setting(\"trname\", new()\n    {\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/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\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.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            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/nulldevice:Setting\n    properties:\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogNullDevice Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/nulldevice/setting:Setting labelname LogNullDeviceSetting\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/nulldevice/setting:Setting labelname LogNullDeviceSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "status": {
          "type": "string",
          "description": "Enable/disable statistics collection for when no external logging destination, such as FortiAnalyzer, is present (data is not saved). 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 statistics collection for when no external logging destination, such as FortiAnalyzer, is present (data is not saved). 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": [
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "status": {
            "type": "string",
            "description": "Enable/disable statistics collection for when no external logging destination, such as FortiAnalyzer, is present (data is not saved). 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/setting:Setting": {
      "description": "Configure general log 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.Setting(\"trname\", {\n    briefTrafficFormat: \"disable\",\n    daemonLog: \"disable\",\n    expolicyImplicitLog: \"disable\",\n    fazOverride: \"disable\",\n    fwpolicy6ImplicitLog: \"disable\",\n    fwpolicyImplicitLog: \"disable\",\n    localInAllow: \"disable\",\n    localInDenyBroadcast: \"disable\",\n    localInDenyUnicast: \"disable\",\n    localOut: \"disable\",\n    logInvalidPacket: \"disable\",\n    logPolicyComment: \"disable\",\n    logPolicyName: \"disable\",\n    logUserInUpper: \"disable\",\n    neighborEvent: \"disable\",\n    resolveIp: \"disable\",\n    resolvePort: \"enable\",\n    syslogOverride: \"disable\",\n    userAnonymize: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.Setting(\"trname\",\n    brief_traffic_format=\"disable\",\n    daemon_log=\"disable\",\n    expolicy_implicit_log=\"disable\",\n    faz_override=\"disable\",\n    fwpolicy6_implicit_log=\"disable\",\n    fwpolicy_implicit_log=\"disable\",\n    local_in_allow=\"disable\",\n    local_in_deny_broadcast=\"disable\",\n    local_in_deny_unicast=\"disable\",\n    local_out=\"disable\",\n    log_invalid_packet=\"disable\",\n    log_policy_comment=\"disable\",\n    log_policy_name=\"disable\",\n    log_user_in_upper=\"disable\",\n    neighbor_event=\"disable\",\n    resolve_ip=\"disable\",\n    resolve_port=\"enable\",\n    syslog_override=\"disable\",\n    user_anonymize=\"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.Setting(\"trname\", new()\n    {\n        BriefTrafficFormat = \"disable\",\n        DaemonLog = \"disable\",\n        ExpolicyImplicitLog = \"disable\",\n        FazOverride = \"disable\",\n        Fwpolicy6ImplicitLog = \"disable\",\n        FwpolicyImplicitLog = \"disable\",\n        LocalInAllow = \"disable\",\n        LocalInDenyBroadcast = \"disable\",\n        LocalInDenyUnicast = \"disable\",\n        LocalOut = \"disable\",\n        LogInvalidPacket = \"disable\",\n        LogPolicyComment = \"disable\",\n        LogPolicyName = \"disable\",\n        LogUserInUpper = \"disable\",\n        NeighborEvent = \"disable\",\n        ResolveIp = \"disable\",\n        ResolvePort = \"enable\",\n        SyslogOverride = \"disable\",\n        UserAnonymize = \"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.NewSetting(ctx, \"trname\", &log.SettingArgs{\n\t\t\tBriefTrafficFormat:   pulumi.String(\"disable\"),\n\t\t\tDaemonLog:            pulumi.String(\"disable\"),\n\t\t\tExpolicyImplicitLog:  pulumi.String(\"disable\"),\n\t\t\tFazOverride:          pulumi.String(\"disable\"),\n\t\t\tFwpolicy6ImplicitLog: pulumi.String(\"disable\"),\n\t\t\tFwpolicyImplicitLog:  pulumi.String(\"disable\"),\n\t\t\tLocalInAllow:         pulumi.String(\"disable\"),\n\t\t\tLocalInDenyBroadcast: pulumi.String(\"disable\"),\n\t\t\tLocalInDenyUnicast:   pulumi.String(\"disable\"),\n\t\t\tLocalOut:             pulumi.String(\"disable\"),\n\t\t\tLogInvalidPacket:     pulumi.String(\"disable\"),\n\t\t\tLogPolicyComment:     pulumi.String(\"disable\"),\n\t\t\tLogPolicyName:        pulumi.String(\"disable\"),\n\t\t\tLogUserInUpper:       pulumi.String(\"disable\"),\n\t\t\tNeighborEvent:        pulumi.String(\"disable\"),\n\t\t\tResolveIp:            pulumi.String(\"disable\"),\n\t\t\tResolvePort:          pulumi.String(\"enable\"),\n\t\t\tSyslogOverride:       pulumi.String(\"disable\"),\n\t\t\tUserAnonymize:        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.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            .briefTrafficFormat(\"disable\")\n            .daemonLog(\"disable\")\n            .expolicyImplicitLog(\"disable\")\n            .fazOverride(\"disable\")\n            .fwpolicy6ImplicitLog(\"disable\")\n            .fwpolicyImplicitLog(\"disable\")\n            .localInAllow(\"disable\")\n            .localInDenyBroadcast(\"disable\")\n            .localInDenyUnicast(\"disable\")\n            .localOut(\"disable\")\n            .logInvalidPacket(\"disable\")\n            .logPolicyComment(\"disable\")\n            .logPolicyName(\"disable\")\n            .logUserInUpper(\"disable\")\n            .neighborEvent(\"disable\")\n            .resolveIp(\"disable\")\n            .resolvePort(\"enable\")\n            .syslogOverride(\"disable\")\n            .userAnonymize(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log:Setting\n    properties:\n      briefTrafficFormat: disable\n      daemonLog: disable\n      expolicyImplicitLog: disable\n      fazOverride: disable\n      fwpolicy6ImplicitLog: disable\n      fwpolicyImplicitLog: disable\n      localInAllow: disable\n      localInDenyBroadcast: disable\n      localInDenyUnicast: disable\n      localOut: disable\n      logInvalidPacket: disable\n      logPolicyComment: disable\n      logPolicyName: disable\n      logUserInUpper: disable\n      neighborEvent: disable\n      resolveIp: disable\n      resolvePort: enable\n      syslogOverride: disable\n      userAnonymize: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLog Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/setting:Setting labelname LogSetting\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/setting:Setting labelname LogSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anonymizationHash": {
          "type": "string",
          "description": "User name anonymization hash salt.\n"
        },
        "briefTrafficFormat": {
          "type": "string",
          "description": "Enable/disable brief format traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FSettingCustomLogField:SettingCustomLogField"
          },
          "description": "Custom fields to append to all log messages. The structure of `custom_log_fields` block is documented below.\n"
        },
        "daemonLog": {
          "type": "string",
          "description": "Enable/disable daemon 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"
        },
        "expolicyImplicitLog": {
          "type": "string",
          "description": "Enable/disable explicit proxy firewall implicit policy logging. Valid values: `enable`, `disable`.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "fazOverride": {
          "type": "string",
          "description": "Enable/disable override FortiAnalyzer settings. Valid values: `enable`, `disable`.\n"
        },
        "fwpolicy6ImplicitLog": {
          "type": "string",
          "description": "Enable/disable implicit firewall policy6 logging. Valid values: `enable`, `disable`.\n"
        },
        "fwpolicyImplicitLog": {
          "type": "string",
          "description": "Enable/disable implicit firewall policy logging. 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"
        },
        "localInAllow": {
          "type": "string",
          "description": "Enable/disable local-in-allow logging. Valid values: `enable`, `disable`.\n"
        },
        "localInDenyBroadcast": {
          "type": "string",
          "description": "Enable/disable local-in-deny-broadcast logging. Valid values: `enable`, `disable`.\n"
        },
        "localInDenyUnicast": {
          "type": "string",
          "description": "Enable/disable local-in-deny-unicast logging. Valid values: `enable`, `disable`.\n"
        },
        "localOut": {
          "type": "string",
          "description": "Enable/disable local-out logging. Valid values: `enable`, `disable`.\n"
        },
        "localOutIocDetection": {
          "type": "string",
          "description": "Enable/disable local-out traffic IoC detection. Requires local-out to be enabled. Valid values: `enable`, `disable`.\n"
        },
        "logInvalidPacket": {
          "type": "string",
          "description": "Enable/disable invalid packet traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyComment": {
          "type": "string",
          "description": "Enable/disable inserting policy comments into traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyName": {
          "type": "string",
          "description": "Enable/disable inserting policy name into traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logUserInUpper": {
          "type": "string",
          "description": "Enable/disable logs with user-in-upper. Valid values: `enable`, `disable`.\n"
        },
        "longLiveSessionStat": {
          "type": "string",
          "description": "Enable/disable long-live-session statistics logging. Valid values: `enable`, `disable`.\n"
        },
        "neighborEvent": {
          "type": "string",
          "description": "Enable/disable neighbor event logging. Valid values: `enable`, `disable`.\n"
        },
        "resolveIp": {
          "type": "string",
          "description": "Enable/disable adding resolved domain names to traffic logs if possible. Valid values: `enable`, `disable`.\n"
        },
        "resolvePort": {
          "type": "string",
          "description": "Enable/disable adding resolved service names to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "restApiGet": {
          "type": "string",
          "description": "Enable/disable REST API GET request logging. Valid values: `enable`, `disable`.\n"
        },
        "restApiSet": {
          "type": "string",
          "description": "Enable/disable REST API POST/PUT/DELETE request logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogOverride": {
          "type": "string",
          "description": "Enable/disable override Syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "userAnonymize": {
          "type": "string",
          "description": "Enable/disable anonymizing user names in log messages. 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": [
        "anonymizationHash",
        "briefTrafficFormat",
        "daemonLog",
        "expolicyImplicitLog",
        "extendedLog",
        "fazOverride",
        "fwpolicy6ImplicitLog",
        "fwpolicyImplicitLog",
        "localInAllow",
        "localInDenyBroadcast",
        "localInDenyUnicast",
        "localOut",
        "localOutIocDetection",
        "logInvalidPacket",
        "logPolicyComment",
        "logPolicyName",
        "logUserInUpper",
        "longLiveSessionStat",
        "neighborEvent",
        "resolveIp",
        "resolvePort",
        "restApiGet",
        "restApiSet",
        "syslogOverride",
        "userAnonymize",
        "vdomparam"
      ],
      "inputProperties": {
        "anonymizationHash": {
          "type": "string",
          "description": "User name anonymization hash salt.\n"
        },
        "briefTrafficFormat": {
          "type": "string",
          "description": "Enable/disable brief format traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FSettingCustomLogField:SettingCustomLogField"
          },
          "description": "Custom fields to append to all log messages. The structure of `custom_log_fields` block is documented below.\n"
        },
        "daemonLog": {
          "type": "string",
          "description": "Enable/disable daemon 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"
        },
        "expolicyImplicitLog": {
          "type": "string",
          "description": "Enable/disable explicit proxy firewall implicit policy logging. Valid values: `enable`, `disable`.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "fazOverride": {
          "type": "string",
          "description": "Enable/disable override FortiAnalyzer settings. Valid values: `enable`, `disable`.\n"
        },
        "fwpolicy6ImplicitLog": {
          "type": "string",
          "description": "Enable/disable implicit firewall policy6 logging. Valid values: `enable`, `disable`.\n"
        },
        "fwpolicyImplicitLog": {
          "type": "string",
          "description": "Enable/disable implicit firewall policy logging. 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"
        },
        "localInAllow": {
          "type": "string",
          "description": "Enable/disable local-in-allow logging. Valid values: `enable`, `disable`.\n"
        },
        "localInDenyBroadcast": {
          "type": "string",
          "description": "Enable/disable local-in-deny-broadcast logging. Valid values: `enable`, `disable`.\n"
        },
        "localInDenyUnicast": {
          "type": "string",
          "description": "Enable/disable local-in-deny-unicast logging. Valid values: `enable`, `disable`.\n"
        },
        "localOut": {
          "type": "string",
          "description": "Enable/disable local-out logging. Valid values: `enable`, `disable`.\n"
        },
        "localOutIocDetection": {
          "type": "string",
          "description": "Enable/disable local-out traffic IoC detection. Requires local-out to be enabled. Valid values: `enable`, `disable`.\n"
        },
        "logInvalidPacket": {
          "type": "string",
          "description": "Enable/disable invalid packet traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyComment": {
          "type": "string",
          "description": "Enable/disable inserting policy comments into traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyName": {
          "type": "string",
          "description": "Enable/disable inserting policy name into traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logUserInUpper": {
          "type": "string",
          "description": "Enable/disable logs with user-in-upper. Valid values: `enable`, `disable`.\n"
        },
        "longLiveSessionStat": {
          "type": "string",
          "description": "Enable/disable long-live-session statistics logging. Valid values: `enable`, `disable`.\n"
        },
        "neighborEvent": {
          "type": "string",
          "description": "Enable/disable neighbor event logging. Valid values: `enable`, `disable`.\n"
        },
        "resolveIp": {
          "type": "string",
          "description": "Enable/disable adding resolved domain names to traffic logs if possible. Valid values: `enable`, `disable`.\n"
        },
        "resolvePort": {
          "type": "string",
          "description": "Enable/disable adding resolved service names to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "restApiGet": {
          "type": "string",
          "description": "Enable/disable REST API GET request logging. Valid values: `enable`, `disable`.\n"
        },
        "restApiSet": {
          "type": "string",
          "description": "Enable/disable REST API POST/PUT/DELETE request logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogOverride": {
          "type": "string",
          "description": "Enable/disable override Syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "userAnonymize": {
          "type": "string",
          "description": "Enable/disable anonymizing user names in log messages. 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 Setting resources.\n",
        "properties": {
          "anonymizationHash": {
            "type": "string",
            "description": "User name anonymization hash salt.\n"
          },
          "briefTrafficFormat": {
            "type": "string",
            "description": "Enable/disable brief format traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "customLogFields": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2FSettingCustomLogField:SettingCustomLogField"
            },
            "description": "Custom fields to append to all log messages. The structure of `custom_log_fields` block is documented below.\n"
          },
          "daemonLog": {
            "type": "string",
            "description": "Enable/disable daemon 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"
          },
          "expolicyImplicitLog": {
            "type": "string",
            "description": "Enable/disable explicit proxy firewall implicit policy logging. Valid values: `enable`, `disable`.\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "fazOverride": {
            "type": "string",
            "description": "Enable/disable override FortiAnalyzer settings. Valid values: `enable`, `disable`.\n"
          },
          "fwpolicy6ImplicitLog": {
            "type": "string",
            "description": "Enable/disable implicit firewall policy6 logging. Valid values: `enable`, `disable`.\n"
          },
          "fwpolicyImplicitLog": {
            "type": "string",
            "description": "Enable/disable implicit firewall policy logging. 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"
          },
          "localInAllow": {
            "type": "string",
            "description": "Enable/disable local-in-allow logging. Valid values: `enable`, `disable`.\n"
          },
          "localInDenyBroadcast": {
            "type": "string",
            "description": "Enable/disable local-in-deny-broadcast logging. Valid values: `enable`, `disable`.\n"
          },
          "localInDenyUnicast": {
            "type": "string",
            "description": "Enable/disable local-in-deny-unicast logging. Valid values: `enable`, `disable`.\n"
          },
          "localOut": {
            "type": "string",
            "description": "Enable/disable local-out logging. Valid values: `enable`, `disable`.\n"
          },
          "localOutIocDetection": {
            "type": "string",
            "description": "Enable/disable local-out traffic IoC detection. Requires local-out to be enabled. Valid values: `enable`, `disable`.\n"
          },
          "logInvalidPacket": {
            "type": "string",
            "description": "Enable/disable invalid packet traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "logPolicyComment": {
            "type": "string",
            "description": "Enable/disable inserting policy comments into traffic logs. Valid values: `enable`, `disable`.\n"
          },
          "logPolicyName": {
            "type": "string",
            "description": "Enable/disable inserting policy name into traffic logs. Valid values: `enable`, `disable`.\n"
          },
          "logUserInUpper": {
            "type": "string",
            "description": "Enable/disable logs with user-in-upper. Valid values: `enable`, `disable`.\n"
          },
          "longLiveSessionStat": {
            "type": "string",
            "description": "Enable/disable long-live-session statistics logging. Valid values: `enable`, `disable`.\n"
          },
          "neighborEvent": {
            "type": "string",
            "description": "Enable/disable neighbor event logging. Valid values: `enable`, `disable`.\n"
          },
          "resolveIp": {
            "type": "string",
            "description": "Enable/disable adding resolved domain names to traffic logs if possible. Valid values: `enable`, `disable`.\n"
          },
          "resolvePort": {
            "type": "string",
            "description": "Enable/disable adding resolved service names to traffic logs. Valid values: `enable`, `disable`.\n"
          },
          "restApiGet": {
            "type": "string",
            "description": "Enable/disable REST API GET request logging. Valid values: `enable`, `disable`.\n"
          },
          "restApiSet": {
            "type": "string",
            "description": "Enable/disable REST API POST/PUT/DELETE request logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogOverride": {
            "type": "string",
            "description": "Enable/disable override Syslog settings. Valid values: `enable`, `disable`.\n"
          },
          "userAnonymize": {
            "type": "string",
            "description": "Enable/disable anonymizing user names in log messages. 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/syslogSetting:SyslogSetting": {
      "description": "Provides a resource to configure logging to remote Syslog logging servers.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.log/syslogd.Setting`, 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 test2 = new fortios.log.SyslogSetting(\"test2\", {\n    facility: \"local7\",\n    format: \"csv\",\n    mode: \"udp\",\n    port: \"514\",\n    server: \"2.2.2.2\",\n    sourceIp: \"10.2.2.199\",\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.log.SyslogSetting(\"test2\",\n    facility=\"local7\",\n    format=\"csv\",\n    mode=\"udp\",\n    port=\"514\",\n    server=\"2.2.2.2\",\n    source_ip=\"10.2.2.199\",\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 test2 = new Fortios.Log.SyslogSetting(\"test2\", new()\n    {\n        Facility = \"local7\",\n        Format = \"csv\",\n        Mode = \"udp\",\n        Port = \"514\",\n        Server = \"2.2.2.2\",\n        SourceIp = \"10.2.2.199\",\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/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewSyslogSetting(ctx, \"test2\", &log.SyslogSettingArgs{\n\t\t\tFacility: pulumi.String(\"local7\"),\n\t\t\tFormat:   pulumi.String(\"csv\"),\n\t\t\tMode:     pulumi.String(\"udp\"),\n\t\t\tPort:     pulumi.String(\"514\"),\n\t\t\tServer:   pulumi.String(\"2.2.2.2\"),\n\t\t\tSourceIp: pulumi.String(\"10.2.2.199\"),\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.log.SyslogSetting;\nimport com.pulumi.fortios.log.SyslogSettingArgs;\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 test2 = new SyslogSetting(\"test2\", SyslogSettingArgs.builder()\n            .facility(\"local7\")\n            .format(\"csv\")\n            .mode(\"udp\")\n            .port(\"514\")\n            .server(\"2.2.2.2\")\n            .sourceIp(\"10.2.2.199\")\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:log:SyslogSetting\n    properties:\n      facility: local7\n      format: csv\n      mode: udp\n      port: '514'\n      server: 2.2.2.2\n      sourceIp: 10.2.2.199\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "facility": {
          "type": "string",
          "description": "Remote syslog facility.\n"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP.\n"
        },
        "port": {
          "type": "string",
          "description": "Server listen port.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable remote syslog logging.\n"
        }
      },
      "type": "object",
      "required": [
        "facility",
        "format",
        "mode",
        "port",
        "server",
        "sourceIp",
        "status"
      ],
      "inputProperties": {
        "facility": {
          "type": "string",
          "description": "Remote syslog facility.\n"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP.\n"
        },
        "port": {
          "type": "string",
          "description": "Server listen port.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable remote syslog logging.\n"
        }
      },
      "requiredInputs": [
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SyslogSetting resources.\n",
        "properties": {
          "facility": {
            "type": "string",
            "description": "Remote syslog facility.\n"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP.\n"
          },
          "port": {
            "type": "string",
            "description": "Server listen port.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable remote syslog logging.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/syslogd/filter:Filter": {
      "description": "Filters for remote system server.\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.syslogd.Filter(\"trname\", {\n    anomaly: \"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.syslogd.Filter(\"trname\",\n    anomaly=\"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.Syslogd.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd:Filter\n    properties:\n      anomaly: 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\nLogSyslogd Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/filter:Filter labelname LogSyslogdFilter\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/syslogd/filter:Filter labelname LogSyslogdFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 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%2Fsyslogd%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",
        "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"
        },
        "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": "Syslog 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%2Fsyslogd%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"
          },
          "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": "Syslog 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%2Fsyslogd%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/syslogd/overridefilter:Overridefilter": {
      "description": "Override filters for remote system server.\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.syslogd.Overridefilter(\"trname\", {\n    anomaly: \"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.syslogd.Overridefilter(\"trname\",\n    anomaly=\"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.Syslogd.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd:Overridefilter\n    properties:\n      anomaly: 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\nLogSyslogd OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/overridefilter:Overridefilter labelname LogSyslogdOverrideFilter\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/syslogd/overridefilter:Overridefilter labelname LogSyslogdOverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 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%2Fsyslogd%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",
        "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"
        },
        "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": "Syslog 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%2Fsyslogd%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"
          },
          "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": "Syslog 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%2Fsyslogd%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/syslogd/overridesetting:Overridesetting": {
      "description": "Override settings for remote syslog server.\n\n## Import\n\nLogSyslogd OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/overridesetting:Overridesetting labelname LogSyslogdOverrideSetting\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/syslogd/overridesetting:Overridesetting labelname LogSyslogdOverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "override",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/setting:Setting": {
      "description": "Global settings for remote syslog server.\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.syslogd.Setting(\"trname\", {\n    encAlgorithm: \"disable\",\n    facility: \"local7\",\n    format: \"default\",\n    mode: \"udp\",\n    port: 514,\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    syslogType: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.syslogd.Setting(\"trname\",\n    enc_algorithm=\"disable\",\n    facility=\"local7\",\n    format=\"default\",\n    mode=\"udp\",\n    port=514,\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    syslog_type=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.Log.Syslogd.Setting(\"trname\", new()\n    {\n        EncAlgorithm = \"disable\",\n        Facility = \"local7\",\n        Format = \"default\",\n        Mode = \"udp\",\n        Port = 514,\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        SyslogType = 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/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\tEncAlgorithm:       pulumi.String(\"disable\"),\n\t\t\tFacility:           pulumi.String(\"local7\"),\n\t\t\tFormat:             pulumi.String(\"default\"),\n\t\t\tMode:               pulumi.String(\"udp\"),\n\t\t\tPort:               pulumi.Int(514),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tStatus:             pulumi.String(\"disable\"),\n\t\t\tSyslogType:         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.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            .encAlgorithm(\"disable\")\n            .facility(\"local7\")\n            .format(\"default\")\n            .mode(\"udp\")\n            .port(514)\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .syslogType(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/syslogd:Setting\n    properties:\n      encAlgorithm: disable\n      facility: local7\n      format: default\n      mode: udp\n      port: 514\n      sslMinProtoVersion: default\n      status: disable\n      syslogType: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogSyslogd Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/setting:Setting labelname LogSyslogdSetting\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/syslogd/setting:Setting labelname LogSyslogdSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2FSettingCustomFieldName:SettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v2/filter:Filter": {
      "description": "Filters for remote system server.\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.syslogd.v2.Filter(\"trname\", {\n    anomaly: \"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.syslogd.v2.Filter(\"trname\",\n    anomaly=\"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.Syslogd.V2.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v2:Filter\n    properties:\n      anomaly: 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\nLogSyslogd2 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v2/filter:Filter labelname LogSyslogd2Filter\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/syslogd/v2/filter:Filter labelname LogSyslogd2Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 2 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%2Fsyslogd%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": "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",
        "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"
        },
        "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": "Syslog 2 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%2Fsyslogd%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": "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"
          },
          "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": "Syslog 2 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%2Fsyslogd%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": "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/syslogd/v2/overridefilter:Overridefilter": {
      "description": "Override filters for remote system server.\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.syslogd.v2.Overridefilter(\"trname\", {\n    anomaly: \"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.syslogd.v2.Overridefilter(\"trname\",\n    anomaly=\"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.Syslogd.V2.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v2:Overridefilter\n    properties:\n      anomaly: 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\nLogSyslogd2 OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v2/overridefilter:Overridefilter labelname LogSyslogd2OverrideFilter\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/syslogd/v2/overridefilter:Overridefilter labelname LogSyslogd2OverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 2 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%2Fsyslogd%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": "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",
        "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"
        },
        "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": "Syslog 2 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%2Fsyslogd%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": "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"
          },
          "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": "Syslog 2 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%2Fsyslogd%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": "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/syslogd/v2/overridesetting:Overridesetting": {
      "description": "Override settings for remote syslog server.\n\n## Import\n\nLogSyslogd2 OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v2/overridesetting:Overridesetting labelname LogSyslogd2OverrideSetting\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/syslogd/v2/overridesetting:Overridesetting labelname LogSyslogd2OverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "override",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v2/setting:Setting": {
      "description": "Global settings for remote syslog server.\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.syslogd.v2.Setting(\"trname\", {\n    encAlgorithm: \"disable\",\n    facility: \"local7\",\n    format: \"default\",\n    mode: \"udp\",\n    port: 514,\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    syslogType: 2,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.syslogd.v2.Setting(\"trname\",\n    enc_algorithm=\"disable\",\n    facility=\"local7\",\n    format=\"default\",\n    mode=\"udp\",\n    port=514,\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    syslog_type=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.Log.Syslogd.V2.Setting(\"trname\", new()\n    {\n        EncAlgorithm = \"disable\",\n        Facility = \"local7\",\n        Format = \"default\",\n        Mode = \"udp\",\n        Port = 514,\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        SyslogType = 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/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\tEncAlgorithm:       pulumi.String(\"disable\"),\n\t\t\tFacility:           pulumi.String(\"local7\"),\n\t\t\tFormat:             pulumi.String(\"default\"),\n\t\t\tMode:               pulumi.String(\"udp\"),\n\t\t\tPort:               pulumi.Int(514),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tStatus:             pulumi.String(\"disable\"),\n\t\t\tSyslogType:         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.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            .encAlgorithm(\"disable\")\n            .facility(\"local7\")\n            .format(\"default\")\n            .mode(\"udp\")\n            .port(514)\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .syslogType(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/syslogd/v2:Setting\n    properties:\n      encAlgorithm: disable\n      facility: local7\n      format: default\n      mode: udp\n      port: 514\n      sslMinProtoVersion: default\n      status: disable\n      syslogType: 2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogSyslogd2 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v2/setting:Setting labelname LogSyslogd2Setting\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/syslogd/v2/setting:Setting labelname LogSyslogd2Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv2%2FSettingCustomFieldName:SettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v3/filter:Filter": {
      "description": "Filters for remote system server.\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.syslogd.v3.Filter(\"trname\", {\n    anomaly: \"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.syslogd.v3.Filter(\"trname\",\n    anomaly=\"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.Syslogd.V3.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v3:Filter\n    properties:\n      anomaly: 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\nLogSyslogd3 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v3/filter:Filter labelname LogSyslogd3Filter\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/syslogd/v3/filter:Filter labelname LogSyslogd3Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 3 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%2Fsyslogd%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",
        "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"
        },
        "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": "Syslog 3 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%2Fsyslogd%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"
          },
          "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": "Syslog 3 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%2Fsyslogd%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/syslogd/v3/overridefilter:Overridefilter": {
      "description": "Override filters for remote system server.\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.syslogd.v3.Overridefilter(\"trname\", {\n    anomaly: \"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.syslogd.v3.Overridefilter(\"trname\",\n    anomaly=\"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.Syslogd.V3.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v3:Overridefilter\n    properties:\n      anomaly: 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\nLogSyslogd3 OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v3/overridefilter:Overridefilter labelname LogSyslogd3OverrideFilter\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/syslogd/v3/overridefilter:Overridefilter labelname LogSyslogd3OverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 3 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%2Fsyslogd%2Fv3%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",
        "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"
        },
        "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": "Syslog 3 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%2Fsyslogd%2Fv3%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"
          },
          "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": "Syslog 3 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%2Fsyslogd%2Fv3%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/syslogd/v3/overridesetting:Overridesetting": {
      "description": "Override settings for remote syslog server.\n\n## Import\n\nLogSyslogd3 OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v3/overridesetting:Overridesetting labelname LogSyslogd3OverrideSetting\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/syslogd/v3/overridesetting:Overridesetting labelname LogSyslogd3OverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "override",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v3/setting:Setting": {
      "description": "Global settings for remote syslog server.\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.syslogd.v3.Setting(\"trname\", {\n    encAlgorithm: \"disable\",\n    facility: \"local7\",\n    format: \"default\",\n    mode: \"udp\",\n    port: 514,\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    syslogType: 3,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.syslogd.v3.Setting(\"trname\",\n    enc_algorithm=\"disable\",\n    facility=\"local7\",\n    format=\"default\",\n    mode=\"udp\",\n    port=514,\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    syslog_type=3)\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.Syslogd.V3.Setting(\"trname\", new()\n    {\n        EncAlgorithm = \"disable\",\n        Facility = \"local7\",\n        Format = \"default\",\n        Mode = \"udp\",\n        Port = 514,\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        SyslogType = 3,\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\tEncAlgorithm:       pulumi.String(\"disable\"),\n\t\t\tFacility:           pulumi.String(\"local7\"),\n\t\t\tFormat:             pulumi.String(\"default\"),\n\t\t\tMode:               pulumi.String(\"udp\"),\n\t\t\tPort:               pulumi.Int(514),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tStatus:             pulumi.String(\"disable\"),\n\t\t\tSyslogType:         pulumi.Int(3),\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            .encAlgorithm(\"disable\")\n            .facility(\"local7\")\n            .format(\"default\")\n            .mode(\"udp\")\n            .port(514)\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .syslogType(3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/syslogd/v3:Setting\n    properties:\n      encAlgorithm: disable\n      facility: local7\n      format: default\n      mode: udp\n      port: 514\n      sslMinProtoVersion: default\n      status: disable\n      syslogType: 3\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogSyslogd3 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v3/setting:Setting labelname LogSyslogd3Setting\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/syslogd/v3/setting:Setting labelname LogSyslogd3Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv3%2FSettingCustomFieldName:SettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v4/filter:Filter": {
      "description": "Filters for remote system server.\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.syslogd.v4.Filter(\"trname\", {\n    anomaly: \"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.syslogd.v4.Filter(\"trname\",\n    anomaly=\"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.Syslogd.V4.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v4:Filter\n    properties:\n      anomaly: 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\nLogSyslogd4 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v4/filter:Filter labelname LogSyslogd4Filter\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/syslogd/v4/filter:Filter labelname LogSyslogd4Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 4 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%2Fsyslogd%2Fv4%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",
        "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"
        },
        "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": "Syslog 4 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%2Fsyslogd%2Fv4%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"
          },
          "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": "Syslog 4 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%2Fsyslogd%2Fv4%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/syslogd/v4/overridefilter:Overridefilter": {
      "description": "Override filters for remote system server.\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.syslogd.v4.Overridefilter(\"trname\", {\n    anomaly: \"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.syslogd.v4.Overridefilter(\"trname\",\n    anomaly=\"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.Syslogd.V4.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/syslogd/v4:Overridefilter\n    properties:\n      anomaly: 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\nLogSyslogd4 OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v4/overridefilter:Overridefilter labelname LogSyslogd4OverrideFilter\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/syslogd/v4/overridefilter:Overridefilter labelname LogSyslogd4OverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Syslog 4 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%2Fsyslogd%2Fv4%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",
        "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"
        },
        "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": "Syslog 4 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%2Fsyslogd%2Fv4%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"
          },
          "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": "Syslog 4 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%2Fsyslogd%2Fv4%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/syslogd/v4/overridesetting:Overridesetting": {
      "description": "Override settings for remote syslog server.\n\n## Import\n\nLogSyslogd4 OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v4/overridesetting:Overridesetting labelname LogSyslogd4OverrideSetting\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/syslogd/v4/overridesetting:Overridesetting labelname LogSyslogd4OverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "override",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FOverridesettingCustomFieldName:OverridesettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable override syslog settings. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/syslogd/v4/setting:Setting": {
      "description": "Global settings for remote syslog server.\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.syslogd.v4.Setting(\"trname\", {\n    encAlgorithm: \"disable\",\n    facility: \"local7\",\n    format: \"default\",\n    mode: \"udp\",\n    port: 514,\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    syslogType: 4,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.syslogd.v4.Setting(\"trname\",\n    enc_algorithm=\"disable\",\n    facility=\"local7\",\n    format=\"default\",\n    mode=\"udp\",\n    port=514,\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    syslog_type=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 trname = new Fortios.Log.Syslogd.V4.Setting(\"trname\", new()\n    {\n        EncAlgorithm = \"disable\",\n        Facility = \"local7\",\n        Format = \"default\",\n        Mode = \"udp\",\n        Port = 514,\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        SyslogType = 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/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\tEncAlgorithm:       pulumi.String(\"disable\"),\n\t\t\tFacility:           pulumi.String(\"local7\"),\n\t\t\tFormat:             pulumi.String(\"default\"),\n\t\t\tMode:               pulumi.String(\"udp\"),\n\t\t\tPort:               pulumi.Int(514),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tStatus:             pulumi.String(\"disable\"),\n\t\t\tSyslogType:         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.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            .encAlgorithm(\"disable\")\n            .facility(\"local7\")\n            .format(\"default\")\n            .mode(\"udp\")\n            .port(514)\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .syslogType(4)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/syslogd/v4:Setting\n    properties:\n      encAlgorithm: disable\n      facility: local7\n      format: default\n      mode: udp\n      port: 514\n      sslMinProtoVersion: default\n      status: disable\n      syslogType: 4\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogSyslogd4 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/syslogd/v4/setting:Setting labelname LogSyslogd4Setting\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/syslogd/v4/setting:Setting labelname LogSyslogd4Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "encAlgorithm",
        "facility",
        "format",
        "interface",
        "interfaceSelectMethod",
        "maxLogRate",
        "mode",
        "port",
        "priority",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "syslogType",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with Syslog server.\n"
        },
        "customFieldNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FSettingCustomFieldName:SettingCustomFieldName"
          },
          "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Remote syslog facility. 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"
        },
        "format": {
          "type": "string",
          "description": "Log format.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
        },
        "mode": {
          "type": "string",
          "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server listen port.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "server": {
          "type": "string",
          "description": "Address of remote syslog server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
        },
        "syslogType": {
          "type": "integer",
          "description": "Hidden setting index of Syslog.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with Syslog server.\n"
          },
          "customFieldNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fsyslogd%2Fv4%2FSettingCustomFieldName:SettingCustomFieldName"
            },
            "description": "Custom field name for CEF format logging. The structure of `custom_field_name` 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"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable reliable syslogging with TLS encryption. Valid values: `high-medium`, `high`, `low`, `disable`.\n"
          },
          "facility": {
            "type": "string",
            "description": "Remote syslog facility. 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"
          },
          "format": {
            "type": "string",
            "description": "Log format.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "Syslog maximum log rate in MBps (0 = unlimited).\n"
          },
          "mode": {
            "type": "string",
            "description": "Remote syslog logging over UDP/Reliable TCP. Valid values: `udp`, `legacy-reliable`, `reliable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server listen port.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "server": {
            "type": "string",
            "description": "Address of remote syslog server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address of syslog.\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 remote syslog logging. Valid values: `enable`, `disable`.\n"
          },
          "syslogType": {
            "type": "integer",
            "description": "Hidden setting index of Syslog.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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/tacacsaccounting/filter:Filter": {
      "description": "Settings for TACACS+ accounting events filter. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/filter:Filter labelname LogTacacsAccountingFilter\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/tacacsaccounting/filter:Filter labelname LogTacacsAccountingFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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": [
        "cliCmdAudit",
        "configChangeAudit",
        "loginAudit",
        "vdomparam"
      ],
      "inputProperties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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 Filter resources.\n",
        "properties": {
          "cliCmdAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
          },
          "configChangeAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
          },
          "loginAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for login events audit. 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/tacacsaccounting/setting:Setting": {
      "description": "Settings for TACACS+ accounting. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/setting:Setting labelname LogTacacsAccountingSetting\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/tacacsaccounting/setting:Setting labelname LogTacacsAccountingSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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": [
        "interface",
        "interfaceSelectMethod",
        "server",
        "sourceIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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 Setting resources.\n",
        "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"
          },
          "server": {
            "type": "string",
            "description": "Address of TACACS+ server.\n"
          },
          "serverKey": {
            "type": "string",
            "description": "Key to access the TACACS+ server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communication to TACACS+ server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting. 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/tacacsaccounting/v2/filter:Filter": {
      "description": "Settings for TACACS+ accounting events filter. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting2 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/v2/filter:Filter labelname LogTacacsAccounting2Filter\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/tacacsaccounting/v2/filter:Filter labelname LogTacacsAccounting2Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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": [
        "cliCmdAudit",
        "configChangeAudit",
        "loginAudit",
        "vdomparam"
      ],
      "inputProperties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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 Filter resources.\n",
        "properties": {
          "cliCmdAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
          },
          "configChangeAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
          },
          "loginAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for login events audit. 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/tacacsaccounting/v2/setting:Setting": {
      "description": "Settings for TACACS+ accounting. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting2 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/v2/setting:Setting labelname LogTacacsAccounting2Setting\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/tacacsaccounting/v2/setting:Setting labelname LogTacacsAccounting2Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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": [
        "interface",
        "interfaceSelectMethod",
        "server",
        "sourceIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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 Setting resources.\n",
        "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"
          },
          "server": {
            "type": "string",
            "description": "Address of TACACS+ server.\n"
          },
          "serverKey": {
            "type": "string",
            "description": "Key to access the TACACS+ server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communication to TACACS+ server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting. 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/tacacsaccounting/v3/filter:Filter": {
      "description": "Settings for TACACS+ accounting events filter. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting3 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/v3/filter:Filter labelname LogTacacsAccounting3Filter\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/tacacsaccounting/v3/filter:Filter labelname LogTacacsAccounting3Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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": [
        "cliCmdAudit",
        "configChangeAudit",
        "loginAudit",
        "vdomparam"
      ],
      "inputProperties": {
        "cliCmdAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
        },
        "configChangeAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
        },
        "loginAudit": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting for login events audit. 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 Filter resources.\n",
        "properties": {
          "cliCmdAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for CLI commands audit. Valid values: `enable`, `disable`.\n"
          },
          "configChangeAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for configuration change events audit. Valid values: `enable`, `disable`.\n"
          },
          "loginAudit": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting for login events audit. 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/tacacsaccounting/v3/setting:Setting": {
      "description": "Settings for TACACS+ accounting. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nLogTacacsAccounting3 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/tacacsaccounting/v3/setting:Setting labelname LogTacacsAccounting3Setting\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/tacacsaccounting/v3/setting:Setting labelname LogTacacsAccounting3Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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": [
        "interface",
        "interfaceSelectMethod",
        "server",
        "sourceIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "server": {
          "type": "string",
          "description": "Address of TACACS+ server.\n"
        },
        "serverKey": {
          "type": "string",
          "description": "Key to access the TACACS+ server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to TACACS+ server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable TACACS+ accounting. 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 Setting resources.\n",
        "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"
          },
          "server": {
            "type": "string",
            "description": "Address of TACACS+ server.\n"
          },
          "serverKey": {
            "type": "string",
            "description": "Key to access the TACACS+ server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communication to TACACS+ server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable TACACS+ accounting. 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/threatweight:Threatweight": {
      "description": "Configure threat weight 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.Threatweight(\"trname\", {\n    applications: [\n        {\n            category: 2,\n            id: 1,\n            level: \"low\",\n        },\n        {\n            category: 6,\n            id: 2,\n            level: \"medium\",\n        },\n    ],\n    blockedConnection: \"high\",\n    failedConnection: \"low\",\n    ips: {\n        criticalSeverity: \"critical\",\n        highSeverity: \"high\",\n        infoSeverity: \"disable\",\n        lowSeverity: \"low\",\n        mediumSeverity: \"medium\",\n    },\n    level: {\n        critical: 50,\n        high: 30,\n        low: 5,\n        medium: 10,\n    },\n    malware: {\n        botnetConnection: \"critical\",\n        commandBlocked: \"disable\",\n        contentDisarm: \"medium\",\n        fileBlocked: \"low\",\n        mimefragmented: \"disable\",\n        oversized: \"disable\",\n        switchProto: \"disable\",\n        virusFileTypeExecutable: \"medium\",\n        virusInfected: \"critical\",\n        virusOutbreakPrevention: \"critical\",\n        virusScanError: \"high\",\n    },\n    status: \"enable\",\n    urlBlockDetected: \"high\",\n    webs: [\n        {\n            category: 26,\n            id: 1,\n            level: \"high\",\n        },\n        {\n            category: 61,\n            id: 2,\n            level: \"high\",\n        },\n        {\n            category: 86,\n            id: 3,\n            level: \"high\",\n        },\n        {\n            category: 1,\n            id: 4,\n            level: \"medium\",\n        },\n        {\n            category: 3,\n            id: 5,\n            level: \"medium\",\n        },\n        {\n            category: 4,\n            id: 6,\n            level: \"medium\",\n        },\n        {\n            category: 5,\n            id: 7,\n            level: \"medium\",\n        },\n        {\n            category: 6,\n            id: 8,\n            level: \"medium\",\n        },\n        {\n            category: 12,\n            id: 9,\n            level: \"medium\",\n        },\n        {\n            category: 59,\n            id: 10,\n            level: \"medium\",\n        },\n        {\n            category: 62,\n            id: 11,\n            level: \"medium\",\n        },\n        {\n            category: 83,\n            id: 12,\n            level: \"medium\",\n        },\n        {\n            category: 72,\n            id: 13,\n            level: \"low\",\n        },\n        {\n            category: 14,\n            id: 14,\n            level: \"low\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.Threatweight(\"trname\",\n    applications=[\n        fortios.log.ThreatweightApplicationArgs(\n            category=2,\n            id=1,\n            level=\"low\",\n        ),\n        fortios.log.ThreatweightApplicationArgs(\n            category=6,\n            id=2,\n            level=\"medium\",\n        ),\n    ],\n    blocked_connection=\"high\",\n    failed_connection=\"low\",\n    ips=fortios.log.ThreatweightIpsArgs(\n        critical_severity=\"critical\",\n        high_severity=\"high\",\n        info_severity=\"disable\",\n        low_severity=\"low\",\n        medium_severity=\"medium\",\n    ),\n    level=fortios.log.ThreatweightLevelArgs(\n        critical=50,\n        high=30,\n        low=5,\n        medium=10,\n    ),\n    malware=fortios.log.ThreatweightMalwareArgs(\n        botnet_connection=\"critical\",\n        command_blocked=\"disable\",\n        content_disarm=\"medium\",\n        file_blocked=\"low\",\n        mimefragmented=\"disable\",\n        oversized=\"disable\",\n        switch_proto=\"disable\",\n        virus_file_type_executable=\"medium\",\n        virus_infected=\"critical\",\n        virus_outbreak_prevention=\"critical\",\n        virus_scan_error=\"high\",\n    ),\n    status=\"enable\",\n    url_block_detected=\"high\",\n    webs=[\n        fortios.log.ThreatweightWebArgs(\n            category=26,\n            id=1,\n            level=\"high\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=61,\n            id=2,\n            level=\"high\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=86,\n            id=3,\n            level=\"high\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=1,\n            id=4,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=3,\n            id=5,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=4,\n            id=6,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=5,\n            id=7,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=6,\n            id=8,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=12,\n            id=9,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=59,\n            id=10,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=62,\n            id=11,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=83,\n            id=12,\n            level=\"medium\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=72,\n            id=13,\n            level=\"low\",\n        ),\n        fortios.log.ThreatweightWebArgs(\n            category=14,\n            id=14,\n            level=\"low\",\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.Log.Threatweight(\"trname\", new()\n    {\n        Applications = new[]\n        {\n            new Fortios.Log.Inputs.ThreatweightApplicationArgs\n            {\n                Category = 2,\n                Id = 1,\n                Level = \"low\",\n            },\n            new Fortios.Log.Inputs.ThreatweightApplicationArgs\n            {\n                Category = 6,\n                Id = 2,\n                Level = \"medium\",\n            },\n        },\n        BlockedConnection = \"high\",\n        FailedConnection = \"low\",\n        Ips = new Fortios.Log.Inputs.ThreatweightIpsArgs\n        {\n            CriticalSeverity = \"critical\",\n            HighSeverity = \"high\",\n            InfoSeverity = \"disable\",\n            LowSeverity = \"low\",\n            MediumSeverity = \"medium\",\n        },\n        Level = new Fortios.Log.Inputs.ThreatweightLevelArgs\n        {\n            Critical = 50,\n            High = 30,\n            Low = 5,\n            Medium = 10,\n        },\n        Malware = new Fortios.Log.Inputs.ThreatweightMalwareArgs\n        {\n            BotnetConnection = \"critical\",\n            CommandBlocked = \"disable\",\n            ContentDisarm = \"medium\",\n            FileBlocked = \"low\",\n            Mimefragmented = \"disable\",\n            Oversized = \"disable\",\n            SwitchProto = \"disable\",\n            VirusFileTypeExecutable = \"medium\",\n            VirusInfected = \"critical\",\n            VirusOutbreakPrevention = \"critical\",\n            VirusScanError = \"high\",\n        },\n        Status = \"enable\",\n        UrlBlockDetected = \"high\",\n        Webs = new[]\n        {\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 26,\n                Id = 1,\n                Level = \"high\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 61,\n                Id = 2,\n                Level = \"high\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 86,\n                Id = 3,\n                Level = \"high\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 1,\n                Id = 4,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 3,\n                Id = 5,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 4,\n                Id = 6,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 5,\n                Id = 7,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 6,\n                Id = 8,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 12,\n                Id = 9,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 59,\n                Id = 10,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 62,\n                Id = 11,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 83,\n                Id = 12,\n                Level = \"medium\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 72,\n                Id = 13,\n                Level = \"low\",\n            },\n            new Fortios.Log.Inputs.ThreatweightWebArgs\n            {\n                Category = 14,\n                Id = 14,\n                Level = \"low\",\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/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewThreatweight(ctx, \"trname\", &log.ThreatweightArgs{\n\t\t\tApplications: log.ThreatweightApplicationArray{\n\t\t\t\t&log.ThreatweightApplicationArgs{\n\t\t\t\t\tCategory: pulumi.Int(2),\n\t\t\t\t\tId:       pulumi.Int(1),\n\t\t\t\t\tLevel:    pulumi.String(\"low\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightApplicationArgs{\n\t\t\t\t\tCategory: pulumi.Int(6),\n\t\t\t\t\tId:       pulumi.Int(2),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBlockedConnection: pulumi.String(\"high\"),\n\t\t\tFailedConnection:  pulumi.String(\"low\"),\n\t\t\tIps: &log.ThreatweightIpsArgs{\n\t\t\t\tCriticalSeverity: pulumi.String(\"critical\"),\n\t\t\t\tHighSeverity:     pulumi.String(\"high\"),\n\t\t\t\tInfoSeverity:     pulumi.String(\"disable\"),\n\t\t\t\tLowSeverity:      pulumi.String(\"low\"),\n\t\t\t\tMediumSeverity:   pulumi.String(\"medium\"),\n\t\t\t},\n\t\t\tLevel: &log.ThreatweightLevelArgs{\n\t\t\t\tCritical: pulumi.Int(50),\n\t\t\t\tHigh:     pulumi.Int(30),\n\t\t\t\tLow:      pulumi.Int(5),\n\t\t\t\tMedium:   pulumi.Int(10),\n\t\t\t},\n\t\t\tMalware: &log.ThreatweightMalwareArgs{\n\t\t\t\tBotnetConnection:        pulumi.String(\"critical\"),\n\t\t\t\tCommandBlocked:          pulumi.String(\"disable\"),\n\t\t\t\tContentDisarm:           pulumi.String(\"medium\"),\n\t\t\t\tFileBlocked:             pulumi.String(\"low\"),\n\t\t\t\tMimefragmented:          pulumi.String(\"disable\"),\n\t\t\t\tOversized:               pulumi.String(\"disable\"),\n\t\t\t\tSwitchProto:             pulumi.String(\"disable\"),\n\t\t\t\tVirusFileTypeExecutable: pulumi.String(\"medium\"),\n\t\t\t\tVirusInfected:           pulumi.String(\"critical\"),\n\t\t\t\tVirusOutbreakPrevention: pulumi.String(\"critical\"),\n\t\t\t\tVirusScanError:          pulumi.String(\"high\"),\n\t\t\t},\n\t\t\tStatus:           pulumi.String(\"enable\"),\n\t\t\tUrlBlockDetected: pulumi.String(\"high\"),\n\t\t\tWebs: log.ThreatweightWebArray{\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(26),\n\t\t\t\t\tId:       pulumi.Int(1),\n\t\t\t\t\tLevel:    pulumi.String(\"high\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(61),\n\t\t\t\t\tId:       pulumi.Int(2),\n\t\t\t\t\tLevel:    pulumi.String(\"high\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(86),\n\t\t\t\t\tId:       pulumi.Int(3),\n\t\t\t\t\tLevel:    pulumi.String(\"high\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(1),\n\t\t\t\t\tId:       pulumi.Int(4),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(3),\n\t\t\t\t\tId:       pulumi.Int(5),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(4),\n\t\t\t\t\tId:       pulumi.Int(6),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(5),\n\t\t\t\t\tId:       pulumi.Int(7),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(6),\n\t\t\t\t\tId:       pulumi.Int(8),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(12),\n\t\t\t\t\tId:       pulumi.Int(9),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(59),\n\t\t\t\t\tId:       pulumi.Int(10),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(62),\n\t\t\t\t\tId:       pulumi.Int(11),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(83),\n\t\t\t\t\tId:       pulumi.Int(12),\n\t\t\t\t\tLevel:    pulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(72),\n\t\t\t\t\tId:       pulumi.Int(13),\n\t\t\t\t\tLevel:    pulumi.String(\"low\"),\n\t\t\t\t},\n\t\t\t\t&log.ThreatweightWebArgs{\n\t\t\t\t\tCategory: pulumi.Int(14),\n\t\t\t\t\tId:       pulumi.Int(14),\n\t\t\t\t\tLevel:    pulumi.String(\"low\"),\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.log.Threatweight;\nimport com.pulumi.fortios.log.ThreatweightArgs;\nimport com.pulumi.fortios.log.inputs.ThreatweightApplicationArgs;\nimport com.pulumi.fortios.log.inputs.ThreatweightIpsArgs;\nimport com.pulumi.fortios.log.inputs.ThreatweightLevelArgs;\nimport com.pulumi.fortios.log.inputs.ThreatweightMalwareArgs;\nimport com.pulumi.fortios.log.inputs.ThreatweightWebArgs;\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 Threatweight(\"trname\", ThreatweightArgs.builder()\n            .applications(            \n                ThreatweightApplicationArgs.builder()\n                    .category(2)\n                    .id(1)\n                    .level(\"low\")\n                    .build(),\n                ThreatweightApplicationArgs.builder()\n                    .category(6)\n                    .id(2)\n                    .level(\"medium\")\n                    .build())\n            .blockedConnection(\"high\")\n            .failedConnection(\"low\")\n            .ips(ThreatweightIpsArgs.builder()\n                .criticalSeverity(\"critical\")\n                .highSeverity(\"high\")\n                .infoSeverity(\"disable\")\n                .lowSeverity(\"low\")\n                .mediumSeverity(\"medium\")\n                .build())\n            .level(ThreatweightLevelArgs.builder()\n                .critical(50)\n                .high(30)\n                .low(5)\n                .medium(10)\n                .build())\n            .malware(ThreatweightMalwareArgs.builder()\n                .botnetConnection(\"critical\")\n                .commandBlocked(\"disable\")\n                .contentDisarm(\"medium\")\n                .fileBlocked(\"low\")\n                .mimefragmented(\"disable\")\n                .oversized(\"disable\")\n                .switchProto(\"disable\")\n                .virusFileTypeExecutable(\"medium\")\n                .virusInfected(\"critical\")\n                .virusOutbreakPrevention(\"critical\")\n                .virusScanError(\"high\")\n                .build())\n            .status(\"enable\")\n            .urlBlockDetected(\"high\")\n            .webs(            \n                ThreatweightWebArgs.builder()\n                    .category(26)\n                    .id(1)\n                    .level(\"high\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(61)\n                    .id(2)\n                    .level(\"high\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(86)\n                    .id(3)\n                    .level(\"high\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(1)\n                    .id(4)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(3)\n                    .id(5)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(4)\n                    .id(6)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(5)\n                    .id(7)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(6)\n                    .id(8)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(12)\n                    .id(9)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(59)\n                    .id(10)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(62)\n                    .id(11)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(83)\n                    .id(12)\n                    .level(\"medium\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(72)\n                    .id(13)\n                    .level(\"low\")\n                    .build(),\n                ThreatweightWebArgs.builder()\n                    .category(14)\n                    .id(14)\n                    .level(\"low\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log:Threatweight\n    properties:\n      applications:\n        - category: 2\n          id: 1\n          level: low\n        - category: 6\n          id: 2\n          level: medium\n      blockedConnection: high\n      failedConnection: low\n      ips:\n        criticalSeverity: critical\n        highSeverity: high\n        infoSeverity: disable\n        lowSeverity: low\n        mediumSeverity: medium\n      level:\n        critical: 50\n        high: 30\n        low: 5\n        medium: 10\n      malware:\n        botnetConnection: critical\n        commandBlocked: disable\n        contentDisarm: medium\n        fileBlocked: low\n        mimefragmented: disable\n        oversized: disable\n        switchProto: disable\n        virusFileTypeExecutable: medium\n        virusInfected: critical\n        virusOutbreakPrevention: critical\n        virusScanError: high\n      status: enable\n      urlBlockDetected: high\n      webs:\n        - category: 26\n          id: 1\n          level: high\n        - category: 61\n          id: 2\n          level: high\n        - category: 86\n          id: 3\n          level: high\n        - category: 1\n          id: 4\n          level: medium\n        - category: 3\n          id: 5\n          level: medium\n        - category: 4\n          id: 6\n          level: medium\n        - category: 5\n          id: 7\n          level: medium\n        - category: 6\n          id: 8\n          level: medium\n        - category: 12\n          id: 9\n          level: medium\n        - category: 59\n          id: 10\n          level: medium\n        - category: 62\n          id: 11\n          level: medium\n        - category: 83\n          id: 12\n          level: medium\n        - category: 72\n          id: 13\n          level: low\n        - category: 14\n          id: 14\n          level: low\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLog ThreatWeight can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/threatweight:Threatweight labelname LogThreatWeight\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/threatweight:Threatweight labelname LogThreatWeight\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightApplication:ThreatweightApplication"
          },
          "description": "Application-control threat weight settings. The structure of `application` block is documented below.\n"
        },
        "blockedConnection": {
          "type": "string",
          "description": "Threat weight score for blocked connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "botnetConnectionDetected": {
          "type": "string",
          "description": "Threat weight score for detected botnet connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failedConnection": {
          "type": "string",
          "description": "Threat weight score for failed connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "geolocations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightGeolocation:ThreatweightGeolocation"
          },
          "description": "Geolocation-based threat weight settings. The structure of `geolocation` 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"
        },
        "ips": {
          "$ref": "#/types/fortios:log%2FThreatweightIps:ThreatweightIps",
          "description": "IPS threat weight settings. The structure of `ips` block is documented below.\n"
        },
        "level": {
          "$ref": "#/types/fortios:log%2FThreatweightLevel:ThreatweightLevel",
          "description": "Score mapping for threat weight levels. The structure of `level` block is documented below.\n"
        },
        "malware": {
          "$ref": "#/types/fortios:log%2FThreatweightMalware:ThreatweightMalware",
          "description": "Anti-virus malware threat weight settings. The structure of `malware` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the threat weight feature. Valid values: `enable`, `disable`.\n"
        },
        "urlBlockDetected": {
          "type": "string",
          "description": "Threat weight score for URL blocking. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightWeb:ThreatweightWeb"
          },
          "description": "Web filtering threat weight settings. The structure of `web` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "blockedConnection",
        "botnetConnectionDetected",
        "failedConnection",
        "ips",
        "level",
        "malware",
        "status",
        "urlBlockDetected",
        "vdomparam"
      ],
      "inputProperties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightApplication:ThreatweightApplication"
          },
          "description": "Application-control threat weight settings. The structure of `application` block is documented below.\n"
        },
        "blockedConnection": {
          "type": "string",
          "description": "Threat weight score for blocked connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "botnetConnectionDetected": {
          "type": "string",
          "description": "Threat weight score for detected botnet connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failedConnection": {
          "type": "string",
          "description": "Threat weight score for failed connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "geolocations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightGeolocation:ThreatweightGeolocation"
          },
          "description": "Geolocation-based threat weight settings. The structure of `geolocation` 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"
        },
        "ips": {
          "$ref": "#/types/fortios:log%2FThreatweightIps:ThreatweightIps",
          "description": "IPS threat weight settings. The structure of `ips` block is documented below.\n"
        },
        "level": {
          "$ref": "#/types/fortios:log%2FThreatweightLevel:ThreatweightLevel",
          "description": "Score mapping for threat weight levels. The structure of `level` block is documented below.\n"
        },
        "malware": {
          "$ref": "#/types/fortios:log%2FThreatweightMalware:ThreatweightMalware",
          "description": "Anti-virus malware threat weight settings. The structure of `malware` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the threat weight feature. Valid values: `enable`, `disable`.\n"
        },
        "urlBlockDetected": {
          "type": "string",
          "description": "Threat weight score for URL blocking. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2FThreatweightWeb:ThreatweightWeb"
          },
          "description": "Web filtering threat weight settings. The structure of `web` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Threatweight resources.\n",
        "properties": {
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2FThreatweightApplication:ThreatweightApplication"
            },
            "description": "Application-control threat weight settings. The structure of `application` block is documented below.\n"
          },
          "blockedConnection": {
            "type": "string",
            "description": "Threat weight score for blocked connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
          },
          "botnetConnectionDetected": {
            "type": "string",
            "description": "Threat weight score for detected botnet connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "failedConnection": {
            "type": "string",
            "description": "Threat weight score for failed connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
          },
          "geolocations": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2FThreatweightGeolocation:ThreatweightGeolocation"
            },
            "description": "Geolocation-based threat weight settings. The structure of `geolocation` 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"
          },
          "ips": {
            "$ref": "#/types/fortios:log%2FThreatweightIps:ThreatweightIps",
            "description": "IPS threat weight settings. The structure of `ips` block is documented below.\n"
          },
          "level": {
            "$ref": "#/types/fortios:log%2FThreatweightLevel:ThreatweightLevel",
            "description": "Score mapping for threat weight levels. The structure of `level` block is documented below.\n"
          },
          "malware": {
            "$ref": "#/types/fortios:log%2FThreatweightMalware:ThreatweightMalware",
            "description": "Anti-virus malware threat weight settings. The structure of `malware` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the threat weight feature. Valid values: `enable`, `disable`.\n"
          },
          "urlBlockDetected": {
            "type": "string",
            "description": "Threat weight score for URL blocking. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2FThreatweightWeb:ThreatweightWeb"
            },
            "description": "Web filtering threat weight settings. The structure of `web` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/webtrends/filter:Filter": {
      "description": "Filters for WebTrends.\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.webtrends.Filter(\"trname\", {\n    anomaly: \"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.webtrends.Filter(\"trname\",\n    anomaly=\"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.Webtrends.Filter(\"trname\", new()\n    {\n        Anomaly = \"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\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            .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/webtrends:Filter\n    properties:\n      anomaly: 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\nLogWebtrends Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/webtrends/filter:Filter labelname LogWebtrendsFilter\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/webtrends/filter:Filter labelname LogWebtrendsFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly 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": "Webtrends 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%2Fwebtrends%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 to WebTrends. 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",
        "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"
        },
        "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": "Webtrends 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%2Fwebtrends%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 to WebTrends. 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"
          },
          "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": "Webtrends 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%2Fwebtrends%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 to WebTrends. 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/webtrends/setting:Setting": {
      "description": "Settings for WebTrends.\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.webtrends.Setting(\"trname\", {status: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.webtrends.Setting(\"trname\", 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.Log.Webtrends.Setting(\"trname\", new()\n    {\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/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\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.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            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/webtrends:Setting\n    properties:\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogWebtrends Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/webtrends/setting:Setting labelname LogWebtrendsSetting\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/webtrends/setting:Setting labelname LogWebtrendsSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "server": {
          "type": "string",
          "description": "Address of the remote WebTrends server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to WebTrends. 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": [
        "server",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "server": {
          "type": "string",
          "description": "Address of the remote WebTrends server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to WebTrends. 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 Setting resources.\n",
        "properties": {
          "server": {
            "type": "string",
            "description": "Address of the remote WebTrends server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to WebTrends. 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:networking/interfacePort:InterfacePort": {
      "description": "Provides a resource to configure interface settings of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Interface`, we recommend that you use the new resource.\n\n## Example Usage\n\n### Loopback Interface\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst loopback1 = new fortios.networking.InterfacePort(\"loopback1\", {\n    alias: \"cc1\",\n    allowaccess: \"ping http\",\n    description: \"description\",\n    ip: \"23.123.33.10 255.255.255.0\",\n    mode: \"static\",\n    role: \"lan\",\n    status: \"up\",\n    type: \"loopback\",\n    vdom: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nloopback1 = fortios.networking.InterfacePort(\"loopback1\",\n    alias=\"cc1\",\n    allowaccess=\"ping http\",\n    description=\"description\",\n    ip=\"23.123.33.10 255.255.255.0\",\n    mode=\"static\",\n    role=\"lan\",\n    status=\"up\",\n    type=\"loopback\",\n    vdom=\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var loopback1 = new Fortios.Networking.InterfacePort(\"loopback1\", new()\n    {\n        Alias = \"cc1\",\n        Allowaccess = \"ping http\",\n        Description = \"description\",\n        Ip = \"23.123.33.10 255.255.255.0\",\n        Mode = \"static\",\n        Role = \"lan\",\n        Status = \"up\",\n        Type = \"loopback\",\n        Vdom = \"root\",\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/networking\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networking.NewInterfacePort(ctx, \"loopback1\", &networking.InterfacePortArgs{\n\t\t\tAlias:       pulumi.String(\"cc1\"),\n\t\t\tAllowaccess: pulumi.String(\"ping http\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tIp:          pulumi.String(\"23.123.33.10 255.255.255.0\"),\n\t\t\tMode:        pulumi.String(\"static\"),\n\t\t\tRole:        pulumi.String(\"lan\"),\n\t\t\tStatus:      pulumi.String(\"up\"),\n\t\t\tType:        pulumi.String(\"loopback\"),\n\t\t\tVdom:        pulumi.String(\"root\"),\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.networking.InterfacePort;\nimport com.pulumi.fortios.networking.InterfacePortArgs;\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 loopback1 = new InterfacePort(\"loopback1\", InterfacePortArgs.builder()\n            .alias(\"cc1\")\n            .allowaccess(\"ping http\")\n            .description(\"description\")\n            .ip(\"23.123.33.10 255.255.255.0\")\n            .mode(\"static\")\n            .role(\"lan\")\n            .status(\"up\")\n            .type(\"loopback\")\n            .vdom(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loopback1:\n    type: fortios:networking:InterfacePort\n    properties:\n      alias: cc1\n      allowaccess: ping http\n      description: description\n      ip: 23.123.33.10 255.255.255.0\n      mode: static\n      role: lan\n      status: up\n      type: loopback\n      vdom: root\n```\n<!--End PulumiCodeChooser -->\n\n\n### VLAN Interface\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst vlan1 = new fortios.networking.InterfacePort(\"vlan1\", {\n    allowaccess: \"ping\",\n    defaultgw: \"enable\",\n    distance: \"33\",\n    \"interface\": \"port2\",\n    ip: \"3.123.33.10 255.255.255.0\",\n    mode: \"static\",\n    role: \"lan\",\n    type: \"vlan\",\n    vdom: \"root\",\n    vlanid: \"3\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nvlan1 = fortios.networking.InterfacePort(\"vlan1\",\n    allowaccess=\"ping\",\n    defaultgw=\"enable\",\n    distance=\"33\",\n    interface=\"port2\",\n    ip=\"3.123.33.10 255.255.255.0\",\n    mode=\"static\",\n    role=\"lan\",\n    type=\"vlan\",\n    vdom=\"root\",\n    vlanid=\"3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var vlan1 = new Fortios.Networking.InterfacePort(\"vlan1\", new()\n    {\n        Allowaccess = \"ping\",\n        Defaultgw = \"enable\",\n        Distance = \"33\",\n        Interface = \"port2\",\n        Ip = \"3.123.33.10 255.255.255.0\",\n        Mode = \"static\",\n        Role = \"lan\",\n        Type = \"vlan\",\n        Vdom = \"root\",\n        Vlanid = \"3\",\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/networking\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networking.NewInterfacePort(ctx, \"vlan1\", &networking.InterfacePortArgs{\n\t\t\tAllowaccess: pulumi.String(\"ping\"),\n\t\t\tDefaultgw:   pulumi.String(\"enable\"),\n\t\t\tDistance:    pulumi.String(\"33\"),\n\t\t\tInterface:   pulumi.String(\"port2\"),\n\t\t\tIp:          pulumi.String(\"3.123.33.10 255.255.255.0\"),\n\t\t\tMode:        pulumi.String(\"static\"),\n\t\t\tRole:        pulumi.String(\"lan\"),\n\t\t\tType:        pulumi.String(\"vlan\"),\n\t\t\tVdom:        pulumi.String(\"root\"),\n\t\t\tVlanid:      pulumi.String(\"3\"),\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.networking.InterfacePort;\nimport com.pulumi.fortios.networking.InterfacePortArgs;\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 vlan1 = new InterfacePort(\"vlan1\", InterfacePortArgs.builder()\n            .allowaccess(\"ping\")\n            .defaultgw(\"enable\")\n            .distance(\"33\")\n            .interface_(\"port2\")\n            .ip(\"3.123.33.10 255.255.255.0\")\n            .mode(\"static\")\n            .role(\"lan\")\n            .type(\"vlan\")\n            .vdom(\"root\")\n            .vlanid(\"3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vlan1:\n    type: fortios:networking:InterfacePort\n    properties:\n      allowaccess: ping\n      defaultgw: enable\n      distance: '33'\n      interface: port2\n      ip: 3.123.33.10 255.255.255.0\n      mode: static\n      role: lan\n      type: vlan\n      vdom: root\n      vlanid: '3'\n```\n<!--End PulumiCodeChooser -->\n\n\n### Physical Interface\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.networking.InterfacePort(\"test1\", {\n    alias: \"dkeeew\",\n    allowaccess: \"ping https\",\n    defaultgw: \"enable\",\n    description: \"description\",\n    deviceIdentification: \"enable\",\n    distance: \"33\",\n    dnsServerOverride: \"enable\",\n    ip: \"93.133.133.110 255.255.255.0\",\n    mode: \"static\",\n    mtu: \"2933\",\n    mtuOverride: \"enable\",\n    role: \"lan\",\n    speed: \"auto\",\n    status: \"up\",\n    tcpMss: \"3232\",\n    type: \"physical\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.networking.InterfacePort(\"test1\",\n    alias=\"dkeeew\",\n    allowaccess=\"ping https\",\n    defaultgw=\"enable\",\n    description=\"description\",\n    device_identification=\"enable\",\n    distance=\"33\",\n    dns_server_override=\"enable\",\n    ip=\"93.133.133.110 255.255.255.0\",\n    mode=\"static\",\n    mtu=\"2933\",\n    mtu_override=\"enable\",\n    role=\"lan\",\n    speed=\"auto\",\n    status=\"up\",\n    tcp_mss=\"3232\",\n    type=\"physical\")\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.Networking.InterfacePort(\"test1\", new()\n    {\n        Alias = \"dkeeew\",\n        Allowaccess = \"ping https\",\n        Defaultgw = \"enable\",\n        Description = \"description\",\n        DeviceIdentification = \"enable\",\n        Distance = \"33\",\n        DnsServerOverride = \"enable\",\n        Ip = \"93.133.133.110 255.255.255.0\",\n        Mode = \"static\",\n        Mtu = \"2933\",\n        MtuOverride = \"enable\",\n        Role = \"lan\",\n        Speed = \"auto\",\n        Status = \"up\",\n        TcpMss = \"3232\",\n        Type = \"physical\",\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/networking\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networking.NewInterfacePort(ctx, \"test1\", &networking.InterfacePortArgs{\n\t\t\tAlias:                pulumi.String(\"dkeeew\"),\n\t\t\tAllowaccess:          pulumi.String(\"ping https\"),\n\t\t\tDefaultgw:            pulumi.String(\"enable\"),\n\t\t\tDescription:          pulumi.String(\"description\"),\n\t\t\tDeviceIdentification: pulumi.String(\"enable\"),\n\t\t\tDistance:             pulumi.String(\"33\"),\n\t\t\tDnsServerOverride:    pulumi.String(\"enable\"),\n\t\t\tIp:                   pulumi.String(\"93.133.133.110 255.255.255.0\"),\n\t\t\tMode:                 pulumi.String(\"static\"),\n\t\t\tMtu:                  pulumi.String(\"2933\"),\n\t\t\tMtuOverride:          pulumi.String(\"enable\"),\n\t\t\tRole:                 pulumi.String(\"lan\"),\n\t\t\tSpeed:                pulumi.String(\"auto\"),\n\t\t\tStatus:               pulumi.String(\"up\"),\n\t\t\tTcpMss:               pulumi.String(\"3232\"),\n\t\t\tType:                 pulumi.String(\"physical\"),\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.networking.InterfacePort;\nimport com.pulumi.fortios.networking.InterfacePortArgs;\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 InterfacePort(\"test1\", InterfacePortArgs.builder()\n            .alias(\"dkeeew\")\n            .allowaccess(\"ping https\")\n            .defaultgw(\"enable\")\n            .description(\"description\")\n            .deviceIdentification(\"enable\")\n            .distance(\"33\")\n            .dnsServerOverride(\"enable\")\n            .ip(\"93.133.133.110 255.255.255.0\")\n            .mode(\"static\")\n            .mtu(\"2933\")\n            .mtuOverride(\"enable\")\n            .role(\"lan\")\n            .speed(\"auto\")\n            .status(\"up\")\n            .tcpMss(\"3232\")\n            .type(\"physical\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:networking:InterfacePort\n    properties:\n      alias: dkeeew\n      allowaccess: ping https\n      defaultgw: enable\n      description: description\n      deviceIdentification: enable\n      distance: '33'\n      dnsServerOverride: enable\n      ip: 93.133.133.110 255.255.255.0\n      mode: static\n      mtu: '2933'\n      mtuOverride: enable\n      role: lan\n      speed: auto\n      status: up\n      tcpMss: '3232'\n      type: physical\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "alias": {
          "type": "string",
          "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface.\n"
        },
        "defaultgw": {
          "type": "string",
          "description": "Enable to get the gateway IP from the DHCP or PPPoE server.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceIdentification": {
          "type": "string",
          "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface.\n"
        },
        "distance": {
          "type": "string",
          "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
        },
        "dnsServerOverride": {
          "type": "string",
          "description": "Enable/disable use DNS acquired by DHCP or PPPoE.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask, syntax` - X.X.X.X X.X.X.X.\n"
        },
        "mode": {
          "type": "string",
          "description": "Addressing mode.\n"
        },
        "mtu": {
          "type": "string",
          "description": "MTU value for this interface.\n"
        },
        "mtuOverride": {
          "type": "string",
          "description": "Enable to set a custom MTU for this interface.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "role": {
          "type": "string",
          "description": "Interface role.\n"
        },
        "speed": {
          "type": "string",
          "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
        },
        "status": {
          "type": "string",
          "description": "Bring the interface up or shut the interface down.\n"
        },
        "tcpMss": {
          "type": "string",
          "description": "TCP maximum segment size. 0 means do not change segment size.\n"
        },
        "type": {
          "type": "string",
          "description": "Interface type (support physical, vlan, loopback).\n"
        },
        "vdom": {
          "type": "string",
          "description": "Interface is in this virtual domain (VDOM).\n"
        },
        "vlanid": {
          "type": "string",
          "description": "VLAN ID.\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "allowaccess",
        "defaultgw",
        "deviceIdentification",
        "distance",
        "dnsServerOverride",
        "interface",
        "ip",
        "mode",
        "mtu",
        "mtuOverride",
        "name",
        "role",
        "speed",
        "status",
        "tcpMss",
        "type",
        "vdom",
        "vlanid"
      ],
      "inputProperties": {
        "alias": {
          "type": "string",
          "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface.\n"
        },
        "defaultgw": {
          "type": "string",
          "description": "Enable to get the gateway IP from the DHCP or PPPoE server.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceIdentification": {
          "type": "string",
          "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface.\n"
        },
        "distance": {
          "type": "string",
          "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
        },
        "dnsServerOverride": {
          "type": "string",
          "description": "Enable/disable use DNS acquired by DHCP or PPPoE.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask, syntax` - X.X.X.X X.X.X.X.\n"
        },
        "mode": {
          "type": "string",
          "description": "Addressing mode.\n"
        },
        "mtu": {
          "type": "string",
          "description": "MTU value for this interface.\n"
        },
        "mtuOverride": {
          "type": "string",
          "description": "Enable to set a custom MTU for this interface.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "role": {
          "type": "string",
          "description": "Interface role.\n"
        },
        "speed": {
          "type": "string",
          "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
        },
        "status": {
          "type": "string",
          "description": "Bring the interface up or shut the interface down.\n"
        },
        "tcpMss": {
          "type": "string",
          "description": "TCP maximum segment size. 0 means do not change segment size.\n"
        },
        "type": {
          "type": "string",
          "description": "Interface type (support physical, vlan, loopback).\n"
        },
        "vdom": {
          "type": "string",
          "description": "Interface is in this virtual domain (VDOM).\n"
        },
        "vlanid": {
          "type": "string",
          "description": "VLAN ID.\n"
        }
      },
      "requiredInputs": [
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering InterfacePort resources.\n",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
          },
          "allowaccess": {
            "type": "string",
            "description": "Permitted types of management access to this interface.\n"
          },
          "defaultgw": {
            "type": "string",
            "description": "Enable to get the gateway IP from the DHCP or PPPoE server.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceIdentification": {
            "type": "string",
            "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface.\n"
          },
          "distance": {
            "type": "string",
            "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
          },
          "dnsServerOverride": {
            "type": "string",
            "description": "Enable/disable use DNS acquired by DHCP or PPPoE.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "ip": {
            "type": "string",
            "description": "Interface IPv4 address and subnet mask, syntax` - X.X.X.X X.X.X.X.\n"
          },
          "mode": {
            "type": "string",
            "description": "Addressing mode.\n"
          },
          "mtu": {
            "type": "string",
            "description": "MTU value for this interface.\n"
          },
          "mtuOverride": {
            "type": "string",
            "description": "Enable to set a custom MTU for this interface.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "role": {
            "type": "string",
            "description": "Interface role.\n"
          },
          "speed": {
            "type": "string",
            "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
          },
          "status": {
            "type": "string",
            "description": "Bring the interface up or shut the interface down.\n"
          },
          "tcpMss": {
            "type": "string",
            "description": "TCP maximum segment size. 0 means do not change segment size.\n"
          },
          "type": {
            "type": "string",
            "description": "Interface type (support physical, vlan, loopback).\n"
          },
          "vdom": {
            "type": "string",
            "description": "Interface is in this virtual domain (VDOM).\n"
          },
          "vlanid": {
            "type": "string",
            "description": "VLAN ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:networking/routeStatic:RouteStatic": {
      "description": "Provides a resource to configure static route of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.router.Static`, 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 subnet = new fortios.networking.RouteStatic(\"subnet\", {\n    blackhole: \"disable\",\n    comment: \"Terraform test\",\n    device: \"port2\",\n    distance: \"22\",\n    dst: \"110.2.2.122/32\",\n    gateway: \"2.2.2.2\",\n    priority: \"3\",\n    status: \"enable\",\n    weight: \"3\",\n});\nconst internetService = new fortios.networking.RouteStatic(\"internetService\", {\n    blackhole: \"disable\",\n    comment: \"Terraform Test\",\n    device: \"port2\",\n    distance: \"22\",\n    gateway: \"2.2.2.2\",\n    internetService: 5242881,\n    priority: \"3\",\n    status: \"enable\",\n    weight: \"3\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nsubnet = fortios.networking.RouteStatic(\"subnet\",\n    blackhole=\"disable\",\n    comment=\"Terraform test\",\n    device=\"port2\",\n    distance=\"22\",\n    dst=\"110.2.2.122/32\",\n    gateway=\"2.2.2.2\",\n    priority=\"3\",\n    status=\"enable\",\n    weight=\"3\")\ninternet_service = fortios.networking.RouteStatic(\"internetService\",\n    blackhole=\"disable\",\n    comment=\"Terraform Test\",\n    device=\"port2\",\n    distance=\"22\",\n    gateway=\"2.2.2.2\",\n    internet_service=5242881,\n    priority=\"3\",\n    status=\"enable\",\n    weight=\"3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var subnet = new Fortios.Networking.RouteStatic(\"subnet\", new()\n    {\n        Blackhole = \"disable\",\n        Comment = \"Terraform test\",\n        Device = \"port2\",\n        Distance = \"22\",\n        Dst = \"110.2.2.122/32\",\n        Gateway = \"2.2.2.2\",\n        Priority = \"3\",\n        Status = \"enable\",\n        Weight = \"3\",\n    });\n\n    var internetService = new Fortios.Networking.RouteStatic(\"internetService\", new()\n    {\n        Blackhole = \"disable\",\n        Comment = \"Terraform Test\",\n        Device = \"port2\",\n        Distance = \"22\",\n        Gateway = \"2.2.2.2\",\n        InternetService = 5242881,\n        Priority = \"3\",\n        Status = \"enable\",\n        Weight = \"3\",\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/networking\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networking.NewRouteStatic(ctx, \"subnet\", &networking.RouteStaticArgs{\n\t\t\tBlackhole: pulumi.String(\"disable\"),\n\t\t\tComment:   pulumi.String(\"Terraform test\"),\n\t\t\tDevice:    pulumi.String(\"port2\"),\n\t\t\tDistance:  pulumi.String(\"22\"),\n\t\t\tDst:       pulumi.String(\"110.2.2.122/32\"),\n\t\t\tGateway:   pulumi.String(\"2.2.2.2\"),\n\t\t\tPriority:  pulumi.String(\"3\"),\n\t\t\tStatus:    pulumi.String(\"enable\"),\n\t\t\tWeight:    pulumi.String(\"3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networking.NewRouteStatic(ctx, \"internetService\", &networking.RouteStaticArgs{\n\t\t\tBlackhole:       pulumi.String(\"disable\"),\n\t\t\tComment:         pulumi.String(\"Terraform Test\"),\n\t\t\tDevice:          pulumi.String(\"port2\"),\n\t\t\tDistance:        pulumi.String(\"22\"),\n\t\t\tGateway:         pulumi.String(\"2.2.2.2\"),\n\t\t\tInternetService: pulumi.Int(5242881),\n\t\t\tPriority:        pulumi.String(\"3\"),\n\t\t\tStatus:          pulumi.String(\"enable\"),\n\t\t\tWeight:          pulumi.String(\"3\"),\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.networking.RouteStatic;\nimport com.pulumi.fortios.networking.RouteStaticArgs;\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 subnet = new RouteStatic(\"subnet\", RouteStaticArgs.builder()\n            .blackhole(\"disable\")\n            .comment(\"Terraform test\")\n            .device(\"port2\")\n            .distance(\"22\")\n            .dst(\"110.2.2.122/32\")\n            .gateway(\"2.2.2.2\")\n            .priority(\"3\")\n            .status(\"enable\")\n            .weight(\"3\")\n            .build());\n\n        var internetService = new RouteStatic(\"internetService\", RouteStaticArgs.builder()\n            .blackhole(\"disable\")\n            .comment(\"Terraform Test\")\n            .device(\"port2\")\n            .distance(\"22\")\n            .gateway(\"2.2.2.2\")\n            .internetService(5242881)\n            .priority(\"3\")\n            .status(\"enable\")\n            .weight(\"3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subnet:\n    type: fortios:networking:RouteStatic\n    properties:\n      blackhole: disable\n      comment: Terraform test\n      device: port2\n      distance: '22'\n      dst: 110.2.2.122/32\n      gateway: 2.2.2.2\n      priority: '3'\n      status: enable\n      weight: '3'\n  internetService:\n    type: fortios:networking:RouteStatic\n    properties:\n      blackhole: disable\n      comment: Terraform Test\n      device: port2\n      distance: '22'\n      gateway: 2.2.2.2\n      internetService: 5.242881e+06\n      priority: '3'\n      status: enable\n      weight: '3'\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "distance": {
          "type": "string",
          "description": "Administrative distance.\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IP and mask for this route.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP for this route.\n"
        },
        "internetService": {
          "type": "integer",
          "description": "Application ID in the Internet service database.\n"
        },
        "priority": {
          "type": "string",
          "description": "Administrative priority.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. default is \"enable\".\n"
        },
        "weight": {
          "type": "string",
          "description": "Administrative weight.\n"
        }
      },
      "type": "object",
      "required": [
        "blackhole",
        "device",
        "distance",
        "dst",
        "gateway",
        "internetService",
        "priority",
        "status",
        "weight"
      ],
      "inputProperties": {
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "distance": {
          "type": "string",
          "description": "Administrative distance.\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IP and mask for this route.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP for this route.\n"
        },
        "internetService": {
          "type": "integer",
          "description": "Application ID in the Internet service database.\n"
        },
        "priority": {
          "type": "string",
          "description": "Administrative priority.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. default is \"enable\".\n"
        },
        "weight": {
          "type": "string",
          "description": "Administrative weight.\n"
        }
      },
      "requiredInputs": [
        "device",
        "gateway"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering RouteStatic resources.\n",
        "properties": {
          "blackhole": {
            "type": "string",
            "description": "Enable/disable black hole.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "device": {
            "type": "string",
            "description": "Gateway out interface or tunnel.\n"
          },
          "distance": {
            "type": "string",
            "description": "Administrative distance.\n"
          },
          "dst": {
            "type": "string",
            "description": "Destination IP and mask for this route.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway IP for this route.\n"
          },
          "internetService": {
            "type": "integer",
            "description": "Application ID in the Internet service database.\n"
          },
          "priority": {
            "type": "string",
            "description": "Administrative priority.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this static route. default is \"enable\".\n"
          },
          "weight": {
            "type": "string",
            "description": "Administrative weight.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:nsxt/servicechain:Servicechain": {
      "description": "Configure NSX-T service chain. Applies to FortiOS Version `>= 6.4.10`.\n\n## Import\n\nNsxt ServiceChain can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:nsxt/servicechain:Servicechain 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:nsxt/servicechain:Servicechain 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": "Chain 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": "Chain name.\n"
        },
        "serviceIndices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:nsxt%2FServicechainServiceIndex:ServicechainServiceIndex"
          },
          "description": "Configure service index. The structure of `service_index` 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": "Chain 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": "Chain name.\n"
        },
        "serviceIndices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:nsxt%2FServicechainServiceIndex:ServicechainServiceIndex"
          },
          "description": "Configure service index. The structure of `service_index` 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 Servicechain 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": "Chain 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": "Chain name.\n"
          },
          "serviceIndices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:nsxt%2FServicechainServiceIndex:ServicechainServiceIndex"
            },
            "description": "Configure service index. The structure of `service_index` 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:nsxt/setting:Setting": {
      "description": "Configure NSX-T setting. Applies to FortiOS Version `>= 6.4.10`.\n\n## Import\n\nNsxt Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:nsxt/setting:Setting labelname NsxtSetting\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:nsxt/setting:Setting labelname NsxtSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "liveness": {
          "type": "string",
          "description": "Enable/disable liveness detection packet forwarding. Valid values: `enable`, `disable`.\n"
        },
        "service": {
          "type": "string",
          "description": "Service 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": [
        "liveness",
        "service",
        "vdomparam"
      ],
      "inputProperties": {
        "liveness": {
          "type": "string",
          "description": "Enable/disable liveness detection packet forwarding. Valid values: `enable`, `disable`.\n"
        },
        "service": {
          "type": "string",
          "description": "Service 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 Setting resources.\n",
        "properties": {
          "liveness": {
            "type": "string",
            "description": "Enable/disable liveness detection packet forwarding. Valid values: `enable`, `disable`.\n"
          },
          "service": {
            "type": "string",
            "description": "Service 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:report/chart:Chart": {
      "description": "Report chart widget configuration. 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.report.Chart(\"trname\", {\n    category: \"misc\",\n    comments: \"test report chart\",\n    dataset: \"s1\",\n    dimension: \"3D\",\n    favorite: \"no\",\n    graphType: \"none\",\n    legend: \"enable\",\n    legendFontSize: 0,\n    period: \"last24h\",\n    policy: 0,\n    style: \"auto\",\n    titleFontSize: 0,\n    type: \"graph\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Chart(\"trname\",\n    category=\"misc\",\n    comments=\"test report chart\",\n    dataset=\"s1\",\n    dimension=\"3D\",\n    favorite=\"no\",\n    graph_type=\"none\",\n    legend=\"enable\",\n    legend_font_size=0,\n    period=\"last24h\",\n    policy=0,\n    style=\"auto\",\n    title_font_size=0,\n    type=\"graph\")\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.Report.Chart(\"trname\", new()\n    {\n        Category = \"misc\",\n        Comments = \"test report chart\",\n        Dataset = \"s1\",\n        Dimension = \"3D\",\n        Favorite = \"no\",\n        GraphType = \"none\",\n        Legend = \"enable\",\n        LegendFontSize = 0,\n        Period = \"last24h\",\n        Policy = 0,\n        Style = \"auto\",\n        TitleFontSize = 0,\n        Type = \"graph\",\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewChart(ctx, \"trname\", &report.ChartArgs{\n\t\t\tCategory:       pulumi.String(\"misc\"),\n\t\t\tComments:       pulumi.String(\"test report chart\"),\n\t\t\tDataset:        pulumi.String(\"s1\"),\n\t\t\tDimension:      pulumi.String(\"3D\"),\n\t\t\tFavorite:       pulumi.String(\"no\"),\n\t\t\tGraphType:      pulumi.String(\"none\"),\n\t\t\tLegend:         pulumi.String(\"enable\"),\n\t\t\tLegendFontSize: pulumi.Int(0),\n\t\t\tPeriod:         pulumi.String(\"last24h\"),\n\t\t\tPolicy:         pulumi.Int(0),\n\t\t\tStyle:          pulumi.String(\"auto\"),\n\t\t\tTitleFontSize:  pulumi.Int(0),\n\t\t\tType:           pulumi.String(\"graph\"),\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.report.Chart;\nimport com.pulumi.fortios.report.ChartArgs;\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 Chart(\"trname\", ChartArgs.builder()\n            .category(\"misc\")\n            .comments(\"test report chart\")\n            .dataset(\"s1\")\n            .dimension(\"3D\")\n            .favorite(\"no\")\n            .graphType(\"none\")\n            .legend(\"enable\")\n            .legendFontSize(0)\n            .period(\"last24h\")\n            .policy(0)\n            .style(\"auto\")\n            .titleFontSize(0)\n            .type(\"graph\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Chart\n    properties:\n      category: misc\n      comments: test report chart\n      dataset: s1\n      dimension: 3D\n      favorite: no\n      graphType: none\n      legend: enable\n      legendFontSize: 0\n      period: last24h\n      policy: 0\n      style: auto\n      titleFontSize: 0\n      type: graph\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Chart can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/chart:Chart 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:report/chart:Chart labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "background": {
          "type": "string",
          "description": "Chart background.\n"
        },
        "category": {
          "type": "string",
          "description": "Category. Valid values: `misc`, `traffic`, `event`, `virus`, `webfilter`, `attack`, `spam`, `dlp`, `app-ctrl`, `vulnerability`.\n"
        },
        "categorySeries": {
          "$ref": "#/types/fortios:report%2FChartCategorySeries:ChartCategorySeries",
          "description": "Category series of pie chart. The structure of `category_series` block is documented below.\n"
        },
        "colorPalette": {
          "type": "string",
          "description": "Color palette (system will pick color automatically by default).\n"
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FChartColumn:ChartColumn"
          },
          "description": "Table column definition. The structure of `column` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dataset": {
          "type": "string",
          "description": "Bind dataset to chart.\n"
        },
        "dimension": {
          "type": "string",
          "description": "Dimension. Valid values: `2D`, `3D`.\n"
        },
        "drillDownCharts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FChartDrillDownChart:ChartDrillDownChart"
          },
          "description": "Drill down charts. The structure of `drill_down_charts` 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"
        },
        "favorite": {
          "type": "string",
          "description": "Favorite. Valid values: `no`, `yes`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "graphType": {
          "type": "string",
          "description": "Graph type. Valid values: `none`, `bar`, `pie`, `line`, `flow`.\n"
        },
        "legend": {
          "type": "string",
          "description": "Enable/Disable Legend area. Valid values: `enable`, `disable`.\n"
        },
        "legendFontSize": {
          "type": "integer",
          "description": "Font size of legend area.\n"
        },
        "name": {
          "type": "string",
          "description": "Chart Widget Name\n"
        },
        "period": {
          "type": "string",
          "description": "Time period. Valid values: `last24h`, `last7d`.\n"
        },
        "policy": {
          "type": "integer",
          "description": "Used by monitor policy.\n"
        },
        "style": {
          "type": "string",
          "description": "Style. Valid values: `auto`, `manual`.\n"
        },
        "title": {
          "type": "string",
          "description": "Chart title.\n"
        },
        "titleFontSize": {
          "type": "integer",
          "description": "Font size of chart title.\n"
        },
        "type": {
          "type": "string",
          "description": "Chart type. Valid values: `graph`, `table`.\n"
        },
        "valueSeries": {
          "$ref": "#/types/fortios:report%2FChartValueSeries:ChartValueSeries",
          "description": "Value series of pie chart. The structure of `value_series` 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"
        },
        "xSeries": {
          "$ref": "#/types/fortios:report%2FChartXSeries:ChartXSeries",
          "description": "X-series of chart. The structure of `x_series` block is documented below.\n"
        },
        "ySeries": {
          "$ref": "#/types/fortios:report%2FChartYSeries:ChartYSeries",
          "description": "Y-series of chart. The structure of `y_series` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "background",
        "category",
        "categorySeries",
        "colorPalette",
        "comments",
        "dataset",
        "dimension",
        "favorite",
        "graphType",
        "legend",
        "legendFontSize",
        "name",
        "period",
        "policy",
        "style",
        "title",
        "titleFontSize",
        "type",
        "valueSeries",
        "vdomparam",
        "xSeries",
        "ySeries"
      ],
      "inputProperties": {
        "background": {
          "type": "string",
          "description": "Chart background.\n"
        },
        "category": {
          "type": "string",
          "description": "Category. Valid values: `misc`, `traffic`, `event`, `virus`, `webfilter`, `attack`, `spam`, `dlp`, `app-ctrl`, `vulnerability`.\n"
        },
        "categorySeries": {
          "$ref": "#/types/fortios:report%2FChartCategorySeries:ChartCategorySeries",
          "description": "Category series of pie chart. The structure of `category_series` block is documented below.\n"
        },
        "colorPalette": {
          "type": "string",
          "description": "Color palette (system will pick color automatically by default).\n"
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FChartColumn:ChartColumn"
          },
          "description": "Table column definition. The structure of `column` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dataset": {
          "type": "string",
          "description": "Bind dataset to chart.\n"
        },
        "dimension": {
          "type": "string",
          "description": "Dimension. Valid values: `2D`, `3D`.\n"
        },
        "drillDownCharts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FChartDrillDownChart:ChartDrillDownChart"
          },
          "description": "Drill down charts. The structure of `drill_down_charts` 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"
        },
        "favorite": {
          "type": "string",
          "description": "Favorite. Valid values: `no`, `yes`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "graphType": {
          "type": "string",
          "description": "Graph type. Valid values: `none`, `bar`, `pie`, `line`, `flow`.\n"
        },
        "legend": {
          "type": "string",
          "description": "Enable/Disable Legend area. Valid values: `enable`, `disable`.\n"
        },
        "legendFontSize": {
          "type": "integer",
          "description": "Font size of legend area.\n"
        },
        "name": {
          "type": "string",
          "description": "Chart Widget Name\n",
          "willReplaceOnChanges": true
        },
        "period": {
          "type": "string",
          "description": "Time period. Valid values: `last24h`, `last7d`.\n"
        },
        "policy": {
          "type": "integer",
          "description": "Used by monitor policy.\n"
        },
        "style": {
          "type": "string",
          "description": "Style. Valid values: `auto`, `manual`.\n"
        },
        "title": {
          "type": "string",
          "description": "Chart title.\n"
        },
        "titleFontSize": {
          "type": "integer",
          "description": "Font size of chart title.\n"
        },
        "type": {
          "type": "string",
          "description": "Chart type. Valid values: `graph`, `table`.\n"
        },
        "valueSeries": {
          "$ref": "#/types/fortios:report%2FChartValueSeries:ChartValueSeries",
          "description": "Value series of pie chart. The structure of `value_series` 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
        },
        "xSeries": {
          "$ref": "#/types/fortios:report%2FChartXSeries:ChartXSeries",
          "description": "X-series of chart. The structure of `x_series` block is documented below.\n"
        },
        "ySeries": {
          "$ref": "#/types/fortios:report%2FChartYSeries:ChartYSeries",
          "description": "Y-series of chart. The structure of `y_series` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "comments",
        "dataset"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Chart resources.\n",
        "properties": {
          "background": {
            "type": "string",
            "description": "Chart background.\n"
          },
          "category": {
            "type": "string",
            "description": "Category. Valid values: `misc`, `traffic`, `event`, `virus`, `webfilter`, `attack`, `spam`, `dlp`, `app-ctrl`, `vulnerability`.\n"
          },
          "categorySeries": {
            "$ref": "#/types/fortios:report%2FChartCategorySeries:ChartCategorySeries",
            "description": "Category series of pie chart. The structure of `category_series` block is documented below.\n"
          },
          "colorPalette": {
            "type": "string",
            "description": "Color palette (system will pick color automatically by default).\n"
          },
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:report%2FChartColumn:ChartColumn"
            },
            "description": "Table column definition. The structure of `column` block is documented below.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dataset": {
            "type": "string",
            "description": "Bind dataset to chart.\n"
          },
          "dimension": {
            "type": "string",
            "description": "Dimension. Valid values: `2D`, `3D`.\n"
          },
          "drillDownCharts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:report%2FChartDrillDownChart:ChartDrillDownChart"
            },
            "description": "Drill down charts. The structure of `drill_down_charts` 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"
          },
          "favorite": {
            "type": "string",
            "description": "Favorite. Valid values: `no`, `yes`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "graphType": {
            "type": "string",
            "description": "Graph type. Valid values: `none`, `bar`, `pie`, `line`, `flow`.\n"
          },
          "legend": {
            "type": "string",
            "description": "Enable/Disable Legend area. Valid values: `enable`, `disable`.\n"
          },
          "legendFontSize": {
            "type": "integer",
            "description": "Font size of legend area.\n"
          },
          "name": {
            "type": "string",
            "description": "Chart Widget Name\n",
            "willReplaceOnChanges": true
          },
          "period": {
            "type": "string",
            "description": "Time period. Valid values: `last24h`, `last7d`.\n"
          },
          "policy": {
            "type": "integer",
            "description": "Used by monitor policy.\n"
          },
          "style": {
            "type": "string",
            "description": "Style. Valid values: `auto`, `manual`.\n"
          },
          "title": {
            "type": "string",
            "description": "Chart title.\n"
          },
          "titleFontSize": {
            "type": "integer",
            "description": "Font size of chart title.\n"
          },
          "type": {
            "type": "string",
            "description": "Chart type. Valid values: `graph`, `table`.\n"
          },
          "valueSeries": {
            "$ref": "#/types/fortios:report%2FChartValueSeries:ChartValueSeries",
            "description": "Value series of pie chart. The structure of `value_series` 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
          },
          "xSeries": {
            "$ref": "#/types/fortios:report%2FChartXSeries:ChartXSeries",
            "description": "X-series of chart. The structure of `x_series` block is documented below.\n"
          },
          "ySeries": {
            "$ref": "#/types/fortios:report%2FChartYSeries:ChartYSeries",
            "description": "Y-series of chart. The structure of `y_series` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:report/dataset:Dataset": {
      "description": "Report dataset configuration. 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.report.Dataset(\"trname\", {\n    policy: 0,\n    query: \"select * from testdb\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Dataset(\"trname\",\n    policy=0,\n    query=\"select * from testdb\")\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.Report.Dataset(\"trname\", new()\n    {\n        Policy = 0,\n        Query = \"select * from testdb\",\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewDataset(ctx, \"trname\", &report.DatasetArgs{\n\t\t\tPolicy: pulumi.Int(0),\n\t\t\tQuery:  pulumi.String(\"select * from testdb\"),\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.report.Dataset;\nimport com.pulumi.fortios.report.DatasetArgs;\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 Dataset(\"trname\", DatasetArgs.builder()\n            .policy(0)\n            .query(\"select * from testdb\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Dataset\n    properties:\n      policy: 0\n      query: select * from testdb\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Dataset can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/dataset:Dataset 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:report/dataset:Dataset 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"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FDatasetField:DatasetField"
          },
          "description": "Fields. The structure of `field` 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": "Name.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FDatasetParameter:DatasetParameter"
          },
          "description": "Parameters. The structure of `parameters` block is documented below.\n"
        },
        "policy": {
          "type": "integer",
          "description": "Used by monitor policy.\n"
        },
        "query": {
          "type": "string",
          "description": "SQL query statement.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "policy",
        "query",
        "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"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FDatasetField:DatasetField"
          },
          "description": "Fields. The structure of `field` 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": "Name.\n",
          "willReplaceOnChanges": true
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FDatasetParameter:DatasetParameter"
          },
          "description": "Parameters. The structure of `parameters` block is documented below.\n"
        },
        "policy": {
          "type": "integer",
          "description": "Used by monitor policy.\n"
        },
        "query": {
          "type": "string",
          "description": "SQL query statement.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Dataset 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"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:report%2FDatasetField:DatasetField"
            },
            "description": "Fields. The structure of `field` 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": "Name.\n",
            "willReplaceOnChanges": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:report%2FDatasetParameter:DatasetParameter"
            },
            "description": "Parameters. The structure of `parameters` block is documented below.\n"
          },
          "policy": {
            "type": "integer",
            "description": "Used by monitor policy.\n"
          },
          "query": {
            "type": "string",
            "description": "SQL query statement.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:report/layout:Layout": {
      "description": "Report layout 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.report.Layout(\"trname\", {\n    cutoffOption: \"run-time\",\n    cutoffTime: \"00:00\",\n    day: \"sunday\",\n    emailSend: \"disable\",\n    format: \"pdf\",\n    maxPdfReport: 31,\n    options: \"include-table-of-content view-chart-as-heading\",\n    scheduleType: \"daily\",\n    styleTheme: \"default-report\",\n    time: \"00:00\",\n    title: \"FortiGate System Analysis Report\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Layout(\"trname\",\n    cutoff_option=\"run-time\",\n    cutoff_time=\"00:00\",\n    day=\"sunday\",\n    email_send=\"disable\",\n    format=\"pdf\",\n    max_pdf_report=31,\n    options=\"include-table-of-content view-chart-as-heading\",\n    schedule_type=\"daily\",\n    style_theme=\"default-report\",\n    time=\"00:00\",\n    title=\"FortiGate System Analysis Report\")\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.Report.Layout(\"trname\", new()\n    {\n        CutoffOption = \"run-time\",\n        CutoffTime = \"00:00\",\n        Day = \"sunday\",\n        EmailSend = \"disable\",\n        Format = \"pdf\",\n        MaxPdfReport = 31,\n        Options = \"include-table-of-content view-chart-as-heading\",\n        ScheduleType = \"daily\",\n        StyleTheme = \"default-report\",\n        Time = \"00:00\",\n        Title = \"FortiGate System Analysis Report\",\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewLayout(ctx, \"trname\", &report.LayoutArgs{\n\t\t\tCutoffOption: pulumi.String(\"run-time\"),\n\t\t\tCutoffTime:   pulumi.String(\"00:00\"),\n\t\t\tDay:          pulumi.String(\"sunday\"),\n\t\t\tEmailSend:    pulumi.String(\"disable\"),\n\t\t\tFormat:       pulumi.String(\"pdf\"),\n\t\t\tMaxPdfReport: pulumi.Int(31),\n\t\t\tOptions:      pulumi.String(\"include-table-of-content view-chart-as-heading\"),\n\t\t\tScheduleType: pulumi.String(\"daily\"),\n\t\t\tStyleTheme:   pulumi.String(\"default-report\"),\n\t\t\tTime:         pulumi.String(\"00:00\"),\n\t\t\tTitle:        pulumi.String(\"FortiGate System Analysis Report\"),\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.report.Layout;\nimport com.pulumi.fortios.report.LayoutArgs;\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 Layout(\"trname\", LayoutArgs.builder()\n            .cutoffOption(\"run-time\")\n            .cutoffTime(\"00:00\")\n            .day(\"sunday\")\n            .emailSend(\"disable\")\n            .format(\"pdf\")\n            .maxPdfReport(31)\n            .options(\"include-table-of-content view-chart-as-heading\")\n            .scheduleType(\"daily\")\n            .styleTheme(\"default-report\")\n            .time(\"00:00\")\n            .title(\"FortiGate System Analysis Report\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Layout\n    properties:\n      cutoffOption: run-time\n      cutoffTime: 00:00\n      day: sunday\n      emailSend: disable\n      format: pdf\n      maxPdfReport: 31\n      options: include-table-of-content view-chart-as-heading\n      scheduleType: daily\n      styleTheme: default-report\n      time: 00:00\n      title: FortiGate System Analysis Report\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Layout can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/layout:Layout 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:report/layout:Layout labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bodyItems": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutBodyItem:LayoutBodyItem"
          },
          "description": "Configure report body item. The structure of `body_item` block is documented below.\n"
        },
        "cutoffOption": {
          "type": "string",
          "description": "Cutoff-option is either run-time or custom. Valid values: `run-time`, `custom`.\n"
        },
        "cutoffTime": {
          "type": "string",
          "description": "Custom cutoff time to generate report (format = hh:mm).\n"
        },
        "day": {
          "type": "string",
          "description": "Schedule days of week to generate report. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "emailRecipients": {
          "type": "string",
          "description": "Email recipients for generated reports.\n"
        },
        "emailSend": {
          "type": "string",
          "description": "Enable/disable sending emails after reports are generated. Valid values: `enable`, `disable`.\n"
        },
        "format": {
          "type": "string",
          "description": "Report format. Valid values: `pdf`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "maxPdfReport": {
          "type": "integer",
          "description": "Maximum number of PDF reports to keep at one time (oldest report is overwritten).\n"
        },
        "name": {
          "type": "string",
          "description": "Report layout name.\n"
        },
        "options": {
          "type": "string",
          "description": "Report layout options. Valid values: `include-table-of-content`, `auto-numbering-heading`, `view-chart-as-heading`, `show-html-navbar-before-heading`, `dummy-option`.\n"
        },
        "page": {
          "$ref": "#/types/fortios:report%2FLayoutPage:LayoutPage",
          "description": "Configure report page. The structure of `page` block is documented below.\n"
        },
        "scheduleType": {
          "type": "string",
          "description": "Report schedule type. Valid values: `demand`, `daily`, `weekly`.\n"
        },
        "styleTheme": {
          "type": "string",
          "description": "Report style theme.\n"
        },
        "subtitle": {
          "type": "string",
          "description": "Report subtitle.\n"
        },
        "time": {
          "type": "string",
          "description": "Schedule time to generate report (format = hh:mm).\n"
        },
        "title": {
          "type": "string",
          "description": "Report title.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "cutoffOption",
        "cutoffTime",
        "day",
        "description",
        "emailRecipients",
        "emailSend",
        "format",
        "maxPdfReport",
        "name",
        "options",
        "page",
        "scheduleType",
        "styleTheme",
        "subtitle",
        "time",
        "title",
        "vdomparam"
      ],
      "inputProperties": {
        "bodyItems": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutBodyItem:LayoutBodyItem"
          },
          "description": "Configure report body item. The structure of `body_item` block is documented below.\n"
        },
        "cutoffOption": {
          "type": "string",
          "description": "Cutoff-option is either run-time or custom. Valid values: `run-time`, `custom`.\n"
        },
        "cutoffTime": {
          "type": "string",
          "description": "Custom cutoff time to generate report (format = hh:mm).\n"
        },
        "day": {
          "type": "string",
          "description": "Schedule days of week to generate report. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "emailRecipients": {
          "type": "string",
          "description": "Email recipients for generated reports.\n"
        },
        "emailSend": {
          "type": "string",
          "description": "Enable/disable sending emails after reports are generated. Valid values: `enable`, `disable`.\n"
        },
        "format": {
          "type": "string",
          "description": "Report format. Valid values: `pdf`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "maxPdfReport": {
          "type": "integer",
          "description": "Maximum number of PDF reports to keep at one time (oldest report is overwritten).\n"
        },
        "name": {
          "type": "string",
          "description": "Report layout name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Report layout options. Valid values: `include-table-of-content`, `auto-numbering-heading`, `view-chart-as-heading`, `show-html-navbar-before-heading`, `dummy-option`.\n"
        },
        "page": {
          "$ref": "#/types/fortios:report%2FLayoutPage:LayoutPage",
          "description": "Configure report page. The structure of `page` block is documented below.\n"
        },
        "scheduleType": {
          "type": "string",
          "description": "Report schedule type. Valid values: `demand`, `daily`, `weekly`.\n"
        },
        "styleTheme": {
          "type": "string",
          "description": "Report style theme.\n"
        },
        "subtitle": {
          "type": "string",
          "description": "Report subtitle.\n"
        },
        "time": {
          "type": "string",
          "description": "Schedule time to generate report (format = hh:mm).\n"
        },
        "title": {
          "type": "string",
          "description": "Report title.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "styleTheme"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Layout resources.\n",
        "properties": {
          "bodyItems": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:report%2FLayoutBodyItem:LayoutBodyItem"
            },
            "description": "Configure report body item. The structure of `body_item` block is documented below.\n"
          },
          "cutoffOption": {
            "type": "string",
            "description": "Cutoff-option is either run-time or custom. Valid values: `run-time`, `custom`.\n"
          },
          "cutoffTime": {
            "type": "string",
            "description": "Custom cutoff time to generate report (format = hh:mm).\n"
          },
          "day": {
            "type": "string",
            "description": "Schedule days of week to generate report. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "description": {
            "type": "string",
            "description": "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"
          },
          "emailRecipients": {
            "type": "string",
            "description": "Email recipients for generated reports.\n"
          },
          "emailSend": {
            "type": "string",
            "description": "Enable/disable sending emails after reports are generated. Valid values: `enable`, `disable`.\n"
          },
          "format": {
            "type": "string",
            "description": "Report format. Valid values: `pdf`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "maxPdfReport": {
            "type": "integer",
            "description": "Maximum number of PDF reports to keep at one time (oldest report is overwritten).\n"
          },
          "name": {
            "type": "string",
            "description": "Report layout name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Report layout options. Valid values: `include-table-of-content`, `auto-numbering-heading`, `view-chart-as-heading`, `show-html-navbar-before-heading`, `dummy-option`.\n"
          },
          "page": {
            "$ref": "#/types/fortios:report%2FLayoutPage:LayoutPage",
            "description": "Configure report page. The structure of `page` block is documented below.\n"
          },
          "scheduleType": {
            "type": "string",
            "description": "Report schedule type. Valid values: `demand`, `daily`, `weekly`.\n"
          },
          "styleTheme": {
            "type": "string",
            "description": "Report style theme.\n"
          },
          "subtitle": {
            "type": "string",
            "description": "Report subtitle.\n"
          },
          "time": {
            "type": "string",
            "description": "Schedule time to generate report (format = hh:mm).\n"
          },
          "title": {
            "type": "string",
            "description": "Report title.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:report/setting:Setting": {
      "description": "Report setting 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.report.Setting(\"trname\", {\n    fortiview: \"enable\",\n    pdfReport: \"enable\",\n    reportSource: \"forward-traffic\",\n    topN: 1000,\n    webBrowsingThreshold: 3,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Setting(\"trname\",\n    fortiview=\"enable\",\n    pdf_report=\"enable\",\n    report_source=\"forward-traffic\",\n    top_n=1000,\n    web_browsing_threshold=3)\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.Report.Setting(\"trname\", new()\n    {\n        Fortiview = \"enable\",\n        PdfReport = \"enable\",\n        ReportSource = \"forward-traffic\",\n        TopN = 1000,\n        WebBrowsingThreshold = 3,\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewSetting(ctx, \"trname\", &report.SettingArgs{\n\t\t\tFortiview:            pulumi.String(\"enable\"),\n\t\t\tPdfReport:            pulumi.String(\"enable\"),\n\t\t\tReportSource:         pulumi.String(\"forward-traffic\"),\n\t\t\tTopN:                 pulumi.Int(1000),\n\t\t\tWebBrowsingThreshold: pulumi.Int(3),\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.report.Setting;\nimport com.pulumi.fortios.report.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            .fortiview(\"enable\")\n            .pdfReport(\"enable\")\n            .reportSource(\"forward-traffic\")\n            .topN(1000)\n            .webBrowsingThreshold(3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Setting\n    properties:\n      fortiview: enable\n      pdfReport: enable\n      reportSource: forward-traffic\n      topN: 1000\n      webBrowsingThreshold: 3\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/setting:Setting labelname ReportSetting\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:report/setting:Setting labelname ReportSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fortiview": {
          "type": "string",
          "description": "Enable/disable historical FortiView. Valid values: `enable`, `disable`.\n"
        },
        "pdfReport": {
          "type": "string",
          "description": "Enable/disable PDF report. Valid values: `enable`, `disable`.\n"
        },
        "reportSource": {
          "type": "string",
          "description": "Report log source. Valid values: `forward-traffic`, `sniffer-traffic`, `local-deny-traffic`.\n"
        },
        "topN": {
          "type": "integer",
          "description": "Number of items to populate. On FortiOS versions 6.2.0: 100 - 4000. On FortiOS versions >= 6.2.4: 1000 - 20000.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webBrowsingThreshold": {
          "type": "integer",
          "description": "Web browsing time calculation threshold (3 - 15 min).\n"
        }
      },
      "type": "object",
      "required": [
        "fortiview",
        "pdfReport",
        "reportSource",
        "topN",
        "vdomparam",
        "webBrowsingThreshold"
      ],
      "inputProperties": {
        "fortiview": {
          "type": "string",
          "description": "Enable/disable historical FortiView. Valid values: `enable`, `disable`.\n"
        },
        "pdfReport": {
          "type": "string",
          "description": "Enable/disable PDF report. Valid values: `enable`, `disable`.\n"
        },
        "reportSource": {
          "type": "string",
          "description": "Report log source. Valid values: `forward-traffic`, `sniffer-traffic`, `local-deny-traffic`.\n"
        },
        "topN": {
          "type": "integer",
          "description": "Number of items to populate. On FortiOS versions 6.2.0: 100 - 4000. On FortiOS versions >= 6.2.4: 1000 - 20000.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webBrowsingThreshold": {
          "type": "integer",
          "description": "Web browsing time calculation threshold (3 - 15 min).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "fortiview": {
            "type": "string",
            "description": "Enable/disable historical FortiView. Valid values: `enable`, `disable`.\n"
          },
          "pdfReport": {
            "type": "string",
            "description": "Enable/disable PDF report. Valid values: `enable`, `disable`.\n"
          },
          "reportSource": {
            "type": "string",
            "description": "Report log source. Valid values: `forward-traffic`, `sniffer-traffic`, `local-deny-traffic`.\n"
          },
          "topN": {
            "type": "integer",
            "description": "Number of items to populate. On FortiOS versions 6.2.0: 100 - 4000. On FortiOS versions >= 6.2.4: 1000 - 20000.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webBrowsingThreshold": {
            "type": "integer",
            "description": "Web browsing time calculation threshold (3 - 15 min).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:report/style:Style": {
      "description": "Report style configuration. 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.report.Style(\"trname\", {\n    borderBottom: \"\\\" none \\\"\",\n    borderLeft: \"\\\" none \\\"\",\n    borderRight: \"\\\" none \\\"\",\n    borderTop: \"\\\" none \\\"\",\n    columnSpan: \"none\",\n    fontStyle: \"normal\",\n    fontWeight: \"normal\",\n    options: \"font text color\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Style(\"trname\",\n    border_bottom=\"\\\" none \\\"\",\n    border_left=\"\\\" none \\\"\",\n    border_right=\"\\\" none \\\"\",\n    border_top=\"\\\" none \\\"\",\n    column_span=\"none\",\n    font_style=\"normal\",\n    font_weight=\"normal\",\n    options=\"font text color\")\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.Report.Style(\"trname\", new()\n    {\n        BorderBottom = \"\\\" none \\\"\",\n        BorderLeft = \"\\\" none \\\"\",\n        BorderRight = \"\\\" none \\\"\",\n        BorderTop = \"\\\" none \\\"\",\n        ColumnSpan = \"none\",\n        FontStyle = \"normal\",\n        FontWeight = \"normal\",\n        Options = \"font text color\",\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewStyle(ctx, \"trname\", &report.StyleArgs{\n\t\t\tBorderBottom: pulumi.String(\"\\\" none \\\"\"),\n\t\t\tBorderLeft:   pulumi.String(\"\\\" none \\\"\"),\n\t\t\tBorderRight:  pulumi.String(\"\\\" none \\\"\"),\n\t\t\tBorderTop:    pulumi.String(\"\\\" none \\\"\"),\n\t\t\tColumnSpan:   pulumi.String(\"none\"),\n\t\t\tFontStyle:    pulumi.String(\"normal\"),\n\t\t\tFontWeight:   pulumi.String(\"normal\"),\n\t\t\tOptions:      pulumi.String(\"font text color\"),\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.report.Style;\nimport com.pulumi.fortios.report.StyleArgs;\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 Style(\"trname\", StyleArgs.builder()\n            .borderBottom(\"\\\" none \\\"\")\n            .borderLeft(\"\\\" none \\\"\")\n            .borderRight(\"\\\" none \\\"\")\n            .borderTop(\"\\\" none \\\"\")\n            .columnSpan(\"none\")\n            .fontStyle(\"normal\")\n            .fontWeight(\"normal\")\n            .options(\"font text color\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Style\n    properties:\n      borderBottom: '\" none \"'\n      borderLeft: '\" none \"'\n      borderRight: '\" none \"'\n      borderTop: '\" none \"'\n      columnSpan: none\n      fontStyle: normal\n      fontWeight: normal\n      options: font text color\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Style can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/style:Style 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:report/style:Style labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "align": {
          "type": "string",
          "description": "Alignment. Valid values: `left`, `center`, `right`, `justify`.\n"
        },
        "bgColor": {
          "type": "string",
          "description": "Background color.\n"
        },
        "borderBottom": {
          "type": "string",
          "description": "Border bottom.\n"
        },
        "borderLeft": {
          "type": "string",
          "description": "Border left.\n"
        },
        "borderRight": {
          "type": "string",
          "description": "Border right.\n"
        },
        "borderTop": {
          "type": "string",
          "description": "Border top.\n"
        },
        "columnGap": {
          "type": "string",
          "description": "Column gap.\n"
        },
        "columnSpan": {
          "type": "string",
          "description": "Column span. Valid values: `none`, `all`.\n"
        },
        "fgColor": {
          "type": "string",
          "description": "Foreground color.\n"
        },
        "fontFamily": {
          "type": "string",
          "description": "Font family. Valid values: `Verdana`, `Arial`, `Helvetica`, `Courier`, `Times`.\n"
        },
        "fontSize": {
          "type": "string",
          "description": "Font size.\n"
        },
        "fontStyle": {
          "type": "string",
          "description": "Font style. Valid values: `normal`, `italic`.\n"
        },
        "fontWeight": {
          "type": "string",
          "description": "Font weight. Valid values: `normal`, `bold`.\n"
        },
        "height": {
          "type": "string",
          "description": "Height.\n"
        },
        "lineHeight": {
          "type": "string",
          "description": "Text line height.\n"
        },
        "marginBottom": {
          "type": "string",
          "description": "Margin bottom.\n"
        },
        "marginLeft": {
          "type": "string",
          "description": "Margin left.\n"
        },
        "marginRight": {
          "type": "string",
          "description": "Margin right.\n"
        },
        "marginTop": {
          "type": "string",
          "description": "Margin top.\n"
        },
        "name": {
          "type": "string",
          "description": "Report style name.\n"
        },
        "options": {
          "type": "string",
          "description": "Report style options. Valid values: `font`, `text`, `color`, `align`, `size`, `margin`, `border`, `padding`, `column`.\n"
        },
        "paddingBottom": {
          "type": "string",
          "description": "Padding bottom.\n"
        },
        "paddingLeft": {
          "type": "string",
          "description": "Padding left.\n"
        },
        "paddingRight": {
          "type": "string",
          "description": "Padding right.\n"
        },
        "paddingTop": {
          "type": "string",
          "description": "Padding top.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "width": {
          "type": "string",
          "description": "Width.\n"
        }
      },
      "type": "object",
      "required": [
        "align",
        "bgColor",
        "borderBottom",
        "borderLeft",
        "borderRight",
        "borderTop",
        "columnGap",
        "columnSpan",
        "fgColor",
        "fontFamily",
        "fontSize",
        "fontStyle",
        "fontWeight",
        "height",
        "lineHeight",
        "marginBottom",
        "marginLeft",
        "marginRight",
        "marginTop",
        "name",
        "options",
        "paddingBottom",
        "paddingLeft",
        "paddingRight",
        "paddingTop",
        "vdomparam",
        "width"
      ],
      "inputProperties": {
        "align": {
          "type": "string",
          "description": "Alignment. Valid values: `left`, `center`, `right`, `justify`.\n"
        },
        "bgColor": {
          "type": "string",
          "description": "Background color.\n"
        },
        "borderBottom": {
          "type": "string",
          "description": "Border bottom.\n"
        },
        "borderLeft": {
          "type": "string",
          "description": "Border left.\n"
        },
        "borderRight": {
          "type": "string",
          "description": "Border right.\n"
        },
        "borderTop": {
          "type": "string",
          "description": "Border top.\n"
        },
        "columnGap": {
          "type": "string",
          "description": "Column gap.\n"
        },
        "columnSpan": {
          "type": "string",
          "description": "Column span. Valid values: `none`, `all`.\n"
        },
        "fgColor": {
          "type": "string",
          "description": "Foreground color.\n"
        },
        "fontFamily": {
          "type": "string",
          "description": "Font family. Valid values: `Verdana`, `Arial`, `Helvetica`, `Courier`, `Times`.\n"
        },
        "fontSize": {
          "type": "string",
          "description": "Font size.\n"
        },
        "fontStyle": {
          "type": "string",
          "description": "Font style. Valid values: `normal`, `italic`.\n"
        },
        "fontWeight": {
          "type": "string",
          "description": "Font weight. Valid values: `normal`, `bold`.\n"
        },
        "height": {
          "type": "string",
          "description": "Height.\n"
        },
        "lineHeight": {
          "type": "string",
          "description": "Text line height.\n"
        },
        "marginBottom": {
          "type": "string",
          "description": "Margin bottom.\n"
        },
        "marginLeft": {
          "type": "string",
          "description": "Margin left.\n"
        },
        "marginRight": {
          "type": "string",
          "description": "Margin right.\n"
        },
        "marginTop": {
          "type": "string",
          "description": "Margin top.\n"
        },
        "name": {
          "type": "string",
          "description": "Report style name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Report style options. Valid values: `font`, `text`, `color`, `align`, `size`, `margin`, `border`, `padding`, `column`.\n"
        },
        "paddingBottom": {
          "type": "string",
          "description": "Padding bottom.\n"
        },
        "paddingLeft": {
          "type": "string",
          "description": "Padding left.\n"
        },
        "paddingRight": {
          "type": "string",
          "description": "Padding right.\n"
        },
        "paddingTop": {
          "type": "string",
          "description": "Padding top.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "width": {
          "type": "string",
          "description": "Width.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Style resources.\n",
        "properties": {
          "align": {
            "type": "string",
            "description": "Alignment. Valid values: `left`, `center`, `right`, `justify`.\n"
          },
          "bgColor": {
            "type": "string",
            "description": "Background color.\n"
          },
          "borderBottom": {
            "type": "string",
            "description": "Border bottom.\n"
          },
          "borderLeft": {
            "type": "string",
            "description": "Border left.\n"
          },
          "borderRight": {
            "type": "string",
            "description": "Border right.\n"
          },
          "borderTop": {
            "type": "string",
            "description": "Border top.\n"
          },
          "columnGap": {
            "type": "string",
            "description": "Column gap.\n"
          },
          "columnSpan": {
            "type": "string",
            "description": "Column span. Valid values: `none`, `all`.\n"
          },
          "fgColor": {
            "type": "string",
            "description": "Foreground color.\n"
          },
          "fontFamily": {
            "type": "string",
            "description": "Font family. Valid values: `Verdana`, `Arial`, `Helvetica`, `Courier`, `Times`.\n"
          },
          "fontSize": {
            "type": "string",
            "description": "Font size.\n"
          },
          "fontStyle": {
            "type": "string",
            "description": "Font style. Valid values: `normal`, `italic`.\n"
          },
          "fontWeight": {
            "type": "string",
            "description": "Font weight. Valid values: `normal`, `bold`.\n"
          },
          "height": {
            "type": "string",
            "description": "Height.\n"
          },
          "lineHeight": {
            "type": "string",
            "description": "Text line height.\n"
          },
          "marginBottom": {
            "type": "string",
            "description": "Margin bottom.\n"
          },
          "marginLeft": {
            "type": "string",
            "description": "Margin left.\n"
          },
          "marginRight": {
            "type": "string",
            "description": "Margin right.\n"
          },
          "marginTop": {
            "type": "string",
            "description": "Margin top.\n"
          },
          "name": {
            "type": "string",
            "description": "Report style name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Report style options. Valid values: `font`, `text`, `color`, `align`, `size`, `margin`, `border`, `padding`, `column`.\n"
          },
          "paddingBottom": {
            "type": "string",
            "description": "Padding bottom.\n"
          },
          "paddingLeft": {
            "type": "string",
            "description": "Padding left.\n"
          },
          "paddingRight": {
            "type": "string",
            "description": "Padding right.\n"
          },
          "paddingTop": {
            "type": "string",
            "description": "Padding top.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "width": {
            "type": "string",
            "description": "Width.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:report/theme:Theme": {
      "description": "Report themes configuration 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.report.Theme(\"trname\", {\n    columnCount: \"1\",\n    graphChartStyle: \"PS\",\n    pageOrient: \"portrait\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.report.Theme(\"trname\",\n    column_count=\"1\",\n    graph_chart_style=\"PS\",\n    page_orient=\"portrait\")\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.Report.Theme(\"trname\", new()\n    {\n        ColumnCount = \"1\",\n        GraphChartStyle = \"PS\",\n        PageOrient = \"portrait\",\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/report\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := report.NewTheme(ctx, \"trname\", &report.ThemeArgs{\n\t\t\tColumnCount:     pulumi.String(\"1\"),\n\t\t\tGraphChartStyle: pulumi.String(\"PS\"),\n\t\t\tPageOrient:      pulumi.String(\"portrait\"),\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.report.Theme;\nimport com.pulumi.fortios.report.ThemeArgs;\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 Theme(\"trname\", ThemeArgs.builder()\n            .columnCount(\"1\")\n            .graphChartStyle(\"PS\")\n            .pageOrient(\"portrait\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:report:Theme\n    properties:\n      columnCount: '1'\n      graphChartStyle: PS\n      pageOrient: portrait\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReport Theme can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:report/theme:Theme 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:report/theme:Theme labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bulletListStyle": {
          "type": "string",
          "description": "Bullet list style.\n"
        },
        "columnCount": {
          "type": "string",
          "description": "Report page column count. Valid values: `1`, `2`, `3`.\n"
        },
        "defaultHtmlStyle": {
          "type": "string",
          "description": "Default HTML report style.\n"
        },
        "defaultPdfStyle": {
          "type": "string",
          "description": "Default PDF report style.\n"
        },
        "graphChartStyle": {
          "type": "string",
          "description": "Graph chart style.\n"
        },
        "heading1Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading2Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading3Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading4Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "hlineStyle": {
          "type": "string",
          "description": "Horizontal line style.\n"
        },
        "imageStyle": {
          "type": "string",
          "description": "Image style.\n"
        },
        "name": {
          "type": "string",
          "description": "Report theme name.\n"
        },
        "normalTextStyle": {
          "type": "string",
          "description": "Normal text style.\n"
        },
        "numberedListStyle": {
          "type": "string",
          "description": "Numbered list style.\n"
        },
        "pageFooterStyle": {
          "type": "string",
          "description": "Report page footer style.\n"
        },
        "pageHeaderStyle": {
          "type": "string",
          "description": "Report page header style.\n"
        },
        "pageOrient": {
          "type": "string",
          "description": "Report page orientation. Valid values: `portrait`, `landscape`.\n"
        },
        "pageStyle": {
          "type": "string",
          "description": "Report page style.\n"
        },
        "reportSubtitleStyle": {
          "type": "string",
          "description": "Report subtitle style.\n"
        },
        "reportTitleStyle": {
          "type": "string",
          "description": "Report title style.\n"
        },
        "tableChartCaptionStyle": {
          "type": "string",
          "description": "Table chart caption style.\n"
        },
        "tableChartEvenRowStyle": {
          "type": "string",
          "description": "Table chart even row style.\n"
        },
        "tableChartHeadStyle": {
          "type": "string",
          "description": "Table chart head row style.\n"
        },
        "tableChartOddRowStyle": {
          "type": "string",
          "description": "Table chart odd row style.\n"
        },
        "tableChartStyle": {
          "type": "string",
          "description": "Table chart style.\n"
        },
        "tocHeading1Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading2Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading3Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading4Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocTitleStyle": {
          "type": "string",
          "description": "Table of contents title style.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "bulletListStyle",
        "columnCount",
        "defaultHtmlStyle",
        "defaultPdfStyle",
        "graphChartStyle",
        "heading1Style",
        "heading2Style",
        "heading3Style",
        "heading4Style",
        "hlineStyle",
        "imageStyle",
        "name",
        "normalTextStyle",
        "numberedListStyle",
        "pageFooterStyle",
        "pageHeaderStyle",
        "pageOrient",
        "pageStyle",
        "reportSubtitleStyle",
        "reportTitleStyle",
        "tableChartCaptionStyle",
        "tableChartEvenRowStyle",
        "tableChartHeadStyle",
        "tableChartOddRowStyle",
        "tableChartStyle",
        "tocHeading1Style",
        "tocHeading2Style",
        "tocHeading3Style",
        "tocHeading4Style",
        "tocTitleStyle",
        "vdomparam"
      ],
      "inputProperties": {
        "bulletListStyle": {
          "type": "string",
          "description": "Bullet list style.\n"
        },
        "columnCount": {
          "type": "string",
          "description": "Report page column count. Valid values: `1`, `2`, `3`.\n"
        },
        "defaultHtmlStyle": {
          "type": "string",
          "description": "Default HTML report style.\n"
        },
        "defaultPdfStyle": {
          "type": "string",
          "description": "Default PDF report style.\n"
        },
        "graphChartStyle": {
          "type": "string",
          "description": "Graph chart style.\n"
        },
        "heading1Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading2Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading3Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "heading4Style": {
          "type": "string",
          "description": "Report heading style.\n"
        },
        "hlineStyle": {
          "type": "string",
          "description": "Horizontal line style.\n"
        },
        "imageStyle": {
          "type": "string",
          "description": "Image style.\n"
        },
        "name": {
          "type": "string",
          "description": "Report theme name.\n",
          "willReplaceOnChanges": true
        },
        "normalTextStyle": {
          "type": "string",
          "description": "Normal text style.\n"
        },
        "numberedListStyle": {
          "type": "string",
          "description": "Numbered list style.\n"
        },
        "pageFooterStyle": {
          "type": "string",
          "description": "Report page footer style.\n"
        },
        "pageHeaderStyle": {
          "type": "string",
          "description": "Report page header style.\n"
        },
        "pageOrient": {
          "type": "string",
          "description": "Report page orientation. Valid values: `portrait`, `landscape`.\n"
        },
        "pageStyle": {
          "type": "string",
          "description": "Report page style.\n"
        },
        "reportSubtitleStyle": {
          "type": "string",
          "description": "Report subtitle style.\n"
        },
        "reportTitleStyle": {
          "type": "string",
          "description": "Report title style.\n"
        },
        "tableChartCaptionStyle": {
          "type": "string",
          "description": "Table chart caption style.\n"
        },
        "tableChartEvenRowStyle": {
          "type": "string",
          "description": "Table chart even row style.\n"
        },
        "tableChartHeadStyle": {
          "type": "string",
          "description": "Table chart head row style.\n"
        },
        "tableChartOddRowStyle": {
          "type": "string",
          "description": "Table chart odd row style.\n"
        },
        "tableChartStyle": {
          "type": "string",
          "description": "Table chart style.\n"
        },
        "tocHeading1Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading2Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading3Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocHeading4Style": {
          "type": "string",
          "description": "Table of contents heading style.\n"
        },
        "tocTitleStyle": {
          "type": "string",
          "description": "Table of contents title style.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Theme resources.\n",
        "properties": {
          "bulletListStyle": {
            "type": "string",
            "description": "Bullet list style.\n"
          },
          "columnCount": {
            "type": "string",
            "description": "Report page column count. Valid values: `1`, `2`, `3`.\n"
          },
          "defaultHtmlStyle": {
            "type": "string",
            "description": "Default HTML report style.\n"
          },
          "defaultPdfStyle": {
            "type": "string",
            "description": "Default PDF report style.\n"
          },
          "graphChartStyle": {
            "type": "string",
            "description": "Graph chart style.\n"
          },
          "heading1Style": {
            "type": "string",
            "description": "Report heading style.\n"
          },
          "heading2Style": {
            "type": "string",
            "description": "Report heading style.\n"
          },
          "heading3Style": {
            "type": "string",
            "description": "Report heading style.\n"
          },
          "heading4Style": {
            "type": "string",
            "description": "Report heading style.\n"
          },
          "hlineStyle": {
            "type": "string",
            "description": "Horizontal line style.\n"
          },
          "imageStyle": {
            "type": "string",
            "description": "Image style.\n"
          },
          "name": {
            "type": "string",
            "description": "Report theme name.\n",
            "willReplaceOnChanges": true
          },
          "normalTextStyle": {
            "type": "string",
            "description": "Normal text style.\n"
          },
          "numberedListStyle": {
            "type": "string",
            "description": "Numbered list style.\n"
          },
          "pageFooterStyle": {
            "type": "string",
            "description": "Report page footer style.\n"
          },
          "pageHeaderStyle": {
            "type": "string",
            "description": "Report page header style.\n"
          },
          "pageOrient": {
            "type": "string",
            "description": "Report page orientation. Valid values: `portrait`, `landscape`.\n"
          },
          "pageStyle": {
            "type": "string",
            "description": "Report page style.\n"
          },
          "reportSubtitleStyle": {
            "type": "string",
            "description": "Report subtitle style.\n"
          },
          "reportTitleStyle": {
            "type": "string",
            "description": "Report title style.\n"
          },
          "tableChartCaptionStyle": {
            "type": "string",
            "description": "Table chart caption style.\n"
          },
          "tableChartEvenRowStyle": {
            "type": "string",
            "description": "Table chart even row style.\n"
          },
          "tableChartHeadStyle": {
            "type": "string",
            "description": "Table chart head row style.\n"
          },
          "tableChartOddRowStyle": {
            "type": "string",
            "description": "Table chart odd row style.\n"
          },
          "tableChartStyle": {
            "type": "string",
            "description": "Table chart style.\n"
          },
          "tocHeading1Style": {
            "type": "string",
            "description": "Table of contents heading style.\n"
          },
          "tocHeading2Style": {
            "type": "string",
            "description": "Table of contents heading style.\n"
          },
          "tocHeading3Style": {
            "type": "string",
            "description": "Table of contents heading style.\n"
          },
          "tocHeading4Style": {
            "type": "string",
            "description": "Table of contents heading style.\n"
          },
          "tocTitleStyle": {
            "type": "string",
            "description": "Table of contents title style.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/accesslist6:Accesslist6": {
      "description": "Configure IPv6 access 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.router.Accesslist6(\"trname\", {comments: \"access-list6 test\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Accesslist6(\"trname\", comments=\"access-list6 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.Router.Accesslist6(\"trname\", new()\n    {\n        Comments = \"access-list6 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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewAccesslist6(ctx, \"trname\", &router.Accesslist6Args{\n\t\t\tComments: pulumi.String(\"access-list6 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.router.Accesslist6;\nimport com.pulumi.fortios.router.Accesslist6Args;\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 Accesslist6(\"trname\", Accesslist6Args.builder()\n            .comments(\"access-list6 test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Accesslist6\n    properties:\n      comments: access-list6 test\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter AccessList6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/accesslist6:Accesslist6 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:router/accesslist6:Accesslist6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAccesslist6Rule:Accesslist6Rule"
          },
          "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": "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": "Name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAccesslist6Rule:Accesslist6Rule"
          },
          "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 Accesslist6 resources.\n",
        "properties": {
          "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"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FAccesslist6Rule:Accesslist6Rule"
            },
            "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:router/accesslist:Accesslist": {
      "description": "Configure access lists.\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 trname = new fortios.router.Accesslist(\"trname\", {comments: \"test accesslist\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Accesslist(\"trname\", comments=\"test accesslist\")\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.Router.Accesslist(\"trname\", new()\n    {\n        Comments = \"test accesslist\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewAccesslist(ctx, \"trname\", &router.AccesslistArgs{\n\t\t\tComments: pulumi.String(\"test accesslist\"),\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.router.Accesslist;\nimport com.pulumi.fortios.router.AccesslistArgs;\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 Accesslist(\"trname\", AccesslistArgs.builder()\n            .comments(\"test accesslist\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Accesslist\n    properties:\n      comments: test accesslist\n```\n<!--End PulumiCodeChooser -->\n\n## Note\n\nThe feature can only be correctly supported when FortiOS Version >= 6.2.4, for FortiOS Version < 6.2.4, please use the following resource configuration as an alternative.\n\n### Example\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 router access-list\nedit \"static-redistribution\"\nconfig rule\nedit 10\nset prefix 10.0.0.0 255.255.255.0\nset action permit\nset exact-match enable\nend\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 router access-list\nedit \"static-redistribution\"\nconfig rule\nedit 10\nset prefix 10.0.0.0 255.255.255.0\nset action permit\nset exact-match enable\nend\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 router access-list\nedit \"\"static-redistribution\"\"\nconfig rule\nedit 10\nset prefix 10.0.0.0 255.255.255.0\nset action permit\nset exact-match enable\nend\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 router access-list\nedit \"static-redistribution\"\nconfig rule\nedit 10\nset prefix 10.0.0.0 255.255.255.0\nset action permit\nset exact-match enable\nend\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 router access-list\nedit \"static-redistribution\"\nconfig rule\nedit 10\nset prefix 10.0.0.0 255.255.255.0\nset action permit\nset exact-match enable\nend\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 router access-list\n        edit \"static-redistribution\"\n        config rule\n        edit 10\n        set prefix 10.0.0.0 255.255.255.0\n        set action permit\n        set exact-match enable\n        end\n        end\n\n      start: auto\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter AccessList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/accesslist:Accesslist labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"true\"\n\n```sh\n$ pulumi import fortios:router/accesslist:Accesslist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string"
        },
        "getAllTables": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAccesslistRule:AccesslistRule"
          },
          "description": "Rule. The structure of `rule` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "comments",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string"
        },
        "getAllTables": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAccesslistRule:AccesslistRule"
          },
          "description": "Rule. The structure of `rule` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accesslist resources.\n",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string"
          },
          "getAllTables": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FAccesslistRule:AccesslistRule"
            },
            "description": "Rule. The structure of `rule` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:router/aspathlist:Aspathlist": {
      "description": "Configure Autonomous System (AS) path 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.router.Aspathlist(\"trname\", {rules: [{\n    action: \"deny\",\n    regexp: \"/d+/n\",\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Aspathlist(\"trname\", rules=[fortios.router.AspathlistRuleArgs(\n    action=\"deny\",\n    regexp=\"/d+/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.Router.Aspathlist(\"trname\", new()\n    {\n        Rules = new[]\n        {\n            new Fortios.Router.Inputs.AspathlistRuleArgs\n            {\n                Action = \"deny\",\n                Regexp = \"/d+/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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewAspathlist(ctx, \"trname\", &router.AspathlistArgs{\n\t\t\tRules: router.AspathlistRuleArray{\n\t\t\t\t&router.AspathlistRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"deny\"),\n\t\t\t\t\tRegexp: pulumi.String(\"/d+/n\"),\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.router.Aspathlist;\nimport com.pulumi.fortios.router.AspathlistArgs;\nimport com.pulumi.fortios.router.inputs.AspathlistRuleArgs;\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 Aspathlist(\"trname\", AspathlistArgs.builder()\n            .rules(AspathlistRuleArgs.builder()\n                .action(\"deny\")\n                .regexp(\"/d+/n\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Aspathlist\n    properties:\n      rules:\n        - action: deny\n          regexp: /d+/n\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter AspathList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/aspathlist:Aspathlist 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:router/aspathlist:Aspathlist 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": "AS path list name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAspathlistRule:AspathlistRule"
          },
          "description": "AS path list 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": [
        "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": "AS path list name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FAspathlistRule:AspathlistRule"
          },
          "description": "AS path list 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 Aspathlist 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": "AS path list name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FAspathlistRule:AspathlistRule"
            },
            "description": "AS path list 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:router/authpath:Authpath": {
      "description": "Configure authentication 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.router.Authpath(\"trname\", {\n    device: \"port3\",\n    gateway: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Authpath(\"trname\",\n    device=\"port3\",\n    gateway=\"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.Router.Authpath(\"trname\", new()\n    {\n        Device = \"port3\",\n        Gateway = \"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewAuthpath(ctx, \"trname\", &router.AuthpathArgs{\n\t\t\tDevice:  pulumi.String(\"port3\"),\n\t\t\tGateway: 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.router.Authpath;\nimport com.pulumi.fortios.router.AuthpathArgs;\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 Authpath(\"trname\", AuthpathArgs.builder()\n            .device(\"port3\")\n            .gateway(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Authpath\n    properties:\n      device: port3\n      gateway: 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter AuthPath can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/authpath:Authpath 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:router/authpath:Authpath labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "device": {
          "type": "string",
          "description": "Outgoing interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the entry.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "gateway",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "device": {
          "type": "string",
          "description": "Outgoing interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the entry.\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": [
        "device"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Authpath resources.\n",
        "properties": {
          "device": {
            "type": "string",
            "description": "Outgoing interface.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway IP address.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the entry.\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:router/bfd6:Bfd6": {
      "description": "Configure IPv6 BFD.\n\n## Import\n\nRouter Bfd6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bfd6:Bfd6 labelname RouterBfd6\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:router/bfd6:Bfd6 labelname RouterBfd6\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"
        },
        "multihopTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfd6MultihopTemplate:Bfd6MultihopTemplate"
          },
          "description": "BFD IPv6 multi-hop template table. The structure of `multihop_template` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfd6Neighbor:Bfd6Neighbor"
          },
          "description": "Configure neighbor of IPv6 BFD. The structure of `neighbor` 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": [
        "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"
        },
        "multihopTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfd6MultihopTemplate:Bfd6MultihopTemplate"
          },
          "description": "BFD IPv6 multi-hop template table. The structure of `multihop_template` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfd6Neighbor:Bfd6Neighbor"
          },
          "description": "Configure neighbor of IPv6 BFD. The structure of `neighbor` 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 Bfd6 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"
          },
          "multihopTemplates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBfd6MultihopTemplate:Bfd6MultihopTemplate"
            },
            "description": "BFD IPv6 multi-hop template table. The structure of `multihop_template` block is documented below.\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBfd6Neighbor:Bfd6Neighbor"
            },
            "description": "Configure neighbor of IPv6 BFD. The structure of `neighbor` 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:router/bfd:Bfd": {
      "description": "Configure BFD.\n\n## Import\n\nRouter Bfd can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bfd:Bfd labelname RouterBfd\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:router/bfd:Bfd labelname RouterBfd\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"
        },
        "multihopTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfdMultihopTemplate:BfdMultihopTemplate"
          },
          "description": "BFD multi-hop template table. The structure of `multihop_template` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfdNeighbor:BfdNeighbor"
          },
          "description": "neighbor The structure of `neighbor` 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": [
        "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"
        },
        "multihopTemplates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfdMultihopTemplate:BfdMultihopTemplate"
          },
          "description": "BFD multi-hop template table. The structure of `multihop_template` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBfdNeighbor:BfdNeighbor"
          },
          "description": "neighbor The structure of `neighbor` 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 Bfd 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"
          },
          "multihopTemplates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBfdMultihopTemplate:BfdMultihopTemplate"
            },
            "description": "BFD multi-hop template table. The structure of `multihop_template` block is documented below.\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBfdNeighbor:BfdNeighbor"
            },
            "description": "neighbor The structure of `neighbor` 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:router/bgp/neighbor:Neighbor": {
      "description": "BGP neighbor table.\n\n> The provider supports the definition of Neighbor in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Neighbor resources `fortios.router/bgp.Neighbor`, but do not use a `fortios.router.Bgp` with in-line Neighbor in conjunction with any `fortios.router/bgp.Neighbor` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterbgp Neighbor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bgp/neighbor:Neighbor labelname {{ip}}\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:router/bgp/neighbor:Neighbor labelname {{ip}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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%2Fbgp%2FNeighborConditionalAdvertise6:NeighborConditionalAdvertise6"
          },
          "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n"
        },
        "conditionalAdvertises": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fbgp%2FNeighborConditionalAdvertise:NeighborConditionalAdvertise"
          },
          "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\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",
        "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",
        "vdomparam",
        "weight"
      ],
      "inputProperties": {
        "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%2Fbgp%2FNeighborConditionalAdvertise6:NeighborConditionalAdvertise6"
          },
          "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n"
        },
        "conditionalAdvertises": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fbgp%2FNeighborConditionalAdvertise:NeighborConditionalAdvertise"
          },
          "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weight": {
          "type": "integer",
          "description": "Neighbor weight.\n"
        }
      },
      "requiredInputs": [
        "ip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Neighbor resources.\n",
        "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%2Fbgp%2FNeighborConditionalAdvertise6:NeighborConditionalAdvertise6"
            },
            "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n"
          },
          "conditionalAdvertises": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2Fbgp%2FNeighborConditionalAdvertise:NeighborConditionalAdvertise"
            },
            "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"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weight": {
            "type": "integer",
            "description": "Neighbor weight.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:router/bgp/network6:Network6": {
      "description": "BGP IPv6 network table.\n\n> The provider supports the definition of Network6 in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network6 resources `fortios.router/bgp.Network6`, but do not use a `fortios.router.Bgp` with in-line Network6 in conjunction with any `fortios.router/bgp.Network6` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterbgp Network6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bgp/network6:Network6 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:router/bgp/network6:Network6 labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Configure insurance of BGP network route existence in IGP. Valid values: `global`, `enable`, `disable`.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Network IPv6 prefix.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map to modify generated route.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "backdoor",
        "fosid",
        "networkImportCheck",
        "prefix6",
        "routeMap",
        "vdomparam"
      ],
      "inputProperties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Configure insurance of BGP network route existence in IGP. Valid values: `global`, `enable`, `disable`.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Network IPv6 prefix.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map to modify generated route.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Network6 resources.\n",
        "properties": {
          "backdoor": {
            "type": "string",
            "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "networkImportCheck": {
            "type": "string",
            "description": "Configure insurance of BGP network route existence in IGP. Valid values: `global`, `enable`, `disable`.\n"
          },
          "prefix6": {
            "type": "string",
            "description": "Network IPv6 prefix.\n"
          },
          "routeMap": {
            "type": "string",
            "description": "Route map to modify generated route.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/bgp/network:Network": {
      "description": "BGP network table.\n\n> The provider supports the definition of Network in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network resources `fortios.router/bgp.Network`, but do not use a `fortios.router.Bgp` with in-line Network in conjunction with any `fortios.router/bgp.Network` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterbgp Network can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bgp/network:Network 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:router/bgp/network:Network labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "backdoor",
        "fosid",
        "networkImportCheck",
        "prefix",
        "routeMap",
        "vdomparam"
      ],
      "inputProperties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "prefix"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Network resources.\n",
        "properties": {
          "backdoor": {
            "type": "string",
            "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/bgp:Bgp": {
      "description": "Configure BGP.\n\n> The provider supports the definition of Neighbor in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Neighbor resources `fortios.router/bgp.Neighbor`, but do not use a `fortios.router.Bgp` with in-line Neighbor in conjunction with any `fortios.router/bgp.Neighbor` resources, otherwise conflicts and overwrite will occur.\n\n> The provider supports the definition of Network in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network resources `fortios.router/bgp.Network`, but do not use a `fortios.router.Bgp` with in-line Network in conjunction with any `fortios.router/bgp.Network` resources, otherwise conflicts and overwrite will occur.\n\n> The provider supports the definition of Network6 in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network6 resources `fortios.router/bgp.Network6`, but do not use a `fortios.router.Bgp` with in-line Network6 in conjunction with any `fortios.router/bgp.Network6` resources, otherwise conflicts and overwrite will occur.\n\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 trname = new fortios.router.Bgp(\"trname\", {\n    additionalPathSelect: 2,\n    additionalPathSelect6: 2,\n    alwaysCompareMed: \"disable\",\n    as: 0,\n    clientToClientReflection: \"enable\",\n    clusterId: \"0.0.0.0\",\n    dampening: \"disable\",\n    dampeningMaxSuppressTime: 60,\n    dampeningReachabilityHalfLife: 15,\n    dampeningReuse: 750,\n    dampeningSuppress: 2000,\n    dampeningUnreachabilityHalfLife: 15,\n    defaultLocalPreference: 100,\n    deterministicMed: \"disable\",\n    distanceExternal: 20,\n    distanceInternal: 200,\n    distanceLocal: 200,\n    gracefulRestartTime: 120,\n    gracefulStalepathTime: 360,\n    gracefulUpdateDelay: 120,\n    holdtimeTimer: 180,\n    ibgpMultipath: \"disable\",\n    ignoreOptionalCapability: \"enable\",\n    keepaliveTimer: 60,\n    logNeighbourChanges: \"enable\",\n    networkImportCheck: \"enable\",\n    redistributes: [\n        {\n            name: \"connected\",\n            status: \"disable\",\n        },\n        {\n            name: \"rip\",\n            status: \"disable\",\n        },\n        {\n            name: \"ospf\",\n            status: \"disable\",\n        },\n        {\n            name: \"static\",\n            status: \"disable\",\n        },\n        {\n            name: \"isis\",\n            status: \"disable\",\n        },\n    ],\n    redistribute6s: [\n        {\n            name: \"connected\",\n            status: \"disable\",\n        },\n        {\n            name: \"rip\",\n            status: \"disable\",\n        },\n        {\n            name: \"ospf\",\n            status: \"disable\",\n        },\n        {\n            name: \"static\",\n            status: \"disable\",\n        },\n        {\n            name: \"isis\",\n            status: \"disable\",\n        },\n    ],\n    scanTime: 60,\n    synchronization: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Bgp(\"trname\",\n    additional_path_select=2,\n    additional_path_select6=2,\n    always_compare_med=\"disable\",\n    as_=0,\n    client_to_client_reflection=\"enable\",\n    cluster_id=\"0.0.0.0\",\n    dampening=\"disable\",\n    dampening_max_suppress_time=60,\n    dampening_reachability_half_life=15,\n    dampening_reuse=750,\n    dampening_suppress=2000,\n    dampening_unreachability_half_life=15,\n    default_local_preference=100,\n    deterministic_med=\"disable\",\n    distance_external=20,\n    distance_internal=200,\n    distance_local=200,\n    graceful_restart_time=120,\n    graceful_stalepath_time=360,\n    graceful_update_delay=120,\n    holdtime_timer=180,\n    ibgp_multipath=\"disable\",\n    ignore_optional_capability=\"enable\",\n    keepalive_timer=60,\n    log_neighbour_changes=\"enable\",\n    network_import_check=\"enable\",\n    redistributes=[\n        fortios.router.BgpRedistributeArgs(\n            name=\"connected\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistributeArgs(\n            name=\"rip\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistributeArgs(\n            name=\"ospf\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistributeArgs(\n            name=\"static\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistributeArgs(\n            name=\"isis\",\n            status=\"disable\",\n        ),\n    ],\n    redistribute6s=[\n        fortios.router.BgpRedistribute6Args(\n            name=\"connected\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistribute6Args(\n            name=\"rip\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistribute6Args(\n            name=\"ospf\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistribute6Args(\n            name=\"static\",\n            status=\"disable\",\n        ),\n        fortios.router.BgpRedistribute6Args(\n            name=\"isis\",\n            status=\"disable\",\n        ),\n    ],\n    scan_time=60,\n    synchronization=\"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.Router.BgpRouter(\"trname\", new()\n    {\n        AdditionalPathSelect = 2,\n        AdditionalPathSelect6 = 2,\n        AlwaysCompareMed = \"disable\",\n        As = 0,\n        ClientToClientReflection = \"enable\",\n        ClusterId = \"0.0.0.0\",\n        Dampening = \"disable\",\n        DampeningMaxSuppressTime = 60,\n        DampeningReachabilityHalfLife = 15,\n        DampeningReuse = 750,\n        DampeningSuppress = 2000,\n        DampeningUnreachabilityHalfLife = 15,\n        DefaultLocalPreference = 100,\n        DeterministicMed = \"disable\",\n        DistanceExternal = 20,\n        DistanceInternal = 200,\n        DistanceLocal = 200,\n        GracefulRestartTime = 120,\n        GracefulStalepathTime = 360,\n        GracefulUpdateDelay = 120,\n        HoldtimeTimer = 180,\n        IbgpMultipath = \"disable\",\n        IgnoreOptionalCapability = \"enable\",\n        KeepaliveTimer = 60,\n        LogNeighbourChanges = \"enable\",\n        NetworkImportCheck = \"enable\",\n        Redistributes = new[]\n        {\n            new Fortios.Router.Inputs.BgpRedistributeArgs\n            {\n                Name = \"connected\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistributeArgs\n            {\n                Name = \"rip\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistributeArgs\n            {\n                Name = \"ospf\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistributeArgs\n            {\n                Name = \"static\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistributeArgs\n            {\n                Name = \"isis\",\n                Status = \"disable\",\n            },\n        },\n        Redistribute6s = new[]\n        {\n            new Fortios.Router.Inputs.BgpRedistribute6Args\n            {\n                Name = \"connected\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistribute6Args\n            {\n                Name = \"rip\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistribute6Args\n            {\n                Name = \"ospf\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistribute6Args\n            {\n                Name = \"static\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.BgpRedistribute6Args\n            {\n                Name = \"isis\",\n                Status = \"disable\",\n            },\n        },\n        ScanTime = 60,\n        Synchronization = \"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewBgp(ctx, \"trname\", &router.BgpArgs{\n\t\t\tAdditionalPathSelect:            pulumi.Int(2),\n\t\t\tAdditionalPathSelect6:           pulumi.Int(2),\n\t\t\tAlwaysCompareMed:                pulumi.String(\"disable\"),\n\t\t\tAs:                              pulumi.Int(0),\n\t\t\tClientToClientReflection:        pulumi.String(\"enable\"),\n\t\t\tClusterId:                       pulumi.String(\"0.0.0.0\"),\n\t\t\tDampening:                       pulumi.String(\"disable\"),\n\t\t\tDampeningMaxSuppressTime:        pulumi.Int(60),\n\t\t\tDampeningReachabilityHalfLife:   pulumi.Int(15),\n\t\t\tDampeningReuse:                  pulumi.Int(750),\n\t\t\tDampeningSuppress:               pulumi.Int(2000),\n\t\t\tDampeningUnreachabilityHalfLife: pulumi.Int(15),\n\t\t\tDefaultLocalPreference:          pulumi.Int(100),\n\t\t\tDeterministicMed:                pulumi.String(\"disable\"),\n\t\t\tDistanceExternal:                pulumi.Int(20),\n\t\t\tDistanceInternal:                pulumi.Int(200),\n\t\t\tDistanceLocal:                   pulumi.Int(200),\n\t\t\tGracefulRestartTime:             pulumi.Int(120),\n\t\t\tGracefulStalepathTime:           pulumi.Int(360),\n\t\t\tGracefulUpdateDelay:             pulumi.Int(120),\n\t\t\tHoldtimeTimer:                   pulumi.Int(180),\n\t\t\tIbgpMultipath:                   pulumi.String(\"disable\"),\n\t\t\tIgnoreOptionalCapability:        pulumi.String(\"enable\"),\n\t\t\tKeepaliveTimer:                  pulumi.Int(60),\n\t\t\tLogNeighbourChanges:             pulumi.String(\"enable\"),\n\t\t\tNetworkImportCheck:              pulumi.String(\"enable\"),\n\t\t\tRedistributes: router.BgpRedistributeArray{\n\t\t\t\t&router.BgpRedistributeArgs{\n\t\t\t\t\tName:   pulumi.String(\"connected\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistributeArgs{\n\t\t\t\t\tName:   pulumi.String(\"rip\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistributeArgs{\n\t\t\t\t\tName:   pulumi.String(\"ospf\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistributeArgs{\n\t\t\t\t\tName:   pulumi.String(\"static\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistributeArgs{\n\t\t\t\t\tName:   pulumi.String(\"isis\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedistribute6s: router.BgpRedistribute6Array{\n\t\t\t\t&router.BgpRedistribute6Args{\n\t\t\t\t\tName:   pulumi.String(\"connected\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistribute6Args{\n\t\t\t\t\tName:   pulumi.String(\"rip\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistribute6Args{\n\t\t\t\t\tName:   pulumi.String(\"ospf\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistribute6Args{\n\t\t\t\t\tName:   pulumi.String(\"static\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.BgpRedistribute6Args{\n\t\t\t\t\tName:   pulumi.String(\"isis\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScanTime:        pulumi.Int(60),\n\t\t\tSynchronization: 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.router.Bgp;\nimport com.pulumi.fortios.router.BgpArgs;\nimport com.pulumi.fortios.router.inputs.BgpRedistributeArgs;\nimport com.pulumi.fortios.router.inputs.BgpRedistribute6Args;\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 Bgp(\"trname\", BgpArgs.builder()\n            .additionalPathSelect(2)\n            .additionalPathSelect6(2)\n            .alwaysCompareMed(\"disable\")\n            .as(0)\n            .clientToClientReflection(\"enable\")\n            .clusterId(\"0.0.0.0\")\n            .dampening(\"disable\")\n            .dampeningMaxSuppressTime(60)\n            .dampeningReachabilityHalfLife(15)\n            .dampeningReuse(750)\n            .dampeningSuppress(2000)\n            .dampeningUnreachabilityHalfLife(15)\n            .defaultLocalPreference(100)\n            .deterministicMed(\"disable\")\n            .distanceExternal(20)\n            .distanceInternal(200)\n            .distanceLocal(200)\n            .gracefulRestartTime(120)\n            .gracefulStalepathTime(360)\n            .gracefulUpdateDelay(120)\n            .holdtimeTimer(180)\n            .ibgpMultipath(\"disable\")\n            .ignoreOptionalCapability(\"enable\")\n            .keepaliveTimer(60)\n            .logNeighbourChanges(\"enable\")\n            .networkImportCheck(\"enable\")\n            .redistributes(            \n                BgpRedistributeArgs.builder()\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistributeArgs.builder()\n                    .name(\"rip\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistributeArgs.builder()\n                    .name(\"ospf\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistributeArgs.builder()\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistributeArgs.builder()\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .build())\n            .redistribute6s(            \n                BgpRedistribute6Args.builder()\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistribute6Args.builder()\n                    .name(\"rip\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistribute6Args.builder()\n                    .name(\"ospf\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistribute6Args.builder()\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .build(),\n                BgpRedistribute6Args.builder()\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .build())\n            .scanTime(60)\n            .synchronization(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Bgp\n    properties:\n      additionalPathSelect: 2\n      additionalPathSelect6: 2\n      alwaysCompareMed: disable\n      as: 0\n      clientToClientReflection: enable\n      clusterId: 0.0.0.0\n      dampening: disable\n      dampeningMaxSuppressTime: 60\n      dampeningReachabilityHalfLife: 15\n      dampeningReuse: 750\n      dampeningSuppress: 2000\n      dampeningUnreachabilityHalfLife: 15\n      defaultLocalPreference: 100\n      deterministicMed: disable\n      distanceExternal: 20\n      distanceInternal: 200\n      distanceLocal: 200\n      gracefulRestartTime: 120\n      gracefulStalepathTime: 360\n      gracefulUpdateDelay: 120\n      holdtimeTimer: 180\n      ibgpMultipath: disable\n      ignoreOptionalCapability: enable\n      keepaliveTimer: 60\n      logNeighbourChanges: enable\n      networkImportCheck: enable\n      redistributes:\n        - name: connected\n          status: disable\n        - name: rip\n          status: disable\n        - name: ospf\n          status: disable\n        - name: static\n          status: disable\n        - name: isis\n          status: disable\n      redistribute6s:\n        - name: connected\n          status: disable\n        - name: rip\n          status: disable\n        - name: ospf\n          status: disable\n        - name: static\n          status: disable\n        - name: isis\n          status: disable\n      scanTime: 60\n      synchronization: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Bgp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/bgp:Bgp labelname RouterBgp\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:router/bgp:Bgp labelname RouterBgp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPathSelect": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each IPv4 NLRI.\n"
        },
        "additionalPathSelect6": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each IPv6 NLRI.\n"
        },
        "additionalPathSelectVpnv4": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each VPNv4 NLRI.\n"
        },
        "additionalPathSelectVpnv6": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each VPNv6 NLRI.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "adminDistances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAdminDistance:BgpAdminDistance"
          },
          "description": "Administrative distance modifications. The structure of `admin_distance` block is documented below.\n"
        },
        "aggregateAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAggregateAddress6:BgpAggregateAddress6"
          },
          "description": "BGP IPv6 aggregate address table. The structure of `aggregate_address6` block is documented below.\n"
        },
        "aggregateAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAggregateAddress:BgpAggregateAddress"
          },
          "description": "BGP aggregate address table. The structure of `aggregate_address` block is documented below.\n"
        },
        "alwaysCompareMed": {
          "type": "string",
          "description": "Enable/disable always compare MED. Valid values: `enable`, `disable`.\n"
        },
        "as": {
          "type": "integer",
          "description": "Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as_string`.*\n"
        },
        "asString": {
          "type": "string",
          "description": "Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*\n"
        },
        "bestpathAsPathIgnore": {
          "type": "string",
          "description": "Enable/disable ignore AS path. Valid values: `enable`, `disable`.\n"
        },
        "bestpathCmpConfedAspath": {
          "type": "string",
          "description": "Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.\n"
        },
        "bestpathCmpRouterid": {
          "type": "string",
          "description": "Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.\n"
        },
        "bestpathMedConfed": {
          "type": "string",
          "description": "Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.\n"
        },
        "bestpathMedMissingAsWorst": {
          "type": "string",
          "description": "Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.\n"
        },
        "clientToClientReflection": {
          "type": "string",
          "description": "Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "Route reflector cluster ID.\n"
        },
        "confederationIdentifier": {
          "type": "integer",
          "description": "Confederation identifier.\n"
        },
        "confederationPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpConfederationPeer:BgpConfederationPeer"
          },
          "description": "Confederation peers. The structure of `confederation_peers` block is documented below.\n"
        },
        "crossFamilyConditionalAdv": {
          "type": "string",
          "description": "Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.\n"
        },
        "dampening": {
          "type": "string",
          "description": "Enable/disable route-flap dampening. Valid values: `enable`, `disable`.\n"
        },
        "dampeningMaxSuppressTime": {
          "type": "integer",
          "description": "Maximum minutes a route can be suppressed.\n"
        },
        "dampeningReachabilityHalfLife": {
          "type": "integer",
          "description": "Reachability half-life time for penalty (min).\n"
        },
        "dampeningReuse": {
          "type": "integer",
          "description": "Threshold to reuse routes.\n"
        },
        "dampeningRouteMap": {
          "type": "string",
          "description": "Criteria for dampening.\n"
        },
        "dampeningSuppress": {
          "type": "integer",
          "description": "Threshold to suppress routes.\n"
        },
        "dampeningUnreachabilityHalfLife": {
          "type": "integer",
          "description": "Unreachability half-life time for penalty (min).\n"
        },
        "defaultLocalPreference": {
          "type": "integer",
          "description": "Default local preference.\n"
        },
        "deterministicMed": {
          "type": "string",
          "description": "Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.\n"
        },
        "distanceExternal": {
          "type": "integer",
          "description": "Distance for routes external to the AS.\n"
        },
        "distanceInternal": {
          "type": "integer",
          "description": "Distance for routes internal to the AS.\n"
        },
        "distanceLocal": {
          "type": "integer",
          "description": "Distance for routes local to the AS.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "ebgpMultipath": {
          "type": "string",
          "description": "Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.\n"
        },
        "enforceFirstAs": {
          "type": "string",
          "description": "Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.\n"
        },
        "fastExternalFailover": {
          "type": "string",
          "description": "Enable/disable reset peer BGP session if link goes down. 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"
        },
        "gracefulEndOnTimer": {
          "type": "string",
          "description": "Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.\n"
        },
        "gracefulRestart": {
          "type": "string",
          "description": "Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.\n"
        },
        "gracefulRestartTime": {
          "type": "integer",
          "description": "Time needed for neighbors to restart (sec).\n"
        },
        "gracefulStalepathTime": {
          "type": "integer",
          "description": "Time to hold stale paths of restarting neighbor (sec).\n"
        },
        "gracefulUpdateDelay": {
          "type": "integer",
          "description": "Route advertisement/selection delay after restart (sec).\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Number of seconds to mark peer as dead.\n"
        },
        "ibgpMultipath": {
          "type": "string",
          "description": "Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.\n"
        },
        "ignoreOptionalCapability": {
          "type": "string",
          "description": "Don't send unknown optional capability notification message Valid values: `enable`, `disable`.\n"
        },
        "keepaliveTimer": {
          "type": "integer",
          "description": "Frequency to send keep alive requests.\n"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "multipathRecursiveDistance": {
          "type": "string",
          "description": "Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.\n"
        },
        "neighborGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborGroup:BgpNeighborGroup"
          },
          "description": "BGP neighbor group table. The structure of `neighbor_group` block is documented below.\n"
        },
        "neighborRange6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborRange6:BgpNeighborRange6"
          },
          "description": "BGP IPv6 neighbor range table. The structure of `neighbor_range6` block is documented below.\n"
        },
        "neighborRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborRange:BgpNeighborRange"
          },
          "description": "BGP neighbor range table. The structure of `neighbor_range` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighbor:BgpNeighbor"
          },
          "description": "BGP neighbor table. The structure of `neighbor` block is documented below.\n"
        },
        "network6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNetwork6:BgpNetwork6"
          },
          "description": "BGP IPv6 network table. The structure of `network6` block is documented below.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNetwork:BgpNetwork"
          },
          "description": "BGP network table. The structure of `network` block is documented below.\n"
        },
        "recursiveInheritPriority": {
          "type": "string",
          "description": "Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.\n"
        },
        "recursiveNextHop": {
          "type": "string",
          "description": "Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpRedistribute6:BgpRedistribute6"
          },
          "description": "BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpRedistribute:BgpRedistribute"
          },
          "description": "BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.\n"
        },
        "routerId": {
          "type": "string",
          "description": "Router ID.\n"
        },
        "scanTime": {
          "type": "integer",
          "description": "Background scanner interval (sec), 0 to disable it.\n"
        },
        "synchronization": {
          "type": "string",
          "description": "Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.\n"
        },
        "tagResolveMode": {
          "type": "string",
          "description": "Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vrf6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf6:BgpVrf6"
          },
          "description": "BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.\n"
        },
        "vrfLeak6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeak6:BgpVrfLeak6"
          },
          "description": "BGP IPv6 VRF leaking table. The structure of `vrf_leak6` block is documented below.\n"
        },
        "vrfLeaks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeak:BgpVrfLeak"
          },
          "description": "BGP VRF leaking table. The structure of `vrf_leak` block is documented below.\n"
        },
        "vrves": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf:BgpVrf"
          },
          "description": "BGP VRF leaking table. The structure of `vrf` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "additionalPath",
        "additionalPath6",
        "additionalPathSelect",
        "additionalPathSelect6",
        "additionalPathSelectVpnv4",
        "additionalPathSelectVpnv6",
        "additionalPathVpnv4",
        "additionalPathVpnv6",
        "alwaysCompareMed",
        "as",
        "asString",
        "bestpathAsPathIgnore",
        "bestpathCmpConfedAspath",
        "bestpathCmpRouterid",
        "bestpathMedConfed",
        "bestpathMedMissingAsWorst",
        "clientToClientReflection",
        "clusterId",
        "confederationIdentifier",
        "crossFamilyConditionalAdv",
        "dampening",
        "dampeningMaxSuppressTime",
        "dampeningReachabilityHalfLife",
        "dampeningReuse",
        "dampeningRouteMap",
        "dampeningSuppress",
        "dampeningUnreachabilityHalfLife",
        "defaultLocalPreference",
        "deterministicMed",
        "distanceExternal",
        "distanceInternal",
        "distanceLocal",
        "ebgpMultipath",
        "enforceFirstAs",
        "fastExternalFailover",
        "gracefulEndOnTimer",
        "gracefulRestart",
        "gracefulRestartTime",
        "gracefulStalepathTime",
        "gracefulUpdateDelay",
        "holdtimeTimer",
        "ibgpMultipath",
        "ignoreOptionalCapability",
        "keepaliveTimer",
        "logNeighbourChanges",
        "multipathRecursiveDistance",
        "neighborGroups",
        "neighbors",
        "networkImportCheck",
        "recursiveInheritPriority",
        "recursiveNextHop",
        "routerId",
        "scanTime",
        "synchronization",
        "tagResolveMode",
        "vdomparam"
      ],
      "language": {
        "csharp": {
          "name": "BgpRouter"
        }
      },
      "inputProperties": {
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPathSelect": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each IPv4 NLRI.\n"
        },
        "additionalPathSelect6": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each IPv6 NLRI.\n"
        },
        "additionalPathSelectVpnv4": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each VPNv4 NLRI.\n"
        },
        "additionalPathSelectVpnv6": {
          "type": "integer",
          "description": "Number of additional paths to be selected for each VPNv6 NLRI.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.\n"
        },
        "adminDistances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAdminDistance:BgpAdminDistance"
          },
          "description": "Administrative distance modifications. The structure of `admin_distance` block is documented below.\n"
        },
        "aggregateAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAggregateAddress6:BgpAggregateAddress6"
          },
          "description": "BGP IPv6 aggregate address table. The structure of `aggregate_address6` block is documented below.\n"
        },
        "aggregateAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpAggregateAddress:BgpAggregateAddress"
          },
          "description": "BGP aggregate address table. The structure of `aggregate_address` block is documented below.\n"
        },
        "alwaysCompareMed": {
          "type": "string",
          "description": "Enable/disable always compare MED. Valid values: `enable`, `disable`.\n"
        },
        "as": {
          "type": "integer",
          "description": "Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as_string`.*\n"
        },
        "asString": {
          "type": "string",
          "description": "Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*\n"
        },
        "bestpathAsPathIgnore": {
          "type": "string",
          "description": "Enable/disable ignore AS path. Valid values: `enable`, `disable`.\n"
        },
        "bestpathCmpConfedAspath": {
          "type": "string",
          "description": "Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.\n"
        },
        "bestpathCmpRouterid": {
          "type": "string",
          "description": "Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.\n"
        },
        "bestpathMedConfed": {
          "type": "string",
          "description": "Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.\n"
        },
        "bestpathMedMissingAsWorst": {
          "type": "string",
          "description": "Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.\n"
        },
        "clientToClientReflection": {
          "type": "string",
          "description": "Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "Route reflector cluster ID.\n"
        },
        "confederationIdentifier": {
          "type": "integer",
          "description": "Confederation identifier.\n"
        },
        "confederationPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpConfederationPeer:BgpConfederationPeer"
          },
          "description": "Confederation peers. The structure of `confederation_peers` block is documented below.\n"
        },
        "crossFamilyConditionalAdv": {
          "type": "string",
          "description": "Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.\n"
        },
        "dampening": {
          "type": "string",
          "description": "Enable/disable route-flap dampening. Valid values: `enable`, `disable`.\n"
        },
        "dampeningMaxSuppressTime": {
          "type": "integer",
          "description": "Maximum minutes a route can be suppressed.\n"
        },
        "dampeningReachabilityHalfLife": {
          "type": "integer",
          "description": "Reachability half-life time for penalty (min).\n"
        },
        "dampeningReuse": {
          "type": "integer",
          "description": "Threshold to reuse routes.\n"
        },
        "dampeningRouteMap": {
          "type": "string",
          "description": "Criteria for dampening.\n"
        },
        "dampeningSuppress": {
          "type": "integer",
          "description": "Threshold to suppress routes.\n"
        },
        "dampeningUnreachabilityHalfLife": {
          "type": "integer",
          "description": "Unreachability half-life time for penalty (min).\n"
        },
        "defaultLocalPreference": {
          "type": "integer",
          "description": "Default local preference.\n"
        },
        "deterministicMed": {
          "type": "string",
          "description": "Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.\n"
        },
        "distanceExternal": {
          "type": "integer",
          "description": "Distance for routes external to the AS.\n"
        },
        "distanceInternal": {
          "type": "integer",
          "description": "Distance for routes internal to the AS.\n"
        },
        "distanceLocal": {
          "type": "integer",
          "description": "Distance for routes local to the AS.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "ebgpMultipath": {
          "type": "string",
          "description": "Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.\n"
        },
        "enforceFirstAs": {
          "type": "string",
          "description": "Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.\n"
        },
        "fastExternalFailover": {
          "type": "string",
          "description": "Enable/disable reset peer BGP session if link goes down. 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"
        },
        "gracefulEndOnTimer": {
          "type": "string",
          "description": "Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.\n"
        },
        "gracefulRestart": {
          "type": "string",
          "description": "Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.\n"
        },
        "gracefulRestartTime": {
          "type": "integer",
          "description": "Time needed for neighbors to restart (sec).\n"
        },
        "gracefulStalepathTime": {
          "type": "integer",
          "description": "Time to hold stale paths of restarting neighbor (sec).\n"
        },
        "gracefulUpdateDelay": {
          "type": "integer",
          "description": "Route advertisement/selection delay after restart (sec).\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Number of seconds to mark peer as dead.\n"
        },
        "ibgpMultipath": {
          "type": "string",
          "description": "Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.\n"
        },
        "ignoreOptionalCapability": {
          "type": "string",
          "description": "Don't send unknown optional capability notification message Valid values: `enable`, `disable`.\n"
        },
        "keepaliveTimer": {
          "type": "integer",
          "description": "Frequency to send keep alive requests.\n"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "multipathRecursiveDistance": {
          "type": "string",
          "description": "Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.\n"
        },
        "neighborGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborGroup:BgpNeighborGroup"
          },
          "description": "BGP neighbor group table. The structure of `neighbor_group` block is documented below.\n"
        },
        "neighborRange6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborRange6:BgpNeighborRange6"
          },
          "description": "BGP IPv6 neighbor range table. The structure of `neighbor_range6` block is documented below.\n"
        },
        "neighborRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborRange:BgpNeighborRange"
          },
          "description": "BGP neighbor range table. The structure of `neighbor_range` block is documented below.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighbor:BgpNeighbor"
          },
          "description": "BGP neighbor table. The structure of `neighbor` block is documented below.\n"
        },
        "network6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNetwork6:BgpNetwork6"
          },
          "description": "BGP IPv6 network table. The structure of `network6` block is documented below.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNetwork:BgpNetwork"
          },
          "description": "BGP network table. The structure of `network` block is documented below.\n"
        },
        "recursiveInheritPriority": {
          "type": "string",
          "description": "Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.\n"
        },
        "recursiveNextHop": {
          "type": "string",
          "description": "Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpRedistribute6:BgpRedistribute6"
          },
          "description": "BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpRedistribute:BgpRedistribute"
          },
          "description": "BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.\n"
        },
        "routerId": {
          "type": "string",
          "description": "Router ID.\n"
        },
        "scanTime": {
          "type": "integer",
          "description": "Background scanner interval (sec), 0 to disable it.\n"
        },
        "synchronization": {
          "type": "string",
          "description": "Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.\n"
        },
        "tagResolveMode": {
          "type": "string",
          "description": "Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vrf6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf6:BgpVrf6"
          },
          "description": "BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.\n"
        },
        "vrfLeak6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeak6:BgpVrfLeak6"
          },
          "description": "BGP IPv6 VRF leaking table. The structure of `vrf_leak6` block is documented below.\n"
        },
        "vrfLeaks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeak:BgpVrfLeak"
          },
          "description": "BGP VRF leaking table. The structure of `vrf_leak` block is documented below.\n"
        },
        "vrves": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf:BgpVrf"
          },
          "description": "BGP VRF leaking table. The structure of `vrf` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Bgp resources.\n",
        "properties": {
          "additionalPath": {
            "type": "string",
            "description": "Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.\n"
          },
          "additionalPath6": {
            "type": "string",
            "description": "Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.\n"
          },
          "additionalPathSelect": {
            "type": "integer",
            "description": "Number of additional paths to be selected for each IPv4 NLRI.\n"
          },
          "additionalPathSelect6": {
            "type": "integer",
            "description": "Number of additional paths to be selected for each IPv6 NLRI.\n"
          },
          "additionalPathSelectVpnv4": {
            "type": "integer",
            "description": "Number of additional paths to be selected for each VPNv4 NLRI.\n"
          },
          "additionalPathSelectVpnv6": {
            "type": "integer",
            "description": "Number of additional paths to be selected for each VPNv6 NLRI.\n"
          },
          "additionalPathVpnv4": {
            "type": "string",
            "description": "Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.\n"
          },
          "additionalPathVpnv6": {
            "type": "string",
            "description": "Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.\n"
          },
          "adminDistances": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpAdminDistance:BgpAdminDistance"
            },
            "description": "Administrative distance modifications. The structure of `admin_distance` block is documented below.\n"
          },
          "aggregateAddress6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpAggregateAddress6:BgpAggregateAddress6"
            },
            "description": "BGP IPv6 aggregate address table. The structure of `aggregate_address6` block is documented below.\n"
          },
          "aggregateAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpAggregateAddress:BgpAggregateAddress"
            },
            "description": "BGP aggregate address table. The structure of `aggregate_address` block is documented below.\n"
          },
          "alwaysCompareMed": {
            "type": "string",
            "description": "Enable/disable always compare MED. Valid values: `enable`, `disable`.\n"
          },
          "as": {
            "type": "integer",
            "description": "Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as_string`.*\n"
          },
          "asString": {
            "type": "string",
            "description": "Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*\n"
          },
          "bestpathAsPathIgnore": {
            "type": "string",
            "description": "Enable/disable ignore AS path. Valid values: `enable`, `disable`.\n"
          },
          "bestpathCmpConfedAspath": {
            "type": "string",
            "description": "Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.\n"
          },
          "bestpathCmpRouterid": {
            "type": "string",
            "description": "Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.\n"
          },
          "bestpathMedConfed": {
            "type": "string",
            "description": "Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.\n"
          },
          "bestpathMedMissingAsWorst": {
            "type": "string",
            "description": "Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.\n"
          },
          "clientToClientReflection": {
            "type": "string",
            "description": "Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "Route reflector cluster ID.\n"
          },
          "confederationIdentifier": {
            "type": "integer",
            "description": "Confederation identifier.\n"
          },
          "confederationPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpConfederationPeer:BgpConfederationPeer"
            },
            "description": "Confederation peers. The structure of `confederation_peers` block is documented below.\n"
          },
          "crossFamilyConditionalAdv": {
            "type": "string",
            "description": "Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.\n"
          },
          "dampening": {
            "type": "string",
            "description": "Enable/disable route-flap dampening. Valid values: `enable`, `disable`.\n"
          },
          "dampeningMaxSuppressTime": {
            "type": "integer",
            "description": "Maximum minutes a route can be suppressed.\n"
          },
          "dampeningReachabilityHalfLife": {
            "type": "integer",
            "description": "Reachability half-life time for penalty (min).\n"
          },
          "dampeningReuse": {
            "type": "integer",
            "description": "Threshold to reuse routes.\n"
          },
          "dampeningRouteMap": {
            "type": "string",
            "description": "Criteria for dampening.\n"
          },
          "dampeningSuppress": {
            "type": "integer",
            "description": "Threshold to suppress routes.\n"
          },
          "dampeningUnreachabilityHalfLife": {
            "type": "integer",
            "description": "Unreachability half-life time for penalty (min).\n"
          },
          "defaultLocalPreference": {
            "type": "integer",
            "description": "Default local preference.\n"
          },
          "deterministicMed": {
            "type": "string",
            "description": "Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.\n"
          },
          "distanceExternal": {
            "type": "integer",
            "description": "Distance for routes external to the AS.\n"
          },
          "distanceInternal": {
            "type": "integer",
            "description": "Distance for routes internal to the AS.\n"
          },
          "distanceLocal": {
            "type": "integer",
            "description": "Distance for routes local to the AS.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "ebgpMultipath": {
            "type": "string",
            "description": "Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.\n"
          },
          "enforceFirstAs": {
            "type": "string",
            "description": "Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.\n"
          },
          "fastExternalFailover": {
            "type": "string",
            "description": "Enable/disable reset peer BGP session if link goes down. 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"
          },
          "gracefulEndOnTimer": {
            "type": "string",
            "description": "Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.\n"
          },
          "gracefulRestart": {
            "type": "string",
            "description": "Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.\n"
          },
          "gracefulRestartTime": {
            "type": "integer",
            "description": "Time needed for neighbors to restart (sec).\n"
          },
          "gracefulStalepathTime": {
            "type": "integer",
            "description": "Time to hold stale paths of restarting neighbor (sec).\n"
          },
          "gracefulUpdateDelay": {
            "type": "integer",
            "description": "Route advertisement/selection delay after restart (sec).\n"
          },
          "holdtimeTimer": {
            "type": "integer",
            "description": "Number of seconds to mark peer as dead.\n"
          },
          "ibgpMultipath": {
            "type": "string",
            "description": "Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.\n"
          },
          "ignoreOptionalCapability": {
            "type": "string",
            "description": "Don't send unknown optional capability notification message Valid values: `enable`, `disable`.\n"
          },
          "keepaliveTimer": {
            "type": "integer",
            "description": "Frequency to send keep alive requests.\n"
          },
          "logNeighbourChanges": {
            "type": "string",
            "description": "Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.\n"
          },
          "multipathRecursiveDistance": {
            "type": "string",
            "description": "Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.\n"
          },
          "neighborGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNeighborGroup:BgpNeighborGroup"
            },
            "description": "BGP neighbor group table. The structure of `neighbor_group` block is documented below.\n"
          },
          "neighborRange6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNeighborRange6:BgpNeighborRange6"
            },
            "description": "BGP IPv6 neighbor range table. The structure of `neighbor_range6` block is documented below.\n"
          },
          "neighborRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNeighborRange:BgpNeighborRange"
            },
            "description": "BGP neighbor range table. The structure of `neighbor_range` block is documented below.\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNeighbor:BgpNeighbor"
            },
            "description": "BGP neighbor table. The structure of `neighbor` block is documented below.\n"
          },
          "network6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNetwork6:BgpNetwork6"
            },
            "description": "BGP IPv6 network table. The structure of `network6` block is documented below.\n"
          },
          "networkImportCheck": {
            "type": "string",
            "description": "Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.\n"
          },
          "networks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpNetwork:BgpNetwork"
            },
            "description": "BGP network table. The structure of `network` block is documented below.\n"
          },
          "recursiveInheritPriority": {
            "type": "string",
            "description": "Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.\n"
          },
          "recursiveNextHop": {
            "type": "string",
            "description": "Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.\n"
          },
          "redistribute6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpRedistribute6:BgpRedistribute6"
            },
            "description": "BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpRedistribute:BgpRedistribute"
            },
            "description": "BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.\n"
          },
          "routerId": {
            "type": "string",
            "description": "Router ID.\n"
          },
          "scanTime": {
            "type": "integer",
            "description": "Background scanner interval (sec), 0 to disable it.\n"
          },
          "synchronization": {
            "type": "string",
            "description": "Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.\n"
          },
          "tagResolveMode": {
            "type": "string",
            "description": "Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vrf6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpVrf6:BgpVrf6"
            },
            "description": "BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.\n"
          },
          "vrfLeak6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpVrfLeak6:BgpVrfLeak6"
            },
            "description": "BGP IPv6 VRF leaking table. The structure of `vrf_leak6` block is documented below.\n"
          },
          "vrfLeaks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpVrfLeak:BgpVrfLeak"
            },
            "description": "BGP VRF leaking table. The structure of `vrf_leak` block is documented below.\n"
          },
          "vrves": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FBgpVrf:BgpVrf"
            },
            "description": "BGP VRF leaking table. The structure of `vrf` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:router/communitylist:Communitylist": {
      "description": "Configure community 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.router.Communitylist(\"trname\", {\n    rules: [{\n        action: \"deny\",\n        match: \"123:234 345:456\",\n        regexp: \"123:234 345:456\",\n    }],\n    type: \"standard\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Communitylist(\"trname\",\n    rules=[fortios.router.CommunitylistRuleArgs(\n        action=\"deny\",\n        match=\"123:234 345:456\",\n        regexp=\"123:234 345:456\",\n    )],\n    type=\"standard\")\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.Router.Communitylist(\"trname\", new()\n    {\n        Rules = new[]\n        {\n            new Fortios.Router.Inputs.CommunitylistRuleArgs\n            {\n                Action = \"deny\",\n                Match = \"123:234 345:456\",\n                Regexp = \"123:234 345:456\",\n            },\n        },\n        Type = \"standard\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewCommunitylist(ctx, \"trname\", &router.CommunitylistArgs{\n\t\t\tRules: router.CommunitylistRuleArray{\n\t\t\t\t&router.CommunitylistRuleArgs{\n\t\t\t\t\tAction: pulumi.String(\"deny\"),\n\t\t\t\t\tMatch:  pulumi.String(\"123:234 345:456\"),\n\t\t\t\t\tRegexp: pulumi.String(\"123:234 345:456\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"standard\"),\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.router.Communitylist;\nimport com.pulumi.fortios.router.CommunitylistArgs;\nimport com.pulumi.fortios.router.inputs.CommunitylistRuleArgs;\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 Communitylist(\"trname\", CommunitylistArgs.builder()\n            .rules(CommunitylistRuleArgs.builder()\n                .action(\"deny\")\n                .match(\"123:234 345:456\")\n                .regexp(\"123:234 345:456\")\n                .build())\n            .type(\"standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Communitylist\n    properties:\n      rules:\n        - action: deny\n          match: 123:234 345:456\n          regexp: 123:234 345:456\n      type: standard\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter CommunityList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/communitylist:Communitylist 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:router/communitylist:Communitylist 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": "Community list name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FCommunitylistRule:CommunitylistRule"
          },
          "description": "Community list rule. The structure of `rule` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "type",
        "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": "Community list name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FCommunitylistRule:CommunitylistRule"
          },
          "description": "Community list rule. The structure of `rule` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Communitylist 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": "Community list name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FCommunitylistRule:CommunitylistRule"
            },
            "description": "Community list rule. The structure of `rule` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/extcommunitylist:Extcommunitylist": {
      "description": "Configure extended community lists. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nRouter ExtcommunityList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/extcommunitylist:Extcommunitylist 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:router/extcommunitylist:Extcommunitylist 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": "Extended community list name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FExtcommunitylistRule:ExtcommunitylistRule"
          },
          "description": "Extended community list rule. The structure of `rule` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Extended community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "type",
        "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": "Extended community list name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FExtcommunitylistRule:ExtcommunitylistRule"
          },
          "description": "Extended community list rule. The structure of `rule` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Extended community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Extcommunitylist 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": "Extended community list name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FExtcommunitylistRule:ExtcommunitylistRule"
            },
            "description": "Extended community list rule. The structure of `rule` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Extended community list type (standard or expanded). Valid values: `standard`, `expanded`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/isis:Isis": {
      "description": "Configure IS-IS.\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.router.Isis(\"trname\", {\n    adjacencyCheck: \"disable\",\n    adjacencyCheck6: \"disable\",\n    advPassiveOnly: \"disable\",\n    advPassiveOnly6: \"disable\",\n    authModeL1: \"password\",\n    authModeL2: \"password\",\n    authSendonlyL1: \"disable\",\n    authSendonlyL2: \"disable\",\n    defaultOriginate: \"disable\",\n    defaultOriginate6: \"disable\",\n    dynamicHostname: \"disable\",\n    ignoreLspErrors: \"disable\",\n    isType: \"level-1-2\",\n    lspGenIntervalL1: 30,\n    lspGenIntervalL2: 30,\n    lspRefreshInterval: 900,\n    maxLspLifetime: 1200,\n    metricStyle: \"narrow\",\n    overloadBit: \"disable\",\n    redistribute6L1: \"disable\",\n    redistribute6L2: \"disable\",\n    redistributeL1: \"disable\",\n    redistributeL2: \"disable\",\n    spfIntervalExpL1: \"500 50000\",\n    spfIntervalExpL2: \"500 50000\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Isis(\"trname\",\n    adjacency_check=\"disable\",\n    adjacency_check6=\"disable\",\n    adv_passive_only=\"disable\",\n    adv_passive_only6=\"disable\",\n    auth_mode_l1=\"password\",\n    auth_mode_l2=\"password\",\n    auth_sendonly_l1=\"disable\",\n    auth_sendonly_l2=\"disable\",\n    default_originate=\"disable\",\n    default_originate6=\"disable\",\n    dynamic_hostname=\"disable\",\n    ignore_lsp_errors=\"disable\",\n    is_type=\"level-1-2\",\n    lsp_gen_interval_l1=30,\n    lsp_gen_interval_l2=30,\n    lsp_refresh_interval=900,\n    max_lsp_lifetime=1200,\n    metric_style=\"narrow\",\n    overload_bit=\"disable\",\n    redistribute6_l1=\"disable\",\n    redistribute6_l2=\"disable\",\n    redistribute_l1=\"disable\",\n    redistribute_l2=\"disable\",\n    spf_interval_exp_l1=\"500 50000\",\n    spf_interval_exp_l2=\"500 50000\")\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.Router.Isis(\"trname\", new()\n    {\n        AdjacencyCheck = \"disable\",\n        AdjacencyCheck6 = \"disable\",\n        AdvPassiveOnly = \"disable\",\n        AdvPassiveOnly6 = \"disable\",\n        AuthModeL1 = \"password\",\n        AuthModeL2 = \"password\",\n        AuthSendonlyL1 = \"disable\",\n        AuthSendonlyL2 = \"disable\",\n        DefaultOriginate = \"disable\",\n        DefaultOriginate6 = \"disable\",\n        DynamicHostname = \"disable\",\n        IgnoreLspErrors = \"disable\",\n        IsType = \"level-1-2\",\n        LspGenIntervalL1 = 30,\n        LspGenIntervalL2 = 30,\n        LspRefreshInterval = 900,\n        MaxLspLifetime = 1200,\n        MetricStyle = \"narrow\",\n        OverloadBit = \"disable\",\n        Redistribute6L1 = \"disable\",\n        Redistribute6L2 = \"disable\",\n        RedistributeL1 = \"disable\",\n        RedistributeL2 = \"disable\",\n        SpfIntervalExpL1 = \"500 50000\",\n        SpfIntervalExpL2 = \"500 50000\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewIsis(ctx, \"trname\", &router.IsisArgs{\n\t\t\tAdjacencyCheck:     pulumi.String(\"disable\"),\n\t\t\tAdjacencyCheck6:    pulumi.String(\"disable\"),\n\t\t\tAdvPassiveOnly:     pulumi.String(\"disable\"),\n\t\t\tAdvPassiveOnly6:    pulumi.String(\"disable\"),\n\t\t\tAuthModeL1:         pulumi.String(\"password\"),\n\t\t\tAuthModeL2:         pulumi.String(\"password\"),\n\t\t\tAuthSendonlyL1:     pulumi.String(\"disable\"),\n\t\t\tAuthSendonlyL2:     pulumi.String(\"disable\"),\n\t\t\tDefaultOriginate:   pulumi.String(\"disable\"),\n\t\t\tDefaultOriginate6:  pulumi.String(\"disable\"),\n\t\t\tDynamicHostname:    pulumi.String(\"disable\"),\n\t\t\tIgnoreLspErrors:    pulumi.String(\"disable\"),\n\t\t\tIsType:             pulumi.String(\"level-1-2\"),\n\t\t\tLspGenIntervalL1:   pulumi.Int(30),\n\t\t\tLspGenIntervalL2:   pulumi.Int(30),\n\t\t\tLspRefreshInterval: pulumi.Int(900),\n\t\t\tMaxLspLifetime:     pulumi.Int(1200),\n\t\t\tMetricStyle:        pulumi.String(\"narrow\"),\n\t\t\tOverloadBit:        pulumi.String(\"disable\"),\n\t\t\tRedistribute6L1:    pulumi.String(\"disable\"),\n\t\t\tRedistribute6L2:    pulumi.String(\"disable\"),\n\t\t\tRedistributeL1:     pulumi.String(\"disable\"),\n\t\t\tRedistributeL2:     pulumi.String(\"disable\"),\n\t\t\tSpfIntervalExpL1:   pulumi.String(\"500 50000\"),\n\t\t\tSpfIntervalExpL2:   pulumi.String(\"500 50000\"),\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.router.Isis;\nimport com.pulumi.fortios.router.IsisArgs;\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 Isis(\"trname\", IsisArgs.builder()\n            .adjacencyCheck(\"disable\")\n            .adjacencyCheck6(\"disable\")\n            .advPassiveOnly(\"disable\")\n            .advPassiveOnly6(\"disable\")\n            .authModeL1(\"password\")\n            .authModeL2(\"password\")\n            .authSendonlyL1(\"disable\")\n            .authSendonlyL2(\"disable\")\n            .defaultOriginate(\"disable\")\n            .defaultOriginate6(\"disable\")\n            .dynamicHostname(\"disable\")\n            .ignoreLspErrors(\"disable\")\n            .isType(\"level-1-2\")\n            .lspGenIntervalL1(30)\n            .lspGenIntervalL2(30)\n            .lspRefreshInterval(900)\n            .maxLspLifetime(1200)\n            .metricStyle(\"narrow\")\n            .overloadBit(\"disable\")\n            .redistribute6L1(\"disable\")\n            .redistribute6L2(\"disable\")\n            .redistributeL1(\"disable\")\n            .redistributeL2(\"disable\")\n            .spfIntervalExpL1(\"500 50000\")\n            .spfIntervalExpL2(\"500 50000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Isis\n    properties:\n      adjacencyCheck: disable\n      adjacencyCheck6: disable\n      advPassiveOnly: disable\n      advPassiveOnly6: disable\n      authModeL1: password\n      authModeL2: password\n      authSendonlyL1: disable\n      authSendonlyL2: disable\n      defaultOriginate: disable\n      defaultOriginate6: disable\n      dynamicHostname: disable\n      ignoreLspErrors: disable\n      isType: level-1-2\n      lspGenIntervalL1: 30\n      lspGenIntervalL2: 30\n      lspRefreshInterval: 900\n      maxLspLifetime: 1200\n      metricStyle: narrow\n      overloadBit: disable\n      redistribute6L1: disable\n      redistribute6L2: disable\n      redistributeL1: disable\n      redistributeL2: disable\n      spfIntervalExpL1: 500 50000\n      spfIntervalExpL2: 500 50000\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Isis can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/isis:Isis labelname RouterIsis\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:router/isis:Isis labelname RouterIsis\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adjacencyCheck": {
          "type": "string",
          "description": "Enable/disable adjacency check. Valid values: `enable`, `disable`.\n"
        },
        "adjacencyCheck6": {
          "type": "string",
          "description": "Enable/disable IPv6 adjacency check. Valid values: `enable`, `disable`.\n"
        },
        "advPassiveOnly": {
          "type": "string",
          "description": "Enable/disable IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
        },
        "advPassiveOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
        },
        "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: `password`, `md5`.\n"
        },
        "authModeL2": {
          "type": "string",
          "description": "Level 2 authentication mode. Valid values: `password`, `md5`.\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 level 1 authentication send-only. Valid values: `enable`, `disable`.\n"
        },
        "authSendonlyL2": {
          "type": "string",
          "description": "Enable/disable level 2 authentication send-only. Valid values: `enable`, `disable`.\n"
        },
        "defaultOriginate": {
          "type": "string",
          "description": "Enable/disable distribution of default route information. Valid values: `enable`, `disable`.\n"
        },
        "defaultOriginate6": {
          "type": "string",
          "description": "Enable/disable distribution of default IPv6 route information. Valid values: `enable`, `disable`.\n"
        },
        "dynamicHostname": {
          "type": "string",
          "description": "Enable/disable dynamic hostname. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ignoreLspErrors": {
          "type": "string",
          "description": "Enable/disable ignoring of LSP errors with bad checksums. Valid values: `enable`, `disable`.\n"
        },
        "isType": {
          "type": "string",
          "description": "IS type. Valid values: `level-1-2`, `level-1`, `level-2-only`.\n"
        },
        "isisInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisIsisInterface:IsisIsisInterface"
          },
          "description": "IS-IS interface configuration. The structure of `isis_interface` block is documented below.\n"
        },
        "isisNets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisIsisNet:IsisIsisNet"
          },
          "description": "IS-IS net configuration. The structure of `isis_net` block is documented below.\n"
        },
        "lspGenIntervalL1": {
          "type": "integer",
          "description": "Minimum interval for level 1 LSP regenerating.\n"
        },
        "lspGenIntervalL2": {
          "type": "integer",
          "description": "Minimum interval for level 2 LSP regenerating.\n"
        },
        "lspRefreshInterval": {
          "type": "integer",
          "description": "LSP refresh time in seconds.\n"
        },
        "maxLspLifetime": {
          "type": "integer",
          "description": "Maximum LSP lifetime in seconds.\n"
        },
        "metricStyle": {
          "type": "string",
          "description": "Use old-style (ISO 10589) or new-style packet formats Valid values: `narrow`, `wide`, `transition`, `narrow-transition`, `narrow-transition-l1`, `narrow-transition-l2`, `wide-l1`, `wide-l2`, `wide-transition`, `wide-transition-l1`, `wide-transition-l2`, `transition-l1`, `transition-l2`.\n"
        },
        "overloadBit": {
          "type": "string",
          "description": "Enable/disable signal other routers not to use us in SPF. Valid values: `enable`, `disable`.\n"
        },
        "overloadBitOnStartup": {
          "type": "integer",
          "description": "Overload-bit only temporarily after reboot.\n"
        },
        "overloadBitSuppress": {
          "type": "string",
          "description": "Suppress overload-bit for the specific prefixes. Valid values: `external`, `interlevel`.\n"
        },
        "redistribute6L1": {
          "type": "string",
          "description": "Enable/disable redistribution of level 1 IPv6 routes into level 2. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6L1List": {
          "type": "string",
          "description": "Access-list for IPv6 route redistribution from l1 to l2.\n"
        },
        "redistribute6L2": {
          "type": "string",
          "description": "Enable/disable redistribution of level 2 IPv6 routes into level 1. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6L2List": {
          "type": "string",
          "description": "Access-list for IPv6 route redistribution from l2 to l1.\n"
        },
        "redistribute6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisRedistribute6:IsisRedistribute6"
          },
          "description": "IS-IS IPv6 redistribution for routing protocols. The structure of `redistribute6` block is documented below.\n"
        },
        "redistributeL1": {
          "type": "string",
          "description": "Enable/disable redistribution of level 1 routes into level 2. Valid values: `enable`, `disable`.\n"
        },
        "redistributeL1List": {
          "type": "string",
          "description": "Access-list for route redistribution from l1 to l2.\n"
        },
        "redistributeL2": {
          "type": "string",
          "description": "Enable/disable redistribution of level 2 routes into level 1. Valid values: `enable`, `disable`.\n"
        },
        "redistributeL2List": {
          "type": "string",
          "description": "Access-list for route redistribution from l2 to l1.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisRedistribute:IsisRedistribute"
          },
          "description": "IS-IS redistribute protocols. The structure of `redistribute` block is documented below.\n"
        },
        "spfIntervalExpL1": {
          "type": "string",
          "description": "Level 1 SPF calculation delay.\n"
        },
        "spfIntervalExpL2": {
          "type": "string",
          "description": "Level 2 SPF calculation delay.\n"
        },
        "summaryAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisSummaryAddress6:IsisSummaryAddress6"
          },
          "description": "IS-IS IPv6 summary address. The structure of `summary_address6` block is documented below.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisSummaryAddress:IsisSummaryAddress"
          },
          "description": "IS-IS summary addresses. The structure of `summary_address` 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": [
        "adjacencyCheck",
        "adjacencyCheck6",
        "advPassiveOnly",
        "advPassiveOnly6",
        "authKeychainL1",
        "authKeychainL2",
        "authModeL1",
        "authModeL2",
        "authSendonlyL1",
        "authSendonlyL2",
        "defaultOriginate",
        "defaultOriginate6",
        "dynamicHostname",
        "ignoreLspErrors",
        "isType",
        "lspGenIntervalL1",
        "lspGenIntervalL2",
        "lspRefreshInterval",
        "maxLspLifetime",
        "metricStyle",
        "overloadBit",
        "overloadBitOnStartup",
        "overloadBitSuppress",
        "redistribute6L1",
        "redistribute6L1List",
        "redistribute6L2",
        "redistribute6L2List",
        "redistributeL1",
        "redistributeL1List",
        "redistributeL2",
        "redistributeL2List",
        "spfIntervalExpL1",
        "spfIntervalExpL2",
        "vdomparam"
      ],
      "inputProperties": {
        "adjacencyCheck": {
          "type": "string",
          "description": "Enable/disable adjacency check. Valid values: `enable`, `disable`.\n"
        },
        "adjacencyCheck6": {
          "type": "string",
          "description": "Enable/disable IPv6 adjacency check. Valid values: `enable`, `disable`.\n"
        },
        "advPassiveOnly": {
          "type": "string",
          "description": "Enable/disable IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
        },
        "advPassiveOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
        },
        "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: `password`, `md5`.\n"
        },
        "authModeL2": {
          "type": "string",
          "description": "Level 2 authentication mode. Valid values: `password`, `md5`.\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 level 1 authentication send-only. Valid values: `enable`, `disable`.\n"
        },
        "authSendonlyL2": {
          "type": "string",
          "description": "Enable/disable level 2 authentication send-only. Valid values: `enable`, `disable`.\n"
        },
        "defaultOriginate": {
          "type": "string",
          "description": "Enable/disable distribution of default route information. Valid values: `enable`, `disable`.\n"
        },
        "defaultOriginate6": {
          "type": "string",
          "description": "Enable/disable distribution of default IPv6 route information. Valid values: `enable`, `disable`.\n"
        },
        "dynamicHostname": {
          "type": "string",
          "description": "Enable/disable dynamic hostname. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ignoreLspErrors": {
          "type": "string",
          "description": "Enable/disable ignoring of LSP errors with bad checksums. Valid values: `enable`, `disable`.\n"
        },
        "isType": {
          "type": "string",
          "description": "IS type. Valid values: `level-1-2`, `level-1`, `level-2-only`.\n"
        },
        "isisInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisIsisInterface:IsisIsisInterface"
          },
          "description": "IS-IS interface configuration. The structure of `isis_interface` block is documented below.\n"
        },
        "isisNets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisIsisNet:IsisIsisNet"
          },
          "description": "IS-IS net configuration. The structure of `isis_net` block is documented below.\n"
        },
        "lspGenIntervalL1": {
          "type": "integer",
          "description": "Minimum interval for level 1 LSP regenerating.\n"
        },
        "lspGenIntervalL2": {
          "type": "integer",
          "description": "Minimum interval for level 2 LSP regenerating.\n"
        },
        "lspRefreshInterval": {
          "type": "integer",
          "description": "LSP refresh time in seconds.\n"
        },
        "maxLspLifetime": {
          "type": "integer",
          "description": "Maximum LSP lifetime in seconds.\n"
        },
        "metricStyle": {
          "type": "string",
          "description": "Use old-style (ISO 10589) or new-style packet formats Valid values: `narrow`, `wide`, `transition`, `narrow-transition`, `narrow-transition-l1`, `narrow-transition-l2`, `wide-l1`, `wide-l2`, `wide-transition`, `wide-transition-l1`, `wide-transition-l2`, `transition-l1`, `transition-l2`.\n"
        },
        "overloadBit": {
          "type": "string",
          "description": "Enable/disable signal other routers not to use us in SPF. Valid values: `enable`, `disable`.\n"
        },
        "overloadBitOnStartup": {
          "type": "integer",
          "description": "Overload-bit only temporarily after reboot.\n"
        },
        "overloadBitSuppress": {
          "type": "string",
          "description": "Suppress overload-bit for the specific prefixes. Valid values: `external`, `interlevel`.\n"
        },
        "redistribute6L1": {
          "type": "string",
          "description": "Enable/disable redistribution of level 1 IPv6 routes into level 2. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6L1List": {
          "type": "string",
          "description": "Access-list for IPv6 route redistribution from l1 to l2.\n"
        },
        "redistribute6L2": {
          "type": "string",
          "description": "Enable/disable redistribution of level 2 IPv6 routes into level 1. Valid values: `enable`, `disable`.\n"
        },
        "redistribute6L2List": {
          "type": "string",
          "description": "Access-list for IPv6 route redistribution from l2 to l1.\n"
        },
        "redistribute6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisRedistribute6:IsisRedistribute6"
          },
          "description": "IS-IS IPv6 redistribution for routing protocols. The structure of `redistribute6` block is documented below.\n"
        },
        "redistributeL1": {
          "type": "string",
          "description": "Enable/disable redistribution of level 1 routes into level 2. Valid values: `enable`, `disable`.\n"
        },
        "redistributeL1List": {
          "type": "string",
          "description": "Access-list for route redistribution from l1 to l2.\n"
        },
        "redistributeL2": {
          "type": "string",
          "description": "Enable/disable redistribution of level 2 routes into level 1. Valid values: `enable`, `disable`.\n"
        },
        "redistributeL2List": {
          "type": "string",
          "description": "Access-list for route redistribution from l2 to l1.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisRedistribute:IsisRedistribute"
          },
          "description": "IS-IS redistribute protocols. The structure of `redistribute` block is documented below.\n"
        },
        "spfIntervalExpL1": {
          "type": "string",
          "description": "Level 1 SPF calculation delay.\n"
        },
        "spfIntervalExpL2": {
          "type": "string",
          "description": "Level 2 SPF calculation delay.\n"
        },
        "summaryAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisSummaryAddress6:IsisSummaryAddress6"
          },
          "description": "IS-IS IPv6 summary address. The structure of `summary_address6` block is documented below.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FIsisSummaryAddress:IsisSummaryAddress"
          },
          "description": "IS-IS summary addresses. The structure of `summary_address` 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 Isis resources.\n",
        "properties": {
          "adjacencyCheck": {
            "type": "string",
            "description": "Enable/disable adjacency check. Valid values: `enable`, `disable`.\n"
          },
          "adjacencyCheck6": {
            "type": "string",
            "description": "Enable/disable IPv6 adjacency check. Valid values: `enable`, `disable`.\n"
          },
          "advPassiveOnly": {
            "type": "string",
            "description": "Enable/disable IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
          },
          "advPassiveOnly6": {
            "type": "string",
            "description": "Enable/disable IPv6 IS-IS advertisement of passive interfaces only. Valid values: `enable`, `disable`.\n"
          },
          "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: `password`, `md5`.\n"
          },
          "authModeL2": {
            "type": "string",
            "description": "Level 2 authentication mode. Valid values: `password`, `md5`.\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 level 1 authentication send-only. Valid values: `enable`, `disable`.\n"
          },
          "authSendonlyL2": {
            "type": "string",
            "description": "Enable/disable level 2 authentication send-only. Valid values: `enable`, `disable`.\n"
          },
          "defaultOriginate": {
            "type": "string",
            "description": "Enable/disable distribution of default route information. Valid values: `enable`, `disable`.\n"
          },
          "defaultOriginate6": {
            "type": "string",
            "description": "Enable/disable distribution of default IPv6 route information. Valid values: `enable`, `disable`.\n"
          },
          "dynamicHostname": {
            "type": "string",
            "description": "Enable/disable dynamic hostname. 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ignoreLspErrors": {
            "type": "string",
            "description": "Enable/disable ignoring of LSP errors with bad checksums. Valid values: `enable`, `disable`.\n"
          },
          "isType": {
            "type": "string",
            "description": "IS type. Valid values: `level-1-2`, `level-1`, `level-2-only`.\n"
          },
          "isisInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisIsisInterface:IsisIsisInterface"
            },
            "description": "IS-IS interface configuration. The structure of `isis_interface` block is documented below.\n"
          },
          "isisNets": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisIsisNet:IsisIsisNet"
            },
            "description": "IS-IS net configuration. The structure of `isis_net` block is documented below.\n"
          },
          "lspGenIntervalL1": {
            "type": "integer",
            "description": "Minimum interval for level 1 LSP regenerating.\n"
          },
          "lspGenIntervalL2": {
            "type": "integer",
            "description": "Minimum interval for level 2 LSP regenerating.\n"
          },
          "lspRefreshInterval": {
            "type": "integer",
            "description": "LSP refresh time in seconds.\n"
          },
          "maxLspLifetime": {
            "type": "integer",
            "description": "Maximum LSP lifetime in seconds.\n"
          },
          "metricStyle": {
            "type": "string",
            "description": "Use old-style (ISO 10589) or new-style packet formats Valid values: `narrow`, `wide`, `transition`, `narrow-transition`, `narrow-transition-l1`, `narrow-transition-l2`, `wide-l1`, `wide-l2`, `wide-transition`, `wide-transition-l1`, `wide-transition-l2`, `transition-l1`, `transition-l2`.\n"
          },
          "overloadBit": {
            "type": "string",
            "description": "Enable/disable signal other routers not to use us in SPF. Valid values: `enable`, `disable`.\n"
          },
          "overloadBitOnStartup": {
            "type": "integer",
            "description": "Overload-bit only temporarily after reboot.\n"
          },
          "overloadBitSuppress": {
            "type": "string",
            "description": "Suppress overload-bit for the specific prefixes. Valid values: `external`, `interlevel`.\n"
          },
          "redistribute6L1": {
            "type": "string",
            "description": "Enable/disable redistribution of level 1 IPv6 routes into level 2. Valid values: `enable`, `disable`.\n"
          },
          "redistribute6L1List": {
            "type": "string",
            "description": "Access-list for IPv6 route redistribution from l1 to l2.\n"
          },
          "redistribute6L2": {
            "type": "string",
            "description": "Enable/disable redistribution of level 2 IPv6 routes into level 1. Valid values: `enable`, `disable`.\n"
          },
          "redistribute6L2List": {
            "type": "string",
            "description": "Access-list for IPv6 route redistribution from l2 to l1.\n"
          },
          "redistribute6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisRedistribute6:IsisRedistribute6"
            },
            "description": "IS-IS IPv6 redistribution for routing protocols. The structure of `redistribute6` block is documented below.\n"
          },
          "redistributeL1": {
            "type": "string",
            "description": "Enable/disable redistribution of level 1 routes into level 2. Valid values: `enable`, `disable`.\n"
          },
          "redistributeL1List": {
            "type": "string",
            "description": "Access-list for route redistribution from l1 to l2.\n"
          },
          "redistributeL2": {
            "type": "string",
            "description": "Enable/disable redistribution of level 2 routes into level 1. Valid values: `enable`, `disable`.\n"
          },
          "redistributeL2List": {
            "type": "string",
            "description": "Access-list for route redistribution from l2 to l1.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisRedistribute:IsisRedistribute"
            },
            "description": "IS-IS redistribute protocols. The structure of `redistribute` block is documented below.\n"
          },
          "spfIntervalExpL1": {
            "type": "string",
            "description": "Level 1 SPF calculation delay.\n"
          },
          "spfIntervalExpL2": {
            "type": "string",
            "description": "Level 2 SPF calculation delay.\n"
          },
          "summaryAddress6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisSummaryAddress6:IsisSummaryAddress6"
            },
            "description": "IS-IS IPv6 summary address. The structure of `summary_address6` block is documented below.\n"
          },
          "summaryAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FIsisSummaryAddress:IsisSummaryAddress"
            },
            "description": "IS-IS summary addresses. The structure of `summary_address` 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:router/keychain:Keychain": {
      "description": "Configure key-chain.\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.router.Keychain(\"trname\", {keys: [{\n    acceptLifetime: \"04:00:00 01 01 2008 04:00:00 01 01 2022\",\n    keyString: \"ewiwn3i23232s212\",\n    sendLifetime: \"04:00:00 01 01 2008 04:00:00 01 01 2022\",\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Keychain(\"trname\", keys=[fortios.router.KeychainKeyArgs(\n    accept_lifetime=\"04:00:00 01 01 2008 04:00:00 01 01 2022\",\n    key_string=\"ewiwn3i23232s212\",\n    send_lifetime=\"04:00:00 01 01 2008 04:00:00 01 01 2022\",\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.Router.Keychain(\"trname\", new()\n    {\n        Keys = new[]\n        {\n            new Fortios.Router.Inputs.KeychainKeyArgs\n            {\n                AcceptLifetime = \"04:00:00 01 01 2008 04:00:00 01 01 2022\",\n                KeyString = \"ewiwn3i23232s212\",\n                SendLifetime = \"04:00:00 01 01 2008 04:00:00 01 01 2022\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewKeychain(ctx, \"trname\", &router.KeychainArgs{\n\t\t\tKeys: router.KeychainKeyArray{\n\t\t\t\t&router.KeychainKeyArgs{\n\t\t\t\t\tAcceptLifetime: pulumi.String(\"04:00:00 01 01 2008 04:00:00 01 01 2022\"),\n\t\t\t\t\tKeyString:      pulumi.String(\"ewiwn3i23232s212\"),\n\t\t\t\t\tSendLifetime:   pulumi.String(\"04:00:00 01 01 2008 04:00:00 01 01 2022\"),\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.router.Keychain;\nimport com.pulumi.fortios.router.KeychainArgs;\nimport com.pulumi.fortios.router.inputs.KeychainKeyArgs;\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 Keychain(\"trname\", KeychainArgs.builder()\n            .keys(KeychainKeyArgs.builder()\n                .acceptLifetime(\"04:00:00 01 01 2008 04:00:00 01 01 2022\")\n                .keyString(\"ewiwn3i23232s212\")\n                .sendLifetime(\"04:00:00 01 01 2008 04:00:00 01 01 2022\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Keychain\n    properties:\n      keys:\n        - acceptLifetime: 04:00:00 01 01 2008 04:00:00 01 01 2022\n          keyString: ewiwn3i23232s212\n          sendLifetime: 04:00:00 01 01 2008 04:00:00 01 01 2022\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter KeyChain can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/keychain:Keychain 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:router/keychain:Keychain 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"
        },
        "keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FKeychainKey:KeychainKey"
          },
          "description": "Configuration method to edit key settings. The structure of `key` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Key-chain 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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FKeychainKey:KeychainKey"
          },
          "description": "Configuration method to edit key settings. The structure of `key` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Key-chain 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 Keychain 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"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FKeychainKey:KeychainKey"
            },
            "description": "Configuration method to edit key settings. The structure of `key` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Key-chain 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:router/multicast6:Multicast6": {
      "description": "Configure IPv6 multicast.\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.router.Multicast6(\"trname\", {\n    multicastPmtu: \"disable\",\n    multicastRouting: \"disable\",\n    pimSmGlobal: {\n        registerRateLimit: 0,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Multicast6(\"trname\",\n    multicast_pmtu=\"disable\",\n    multicast_routing=\"disable\",\n    pim_sm_global=fortios.router.Multicast6PimSmGlobalArgs(\n        register_rate_limit=0,\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.Router.Multicast6(\"trname\", new()\n    {\n        MulticastPmtu = \"disable\",\n        MulticastRouting = \"disable\",\n        PimSmGlobal = new Fortios.Router.Inputs.Multicast6PimSmGlobalArgs\n        {\n            RegisterRateLimit = 0,\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewMulticast6(ctx, \"trname\", &router.Multicast6Args{\n\t\t\tMulticastPmtu:    pulumi.String(\"disable\"),\n\t\t\tMulticastRouting: pulumi.String(\"disable\"),\n\t\t\tPimSmGlobal: &router.Multicast6PimSmGlobalArgs{\n\t\t\t\tRegisterRateLimit: pulumi.Int(0),\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.router.Multicast6;\nimport com.pulumi.fortios.router.Multicast6Args;\nimport com.pulumi.fortios.router.inputs.Multicast6PimSmGlobalArgs;\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 Multicast6(\"trname\", Multicast6Args.builder()\n            .multicastPmtu(\"disable\")\n            .multicastRouting(\"disable\")\n            .pimSmGlobal(Multicast6PimSmGlobalArgs.builder()\n                .registerRateLimit(0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Multicast6\n    properties:\n      multicastPmtu: disable\n      multicastRouting: disable\n      pimSmGlobal:\n        registerRateLimit: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Multicast6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/multicast6:Multicast6 labelname RouterMulticast6\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:router/multicast6:Multicast6 labelname RouterMulticast6\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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticast6Interface:Multicast6Interface"
          },
          "description": "Protocol Independent Multicast (PIM) interfaces. The structure of `interface` block is documented below.\n"
        },
        "multicastPmtu": {
          "type": "string",
          "description": "Enable/disable PMTU for IPv6 multicast. Valid values: `enable`, `disable`.\n"
        },
        "multicastRouting": {
          "type": "string",
          "description": "Enable/disable IPv6 multicast routing. Valid values: `enable`, `disable`.\n"
        },
        "pimSmGlobal": {
          "$ref": "#/types/fortios:router%2FMulticast6PimSmGlobal:Multicast6PimSmGlobal",
          "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` 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": [
        "multicastPmtu",
        "multicastRouting",
        "pimSmGlobal",
        "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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticast6Interface:Multicast6Interface"
          },
          "description": "Protocol Independent Multicast (PIM) interfaces. The structure of `interface` block is documented below.\n"
        },
        "multicastPmtu": {
          "type": "string",
          "description": "Enable/disable PMTU for IPv6 multicast. Valid values: `enable`, `disable`.\n"
        },
        "multicastRouting": {
          "type": "string",
          "description": "Enable/disable IPv6 multicast routing. Valid values: `enable`, `disable`.\n"
        },
        "pimSmGlobal": {
          "$ref": "#/types/fortios:router%2FMulticast6PimSmGlobal:Multicast6PimSmGlobal",
          "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` 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 Multicast6 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"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FMulticast6Interface:Multicast6Interface"
            },
            "description": "Protocol Independent Multicast (PIM) interfaces. The structure of `interface` block is documented below.\n"
          },
          "multicastPmtu": {
            "type": "string",
            "description": "Enable/disable PMTU for IPv6 multicast. Valid values: `enable`, `disable`.\n"
          },
          "multicastRouting": {
            "type": "string",
            "description": "Enable/disable IPv6 multicast routing. Valid values: `enable`, `disable`.\n"
          },
          "pimSmGlobal": {
            "$ref": "#/types/fortios:router%2FMulticast6PimSmGlobal:Multicast6PimSmGlobal",
            "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` 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:router/multicast:Multicast": {
      "description": "Configure router multicast.\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.router.Multicast(\"trname\", {\n    multicastRouting: \"disable\",\n    pimSmGlobal: {\n        bsrAllowQuickRefresh: \"disable\",\n        bsrCandidate: \"disable\",\n        bsrHash: 10,\n        bsrPriority: 0,\n        ciscoCrpPrefix: \"disable\",\n        ciscoIgnoreRpSetPriority: \"disable\",\n        ciscoRegisterChecksum: \"disable\",\n        joinPruneHoldtime: 210,\n        messageInterval: 60,\n        nullRegisterRetries: 1,\n        registerRateLimit: 0,\n        registerRpReachability: \"enable\",\n        registerSource: \"disable\",\n        registerSourceIp: \"0.0.0.0\",\n        registerSupression: 60,\n        rpRegisterKeepalive: 185,\n        sptThreshold: \"enable\",\n        ssm: \"disable\",\n    },\n    routeLimit: 2147483647,\n    routeThreshold: 2147483647,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Multicast(\"trname\",\n    multicast_routing=\"disable\",\n    pim_sm_global=fortios.router.MulticastPimSmGlobalArgs(\n        bsr_allow_quick_refresh=\"disable\",\n        bsr_candidate=\"disable\",\n        bsr_hash=10,\n        bsr_priority=0,\n        cisco_crp_prefix=\"disable\",\n        cisco_ignore_rp_set_priority=\"disable\",\n        cisco_register_checksum=\"disable\",\n        join_prune_holdtime=210,\n        message_interval=60,\n        null_register_retries=1,\n        register_rate_limit=0,\n        register_rp_reachability=\"enable\",\n        register_source=\"disable\",\n        register_source_ip=\"0.0.0.0\",\n        register_supression=60,\n        rp_register_keepalive=185,\n        spt_threshold=\"enable\",\n        ssm=\"disable\",\n    ),\n    route_limit=2147483647,\n    route_threshold=2147483647)\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.Router.Multicast(\"trname\", new()\n    {\n        MulticastRouting = \"disable\",\n        PimSmGlobal = new Fortios.Router.Inputs.MulticastPimSmGlobalArgs\n        {\n            BsrAllowQuickRefresh = \"disable\",\n            BsrCandidate = \"disable\",\n            BsrHash = 10,\n            BsrPriority = 0,\n            CiscoCrpPrefix = \"disable\",\n            CiscoIgnoreRpSetPriority = \"disable\",\n            CiscoRegisterChecksum = \"disable\",\n            JoinPruneHoldtime = 210,\n            MessageInterval = 60,\n            NullRegisterRetries = 1,\n            RegisterRateLimit = 0,\n            RegisterRpReachability = \"enable\",\n            RegisterSource = \"disable\",\n            RegisterSourceIp = \"0.0.0.0\",\n            RegisterSupression = 60,\n            RpRegisterKeepalive = 185,\n            SptThreshold = \"enable\",\n            Ssm = \"disable\",\n        },\n        RouteLimit = 2147483647,\n        RouteThreshold = 2147483647,\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewMulticast(ctx, \"trname\", &router.MulticastArgs{\n\t\t\tMulticastRouting: pulumi.String(\"disable\"),\n\t\t\tPimSmGlobal: &router.MulticastPimSmGlobalArgs{\n\t\t\t\tBsrAllowQuickRefresh:     pulumi.String(\"disable\"),\n\t\t\t\tBsrCandidate:             pulumi.String(\"disable\"),\n\t\t\t\tBsrHash:                  pulumi.Int(10),\n\t\t\t\tBsrPriority:              pulumi.Int(0),\n\t\t\t\tCiscoCrpPrefix:           pulumi.String(\"disable\"),\n\t\t\t\tCiscoIgnoreRpSetPriority: pulumi.String(\"disable\"),\n\t\t\t\tCiscoRegisterChecksum:    pulumi.String(\"disable\"),\n\t\t\t\tJoinPruneHoldtime:        pulumi.Int(210),\n\t\t\t\tMessageInterval:          pulumi.Int(60),\n\t\t\t\tNullRegisterRetries:      pulumi.Int(1),\n\t\t\t\tRegisterRateLimit:        pulumi.Int(0),\n\t\t\t\tRegisterRpReachability:   pulumi.String(\"enable\"),\n\t\t\t\tRegisterSource:           pulumi.String(\"disable\"),\n\t\t\t\tRegisterSourceIp:         pulumi.String(\"0.0.0.0\"),\n\t\t\t\tRegisterSupression:       pulumi.Int(60),\n\t\t\t\tRpRegisterKeepalive:      pulumi.Int(185),\n\t\t\t\tSptThreshold:             pulumi.String(\"enable\"),\n\t\t\t\tSsm:                      pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tRouteLimit:     pulumi.Int(2147483647),\n\t\t\tRouteThreshold: pulumi.Int(2147483647),\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.router.Multicast;\nimport com.pulumi.fortios.router.MulticastArgs;\nimport com.pulumi.fortios.router.inputs.MulticastPimSmGlobalArgs;\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 Multicast(\"trname\", MulticastArgs.builder()\n            .multicastRouting(\"disable\")\n            .pimSmGlobal(MulticastPimSmGlobalArgs.builder()\n                .bsrAllowQuickRefresh(\"disable\")\n                .bsrCandidate(\"disable\")\n                .bsrHash(10)\n                .bsrPriority(0)\n                .ciscoCrpPrefix(\"disable\")\n                .ciscoIgnoreRpSetPriority(\"disable\")\n                .ciscoRegisterChecksum(\"disable\")\n                .joinPruneHoldtime(210)\n                .messageInterval(60)\n                .nullRegisterRetries(1)\n                .registerRateLimit(0)\n                .registerRpReachability(\"enable\")\n                .registerSource(\"disable\")\n                .registerSourceIp(\"0.0.0.0\")\n                .registerSupression(60)\n                .rpRegisterKeepalive(185)\n                .sptThreshold(\"enable\")\n                .ssm(\"disable\")\n                .build())\n            .routeLimit(2147483647)\n            .routeThreshold(2147483647)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Multicast\n    properties:\n      multicastRouting: disable\n      pimSmGlobal:\n        bsrAllowQuickRefresh: disable\n        bsrCandidate: disable\n        bsrHash: 10\n        bsrPriority: 0\n        ciscoCrpPrefix: disable\n        ciscoIgnoreRpSetPriority: disable\n        ciscoRegisterChecksum: disable\n        joinPruneHoldtime: 210\n        messageInterval: 60\n        nullRegisterRetries: 1\n        registerRateLimit: 0\n        registerRpReachability: enable\n        registerSource: disable\n        registerSourceIp: 0.0.0.0\n        registerSupression: 60\n        rpRegisterKeepalive: 185\n        sptThreshold: enable\n        ssm: disable\n      routeLimit: 2.147483647e+09\n      routeThreshold: 2.147483647e+09\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Multicast can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/multicast:Multicast labelname RouterMulticast\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:router/multicast:Multicast labelname RouterMulticast\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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastInterface:MulticastInterface"
          },
          "description": "PIM interfaces. The structure of `interface` block is documented below.\n"
        },
        "multicastRouting": {
          "type": "string",
          "description": "Enable/disable IP multicast routing. Valid values: `enable`, `disable`.\n"
        },
        "pimSmGlobal": {
          "$ref": "#/types/fortios:router%2FMulticastPimSmGlobal:MulticastPimSmGlobal",
          "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` block is documented below.\n"
        },
        "routeLimit": {
          "type": "integer",
          "description": "Maximum number of multicast routes.\n"
        },
        "routeThreshold": {
          "type": "integer",
          "description": "Generate warnings when the number of multicast routes exceeds this number, must not be greater than route-limit.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "multicastRouting",
        "pimSmGlobal",
        "routeLimit",
        "routeThreshold",
        "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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastInterface:MulticastInterface"
          },
          "description": "PIM interfaces. The structure of `interface` block is documented below.\n"
        },
        "multicastRouting": {
          "type": "string",
          "description": "Enable/disable IP multicast routing. Valid values: `enable`, `disable`.\n"
        },
        "pimSmGlobal": {
          "$ref": "#/types/fortios:router%2FMulticastPimSmGlobal:MulticastPimSmGlobal",
          "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` block is documented below.\n"
        },
        "routeLimit": {
          "type": "integer",
          "description": "Maximum number of multicast routes.\n"
        },
        "routeThreshold": {
          "type": "integer",
          "description": "Generate warnings when the number of multicast routes exceeds this number, must not be greater than route-limit.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Multicast 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"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FMulticastInterface:MulticastInterface"
            },
            "description": "PIM interfaces. The structure of `interface` block is documented below.\n"
          },
          "multicastRouting": {
            "type": "string",
            "description": "Enable/disable IP multicast routing. Valid values: `enable`, `disable`.\n"
          },
          "pimSmGlobal": {
            "$ref": "#/types/fortios:router%2FMulticastPimSmGlobal:MulticastPimSmGlobal",
            "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` block is documented below.\n"
          },
          "routeLimit": {
            "type": "integer",
            "description": "Maximum number of multicast routes.\n"
          },
          "routeThreshold": {
            "type": "integer",
            "description": "Generate warnings when the number of multicast routes exceeds this number, must not be greater than route-limit.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/multicastflow:Multicastflow": {
      "description": "Configure multicast-flow.\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.router.Multicastflow(\"trname\", {flows: [{\n    groupAddr: \"224.252.0.0\",\n    sourceAddr: \"224.112.0.0\",\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Multicastflow(\"trname\", flows=[fortios.router.MulticastflowFlowArgs(\n    group_addr=\"224.252.0.0\",\n    source_addr=\"224.112.0.0\",\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.Router.Multicastflow(\"trname\", new()\n    {\n        Flows = new[]\n        {\n            new Fortios.Router.Inputs.MulticastflowFlowArgs\n            {\n                GroupAddr = \"224.252.0.0\",\n                SourceAddr = \"224.112.0.0\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewMulticastflow(ctx, \"trname\", &router.MulticastflowArgs{\n\t\t\tFlows: router.MulticastflowFlowArray{\n\t\t\t\t&router.MulticastflowFlowArgs{\n\t\t\t\t\tGroupAddr:  pulumi.String(\"224.252.0.0\"),\n\t\t\t\t\tSourceAddr: pulumi.String(\"224.112.0.0\"),\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.router.Multicastflow;\nimport com.pulumi.fortios.router.MulticastflowArgs;\nimport com.pulumi.fortios.router.inputs.MulticastflowFlowArgs;\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 Multicastflow(\"trname\", MulticastflowArgs.builder()\n            .flows(MulticastflowFlowArgs.builder()\n                .groupAddr(\"224.252.0.0\")\n                .sourceAddr(\"224.112.0.0\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Multicastflow\n    properties:\n      flows:\n        - groupAddr: 224.252.0.0\n          sourceAddr: 224.112.0.0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter MulticastFlow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/multicastflow:Multicastflow 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:router/multicastflow:Multicastflow labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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"
        },
        "flows": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastflowFlow:MulticastflowFlow"
          },
          "description": "Multicast-flow entries. The structure of `flows` 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": "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": [
        "comments",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "flows": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastflowFlow:MulticastflowFlow"
          },
          "description": "Multicast-flow entries. The structure of `flows` 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": "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 Multicastflow resources.\n",
        "properties": {
          "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"
          },
          "flows": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FMulticastflowFlow:MulticastflowFlow"
            },
            "description": "Multicast-flow entries. The structure of `flows` 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": "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:router/ospf/neighbor:Neighbor": {
      "description": "OSPF neighbor configuration are used when OSPF runs on non-broadcast media\n\n> The provider supports the definition of Neighbor in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Neighbor resources `fortios.router/ospf.Neighbor`, but do not use a `fortios.router.Ospf` with in-line Neighbor in conjunction with any `fortios.router/ospf.Neighbor` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterospf Neighbor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf/neighbor:Neighbor 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:router/ospf/neighbor:Neighbor labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "fosid": {
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "cost",
        "fosid",
        "ip",
        "pollInterval",
        "priority",
        "vdomparam"
      ],
      "inputProperties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Neighbor entry ID.\n",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Neighbor resources.\n",
        "properties": {
          "cost": {
            "type": "integer",
            "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Neighbor entry ID.\n",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/ospf/network:Network": {
      "description": "OSPF network configuration.\n\n> The provider supports the definition of Network in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Network resources `fortios.router/ospf.Network`, but do not use a `fortios.router.Ospf` with in-line Network in conjunction with any `fortios.router/ospf.Network` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterospf Network can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf/network:Network 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:router/ospf/network:Network labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "area": {
          "type": "string",
          "description": "Attach the network to area.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "area",
        "fosid",
        "prefix",
        "vdomparam"
      ],
      "inputProperties": {
        "area": {
          "type": "string",
          "description": "Attach the network to area.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Network entry ID.\n",
          "willReplaceOnChanges": true
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Network resources.\n",
        "properties": {
          "area": {
            "type": "string",
            "description": "Attach the network to area.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Network entry ID.\n",
            "willReplaceOnChanges": true
          },
          "prefix": {
            "type": "string",
            "description": "Prefix.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/ospf/ospfinterface:Ospfinterface": {
      "description": "OSPF interface configuration.\n\n> The provider supports the definition of Ospf-Interface in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Ospf-Interface resources `fortios.router/ospf.Ospfinterface`, but do not use a `fortios.router.Ospf` with in-line Ospf-Interface in conjunction with any `fortios.router/ospf.Ospfinterface` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterospf OspfInterface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf/ospfinterface:Ospfinterface 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:router/ospf/ospfinterface:Ospfinterface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n"
        },
        "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "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"
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fospf%2FOspfinterfaceMd5Key:OspfinterfaceMd5Key"
          },
          "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. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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 `md5_keys` block supports:\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "bfd",
        "cost",
        "databaseFilterOut",
        "deadInterval",
        "helloInterval",
        "helloMultiplier",
        "interface",
        "ip",
        "keychain",
        "md5Key",
        "md5Keychain",
        "mtu",
        "mtuIgnore",
        "name",
        "networkType",
        "prefixLength",
        "priority",
        "resyncTimeout",
        "retransmitInterval",
        "status",
        "transmitDelay",
        "vdomparam"
      ],
      "inputProperties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n"
        },
        "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "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"
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fospf%2FOspfinterfaceMd5Key:OspfinterfaceMd5Key"
          },
          "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. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface entry name.\n",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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 `md5_keys` block supports:\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ospfinterface resources.\n",
        "properties": {
          "authentication": {
            "type": "string",
            "description": "Authentication type.\n"
          },
          "authenticationKey": {
            "type": "string",
            "description": "Authentication key.\n"
          },
          "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"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "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"
          },
          "md5Keychain": {
            "type": "string",
            "description": "Authentication MD5 key-chain name.\n"
          },
          "md5Keys": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2Fospf%2FOspfinterfaceMd5Key:OspfinterfaceMd5Key"
            },
            "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. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Interface entry name.\n",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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 `md5_keys` block supports:\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:router/ospf6/ospf6interface:Ospf6interface": {
      "description": "OSPF6 interface configuration.\n\n> The provider supports the definition of Ospf6-Interface in Router Ospf6 `fortios.router.Ospf6`, and also allows the definition of separate Ospf6-Interface resources `fortios.router/ospf6.Ospf6interface`, but do not use a `fortios.router.Ospf6` with in-line Ospf6-Interface in conjunction with any `fortios.router/ospf6.Ospf6interface` resources, otherwise conflicts and overwrite will occur.\n\n## Import\n\nRouterospf6 Ospf6Interface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf6/ospf6interface:Ospf6interface 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:router/ospf6/ospf6interface:Ospf6interface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "areaId": {
          "type": "string",
          "description": "A.B.C.D, in IPv4 address format.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `ah`, `esp`, `area`.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `global`, `enable`, `disable`.\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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "interface": {
          "type": "string",
          "description": "Configuration interface name.\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%2Fospf6%2FOspf6interfaceIpsecKey:Ospf6interfaceIpsecKey"
          },
          "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. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface entry name.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fospf6%2FOspf6interfaceNeighbor:Ospf6interfaceNeighbor"
          },
          "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. Valid values: `broadcast`, `point-to-point`, `non-broadcast`, `point-to-multipoint`, `point-to-multipoint-non-broadcast`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable OSPF6 routing on this interface. Valid values: `disable`, `enable`.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "areaId",
        "authentication",
        "bfd",
        "cost",
        "deadInterval",
        "helloInterval",
        "interface",
        "ipsecAuthAlg",
        "ipsecEncAlg",
        "keyRolloverInterval",
        "mtu",
        "mtuIgnore",
        "name",
        "networkType",
        "priority",
        "retransmitInterval",
        "status",
        "transmitDelay",
        "vdomparam"
      ],
      "inputProperties": {
        "areaId": {
          "type": "string",
          "description": "A.B.C.D, in IPv4 address format.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `ah`, `esp`, `area`.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `global`, `enable`, `disable`.\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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "interface": {
          "type": "string",
          "description": "Configuration interface name.\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%2Fospf6%2FOspf6interfaceIpsecKey:Ospf6interfaceIpsecKey"
          },
          "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. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface entry name.\n",
          "willReplaceOnChanges": true
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2Fospf6%2FOspf6interfaceNeighbor:Ospf6interfaceNeighbor"
          },
          "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. Valid values: `broadcast`, `point-to-point`, `non-broadcast`, `point-to-multipoint`, `point-to-multipoint-non-broadcast`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable OSPF6 routing on this interface. Valid values: `disable`, `enable`.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ospf6interface resources.\n",
        "properties": {
          "areaId": {
            "type": "string",
            "description": "A.B.C.D, in IPv4 address format.\n"
          },
          "authentication": {
            "type": "string",
            "description": "Authentication mode. Valid values: `none`, `ah`, `esp`, `area`.\n"
          },
          "bfd": {
            "type": "string",
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `global`, `enable`, `disable`.\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"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "helloInterval": {
            "type": "integer",
            "description": "Hello interval.\n"
          },
          "interface": {
            "type": "string",
            "description": "Configuration interface name.\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%2Fospf6%2FOspf6interfaceIpsecKey:Ospf6interfaceIpsecKey"
            },
            "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. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Interface entry name.\n",
            "willReplaceOnChanges": true
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2Fospf6%2FOspf6interfaceNeighbor:Ospf6interfaceNeighbor"
            },
            "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. Valid values: `broadcast`, `point-to-point`, `non-broadcast`, `point-to-multipoint`, `point-to-multipoint-non-broadcast`.\n"
          },
          "priority": {
            "type": "integer",
            "description": "priority\n"
          },
          "retransmitInterval": {
            "type": "integer",
            "description": "Retransmit interval.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable OSPF6 routing on this interface. Valid values: `disable`, `enable`.\n"
          },
          "transmitDelay": {
            "type": "integer",
            "description": "Transmit delay.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/ospf6:Ospf6": {
      "description": "Configure IPv6 OSPF.\n\n> The provider supports the definition of Ospf6-Interface in Router Ospf6 `fortios.router.Ospf6`, and also allows the definition of separate Ospf6-Interface resources `fortios.router/ospf6.Ospf6interface`, but do not use a `fortios.router.Ospf6` with in-line Ospf6-Interface in conjunction with any `fortios.router/ospf6.Ospf6interface` resources, otherwise conflicts and overwrite will occur.\n\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 trname = new fortios.router.Ospf6(\"trname\", {\n    abrType: \"standard\",\n    autoCostRefBandwidth: 1000,\n    bfd: \"disable\",\n    defaultInformationMetric: 10,\n    defaultInformationMetricType: \"2\",\n    defaultInformationOriginate: \"disable\",\n    defaultMetric: 10,\n    logNeighbourChanges: \"enable\",\n    redistributes: [\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"connected\",\n            status: \"disable\",\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"static\",\n            status: \"disable\",\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"rip\",\n            status: \"disable\",\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"bgp\",\n            status: \"disable\",\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"isis\",\n            status: \"disable\",\n        },\n    ],\n    routerId: \"0.0.0.0\",\n    spfTimers: \"5 10\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Ospf6(\"trname\",\n    abr_type=\"standard\",\n    auto_cost_ref_bandwidth=1000,\n    bfd=\"disable\",\n    default_information_metric=10,\n    default_information_metric_type=\"2\",\n    default_information_originate=\"disable\",\n    default_metric=10,\n    log_neighbour_changes=\"enable\",\n    redistributes=[\n        fortios.router.Ospf6RedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"connected\",\n            status=\"disable\",\n        ),\n        fortios.router.Ospf6RedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"static\",\n            status=\"disable\",\n        ),\n        fortios.router.Ospf6RedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"rip\",\n            status=\"disable\",\n        ),\n        fortios.router.Ospf6RedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"bgp\",\n            status=\"disable\",\n        ),\n        fortios.router.Ospf6RedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"isis\",\n            status=\"disable\",\n        ),\n    ],\n    router_id=\"0.0.0.0\",\n    spf_timers=\"5 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.Router.Ospf6Router(\"trname\", new()\n    {\n        AbrType = \"standard\",\n        AutoCostRefBandwidth = 1000,\n        Bfd = \"disable\",\n        DefaultInformationMetric = 10,\n        DefaultInformationMetricType = \"2\",\n        DefaultInformationOriginate = \"disable\",\n        DefaultMetric = 10,\n        LogNeighbourChanges = \"enable\",\n        Redistributes = new[]\n        {\n            new Fortios.Router.Inputs.Ospf6RedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"connected\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.Ospf6RedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"static\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.Ospf6RedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"rip\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.Ospf6RedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"bgp\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.Ospf6RedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"isis\",\n                Status = \"disable\",\n            },\n        },\n        RouterId = \"0.0.0.0\",\n        SpfTimers = \"5 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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewOspf6(ctx, \"trname\", &router.Ospf6Args{\n\t\t\tAbrType:                      pulumi.String(\"standard\"),\n\t\t\tAutoCostRefBandwidth:         pulumi.Int(1000),\n\t\t\tBfd:                          pulumi.String(\"disable\"),\n\t\t\tDefaultInformationMetric:     pulumi.Int(10),\n\t\t\tDefaultInformationMetricType: pulumi.String(\"2\"),\n\t\t\tDefaultInformationOriginate:  pulumi.String(\"disable\"),\n\t\t\tDefaultMetric:                pulumi.Int(10),\n\t\t\tLogNeighbourChanges:          pulumi.String(\"enable\"),\n\t\t\tRedistributes: router.Ospf6RedistributeArray{\n\t\t\t\t&router.Ospf6RedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"connected\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.Ospf6RedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"static\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.Ospf6RedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"rip\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.Ospf6RedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"bgp\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.Ospf6RedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"isis\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRouterId:  pulumi.String(\"0.0.0.0\"),\n\t\t\tSpfTimers: pulumi.String(\"5 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.router.Ospf6;\nimport com.pulumi.fortios.router.Ospf6Args;\nimport com.pulumi.fortios.router.inputs.Ospf6RedistributeArgs;\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 Ospf6(\"trname\", Ospf6Args.builder()\n            .abrType(\"standard\")\n            .autoCostRefBandwidth(1000)\n            .bfd(\"disable\")\n            .defaultInformationMetric(10)\n            .defaultInformationMetricType(\"2\")\n            .defaultInformationOriginate(\"disable\")\n            .defaultMetric(10)\n            .logNeighbourChanges(\"enable\")\n            .redistributes(            \n                Ospf6RedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .build(),\n                Ospf6RedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .build(),\n                Ospf6RedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"rip\")\n                    .status(\"disable\")\n                    .build(),\n                Ospf6RedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"bgp\")\n                    .status(\"disable\")\n                    .build(),\n                Ospf6RedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .build())\n            .routerId(\"0.0.0.0\")\n            .spfTimers(\"5 10\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Ospf6\n    properties:\n      abrType: standard\n      autoCostRefBandwidth: 1000\n      bfd: disable\n      defaultInformationMetric: 10\n      defaultInformationMetricType: '2'\n      defaultInformationOriginate: disable\n      defaultMetric: 10\n      logNeighbourChanges: enable\n      redistributes:\n        - metric: 0\n          metricType: '2'\n          name: connected\n          status: disable\n        - metric: 0\n          metricType: '2'\n          name: static\n          status: disable\n        - metric: 0\n          metricType: '2'\n          name: rip\n          status: disable\n        - metric: 0\n          metricType: '2'\n          name: bgp\n          status: disable\n        - metric: 0\n          metricType: '2'\n          name: isis\n          status: disable\n      routerId: 0.0.0.0\n      spfTimers: 5 10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Ospf6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf6:Ospf6 labelname RouterOspf6\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:router/ospf6:Ospf6 labelname RouterOspf6\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "abrType": {
          "type": "string",
          "description": "Area border router type. Valid values: `cisco`, `ibm`, `standard`.\n"
        },
        "areas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Area:Ospf6Area"
          },
          "description": "OSPF6 area configuration. The structure of `area` block is documented below.\n"
        },
        "autoCostRefBandwidth": {
          "type": "integer",
          "description": "Reference bandwidth in terms of megabits per second.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "defaultInformationMetric": {
          "type": "integer",
          "description": "Default information metric.\n"
        },
        "defaultInformationMetricType": {
          "type": "string",
          "description": "Default information metric type. Valid values: `1`, `2`.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
        },
        "defaultInformationRouteMap": {
          "type": "string",
          "description": "Default information route map.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric of redistribute routes.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of OSPFv3 neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "ospf6Interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Ospf6Interface:Ospf6Ospf6Interface"
          },
          "description": "OSPF6 interface configuration. The structure of `ospf6_interface` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6PassiveInterface:Ospf6PassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Redistribute:Ospf6Redistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "restartMode": {
          "type": "string",
          "description": "OSPFv3 restart mode (graceful or none). Valid values: `none`, `graceful-restart`.\n"
        },
        "restartOnTopologyChange": {
          "type": "string",
          "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
        },
        "restartPeriod": {
          "type": "integer",
          "description": "Graceful restart period in seconds.\n"
        },
        "routerId": {
          "type": "string",
          "description": "A.B.C.D, in IPv4 address format.\n"
        },
        "spfTimers": {
          "type": "string",
          "description": "SPF calculation frequency.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6SummaryAddress:Ospf6SummaryAddress"
          },
          "description": "IPv6 address summary configuration. The structure of `summary_address` 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": [
        "abrType",
        "autoCostRefBandwidth",
        "bfd",
        "defaultInformationMetric",
        "defaultInformationMetricType",
        "defaultInformationOriginate",
        "defaultInformationRouteMap",
        "defaultMetric",
        "logNeighbourChanges",
        "restartMode",
        "restartOnTopologyChange",
        "restartPeriod",
        "routerId",
        "spfTimers",
        "vdomparam"
      ],
      "language": {
        "csharp": {
          "name": "Ospf6Router"
        }
      },
      "inputProperties": {
        "abrType": {
          "type": "string",
          "description": "Area border router type. Valid values: `cisco`, `ibm`, `standard`.\n"
        },
        "areas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Area:Ospf6Area"
          },
          "description": "OSPF6 area configuration. The structure of `area` block is documented below.\n"
        },
        "autoCostRefBandwidth": {
          "type": "integer",
          "description": "Reference bandwidth in terms of megabits per second.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "defaultInformationMetric": {
          "type": "integer",
          "description": "Default information metric.\n"
        },
        "defaultInformationMetricType": {
          "type": "string",
          "description": "Default information metric type. Valid values: `1`, `2`.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
        },
        "defaultInformationRouteMap": {
          "type": "string",
          "description": "Default information route map.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric of redistribute routes.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of OSPFv3 neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "ospf6Interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Ospf6Interface:Ospf6Ospf6Interface"
          },
          "description": "OSPF6 interface configuration. The structure of `ospf6_interface` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6PassiveInterface:Ospf6PassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Redistribute:Ospf6Redistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "restartMode": {
          "type": "string",
          "description": "OSPFv3 restart mode (graceful or none). Valid values: `none`, `graceful-restart`.\n"
        },
        "restartOnTopologyChange": {
          "type": "string",
          "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
        },
        "restartPeriod": {
          "type": "integer",
          "description": "Graceful restart period in seconds.\n"
        },
        "routerId": {
          "type": "string",
          "description": "A.B.C.D, in IPv4 address format.\n"
        },
        "spfTimers": {
          "type": "string",
          "description": "SPF calculation frequency.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6SummaryAddress:Ospf6SummaryAddress"
          },
          "description": "IPv6 address summary configuration. The structure of `summary_address` 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": [
        "routerId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ospf6 resources.\n",
        "properties": {
          "abrType": {
            "type": "string",
            "description": "Area border router type. Valid values: `cisco`, `ibm`, `standard`.\n"
          },
          "areas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspf6Area:Ospf6Area"
            },
            "description": "OSPF6 area configuration. The structure of `area` block is documented below.\n"
          },
          "autoCostRefBandwidth": {
            "type": "integer",
            "description": "Reference bandwidth in terms of megabits per second.\n"
          },
          "bfd": {
            "type": "string",
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
          },
          "defaultInformationMetric": {
            "type": "integer",
            "description": "Default information metric.\n"
          },
          "defaultInformationMetricType": {
            "type": "string",
            "description": "Default information metric type. Valid values: `1`, `2`.\n"
          },
          "defaultInformationOriginate": {
            "type": "string",
            "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
          },
          "defaultInformationRouteMap": {
            "type": "string",
            "description": "Default information route map.\n"
          },
          "defaultMetric": {
            "type": "integer",
            "description": "Default metric of redistribute routes.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "logNeighbourChanges": {
            "type": "string",
            "description": "Enable logging of OSPFv3 neighbour's changes Valid values: `enable`, `disable`.\n"
          },
          "ospf6Interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspf6Ospf6Interface:Ospf6Ospf6Interface"
            },
            "description": "OSPF6 interface configuration. The structure of `ospf6_interface` block is documented below.\n"
          },
          "passiveInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspf6PassiveInterface:Ospf6PassiveInterface"
            },
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspf6Redistribute:Ospf6Redistribute"
            },
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
          },
          "restartMode": {
            "type": "string",
            "description": "OSPFv3 restart mode (graceful or none). Valid values: `none`, `graceful-restart`.\n"
          },
          "restartOnTopologyChange": {
            "type": "string",
            "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
          },
          "restartPeriod": {
            "type": "integer",
            "description": "Graceful restart period in seconds.\n"
          },
          "routerId": {
            "type": "string",
            "description": "A.B.C.D, in IPv4 address format.\n"
          },
          "spfTimers": {
            "type": "string",
            "description": "SPF calculation frequency.\n"
          },
          "summaryAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspf6SummaryAddress:Ospf6SummaryAddress"
            },
            "description": "IPv6 address summary configuration. The structure of `summary_address` 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:router/ospf:Ospf": {
      "description": "Configure OSPF.\n\n> The provider supports the definition of Ospf-Interface in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Ospf-Interface resources `fortios.router/ospf.Ospfinterface`, but do not use a `fortios.router.Ospf` with in-line Ospf-Interface in conjunction with any `fortios.router/ospf.Ospfinterface` resources, otherwise conflicts and overwrite will occur.\n\n> The provider supports the definition of Network in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Network resources `fortios.router/ospf.Network`, but do not use a `fortios.router.Ospf` with in-line Network in conjunction with any `fortios.router/ospf.Network` resources, otherwise conflicts and overwrite will occur.\n\n> The provider supports the definition of Neighbor in Router Ospf `fortios.router.Ospf`, and also allows the definition of separate Neighbor resources `fortios.router/ospf.Neighbor`, but do not use a `fortios.router.Ospf` with in-line Neighbor in conjunction with any `fortios.router/ospf.Neighbor` resources, otherwise conflicts and overwrite will occur.\n\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 trname = new fortios.router.Ospf(\"trname\", {\n    abrType: \"standard\",\n    autoCostRefBandwidth: 1000,\n    bfd: \"disable\",\n    databaseOverflow: \"disable\",\n    databaseOverflowMaxLsas: 10000,\n    databaseOverflowTimeToRecover: 300,\n    defaultInformationMetric: 10,\n    defaultInformationMetricType: \"2\",\n    defaultInformationOriginate: \"disable\",\n    defaultMetric: 10,\n    distance: 110,\n    distanceExternal: 110,\n    distanceInterArea: 110,\n    distanceIntraArea: 110,\n    logNeighbourChanges: \"enable\",\n    redistributes: [\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"connected\",\n            status: \"disable\",\n            tag: 0,\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"static\",\n            status: \"disable\",\n            tag: 0,\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"rip\",\n            status: \"disable\",\n            tag: 0,\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"bgp\",\n            status: \"disable\",\n            tag: 0,\n        },\n        {\n            metric: 0,\n            metricType: \"2\",\n            name: \"isis\",\n            status: \"disable\",\n            tag: 0,\n        },\n    ],\n    restartMode: \"none\",\n    restartPeriod: 120,\n    rfc1583Compatible: \"disable\",\n    routerId: \"0.0.0.0\",\n    spfTimers: \"5 10\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Ospf(\"trname\",\n    abr_type=\"standard\",\n    auto_cost_ref_bandwidth=1000,\n    bfd=\"disable\",\n    database_overflow=\"disable\",\n    database_overflow_max_lsas=10000,\n    database_overflow_time_to_recover=300,\n    default_information_metric=10,\n    default_information_metric_type=\"2\",\n    default_information_originate=\"disable\",\n    default_metric=10,\n    distance=110,\n    distance_external=110,\n    distance_inter_area=110,\n    distance_intra_area=110,\n    log_neighbour_changes=\"enable\",\n    redistributes=[\n        fortios.router.OspfRedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"connected\",\n            status=\"disable\",\n            tag=0,\n        ),\n        fortios.router.OspfRedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"static\",\n            status=\"disable\",\n            tag=0,\n        ),\n        fortios.router.OspfRedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"rip\",\n            status=\"disable\",\n            tag=0,\n        ),\n        fortios.router.OspfRedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"bgp\",\n            status=\"disable\",\n            tag=0,\n        ),\n        fortios.router.OspfRedistributeArgs(\n            metric=0,\n            metric_type=\"2\",\n            name=\"isis\",\n            status=\"disable\",\n            tag=0,\n        ),\n    ],\n    restart_mode=\"none\",\n    restart_period=120,\n    rfc1583_compatible=\"disable\",\n    router_id=\"0.0.0.0\",\n    spf_timers=\"5 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.Router.OspfRouter(\"trname\", new()\n    {\n        AbrType = \"standard\",\n        AutoCostRefBandwidth = 1000,\n        Bfd = \"disable\",\n        DatabaseOverflow = \"disable\",\n        DatabaseOverflowMaxLsas = 10000,\n        DatabaseOverflowTimeToRecover = 300,\n        DefaultInformationMetric = 10,\n        DefaultInformationMetricType = \"2\",\n        DefaultInformationOriginate = \"disable\",\n        DefaultMetric = 10,\n        Distance = 110,\n        DistanceExternal = 110,\n        DistanceInterArea = 110,\n        DistanceIntraArea = 110,\n        LogNeighbourChanges = \"enable\",\n        Redistributes = new[]\n        {\n            new Fortios.Router.Inputs.OspfRedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"connected\",\n                Status = \"disable\",\n                Tag = 0,\n            },\n            new Fortios.Router.Inputs.OspfRedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"static\",\n                Status = \"disable\",\n                Tag = 0,\n            },\n            new Fortios.Router.Inputs.OspfRedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"rip\",\n                Status = \"disable\",\n                Tag = 0,\n            },\n            new Fortios.Router.Inputs.OspfRedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"bgp\",\n                Status = \"disable\",\n                Tag = 0,\n            },\n            new Fortios.Router.Inputs.OspfRedistributeArgs\n            {\n                Metric = 0,\n                MetricType = \"2\",\n                Name = \"isis\",\n                Status = \"disable\",\n                Tag = 0,\n            },\n        },\n        RestartMode = \"none\",\n        RestartPeriod = 120,\n        Rfc1583Compatible = \"disable\",\n        RouterId = \"0.0.0.0\",\n        SpfTimers = \"5 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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewOspf(ctx, \"trname\", &router.OspfArgs{\n\t\t\tAbrType:                       pulumi.String(\"standard\"),\n\t\t\tAutoCostRefBandwidth:          pulumi.Int(1000),\n\t\t\tBfd:                           pulumi.String(\"disable\"),\n\t\t\tDatabaseOverflow:              pulumi.String(\"disable\"),\n\t\t\tDatabaseOverflowMaxLsas:       pulumi.Int(10000),\n\t\t\tDatabaseOverflowTimeToRecover: pulumi.Int(300),\n\t\t\tDefaultInformationMetric:      pulumi.Int(10),\n\t\t\tDefaultInformationMetricType:  pulumi.String(\"2\"),\n\t\t\tDefaultInformationOriginate:   pulumi.String(\"disable\"),\n\t\t\tDefaultMetric:                 pulumi.Int(10),\n\t\t\tDistance:                      pulumi.Int(110),\n\t\t\tDistanceExternal:              pulumi.Int(110),\n\t\t\tDistanceInterArea:             pulumi.Int(110),\n\t\t\tDistanceIntraArea:             pulumi.Int(110),\n\t\t\tLogNeighbourChanges:           pulumi.String(\"enable\"),\n\t\t\tRedistributes: router.OspfRedistributeArray{\n\t\t\t\t&router.OspfRedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"connected\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t\tTag:        pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t&router.OspfRedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"static\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t\tTag:        pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t&router.OspfRedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"rip\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t\tTag:        pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t&router.OspfRedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"bgp\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t\tTag:        pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t&router.OspfRedistributeArgs{\n\t\t\t\t\tMetric:     pulumi.Int(0),\n\t\t\t\t\tMetricType: pulumi.String(\"2\"),\n\t\t\t\t\tName:       pulumi.String(\"isis\"),\n\t\t\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\t\t\tTag:        pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRestartMode:       pulumi.String(\"none\"),\n\t\t\tRestartPeriod:     pulumi.Int(120),\n\t\t\tRfc1583Compatible: pulumi.String(\"disable\"),\n\t\t\tRouterId:          pulumi.String(\"0.0.0.0\"),\n\t\t\tSpfTimers:         pulumi.String(\"5 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.router.Ospf;\nimport com.pulumi.fortios.router.OspfArgs;\nimport com.pulumi.fortios.router.inputs.OspfRedistributeArgs;\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 Ospf(\"trname\", OspfArgs.builder()\n            .abrType(\"standard\")\n            .autoCostRefBandwidth(1000)\n            .bfd(\"disable\")\n            .databaseOverflow(\"disable\")\n            .databaseOverflowMaxLsas(10000)\n            .databaseOverflowTimeToRecover(300)\n            .defaultInformationMetric(10)\n            .defaultInformationMetricType(\"2\")\n            .defaultInformationOriginate(\"disable\")\n            .defaultMetric(10)\n            .distance(110)\n            .distanceExternal(110)\n            .distanceInterArea(110)\n            .distanceIntraArea(110)\n            .logNeighbourChanges(\"enable\")\n            .redistributes(            \n                OspfRedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .tag(0)\n                    .build(),\n                OspfRedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .tag(0)\n                    .build(),\n                OspfRedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"rip\")\n                    .status(\"disable\")\n                    .tag(0)\n                    .build(),\n                OspfRedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"bgp\")\n                    .status(\"disable\")\n                    .tag(0)\n                    .build(),\n                OspfRedistributeArgs.builder()\n                    .metric(0)\n                    .metricType(\"2\")\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .tag(0)\n                    .build())\n            .restartMode(\"none\")\n            .restartPeriod(120)\n            .rfc1583Compatible(\"disable\")\n            .routerId(\"0.0.0.0\")\n            .spfTimers(\"5 10\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Ospf\n    properties:\n      abrType: standard\n      autoCostRefBandwidth: 1000\n      bfd: disable\n      databaseOverflow: disable\n      databaseOverflowMaxLsas: 10000\n      databaseOverflowTimeToRecover: 300\n      defaultInformationMetric: 10\n      defaultInformationMetricType: '2'\n      defaultInformationOriginate: disable\n      defaultMetric: 10\n      distance: 110\n      distanceExternal: 110\n      distanceInterArea: 110\n      distanceIntraArea: 110\n      logNeighbourChanges: enable\n      redistributes:\n        - metric: 0\n          metricType: '2'\n          name: connected\n          status: disable\n          tag: 0\n        - metric: 0\n          metricType: '2'\n          name: static\n          status: disable\n          tag: 0\n        - metric: 0\n          metricType: '2'\n          name: rip\n          status: disable\n          tag: 0\n        - metric: 0\n          metricType: '2'\n          name: bgp\n          status: disable\n          tag: 0\n        - metric: 0\n          metricType: '2'\n          name: isis\n          status: disable\n          tag: 0\n      restartMode: none\n      restartPeriod: 120\n      rfc1583Compatible: disable\n      routerId: 0.0.0.0\n      spfTimers: 5 10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Ospf can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ospf:Ospf labelname RouterOspf\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:router/ospf:Ospf labelname RouterOspf\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "abrType": {
          "type": "string",
          "description": "Area border router type. Valid values: `cisco`, `ibm`, `shortcut`, `standard`.\n"
        },
        "areas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfArea:OspfArea"
          },
          "description": "OSPF area configuration. The structure of `area` block is documented below.\n"
        },
        "autoCostRefBandwidth": {
          "type": "integer",
          "description": "Reference bandwidth in terms of megabits per second.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "databaseOverflow": {
          "type": "string",
          "description": "Enable/disable database overflow. Valid values: `enable`, `disable`.\n"
        },
        "databaseOverflowMaxLsas": {
          "type": "integer",
          "description": "Database overflow maximum LSAs.\n"
        },
        "databaseOverflowTimeToRecover": {
          "type": "integer",
          "description": "Database overflow time to recover (sec).\n"
        },
        "defaultInformationMetric": {
          "type": "integer",
          "description": "Default information metric.\n"
        },
        "defaultInformationMetricType": {
          "type": "string",
          "description": "Default information metric type. Valid values: `1`, `2`.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
        },
        "defaultInformationRouteMap": {
          "type": "string",
          "description": "Default information route map.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric of redistribute routes.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance of the route.\n"
        },
        "distanceExternal": {
          "type": "integer",
          "description": "Administrative external distance.\n"
        },
        "distanceInterArea": {
          "type": "integer",
          "description": "Administrative inter-area distance.\n"
        },
        "distanceIntraArea": {
          "type": "integer",
          "description": "Administrative intra-area distance.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter incoming routes.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfDistributeList:OspfDistributeList"
          },
          "description": "Distribute list configuration. The structure of `distribute_list` block is documented below.\n"
        },
        "distributeRouteMapIn": {
          "type": "string",
          "description": "Filter incoming external routes by route-map.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of OSPF neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfNeighbor:OspfNeighbor"
          },
          "description": "OSPF neighbor configuration are used when OSPF runs on non-broadcast media The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfNetwork:OspfNetwork"
          },
          "description": "OSPF network configuration. The structure of `network` block is documented below.\n"
        },
        "ospfInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfOspfInterface:OspfOspfInterface"
          },
          "description": "OSPF interface configuration. The structure of `ospf_interface` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfPassiveInterface:OspfPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfRedistribute:OspfRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "restartMode": {
          "type": "string",
          "description": "OSPF restart mode (graceful or LLS). Valid values: `none`, `lls`, `graceful-restart`.\n"
        },
        "restartOnTopologyChange": {
          "type": "string",
          "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
        },
        "restartPeriod": {
          "type": "integer",
          "description": "Graceful restart period.\n"
        },
        "rfc1583Compatible": {
          "type": "string",
          "description": "Enable/disable RFC1583 compatibility. Valid values: `enable`, `disable`.\n"
        },
        "routerId": {
          "type": "string",
          "description": "Router ID.\n"
        },
        "spfTimers": {
          "type": "string",
          "description": "SPF calculation frequency.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfSummaryAddress:OspfSummaryAddress"
          },
          "description": "IP address summary configuration. The structure of `summary_address` 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": [
        "abrType",
        "autoCostRefBandwidth",
        "bfd",
        "databaseOverflow",
        "databaseOverflowMaxLsas",
        "databaseOverflowTimeToRecover",
        "defaultInformationMetric",
        "defaultInformationMetricType",
        "defaultInformationOriginate",
        "defaultInformationRouteMap",
        "defaultMetric",
        "distance",
        "distanceExternal",
        "distanceInterArea",
        "distanceIntraArea",
        "distributeListIn",
        "distributeRouteMapIn",
        "logNeighbourChanges",
        "restartMode",
        "restartOnTopologyChange",
        "restartPeriod",
        "rfc1583Compatible",
        "routerId",
        "spfTimers",
        "vdomparam"
      ],
      "language": {
        "csharp": {
          "name": "OspfRouter"
        }
      },
      "inputProperties": {
        "abrType": {
          "type": "string",
          "description": "Area border router type. Valid values: `cisco`, `ibm`, `shortcut`, `standard`.\n"
        },
        "areas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfArea:OspfArea"
          },
          "description": "OSPF area configuration. The structure of `area` block is documented below.\n"
        },
        "autoCostRefBandwidth": {
          "type": "integer",
          "description": "Reference bandwidth in terms of megabits per second.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "databaseOverflow": {
          "type": "string",
          "description": "Enable/disable database overflow. Valid values: `enable`, `disable`.\n"
        },
        "databaseOverflowMaxLsas": {
          "type": "integer",
          "description": "Database overflow maximum LSAs.\n"
        },
        "databaseOverflowTimeToRecover": {
          "type": "integer",
          "description": "Database overflow time to recover (sec).\n"
        },
        "defaultInformationMetric": {
          "type": "integer",
          "description": "Default information metric.\n"
        },
        "defaultInformationMetricType": {
          "type": "string",
          "description": "Default information metric type. Valid values: `1`, `2`.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
        },
        "defaultInformationRouteMap": {
          "type": "string",
          "description": "Default information route map.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric of redistribute routes.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance of the route.\n"
        },
        "distanceExternal": {
          "type": "integer",
          "description": "Administrative external distance.\n"
        },
        "distanceInterArea": {
          "type": "integer",
          "description": "Administrative inter-area distance.\n"
        },
        "distanceIntraArea": {
          "type": "integer",
          "description": "Administrative intra-area distance.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter incoming routes.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfDistributeList:OspfDistributeList"
          },
          "description": "Distribute list configuration. The structure of `distribute_list` block is documented below.\n"
        },
        "distributeRouteMapIn": {
          "type": "string",
          "description": "Filter incoming external routes by route-map.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "logNeighbourChanges": {
          "type": "string",
          "description": "Enable logging of OSPF neighbour's changes Valid values: `enable`, `disable`.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfNeighbor:OspfNeighbor"
          },
          "description": "OSPF neighbor configuration are used when OSPF runs on non-broadcast media The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfNetwork:OspfNetwork"
          },
          "description": "OSPF network configuration. The structure of `network` block is documented below.\n"
        },
        "ospfInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfOspfInterface:OspfOspfInterface"
          },
          "description": "OSPF interface configuration. The structure of `ospf_interface` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfPassiveInterface:OspfPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfRedistribute:OspfRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "restartMode": {
          "type": "string",
          "description": "OSPF restart mode (graceful or LLS). Valid values: `none`, `lls`, `graceful-restart`.\n"
        },
        "restartOnTopologyChange": {
          "type": "string",
          "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
        },
        "restartPeriod": {
          "type": "integer",
          "description": "Graceful restart period.\n"
        },
        "rfc1583Compatible": {
          "type": "string",
          "description": "Enable/disable RFC1583 compatibility. Valid values: `enable`, `disable`.\n"
        },
        "routerId": {
          "type": "string",
          "description": "Router ID.\n"
        },
        "spfTimers": {
          "type": "string",
          "description": "SPF calculation frequency.\n"
        },
        "summaryAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfSummaryAddress:OspfSummaryAddress"
          },
          "description": "IP address summary configuration. The structure of `summary_address` 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": [
        "routerId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ospf resources.\n",
        "properties": {
          "abrType": {
            "type": "string",
            "description": "Area border router type. Valid values: `cisco`, `ibm`, `shortcut`, `standard`.\n"
          },
          "areas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfArea:OspfArea"
            },
            "description": "OSPF area configuration. The structure of `area` block is documented below.\n"
          },
          "autoCostRefBandwidth": {
            "type": "integer",
            "description": "Reference bandwidth in terms of megabits per second.\n"
          },
          "bfd": {
            "type": "string",
            "description": "Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
          },
          "databaseOverflow": {
            "type": "string",
            "description": "Enable/disable database overflow. Valid values: `enable`, `disable`.\n"
          },
          "databaseOverflowMaxLsas": {
            "type": "integer",
            "description": "Database overflow maximum LSAs.\n"
          },
          "databaseOverflowTimeToRecover": {
            "type": "integer",
            "description": "Database overflow time to recover (sec).\n"
          },
          "defaultInformationMetric": {
            "type": "integer",
            "description": "Default information metric.\n"
          },
          "defaultInformationMetricType": {
            "type": "string",
            "description": "Default information metric type. Valid values: `1`, `2`.\n"
          },
          "defaultInformationOriginate": {
            "type": "string",
            "description": "Enable/disable generation of default route. Valid values: `enable`, `always`, `disable`.\n"
          },
          "defaultInformationRouteMap": {
            "type": "string",
            "description": "Default information route map.\n"
          },
          "defaultMetric": {
            "type": "integer",
            "description": "Default metric of redistribute routes.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance of the route.\n"
          },
          "distanceExternal": {
            "type": "integer",
            "description": "Administrative external distance.\n"
          },
          "distanceInterArea": {
            "type": "integer",
            "description": "Administrative inter-area distance.\n"
          },
          "distanceIntraArea": {
            "type": "integer",
            "description": "Administrative intra-area distance.\n"
          },
          "distributeListIn": {
            "type": "string",
            "description": "Filter incoming routes.\n"
          },
          "distributeLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfDistributeList:OspfDistributeList"
            },
            "description": "Distribute list configuration. The structure of `distribute_list` block is documented below.\n"
          },
          "distributeRouteMapIn": {
            "type": "string",
            "description": "Filter incoming external routes by route-map.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "logNeighbourChanges": {
            "type": "string",
            "description": "Enable logging of OSPF neighbour's changes Valid values: `enable`, `disable`.\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfNeighbor:OspfNeighbor"
            },
            "description": "OSPF neighbor configuration are used when OSPF runs on non-broadcast media The structure of `neighbor` block is documented below.\n"
          },
          "networks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfNetwork:OspfNetwork"
            },
            "description": "OSPF network configuration. The structure of `network` block is documented below.\n"
          },
          "ospfInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfOspfInterface:OspfOspfInterface"
            },
            "description": "OSPF interface configuration. The structure of `ospf_interface` block is documented below.\n"
          },
          "passiveInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfPassiveInterface:OspfPassiveInterface"
            },
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfRedistribute:OspfRedistribute"
            },
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
          },
          "restartMode": {
            "type": "string",
            "description": "OSPF restart mode (graceful or LLS). Valid values: `none`, `lls`, `graceful-restart`.\n"
          },
          "restartOnTopologyChange": {
            "type": "string",
            "description": "Enable/disable continuing graceful restart upon topology change. Valid values: `enable`, `disable`.\n"
          },
          "restartPeriod": {
            "type": "integer",
            "description": "Graceful restart period.\n"
          },
          "rfc1583Compatible": {
            "type": "string",
            "description": "Enable/disable RFC1583 compatibility. Valid values: `enable`, `disable`.\n"
          },
          "routerId": {
            "type": "string",
            "description": "Router ID.\n"
          },
          "spfTimers": {
            "type": "string",
            "description": "SPF calculation frequency.\n"
          },
          "summaryAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FOspfSummaryAddress:OspfSummaryAddress"
            },
            "description": "IP address summary configuration. The structure of `summary_address` 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:router/policy6:Policy6": {
      "description": "Configure IPv6 routing 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.router.Policy6(\"trname\", {\n    dst: \"::/0\",\n    endPort: 65535,\n    gateway: \"::\",\n    inputDevice: \"port1\",\n    outputDevice: \"port3\",\n    protocol: 33,\n    seqNum: 1,\n    src: \"2001:db8:85a3::8a2e:370:7334/128\",\n    startPort: 1,\n    status: \"enable\",\n    tos: \"0x00\",\n    tosMask: \"0x00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Policy6(\"trname\",\n    dst=\"::/0\",\n    end_port=65535,\n    gateway=\"::\",\n    input_device=\"port1\",\n    output_device=\"port3\",\n    protocol=33,\n    seq_num=1,\n    src=\"2001:db8:85a3::8a2e:370:7334/128\",\n    start_port=1,\n    status=\"enable\",\n    tos=\"0x00\",\n    tos_mask=\"0x00\")\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.Router.Policy6(\"trname\", new()\n    {\n        Dst = \"::/0\",\n        EndPort = 65535,\n        Gateway = \"::\",\n        InputDevice = \"port1\",\n        OutputDevice = \"port3\",\n        Protocol = 33,\n        SeqNum = 1,\n        Src = \"2001:db8:85a3::8a2e:370:7334/128\",\n        StartPort = 1,\n        Status = \"enable\",\n        Tos = \"0x00\",\n        TosMask = \"0x00\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewPolicy6(ctx, \"trname\", &router.Policy6Args{\n\t\t\tDst:          pulumi.String(\"::/0\"),\n\t\t\tEndPort:      pulumi.Int(65535),\n\t\t\tGateway:      pulumi.String(\"::\"),\n\t\t\tInputDevice:  pulumi.String(\"port1\"),\n\t\t\tOutputDevice: pulumi.String(\"port3\"),\n\t\t\tProtocol:     pulumi.Int(33),\n\t\t\tSeqNum:       pulumi.Int(1),\n\t\t\tSrc:          pulumi.String(\"2001:db8:85a3::8a2e:370:7334/128\"),\n\t\t\tStartPort:    pulumi.Int(1),\n\t\t\tStatus:       pulumi.String(\"enable\"),\n\t\t\tTos:          pulumi.String(\"0x00\"),\n\t\t\tTosMask:      pulumi.String(\"0x00\"),\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.router.Policy6;\nimport com.pulumi.fortios.router.Policy6Args;\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            .dst(\"::/0\")\n            .endPort(65535)\n            .gateway(\"::\")\n            .inputDevice(\"port1\")\n            .outputDevice(\"port3\")\n            .protocol(33)\n            .seqNum(1)\n            .src(\"2001:db8:85a3::8a2e:370:7334/128\")\n            .startPort(1)\n            .status(\"enable\")\n            .tos(\"0x00\")\n            .tosMask(\"0x00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Policy6\n    properties:\n      dst: ::/0\n      endPort: 65535\n      gateway: '::'\n      inputDevice: port1\n      outputDevice: port3\n      protocol: 33\n      seqNum: 1\n      src: 2001:db8:85a3::8a2e:370:7334/128\n      startPort: 1\n      status: enable\n      tos: 0x00\n      tosMask: 0x00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Policy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/policy6:Policy6 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:router/policy6:Policy6 labelname {{seq_num}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IPv6 prefix.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6Dstaddr:Policy6Dstaddr"
          },
          "description": "Destination address name. 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"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number (1 - 65535).\n"
        },
        "endSourcePort": {
          "type": "integer",
          "description": "End source port number (1 - 65535).\n"
        },
        "gateway": {
          "type": "string",
          "description": "IPv6 address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inputDevice": {
          "type": "string",
          "description": "Incoming interface name.\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6InternetServiceCustom:Policy6InternetServiceCustom"
          },
          "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6InternetServiceId:Policy6InternetServiceId"
          },
          "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "outputDevice": {
          "type": "string",
          "description": "Outgoing interface name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n"
        },
        "src": {
          "type": "string",
          "description": "Source IPv6 prefix.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6Srcaddr:Policy6Srcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number (1 - 65535).\n"
        },
        "startSourcePort": {
          "type": "integer",
          "description": "Start source port number (1 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy route. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "dst",
        "dstNegate",
        "endPort",
        "endSourcePort",
        "gateway",
        "inputDevice",
        "inputDeviceNegate",
        "outputDevice",
        "protocol",
        "seqNum",
        "src",
        "srcNegate",
        "startPort",
        "startSourcePort",
        "status",
        "tos",
        "tosMask",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IPv6 prefix.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6Dstaddr:Policy6Dstaddr"
          },
          "description": "Destination address name. 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"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number (1 - 65535).\n"
        },
        "endSourcePort": {
          "type": "integer",
          "description": "End source port number (1 - 65535).\n"
        },
        "gateway": {
          "type": "string",
          "description": "IPv6 address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inputDevice": {
          "type": "string",
          "description": "Incoming interface name.\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6InternetServiceCustom:Policy6InternetServiceCustom"
          },
          "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6InternetServiceId:Policy6InternetServiceId"
          },
          "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "outputDevice": {
          "type": "string",
          "description": "Outgoing interface name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n",
          "willReplaceOnChanges": true
        },
        "src": {
          "type": "string",
          "description": "Source IPv6 prefix.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicy6Srcaddr:Policy6Srcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number (1 - 65535).\n"
        },
        "startSourcePort": {
          "type": "integer",
          "description": "Start source port number (1 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy route. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "inputDevice"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy6 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dst": {
            "type": "string",
            "description": "Destination IPv6 prefix.\n"
          },
          "dstNegate": {
            "type": "string",
            "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicy6Dstaddr:Policy6Dstaddr"
            },
            "description": "Destination address name. 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"
          },
          "endPort": {
            "type": "integer",
            "description": "End destination port number (1 - 65535).\n"
          },
          "endSourcePort": {
            "type": "integer",
            "description": "End source port number (1 - 65535).\n"
          },
          "gateway": {
            "type": "string",
            "description": "IPv6 address of the gateway.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "inputDevice": {
            "type": "string",
            "description": "Incoming interface name.\n"
          },
          "inputDeviceNegate": {
            "type": "string",
            "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicy6InternetServiceCustom:Policy6InternetServiceCustom"
            },
            "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicy6InternetServiceId:Policy6InternetServiceId"
            },
            "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "outputDevice": {
            "type": "string",
            "description": "Outgoing interface name.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Protocol number (0 - 255).\n"
          },
          "seqNum": {
            "type": "integer",
            "description": "Sequence number.\n",
            "willReplaceOnChanges": true
          },
          "src": {
            "type": "string",
            "description": "Source IPv6 prefix.\n"
          },
          "srcNegate": {
            "type": "string",
            "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicy6Srcaddr:Policy6Srcaddr"
            },
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
          },
          "startPort": {
            "type": "integer",
            "description": "Start destination port number (1 - 65535).\n"
          },
          "startSourcePort": {
            "type": "integer",
            "description": "Start source port number (1 - 65535).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy route. 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/policy:Policy": {
      "description": "Configure IPv4 routing 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.router.Policy(\"trname\", {\n    action: \"permit\",\n    dstNegate: \"disable\",\n    endPort: 25,\n    endSourcePort: 65535,\n    gateway: \"0.0.0.0\",\n    inputDevices: [{\n        name: \"port1\",\n    }],\n    outputDevice: \"port2\",\n    protocol: 6,\n    seqNum: 1,\n    srcNegate: \"disable\",\n    startPort: 25,\n    startSourcePort: 0,\n    status: \"enable\",\n    tos: \"0x00\",\n    tosMask: \"0x00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Policy(\"trname\",\n    action=\"permit\",\n    dst_negate=\"disable\",\n    end_port=25,\n    end_source_port=65535,\n    gateway=\"0.0.0.0\",\n    input_devices=[fortios.router.PolicyInputDeviceArgs(\n        name=\"port1\",\n    )],\n    output_device=\"port2\",\n    protocol=6,\n    seq_num=1,\n    src_negate=\"disable\",\n    start_port=25,\n    start_source_port=0,\n    status=\"enable\",\n    tos=\"0x00\",\n    tos_mask=\"0x00\")\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.Router.Policy(\"trname\", new()\n    {\n        Action = \"permit\",\n        DstNegate = \"disable\",\n        EndPort = 25,\n        EndSourcePort = 65535,\n        Gateway = \"0.0.0.0\",\n        InputDevices = new[]\n        {\n            new Fortios.Router.Inputs.PolicyInputDeviceArgs\n            {\n                Name = \"port1\",\n            },\n        },\n        OutputDevice = \"port2\",\n        Protocol = 6,\n        SeqNum = 1,\n        SrcNegate = \"disable\",\n        StartPort = 25,\n        StartSourcePort = 0,\n        Status = \"enable\",\n        Tos = \"0x00\",\n        TosMask = \"0x00\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewPolicy(ctx, \"trname\", &router.PolicyArgs{\n\t\t\tAction:        pulumi.String(\"permit\"),\n\t\t\tDstNegate:     pulumi.String(\"disable\"),\n\t\t\tEndPort:       pulumi.Int(25),\n\t\t\tEndSourcePort: pulumi.Int(65535),\n\t\t\tGateway:       pulumi.String(\"0.0.0.0\"),\n\t\t\tInputDevices: router.PolicyInputDeviceArray{\n\t\t\t\t&router.PolicyInputDeviceArgs{\n\t\t\t\t\tName: pulumi.String(\"port1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutputDevice:    pulumi.String(\"port2\"),\n\t\t\tProtocol:        pulumi.Int(6),\n\t\t\tSeqNum:          pulumi.Int(1),\n\t\t\tSrcNegate:       pulumi.String(\"disable\"),\n\t\t\tStartPort:       pulumi.Int(25),\n\t\t\tStartSourcePort: pulumi.Int(0),\n\t\t\tStatus:          pulumi.String(\"enable\"),\n\t\t\tTos:             pulumi.String(\"0x00\"),\n\t\t\tTosMask:         pulumi.String(\"0x00\"),\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.router.Policy;\nimport com.pulumi.fortios.router.PolicyArgs;\nimport com.pulumi.fortios.router.inputs.PolicyInputDeviceArgs;\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(\"permit\")\n            .dstNegate(\"disable\")\n            .endPort(25)\n            .endSourcePort(65535)\n            .gateway(\"0.0.0.0\")\n            .inputDevices(PolicyInputDeviceArgs.builder()\n                .name(\"port1\")\n                .build())\n            .outputDevice(\"port2\")\n            .protocol(6)\n            .seqNum(1)\n            .srcNegate(\"disable\")\n            .startPort(25)\n            .startSourcePort(0)\n            .status(\"enable\")\n            .tos(\"0x00\")\n            .tosMask(\"0x00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Policy\n    properties:\n      action: permit\n      dstNegate: disable\n      endPort: 25\n      endSourcePort: 65535\n      gateway: 0.0.0.0\n      inputDevices:\n        - name: port1\n      outputDevice: port2\n      protocol: 6\n      seqNum: 1\n      srcNegate: disable\n      startPort: 25\n      startSourcePort: 0\n      status: enable\n      tos: 0x00\n      tosMask: 0x00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Policy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/policy:Policy 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:router/policy:Policy labelname {{seq_num}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyDstaddr:PolicyDstaddr"
          },
          "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyDst:PolicyDst"
          },
          "description": "Destination IP and mask (x.x.x.x/x). The structure of `dst` 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"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number (0 - 65535).\n"
        },
        "endSourcePort": {
          "type": "integer",
          "description": "End source port number (0 - 65535).\n"
        },
        "gateway": {
          "type": "string",
          "description": "IP address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "inputDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInputDevice:PolicyInputDevice"
          },
          "description": "Incoming interface name. The structure of `input_device` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "outputDevice": {
          "type": "string",
          "description": "Outgoing interface name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicySrcaddr:PolicySrcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicySrc:PolicySrc"
          },
          "description": "Source IP and mask (x.x.x.x/x). The structure of `src` block is documented below.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number (0 - 65535).\n"
        },
        "startSourcePort": {
          "type": "integer",
          "description": "Start source port number (0 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy route. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "dstNegate",
        "endPort",
        "endSourcePort",
        "gateway",
        "inputDeviceNegate",
        "outputDevice",
        "protocol",
        "seqNum",
        "srcNegate",
        "startPort",
        "startSourcePort",
        "status",
        "tos",
        "tosMask",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyDstaddr:PolicyDstaddr"
          },
          "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyDst:PolicyDst"
          },
          "description": "Destination IP and mask (x.x.x.x/x). The structure of `dst` 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"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number (0 - 65535).\n"
        },
        "endSourcePort": {
          "type": "integer",
          "description": "End source port number (0 - 65535).\n"
        },
        "gateway": {
          "type": "string",
          "description": "IP address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "inputDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInputDevice:PolicyInputDevice"
          },
          "description": "Incoming interface name. The structure of `input_device` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "outputDevice": {
          "type": "string",
          "description": "Outgoing interface name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n",
          "willReplaceOnChanges": true
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicySrcaddr:PolicySrcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPolicySrc:PolicySrc"
          },
          "description": "Source IP and mask (x.x.x.x/x). The structure of `src` block is documented below.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number (0 - 65535).\n"
        },
        "startSourcePort": {
          "type": "integer",
          "description": "Start source port number (0 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy route. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Policy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action of the policy route. Valid values: `deny`, `permit`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dstNegate": {
            "type": "string",
            "description": "Enable/disable negating destination address match. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicyDstaddr:PolicyDstaddr"
            },
            "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
          },
          "dsts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicyDst:PolicyDst"
            },
            "description": "Destination IP and mask (x.x.x.x/x). The structure of `dst` 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"
          },
          "endPort": {
            "type": "integer",
            "description": "End destination port number (0 - 65535).\n"
          },
          "endSourcePort": {
            "type": "integer",
            "description": "End source port number (0 - 65535).\n"
          },
          "gateway": {
            "type": "string",
            "description": "IP address of the gateway.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "inputDeviceNegate": {
            "type": "string",
            "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
          },
          "inputDevices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicyInputDevice:PolicyInputDevice"
            },
            "description": "Incoming interface name. The structure of `input_device` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
            },
            "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicyInternetServiceId:PolicyInternetServiceId"
            },
            "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "outputDevice": {
            "type": "string",
            "description": "Outgoing interface name.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Protocol number (0 - 255).\n"
          },
          "seqNum": {
            "type": "integer",
            "description": "Sequence number.\n",
            "willReplaceOnChanges": true
          },
          "srcNegate": {
            "type": "string",
            "description": "Enable/disable negating source address match. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicySrcaddr:PolicySrcaddr"
            },
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
          },
          "srcs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPolicySrc:PolicySrc"
            },
            "description": "Source IP and mask (x.x.x.x/x). The structure of `src` block is documented below.\n"
          },
          "startPort": {
            "type": "integer",
            "description": "Start destination port number (0 - 65535).\n"
          },
          "startSourcePort": {
            "type": "integer",
            "description": "Start source port number (0 - 65535).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy route. 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/prefixlist6:Prefixlist6": {
      "description": "Configure IPv6 prefix 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.router.Prefixlist6(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Prefixlist6(\"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.Router.Prefixlist6(\"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewPrefixlist6(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.router.Prefixlist6;\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 Prefixlist6(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Prefixlist6\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter PrefixList6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/prefixlist6:Prefixlist6 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:router/prefixlist6:Prefixlist6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPrefixlist6Rule:Prefixlist6Rule"
          },
          "description": "IPv6 prefix list 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": "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": "Name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPrefixlist6Rule:Prefixlist6Rule"
          },
          "description": "IPv6 prefix list 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 Prefixlist6 resources.\n",
        "properties": {
          "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"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPrefixlist6Rule:Prefixlist6Rule"
            },
            "description": "IPv6 prefix list 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:router/prefixlist:Prefixlist": {
      "description": "Configure IPv4 prefix 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.router.Prefixlist(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Prefixlist(\"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.Router.Prefixlist(\"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewPrefixlist(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.router.Prefixlist;\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 Prefixlist(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Prefixlist\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter PrefixList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/prefixlist:Prefixlist 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:router/prefixlist:Prefixlist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPrefixlistRule:PrefixlistRule"
          },
          "description": "IPv4 prefix list 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": "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": "Name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FPrefixlistRule:PrefixlistRule"
          },
          "description": "IPv4 prefix list 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 Prefixlist resources.\n",
        "properties": {
          "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"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FPrefixlistRule:PrefixlistRule"
            },
            "description": "IPv4 prefix list 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:router/rip:Rip": {
      "description": "Configure RIP.\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.router.Rip(\"trname\", {\n    defaultInformationOriginate: \"disable\",\n    defaultMetric: 1,\n    garbageTimer: 120,\n    maxOutMetric: 0,\n    recvBufferSize: 655360,\n    redistributes: [\n        {\n            metric: 10,\n            name: \"connected\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"static\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"ospf\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"bgp\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"isis\",\n            status: \"disable\",\n        },\n    ],\n    timeoutTimer: 180,\n    updateTimer: 30,\n    version: \"2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Rip(\"trname\",\n    default_information_originate=\"disable\",\n    default_metric=1,\n    garbage_timer=120,\n    max_out_metric=0,\n    recv_buffer_size=655360,\n    redistributes=[\n        fortios.router.RipRedistributeArgs(\n            metric=10,\n            name=\"connected\",\n            status=\"disable\",\n        ),\n        fortios.router.RipRedistributeArgs(\n            metric=10,\n            name=\"static\",\n            status=\"disable\",\n        ),\n        fortios.router.RipRedistributeArgs(\n            metric=10,\n            name=\"ospf\",\n            status=\"disable\",\n        ),\n        fortios.router.RipRedistributeArgs(\n            metric=10,\n            name=\"bgp\",\n            status=\"disable\",\n        ),\n        fortios.router.RipRedistributeArgs(\n            metric=10,\n            name=\"isis\",\n            status=\"disable\",\n        ),\n    ],\n    timeout_timer=180,\n    update_timer=30,\n    version=\"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.Router.Rip(\"trname\", new()\n    {\n        DefaultInformationOriginate = \"disable\",\n        DefaultMetric = 1,\n        GarbageTimer = 120,\n        MaxOutMetric = 0,\n        RecvBufferSize = 655360,\n        Redistributes = new[]\n        {\n            new Fortios.Router.Inputs.RipRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"connected\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"static\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"ospf\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"bgp\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"isis\",\n                Status = \"disable\",\n            },\n        },\n        TimeoutTimer = 180,\n        UpdateTimer = 30,\n        Version = \"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewRip(ctx, \"trname\", &router.RipArgs{\n\t\t\tDefaultInformationOriginate: pulumi.String(\"disable\"),\n\t\t\tDefaultMetric:               pulumi.Int(1),\n\t\t\tGarbageTimer:                pulumi.Int(120),\n\t\t\tMaxOutMetric:                pulumi.Int(0),\n\t\t\tRecvBufferSize:              pulumi.Int(655360),\n\t\t\tRedistributes: router.RipRedistributeArray{\n\t\t\t\t&router.RipRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"connected\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"static\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"ospf\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"bgp\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"isis\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeoutTimer: pulumi.Int(180),\n\t\t\tUpdateTimer:  pulumi.Int(30),\n\t\t\tVersion:      pulumi.String(\"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.router.Rip;\nimport com.pulumi.fortios.router.RipArgs;\nimport com.pulumi.fortios.router.inputs.RipRedistributeArgs;\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 Rip(\"trname\", RipArgs.builder()\n            .defaultInformationOriginate(\"disable\")\n            .defaultMetric(1)\n            .garbageTimer(120)\n            .maxOutMetric(0)\n            .recvBufferSize(655360)\n            .redistributes(            \n                RipRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .build(),\n                RipRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .build(),\n                RipRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"ospf\")\n                    .status(\"disable\")\n                    .build(),\n                RipRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"bgp\")\n                    .status(\"disable\")\n                    .build(),\n                RipRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .build())\n            .timeoutTimer(180)\n            .updateTimer(30)\n            .version(\"2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Rip\n    properties:\n      defaultInformationOriginate: disable\n      defaultMetric: 1\n      garbageTimer: 120\n      maxOutMetric: 0\n      recvBufferSize: 655360\n      redistributes:\n        - metric: 10\n          name: connected\n          status: disable\n        - metric: 10\n          name: static\n          status: disable\n        - metric: 10\n          name: ospf\n          status: disable\n        - metric: 10\n          name: bgp\n          status: disable\n        - metric: 10\n          name: isis\n          status: disable\n      timeoutTimer: 180\n      updateTimer: 30\n      version: '2'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Rip can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/rip:Rip labelname RouterRip\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:router/rip:Rip labelname RouterRip\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric.\n"
        },
        "distances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipDistance:RipDistance"
          },
          "description": "distance The structure of `distance` block is documented below.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipDistributeList:RipDistributeList"
          },
          "description": "Distribute list. The structure of `distribute_list` 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"
        },
        "garbageTimer": {
          "type": "integer",
          "description": "Garbage timer in seconds.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipInterface:RipInterface"
          },
          "description": "RIP interface configuration. The structure of `interface` block is documented below.\n"
        },
        "maxOutMetric": {
          "type": "integer",
          "description": "Maximum metric allowed to output(0 means 'not set').\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipNeighbor:RipNeighbor"
          },
          "description": "neighbor The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipNetwork:RipNetwork"
          },
          "description": "network The structure of `network` block is documented below.\n"
        },
        "offsetLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipOffsetList:RipOffsetList"
          },
          "description": "Offset list. The structure of `offset_list` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipPassiveInterface:RipPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "recvBufferSize": {
          "type": "integer",
          "description": "Receiving buffer size.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipRedistribute:RipRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "timeoutTimer": {
          "type": "integer",
          "description": "Timeout timer in seconds.\n"
        },
        "updateTimer": {
          "type": "integer",
          "description": "Update timer in seconds.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "version": {
          "type": "string",
          "description": "RIP version. Valid values: `1`, `2`.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultInformationOriginate",
        "defaultMetric",
        "garbageTimer",
        "maxOutMetric",
        "recvBufferSize",
        "timeoutTimer",
        "updateTimer",
        "vdomparam",
        "version"
      ],
      "inputProperties": {
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric.\n"
        },
        "distances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipDistance:RipDistance"
          },
          "description": "distance The structure of `distance` block is documented below.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipDistributeList:RipDistributeList"
          },
          "description": "Distribute list. The structure of `distribute_list` 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"
        },
        "garbageTimer": {
          "type": "integer",
          "description": "Garbage timer in seconds.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipInterface:RipInterface"
          },
          "description": "RIP interface configuration. The structure of `interface` block is documented below.\n"
        },
        "maxOutMetric": {
          "type": "integer",
          "description": "Maximum metric allowed to output(0 means 'not set').\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipNeighbor:RipNeighbor"
          },
          "description": "neighbor The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipNetwork:RipNetwork"
          },
          "description": "network The structure of `network` block is documented below.\n"
        },
        "offsetLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipOffsetList:RipOffsetList"
          },
          "description": "Offset list. The structure of `offset_list` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipPassiveInterface:RipPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "recvBufferSize": {
          "type": "integer",
          "description": "Receiving buffer size.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipRedistribute:RipRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "timeoutTimer": {
          "type": "integer",
          "description": "Timeout timer in seconds.\n"
        },
        "updateTimer": {
          "type": "integer",
          "description": "Update timer in seconds.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "version": {
          "type": "string",
          "description": "RIP version. Valid values: `1`, `2`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Rip resources.\n",
        "properties": {
          "defaultInformationOriginate": {
            "type": "string",
            "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
          },
          "defaultMetric": {
            "type": "integer",
            "description": "Default metric.\n"
          },
          "distances": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipDistance:RipDistance"
            },
            "description": "distance The structure of `distance` block is documented below.\n"
          },
          "distributeLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipDistributeList:RipDistributeList"
            },
            "description": "Distribute list. The structure of `distribute_list` 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"
          },
          "garbageTimer": {
            "type": "integer",
            "description": "Garbage timer in seconds.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipInterface:RipInterface"
            },
            "description": "RIP interface configuration. The structure of `interface` block is documented below.\n"
          },
          "maxOutMetric": {
            "type": "integer",
            "description": "Maximum metric allowed to output(0 means 'not set').\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipNeighbor:RipNeighbor"
            },
            "description": "neighbor The structure of `neighbor` block is documented below.\n"
          },
          "networks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipNetwork:RipNetwork"
            },
            "description": "network The structure of `network` block is documented below.\n"
          },
          "offsetLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipOffsetList:RipOffsetList"
            },
            "description": "Offset list. The structure of `offset_list` block is documented below.\n"
          },
          "passiveInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipPassiveInterface:RipPassiveInterface"
            },
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
          },
          "recvBufferSize": {
            "type": "integer",
            "description": "Receiving buffer size.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipRedistribute:RipRedistribute"
            },
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
          },
          "timeoutTimer": {
            "type": "integer",
            "description": "Timeout timer in seconds.\n"
          },
          "updateTimer": {
            "type": "integer",
            "description": "Update timer in seconds.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "version": {
            "type": "string",
            "description": "RIP version. Valid values: `1`, `2`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:router/ripng:Ripng": {
      "description": "Configure RIPng.\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.router.Ripng(\"trname\", {\n    defaultInformationOriginate: \"disable\",\n    defaultMetric: 1,\n    garbageTimer: 120,\n    maxOutMetric: 0,\n    redistributes: [\n        {\n            metric: 10,\n            name: \"connected\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"static\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"ospf\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"bgp\",\n            status: \"disable\",\n        },\n        {\n            metric: 10,\n            name: \"isis\",\n            status: \"disable\",\n        },\n    ],\n    timeoutTimer: 180,\n    updateTimer: 30,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Ripng(\"trname\",\n    default_information_originate=\"disable\",\n    default_metric=1,\n    garbage_timer=120,\n    max_out_metric=0,\n    redistributes=[\n        fortios.router.RipngRedistributeArgs(\n            metric=10,\n            name=\"connected\",\n            status=\"disable\",\n        ),\n        fortios.router.RipngRedistributeArgs(\n            metric=10,\n            name=\"static\",\n            status=\"disable\",\n        ),\n        fortios.router.RipngRedistributeArgs(\n            metric=10,\n            name=\"ospf\",\n            status=\"disable\",\n        ),\n        fortios.router.RipngRedistributeArgs(\n            metric=10,\n            name=\"bgp\",\n            status=\"disable\",\n        ),\n        fortios.router.RipngRedistributeArgs(\n            metric=10,\n            name=\"isis\",\n            status=\"disable\",\n        ),\n    ],\n    timeout_timer=180,\n    update_timer=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.Router.Ripng(\"trname\", new()\n    {\n        DefaultInformationOriginate = \"disable\",\n        DefaultMetric = 1,\n        GarbageTimer = 120,\n        MaxOutMetric = 0,\n        Redistributes = new[]\n        {\n            new Fortios.Router.Inputs.RipngRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"connected\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipngRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"static\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipngRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"ospf\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipngRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"bgp\",\n                Status = \"disable\",\n            },\n            new Fortios.Router.Inputs.RipngRedistributeArgs\n            {\n                Metric = 10,\n                Name = \"isis\",\n                Status = \"disable\",\n            },\n        },\n        TimeoutTimer = 180,\n        UpdateTimer = 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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewRipng(ctx, \"trname\", &router.RipngArgs{\n\t\t\tDefaultInformationOriginate: pulumi.String(\"disable\"),\n\t\t\tDefaultMetric:               pulumi.Int(1),\n\t\t\tGarbageTimer:                pulumi.Int(120),\n\t\t\tMaxOutMetric:                pulumi.Int(0),\n\t\t\tRedistributes: router.RipngRedistributeArray{\n\t\t\t\t&router.RipngRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"connected\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipngRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"static\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipngRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"ospf\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipngRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"bgp\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t\t&router.RipngRedistributeArgs{\n\t\t\t\t\tMetric: pulumi.Int(10),\n\t\t\t\t\tName:   pulumi.String(\"isis\"),\n\t\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeoutTimer: pulumi.Int(180),\n\t\t\tUpdateTimer:  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.router.Ripng;\nimport com.pulumi.fortios.router.RipngArgs;\nimport com.pulumi.fortios.router.inputs.RipngRedistributeArgs;\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 Ripng(\"trname\", RipngArgs.builder()\n            .defaultInformationOriginate(\"disable\")\n            .defaultMetric(1)\n            .garbageTimer(120)\n            .maxOutMetric(0)\n            .redistributes(            \n                RipngRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"connected\")\n                    .status(\"disable\")\n                    .build(),\n                RipngRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"static\")\n                    .status(\"disable\")\n                    .build(),\n                RipngRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"ospf\")\n                    .status(\"disable\")\n                    .build(),\n                RipngRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"bgp\")\n                    .status(\"disable\")\n                    .build(),\n                RipngRedistributeArgs.builder()\n                    .metric(10)\n                    .name(\"isis\")\n                    .status(\"disable\")\n                    .build())\n            .timeoutTimer(180)\n            .updateTimer(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Ripng\n    properties:\n      defaultInformationOriginate: disable\n      defaultMetric: 1\n      garbageTimer: 120\n      maxOutMetric: 0\n      redistributes:\n        - metric: 10\n          name: connected\n          status: disable\n        - metric: 10\n          name: static\n          status: disable\n        - metric: 10\n          name: ospf\n          status: disable\n        - metric: 10\n          name: bgp\n          status: disable\n        - metric: 10\n          name: isis\n          status: disable\n      timeoutTimer: 180\n      updateTimer: 30\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Ripng can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/ripng:Ripng labelname RouterRipng\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:router/ripng:Ripng labelname RouterRipng\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "aggregateAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngAggregateAddress:RipngAggregateAddress"
          },
          "description": "Aggregate address. The structure of `aggregate_address` block is documented below.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric.\n"
        },
        "distances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngDistance:RipngDistance"
          },
          "description": "distance The structure of `distance` block is documented below.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngDistributeList:RipngDistributeList"
          },
          "description": "Distribute list. The structure of `distribute_list` 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"
        },
        "garbageTimer": {
          "type": "integer",
          "description": "Garbage timer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipngInterface:RipngInterface"
          },
          "description": "RIPng interface configuration. The structure of `interface` block is documented below.\n"
        },
        "maxOutMetric": {
          "type": "integer",
          "description": "Maximum metric allowed to output(0 means 'not set').\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngNeighbor:RipngNeighbor"
          },
          "description": "neighbor The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngNetwork:RipngNetwork"
          },
          "description": "Network. The structure of `network` block is documented below.\n"
        },
        "offsetLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngOffsetList:RipngOffsetList"
          },
          "description": "Offset list. The structure of `offset_list` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngPassiveInterface:RipngPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngRedistribute:RipngRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "timeoutTimer": {
          "type": "integer",
          "description": "Timeout timer.\n"
        },
        "updateTimer": {
          "type": "integer",
          "description": "Update timer.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "defaultInformationOriginate",
        "defaultMetric",
        "garbageTimer",
        "maxOutMetric",
        "timeoutTimer",
        "updateTimer",
        "vdomparam"
      ],
      "inputProperties": {
        "aggregateAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngAggregateAddress:RipngAggregateAddress"
          },
          "description": "Aggregate address. The structure of `aggregate_address` block is documented below.\n"
        },
        "defaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
        },
        "defaultMetric": {
          "type": "integer",
          "description": "Default metric.\n"
        },
        "distances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngDistance:RipngDistance"
          },
          "description": "distance The structure of `distance` block is documented below.\n"
        },
        "distributeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngDistributeList:RipngDistributeList"
          },
          "description": "Distribute list. The structure of `distribute_list` 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"
        },
        "garbageTimer": {
          "type": "integer",
          "description": "Garbage timer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipngInterface:RipngInterface"
          },
          "description": "RIPng interface configuration. The structure of `interface` block is documented below.\n"
        },
        "maxOutMetric": {
          "type": "integer",
          "description": "Maximum metric allowed to output(0 means 'not set').\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngNeighbor:RipngNeighbor"
          },
          "description": "neighbor The structure of `neighbor` block is documented below.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngNetwork:RipngNetwork"
          },
          "description": "Network. The structure of `network` block is documented below.\n"
        },
        "offsetLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngOffsetList:RipngOffsetList"
          },
          "description": "Offset list. The structure of `offset_list` block is documented below.\n"
        },
        "passiveInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngPassiveInterface:RipngPassiveInterface"
          },
          "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
        },
        "redistributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRipngRedistribute:RipngRedistribute"
          },
          "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
        },
        "timeoutTimer": {
          "type": "integer",
          "description": "Timeout timer.\n"
        },
        "updateTimer": {
          "type": "integer",
          "description": "Update timer.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ripng resources.\n",
        "properties": {
          "aggregateAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngAggregateAddress:RipngAggregateAddress"
            },
            "description": "Aggregate address. The structure of `aggregate_address` block is documented below.\n"
          },
          "defaultInformationOriginate": {
            "type": "string",
            "description": "Enable/disable generation of default route. Valid values: `enable`, `disable`.\n"
          },
          "defaultMetric": {
            "type": "integer",
            "description": "Default metric.\n"
          },
          "distances": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngDistance:RipngDistance"
            },
            "description": "distance The structure of `distance` block is documented below.\n"
          },
          "distributeLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngDistributeList:RipngDistributeList"
            },
            "description": "Distribute list. The structure of `distribute_list` 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"
          },
          "garbageTimer": {
            "type": "integer",
            "description": "Garbage timer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:router%2FRipngInterface:RipngInterface"
            },
            "description": "RIPng interface configuration. The structure of `interface` block is documented below.\n"
          },
          "maxOutMetric": {
            "type": "integer",
            "description": "Maximum metric allowed to output(0 means 'not set').\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngNeighbor:RipngNeighbor"
            },
            "description": "neighbor The structure of `neighbor` block is documented below.\n"
          },
          "networks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngNetwork:RipngNetwork"
            },
            "description": "Network. The structure of `network` block is documented below.\n"
          },
          "offsetLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngOffsetList:RipngOffsetList"
            },
            "description": "Offset list. The structure of `offset_list` block is documented below.\n"
          },
          "passiveInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngPassiveInterface:RipngPassiveInterface"
            },
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n"
          },
          "redistributes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRipngRedistribute:RipngRedistribute"
            },
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n"
          },
          "timeoutTimer": {
            "type": "integer",
            "description": "Timeout timer.\n"
          },
          "updateTimer": {
            "type": "integer",
            "description": "Update timer.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/routemap:Routemap": {
      "description": "Configure route maps.\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.router.Routemap(\"trname\", {rules: [{\n    action: \"deny\",\n    matchCommunityExact: \"disable\",\n    matchFlags: 0,\n    matchMetric: 0,\n    matchOrigin: \"none\",\n    matchRouteType: \"No type specified\",\n    matchTag: 0,\n    setAggregatorAs: 0,\n    setAggregatorIp: \"0.0.0.0\",\n    setAspathAction: \"prepend\",\n    setAtomicAggregate: \"disable\",\n    setCommunityAdditive: \"disable\",\n    setDampeningMaxSuppress: 0,\n    setDampeningReachabilityHalfLife: 0,\n    setDampeningReuse: 0,\n    setDampeningSuppress: 0,\n    setDampeningUnreachabilityHalfLife: 0,\n    setFlags: 128,\n    setIp6Nexthop: \"::\",\n    setIp6NexthopLocal: \"::\",\n    setIpNexthop: \"0.0.0.0\",\n    setLocalPreference: 0,\n    setMetric: 0,\n    setMetricType: \"No type specified\",\n    setOrigin: \"none\",\n    setOriginatorId: \"0.0.0.0\",\n    setRouteTag: 0,\n    setTag: 0,\n    setWeight: 21,\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Routemap(\"trname\", rules=[fortios.router.RoutemapRuleArgs(\n    action=\"deny\",\n    match_community_exact=\"disable\",\n    match_flags=0,\n    match_metric=0,\n    match_origin=\"none\",\n    match_route_type=\"No type specified\",\n    match_tag=0,\n    set_aggregator_as=0,\n    set_aggregator_ip=\"0.0.0.0\",\n    set_aspath_action=\"prepend\",\n    set_atomic_aggregate=\"disable\",\n    set_community_additive=\"disable\",\n    set_dampening_max_suppress=0,\n    set_dampening_reachability_half_life=0,\n    set_dampening_reuse=0,\n    set_dampening_suppress=0,\n    set_dampening_unreachability_half_life=0,\n    set_flags=128,\n    set_ip6_nexthop=\"::\",\n    set_ip6_nexthop_local=\"::\",\n    set_ip_nexthop=\"0.0.0.0\",\n    set_local_preference=0,\n    set_metric=0,\n    set_metric_type=\"No type specified\",\n    set_origin=\"none\",\n    set_originator_id=\"0.0.0.0\",\n    set_route_tag=0,\n    set_tag=0,\n    set_weight=21,\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.Router.Routemap(\"trname\", new()\n    {\n        Rules = new[]\n        {\n            new Fortios.Router.Inputs.RoutemapRuleArgs\n            {\n                Action = \"deny\",\n                MatchCommunityExact = \"disable\",\n                MatchFlags = 0,\n                MatchMetric = 0,\n                MatchOrigin = \"none\",\n                MatchRouteType = \"No type specified\",\n                MatchTag = 0,\n                SetAggregatorAs = 0,\n                SetAggregatorIp = \"0.0.0.0\",\n                SetAspathAction = \"prepend\",\n                SetAtomicAggregate = \"disable\",\n                SetCommunityAdditive = \"disable\",\n                SetDampeningMaxSuppress = 0,\n                SetDampeningReachabilityHalfLife = 0,\n                SetDampeningReuse = 0,\n                SetDampeningSuppress = 0,\n                SetDampeningUnreachabilityHalfLife = 0,\n                SetFlags = 128,\n                SetIp6Nexthop = \"::\",\n                SetIp6NexthopLocal = \"::\",\n                SetIpNexthop = \"0.0.0.0\",\n                SetLocalPreference = 0,\n                SetMetric = 0,\n                SetMetricType = \"No type specified\",\n                SetOrigin = \"none\",\n                SetOriginatorId = \"0.0.0.0\",\n                SetRouteTag = 0,\n                SetTag = 0,\n                SetWeight = 21,\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewRoutemap(ctx, \"trname\", &router.RoutemapArgs{\n\t\t\tRules: router.RoutemapRuleArray{\n\t\t\t\t&router.RoutemapRuleArgs{\n\t\t\t\t\tAction:                             pulumi.String(\"deny\"),\n\t\t\t\t\tMatchCommunityExact:                pulumi.String(\"disable\"),\n\t\t\t\t\tMatchFlags:                         pulumi.Int(0),\n\t\t\t\t\tMatchMetric:                        pulumi.Int(0),\n\t\t\t\t\tMatchOrigin:                        pulumi.String(\"none\"),\n\t\t\t\t\tMatchRouteType:                     pulumi.String(\"No type specified\"),\n\t\t\t\t\tMatchTag:                           pulumi.Int(0),\n\t\t\t\t\tSetAggregatorAs:                    pulumi.Int(0),\n\t\t\t\t\tSetAggregatorIp:                    pulumi.String(\"0.0.0.0\"),\n\t\t\t\t\tSetAspathAction:                    pulumi.String(\"prepend\"),\n\t\t\t\t\tSetAtomicAggregate:                 pulumi.String(\"disable\"),\n\t\t\t\t\tSetCommunityAdditive:               pulumi.String(\"disable\"),\n\t\t\t\t\tSetDampeningMaxSuppress:            pulumi.Int(0),\n\t\t\t\t\tSetDampeningReachabilityHalfLife:   pulumi.Int(0),\n\t\t\t\t\tSetDampeningReuse:                  pulumi.Int(0),\n\t\t\t\t\tSetDampeningSuppress:               pulumi.Int(0),\n\t\t\t\t\tSetDampeningUnreachabilityHalfLife: pulumi.Int(0),\n\t\t\t\t\tSetFlags:                           pulumi.Int(128),\n\t\t\t\t\tSetIp6Nexthop:                      pulumi.String(\"::\"),\n\t\t\t\t\tSetIp6NexthopLocal:                 pulumi.String(\"::\"),\n\t\t\t\t\tSetIpNexthop:                       pulumi.String(\"0.0.0.0\"),\n\t\t\t\t\tSetLocalPreference:                 pulumi.Int(0),\n\t\t\t\t\tSetMetric:                          pulumi.Int(0),\n\t\t\t\t\tSetMetricType:                      pulumi.String(\"No type specified\"),\n\t\t\t\t\tSetOrigin:                          pulumi.String(\"none\"),\n\t\t\t\t\tSetOriginatorId:                    pulumi.String(\"0.0.0.0\"),\n\t\t\t\t\tSetRouteTag:                        pulumi.Int(0),\n\t\t\t\t\tSetTag:                             pulumi.Int(0),\n\t\t\t\t\tSetWeight:                          pulumi.Int(21),\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.router.Routemap;\nimport com.pulumi.fortios.router.RoutemapArgs;\nimport com.pulumi.fortios.router.inputs.RoutemapRuleArgs;\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 Routemap(\"trname\", RoutemapArgs.builder()\n            .rules(RoutemapRuleArgs.builder()\n                .action(\"deny\")\n                .matchCommunityExact(\"disable\")\n                .matchFlags(0)\n                .matchMetric(0)\n                .matchOrigin(\"none\")\n                .matchRouteType(\"No type specified\")\n                .matchTag(0)\n                .setAggregatorAs(0)\n                .setAggregatorIp(\"0.0.0.0\")\n                .setAspathAction(\"prepend\")\n                .setAtomicAggregate(\"disable\")\n                .setCommunityAdditive(\"disable\")\n                .setDampeningMaxSuppress(0)\n                .setDampeningReachabilityHalfLife(0)\n                .setDampeningReuse(0)\n                .setDampeningSuppress(0)\n                .setDampeningUnreachabilityHalfLife(0)\n                .setFlags(128)\n                .setIp6Nexthop(\"::\")\n                .setIp6NexthopLocal(\"::\")\n                .setIpNexthop(\"0.0.0.0\")\n                .setLocalPreference(0)\n                .setMetric(0)\n                .setMetricType(\"No type specified\")\n                .setOrigin(\"none\")\n                .setOriginatorId(\"0.0.0.0\")\n                .setRouteTag(0)\n                .setTag(0)\n                .setWeight(21)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Routemap\n    properties:\n      rules:\n        - action: deny\n          matchCommunityExact: disable\n          matchFlags: 0\n          matchMetric: 0\n          matchOrigin: none\n          matchRouteType: No type specified\n          matchTag: 0\n          setAggregatorAs: 0\n          setAggregatorIp: 0.0.0.0\n          setAspathAction: prepend\n          setAtomicAggregate: disable\n          setCommunityAdditive: disable\n          setDampeningMaxSuppress: 0\n          setDampeningReachabilityHalfLife: 0\n          setDampeningReuse: 0\n          setDampeningSuppress: 0\n          setDampeningUnreachabilityHalfLife: 0\n          setFlags: 128\n          setIp6Nexthop: '::'\n          setIp6NexthopLocal: '::'\n          setIpNexthop: 0.0.0.0\n          setLocalPreference: 0\n          setMetric: 0\n          setMetricType: No type specified\n          setOrigin: none\n          setOriginatorId: 0.0.0.0\n          setRouteTag: 0\n          setTag: 0\n          setWeight: 21\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter RouteMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/routemap:Routemap 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:router/routemap:Routemap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "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"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRule:RoutemapRule"
          },
          "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": "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"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRule:RoutemapRule"
          },
          "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 Routemap resources.\n",
        "properties": {
          "comments": {
            "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"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FRoutemapRule:RoutemapRule"
            },
            "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:router/setting:Setting": {
      "description": "Configure router 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.router.Setting(\"trname\", {hostname: \"s1\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Setting(\"trname\", hostname=\"s1\")\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.Router.Setting(\"trname\", new()\n    {\n        Hostname = \"s1\",\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewSetting(ctx, \"trname\", &router.SettingArgs{\n\t\t\tHostname: pulumi.String(\"s1\"),\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.router.Setting;\nimport com.pulumi.fortios.router.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            .hostname(\"s1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Setting\n    properties:\n      hostname: s1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/setting:Setting labelname RouterSetting\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:router/setting:Setting labelname RouterSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bgpDebugFlags": {
          "type": "string",
          "description": "bgp_debug_flags\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname for this virtual domain router.\n"
        },
        "igmpDebugFlags": {
          "type": "string",
          "description": "igmp_debug_flags\n"
        },
        "imiDebugFlags": {
          "type": "string",
          "description": "imi_debug_flags\n"
        },
        "isisDebugFlags": {
          "type": "string",
          "description": "isis_debug_flags\n"
        },
        "ospf6DebugEventsFlags": {
          "type": "string",
          "description": "ospf6_debug_events_flags\n"
        },
        "ospf6DebugIfsmFlags": {
          "type": "string",
          "description": "ospf6_debug_ifsm_flags\n"
        },
        "ospf6DebugLsaFlags": {
          "type": "string",
          "description": "ospf6_debug_lsa_flags\n"
        },
        "ospf6DebugNfsmFlags": {
          "type": "string",
          "description": "ospf6_debug_nfsm_flags\n"
        },
        "ospf6DebugNsmFlags": {
          "type": "string",
          "description": "ospf6_debug_nsm_flags\n"
        },
        "ospf6DebugPacketFlags": {
          "type": "string",
          "description": "ospf6_debug_packet_flags\n"
        },
        "ospf6DebugRouteFlags": {
          "type": "string",
          "description": "ospf6_debug_route_flags\n"
        },
        "ospfDebugEventsFlags": {
          "type": "string",
          "description": "ospf_debug_events_flags\n"
        },
        "ospfDebugIfsmFlags": {
          "type": "string",
          "description": "ospf_debug_ifsm_flags\n"
        },
        "ospfDebugLsaFlags": {
          "type": "string",
          "description": "ospf_debug_lsa_flags\n"
        },
        "ospfDebugNfsmFlags": {
          "type": "string",
          "description": "ospf_debug_nfsm_flags\n"
        },
        "ospfDebugNsmFlags": {
          "type": "string",
          "description": "ospf_debug_nsm_flags\n"
        },
        "ospfDebugPacketFlags": {
          "type": "string",
          "description": "ospf_debug_packet_flags\n"
        },
        "ospfDebugRouteFlags": {
          "type": "string",
          "description": "ospf_debug_route_flags\n"
        },
        "pimdmDebugFlags": {
          "type": "string",
          "description": "pimdm_debug_flags\n"
        },
        "pimsmDebugJoinpruneFlags": {
          "type": "string",
          "description": "pimsm_debug_joinprune_flags\n"
        },
        "pimsmDebugSimpleFlags": {
          "type": "string",
          "description": "pimsm_debug_simple_flags\n"
        },
        "pimsmDebugTimerFlags": {
          "type": "string",
          "description": "pimsm_debug_timer_flags\n"
        },
        "ripDebugFlags": {
          "type": "string",
          "description": "rip_debug_flags\n"
        },
        "ripngDebugFlags": {
          "type": "string",
          "description": "ripng_debug_flags\n"
        },
        "showFilter": {
          "type": "string",
          "description": "Prefix-list as filter for showing routes.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "bgpDebugFlags",
        "hostname",
        "igmpDebugFlags",
        "imiDebugFlags",
        "isisDebugFlags",
        "ospf6DebugEventsFlags",
        "ospf6DebugIfsmFlags",
        "ospf6DebugLsaFlags",
        "ospf6DebugNfsmFlags",
        "ospf6DebugNsmFlags",
        "ospf6DebugPacketFlags",
        "ospf6DebugRouteFlags",
        "ospfDebugEventsFlags",
        "ospfDebugIfsmFlags",
        "ospfDebugLsaFlags",
        "ospfDebugNfsmFlags",
        "ospfDebugNsmFlags",
        "ospfDebugPacketFlags",
        "ospfDebugRouteFlags",
        "pimdmDebugFlags",
        "pimsmDebugJoinpruneFlags",
        "pimsmDebugSimpleFlags",
        "pimsmDebugTimerFlags",
        "ripDebugFlags",
        "ripngDebugFlags",
        "showFilter",
        "vdomparam"
      ],
      "inputProperties": {
        "bgpDebugFlags": {
          "type": "string",
          "description": "bgp_debug_flags\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname for this virtual domain router.\n"
        },
        "igmpDebugFlags": {
          "type": "string",
          "description": "igmp_debug_flags\n"
        },
        "imiDebugFlags": {
          "type": "string",
          "description": "imi_debug_flags\n"
        },
        "isisDebugFlags": {
          "type": "string",
          "description": "isis_debug_flags\n"
        },
        "ospf6DebugEventsFlags": {
          "type": "string",
          "description": "ospf6_debug_events_flags\n"
        },
        "ospf6DebugIfsmFlags": {
          "type": "string",
          "description": "ospf6_debug_ifsm_flags\n"
        },
        "ospf6DebugLsaFlags": {
          "type": "string",
          "description": "ospf6_debug_lsa_flags\n"
        },
        "ospf6DebugNfsmFlags": {
          "type": "string",
          "description": "ospf6_debug_nfsm_flags\n"
        },
        "ospf6DebugNsmFlags": {
          "type": "string",
          "description": "ospf6_debug_nsm_flags\n"
        },
        "ospf6DebugPacketFlags": {
          "type": "string",
          "description": "ospf6_debug_packet_flags\n"
        },
        "ospf6DebugRouteFlags": {
          "type": "string",
          "description": "ospf6_debug_route_flags\n"
        },
        "ospfDebugEventsFlags": {
          "type": "string",
          "description": "ospf_debug_events_flags\n"
        },
        "ospfDebugIfsmFlags": {
          "type": "string",
          "description": "ospf_debug_ifsm_flags\n"
        },
        "ospfDebugLsaFlags": {
          "type": "string",
          "description": "ospf_debug_lsa_flags\n"
        },
        "ospfDebugNfsmFlags": {
          "type": "string",
          "description": "ospf_debug_nfsm_flags\n"
        },
        "ospfDebugNsmFlags": {
          "type": "string",
          "description": "ospf_debug_nsm_flags\n"
        },
        "ospfDebugPacketFlags": {
          "type": "string",
          "description": "ospf_debug_packet_flags\n"
        },
        "ospfDebugRouteFlags": {
          "type": "string",
          "description": "ospf_debug_route_flags\n"
        },
        "pimdmDebugFlags": {
          "type": "string",
          "description": "pimdm_debug_flags\n"
        },
        "pimsmDebugJoinpruneFlags": {
          "type": "string",
          "description": "pimsm_debug_joinprune_flags\n"
        },
        "pimsmDebugSimpleFlags": {
          "type": "string",
          "description": "pimsm_debug_simple_flags\n"
        },
        "pimsmDebugTimerFlags": {
          "type": "string",
          "description": "pimsm_debug_timer_flags\n"
        },
        "ripDebugFlags": {
          "type": "string",
          "description": "rip_debug_flags\n"
        },
        "ripngDebugFlags": {
          "type": "string",
          "description": "ripng_debug_flags\n"
        },
        "showFilter": {
          "type": "string",
          "description": "Prefix-list as filter for showing routes.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "bgpDebugFlags": {
            "type": "string",
            "description": "bgp_debug_flags\n"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname for this virtual domain router.\n"
          },
          "igmpDebugFlags": {
            "type": "string",
            "description": "igmp_debug_flags\n"
          },
          "imiDebugFlags": {
            "type": "string",
            "description": "imi_debug_flags\n"
          },
          "isisDebugFlags": {
            "type": "string",
            "description": "isis_debug_flags\n"
          },
          "ospf6DebugEventsFlags": {
            "type": "string",
            "description": "ospf6_debug_events_flags\n"
          },
          "ospf6DebugIfsmFlags": {
            "type": "string",
            "description": "ospf6_debug_ifsm_flags\n"
          },
          "ospf6DebugLsaFlags": {
            "type": "string",
            "description": "ospf6_debug_lsa_flags\n"
          },
          "ospf6DebugNfsmFlags": {
            "type": "string",
            "description": "ospf6_debug_nfsm_flags\n"
          },
          "ospf6DebugNsmFlags": {
            "type": "string",
            "description": "ospf6_debug_nsm_flags\n"
          },
          "ospf6DebugPacketFlags": {
            "type": "string",
            "description": "ospf6_debug_packet_flags\n"
          },
          "ospf6DebugRouteFlags": {
            "type": "string",
            "description": "ospf6_debug_route_flags\n"
          },
          "ospfDebugEventsFlags": {
            "type": "string",
            "description": "ospf_debug_events_flags\n"
          },
          "ospfDebugIfsmFlags": {
            "type": "string",
            "description": "ospf_debug_ifsm_flags\n"
          },
          "ospfDebugLsaFlags": {
            "type": "string",
            "description": "ospf_debug_lsa_flags\n"
          },
          "ospfDebugNfsmFlags": {
            "type": "string",
            "description": "ospf_debug_nfsm_flags\n"
          },
          "ospfDebugNsmFlags": {
            "type": "string",
            "description": "ospf_debug_nsm_flags\n"
          },
          "ospfDebugPacketFlags": {
            "type": "string",
            "description": "ospf_debug_packet_flags\n"
          },
          "ospfDebugRouteFlags": {
            "type": "string",
            "description": "ospf_debug_route_flags\n"
          },
          "pimdmDebugFlags": {
            "type": "string",
            "description": "pimdm_debug_flags\n"
          },
          "pimsmDebugJoinpruneFlags": {
            "type": "string",
            "description": "pimsm_debug_joinprune_flags\n"
          },
          "pimsmDebugSimpleFlags": {
            "type": "string",
            "description": "pimsm_debug_simple_flags\n"
          },
          "pimsmDebugTimerFlags": {
            "type": "string",
            "description": "pimsm_debug_timer_flags\n"
          },
          "ripDebugFlags": {
            "type": "string",
            "description": "rip_debug_flags\n"
          },
          "ripngDebugFlags": {
            "type": "string",
            "description": "ripng_debug_flags\n"
          },
          "showFilter": {
            "type": "string",
            "description": "Prefix-list as filter for showing routes.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:router/static6:Static6": {
      "description": "Configure IPv6 static routing tables.\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.router.Static6(\"trname\", {\n    bfd: \"disable\",\n    blackhole: \"disable\",\n    device: \"port3\",\n    devindex: 5,\n    distance: 10,\n    dst: \"2001:db8::/32\",\n    gateway: \"::\",\n    priority: 32,\n    seqNum: 1,\n    status: \"enable\",\n    virtualWanLink: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Static6(\"trname\",\n    bfd=\"disable\",\n    blackhole=\"disable\",\n    device=\"port3\",\n    devindex=5,\n    distance=10,\n    dst=\"2001:db8::/32\",\n    gateway=\"::\",\n    priority=32,\n    seq_num=1,\n    status=\"enable\",\n    virtual_wan_link=\"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.Router.Static6(\"trname\", new()\n    {\n        Bfd = \"disable\",\n        Blackhole = \"disable\",\n        Device = \"port3\",\n        Devindex = 5,\n        Distance = 10,\n        Dst = \"2001:db8::/32\",\n        Gateway = \"::\",\n        Priority = 32,\n        SeqNum = 1,\n        Status = \"enable\",\n        VirtualWanLink = \"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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewStatic6(ctx, \"trname\", &router.Static6Args{\n\t\t\tBfd:            pulumi.String(\"disable\"),\n\t\t\tBlackhole:      pulumi.String(\"disable\"),\n\t\t\tDevice:         pulumi.String(\"port3\"),\n\t\t\tDevindex:       pulumi.Int(5),\n\t\t\tDistance:       pulumi.Int(10),\n\t\t\tDst:            pulumi.String(\"2001:db8::/32\"),\n\t\t\tGateway:        pulumi.String(\"::\"),\n\t\t\tPriority:       pulumi.Int(32),\n\t\t\tSeqNum:         pulumi.Int(1),\n\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\tVirtualWanLink: 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.router.Static6;\nimport com.pulumi.fortios.router.Static6Args;\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 Static6(\"trname\", Static6Args.builder()\n            .bfd(\"disable\")\n            .blackhole(\"disable\")\n            .device(\"port3\")\n            .devindex(5)\n            .distance(10)\n            .dst(\"2001:db8::/32\")\n            .gateway(\"::\")\n            .priority(32)\n            .seqNum(1)\n            .status(\"enable\")\n            .virtualWanLink(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Static6\n    properties:\n      bfd: disable\n      blackhole: disable\n      device: port3\n      devindex: 5\n      distance: 10\n      dst: 2001:db8::/32\n      gateway: '::'\n      priority: 32\n      seqNum: 1\n      status: enable\n      virtualWanLink: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Static6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/static6:Static6 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:router/static6:Static6 labelname {{seq_num}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "devindex": {
          "type": "integer",
          "description": "Device index (0 - 4294967295).\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IPv6 prefix.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Name of firewall address or address group.\n"
        },
        "dynamicGateway": {
          "type": "string",
          "description": "Enable use of dynamic gateway retrieved from Router Advertisement (RA). 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"
        },
        "gateway": {
          "type": "string",
          "description": "IPv6 address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "linkMonitorExempt": {
          "type": "string",
          "description": "Enable/disable withdrawal of this static route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions >= 6.4.2: 1 - 65535.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable egress through the SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FStatic6SdwanZone:Static6SdwanZone"
          },
          "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. 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"
        },
        "virtualWanLink": {
          "type": "string",
          "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Administrative weight (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "bfd",
        "blackhole",
        "device",
        "devindex",
        "distance",
        "dst",
        "dstaddr",
        "dynamicGateway",
        "gateway",
        "linkMonitorExempt",
        "priority",
        "sdwan",
        "seqNum",
        "status",
        "vdomparam",
        "virtualWanLink",
        "vrf",
        "weight"
      ],
      "inputProperties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "devindex": {
          "type": "integer",
          "description": "Device index (0 - 4294967295).\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IPv6 prefix.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Name of firewall address or address group.\n"
        },
        "dynamicGateway": {
          "type": "string",
          "description": "Enable use of dynamic gateway retrieved from Router Advertisement (RA). 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"
        },
        "gateway": {
          "type": "string",
          "description": "IPv6 address of the gateway.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "linkMonitorExempt": {
          "type": "string",
          "description": "Enable/disable withdrawal of this static route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions >= 6.4.2: 1 - 65535.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable egress through the SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FStatic6SdwanZone:Static6SdwanZone"
          },
          "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. 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
        },
        "virtualWanLink": {
          "type": "string",
          "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Administrative weight (0 - 255).\n"
        }
      },
      "requiredInputs": [
        "device"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Static6 resources.\n",
        "properties": {
          "bfd": {
            "type": "string",
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
          },
          "blackhole": {
            "type": "string",
            "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "device": {
            "type": "string",
            "description": "Gateway out interface or tunnel.\n"
          },
          "devindex": {
            "type": "integer",
            "description": "Device index (0 - 4294967295).\n"
          },
          "distance": {
            "type": "integer",
            "description": "Administrative distance (1 - 255).\n"
          },
          "dst": {
            "type": "string",
            "description": "Destination IPv6 prefix.\n"
          },
          "dstaddr": {
            "type": "string",
            "description": "Name of firewall address or address group.\n"
          },
          "dynamicGateway": {
            "type": "string",
            "description": "Enable use of dynamic gateway retrieved from Router Advertisement (RA). 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"
          },
          "gateway": {
            "type": "string",
            "description": "IPv6 address of the gateway.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "linkMonitorExempt": {
            "type": "string",
            "description": "Enable/disable withdrawal of this static route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions >= 6.4.2: 1 - 65535.\n"
          },
          "sdwan": {
            "type": "string",
            "description": "Enable/disable egress through the SD-WAN. Valid values: `enable`, `disable`.\n"
          },
          "sdwanZones": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FStatic6SdwanZone:Static6SdwanZone"
            },
            "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
          },
          "seqNum": {
            "type": "integer",
            "description": "Sequence number.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this static route. 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
          },
          "virtualWanLink": {
            "type": "string",
            "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
          },
          "vrf": {
            "type": "integer",
            "description": "Virtual Routing Forwarding ID.\n"
          },
          "weight": {
            "type": "integer",
            "description": "Administrative weight (0 - 255).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:router/static:Static": {
      "description": "Configure IPv4 static routing tables.\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.router.Static(\"trname\", {\n    bfd: \"disable\",\n    blackhole: \"disable\",\n    device: \"port4\",\n    distance: 10,\n    dst: \"1.0.0.0 255.240.0.0\",\n    dynamicGateway: \"disable\",\n    gateway: \"0.0.0.0\",\n    internetService: 0,\n    linkMonitorExempt: \"disable\",\n    priority: 22,\n    seqNum: 1,\n    src: \"0.0.0.0 0.0.0.0\",\n    status: \"enable\",\n    virtualWanLink: \"disable\",\n    vrf: 0,\n    weight: 2,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.router.Static(\"trname\",\n    bfd=\"disable\",\n    blackhole=\"disable\",\n    device=\"port4\",\n    distance=10,\n    dst=\"1.0.0.0 255.240.0.0\",\n    dynamic_gateway=\"disable\",\n    gateway=\"0.0.0.0\",\n    internet_service=0,\n    link_monitor_exempt=\"disable\",\n    priority=22,\n    seq_num=1,\n    src=\"0.0.0.0 0.0.0.0\",\n    status=\"enable\",\n    virtual_wan_link=\"disable\",\n    vrf=0,\n    weight=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.Router.Static(\"trname\", new()\n    {\n        Bfd = \"disable\",\n        Blackhole = \"disable\",\n        Device = \"port4\",\n        Distance = 10,\n        Dst = \"1.0.0.0 255.240.0.0\",\n        DynamicGateway = \"disable\",\n        Gateway = \"0.0.0.0\",\n        InternetService = 0,\n        LinkMonitorExempt = \"disable\",\n        Priority = 22,\n        SeqNum = 1,\n        Src = \"0.0.0.0 0.0.0.0\",\n        Status = \"enable\",\n        VirtualWanLink = \"disable\",\n        Vrf = 0,\n        Weight = 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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := router.NewStatic(ctx, \"trname\", &router.StaticArgs{\n\t\t\tBfd:               pulumi.String(\"disable\"),\n\t\t\tBlackhole:         pulumi.String(\"disable\"),\n\t\t\tDevice:            pulumi.String(\"port4\"),\n\t\t\tDistance:          pulumi.Int(10),\n\t\t\tDst:               pulumi.String(\"1.0.0.0 255.240.0.0\"),\n\t\t\tDynamicGateway:    pulumi.String(\"disable\"),\n\t\t\tGateway:           pulumi.String(\"0.0.0.0\"),\n\t\t\tInternetService:   pulumi.Int(0),\n\t\t\tLinkMonitorExempt: pulumi.String(\"disable\"),\n\t\t\tPriority:          pulumi.Int(22),\n\t\t\tSeqNum:            pulumi.Int(1),\n\t\t\tSrc:               pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tStatus:            pulumi.String(\"enable\"),\n\t\t\tVirtualWanLink:    pulumi.String(\"disable\"),\n\t\t\tVrf:               pulumi.Int(0),\n\t\t\tWeight:            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.router.Static;\nimport com.pulumi.fortios.router.StaticArgs;\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 Static(\"trname\", StaticArgs.builder()\n            .bfd(\"disable\")\n            .blackhole(\"disable\")\n            .device(\"port4\")\n            .distance(10)\n            .dst(\"1.0.0.0 255.240.0.0\")\n            .dynamicGateway(\"disable\")\n            .gateway(\"0.0.0.0\")\n            .internetService(0)\n            .linkMonitorExempt(\"disable\")\n            .priority(22)\n            .seqNum(1)\n            .src(\"0.0.0.0 0.0.0.0\")\n            .status(\"enable\")\n            .virtualWanLink(\"disable\")\n            .vrf(0)\n            .weight(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:router:Static\n    properties:\n      bfd: disable\n      blackhole: disable\n      device: port4\n      distance: 10\n      dst: 1.0.0.0 255.240.0.0\n      dynamicGateway: disable\n      gateway: 0.0.0.0\n      internetService: 0\n      linkMonitorExempt: disable\n      priority: 22\n      seqNum: 1\n      src: 0.0.0.0 0.0.0.0\n      status: enable\n      virtualWanLink: disable\n      vrf: 0\n      weight: 2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nRouter Static can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:router/static:Static 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:router/static:Static labelname {{seq_num}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IP and mask for this route.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Name of firewall address or address group.\n"
        },
        "dynamicGateway": {
          "type": "string",
          "description": "Enable use of dynamic gateway retrieved from a DHCP or PPP server. 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"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP for this route.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "internetService": {
          "type": "integer",
          "description": "Application ID in the Internet service database.\n"
        },
        "internetServiceCustom": {
          "type": "string",
          "description": "Application name in the Internet service custom database.\n"
        },
        "linkMonitorExempt": {
          "type": "string",
          "description": "Enable/disable withdrawing this route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
        },
        "preferredSource": {
          "type": "string",
          "description": "Preferred source IP for this route.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions 6.4.2-7.0.3: 0 - 65535. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable egress through SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FStaticSdwanZone:StaticSdwanZone"
          },
          "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n"
        },
        "src": {
          "type": "string",
          "description": "Source prefix for this route.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. Valid values: `enable`, `disable`.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Route 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"
        },
        "virtualWanLink": {
          "type": "string",
          "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Administrative weight (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "bfd",
        "blackhole",
        "device",
        "distance",
        "dst",
        "dstaddr",
        "dynamicGateway",
        "gateway",
        "internetService",
        "internetServiceCustom",
        "linkMonitorExempt",
        "preferredSource",
        "priority",
        "sdwan",
        "seqNum",
        "src",
        "status",
        "tag",
        "vdomparam",
        "virtualWanLink",
        "vrf",
        "weight"
      ],
      "inputProperties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "blackhole": {
          "type": "string",
          "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface or tunnel.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination IP and mask for this route.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Name of firewall address or address group.\n"
        },
        "dynamicGateway": {
          "type": "string",
          "description": "Enable use of dynamic gateway retrieved from a DHCP or PPP server. 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"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP for this route.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "internetService": {
          "type": "integer",
          "description": "Application ID in the Internet service database.\n"
        },
        "internetServiceCustom": {
          "type": "string",
          "description": "Application name in the Internet service custom database.\n"
        },
        "linkMonitorExempt": {
          "type": "string",
          "description": "Enable/disable withdrawing this route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
        },
        "preferredSource": {
          "type": "string",
          "description": "Preferred source IP for this route.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions 6.4.2-7.0.3: 0 - 65535. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable egress through SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FStaticSdwanZone:StaticSdwanZone"
          },
          "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Sequence number.\n",
          "willReplaceOnChanges": true
        },
        "src": {
          "type": "string",
          "description": "Source prefix for this route.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this static route. Valid values: `enable`, `disable`.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Route 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",
          "willReplaceOnChanges": true
        },
        "virtualWanLink": {
          "type": "string",
          "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Administrative weight (0 - 255).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Static resources.\n",
        "properties": {
          "bfd": {
            "type": "string",
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
          },
          "blackhole": {
            "type": "string",
            "description": "Enable/disable black hole. Valid values: `enable`, `disable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "device": {
            "type": "string",
            "description": "Gateway out interface or tunnel.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Administrative distance (1 - 255).\n"
          },
          "dst": {
            "type": "string",
            "description": "Destination IP and mask for this route.\n"
          },
          "dstaddr": {
            "type": "string",
            "description": "Name of firewall address or address group.\n"
          },
          "dynamicGateway": {
            "type": "string",
            "description": "Enable use of dynamic gateway retrieved from a DHCP or PPP server. 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"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway IP for this route.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "internetService": {
            "type": "integer",
            "description": "Application ID in the Internet service database.\n"
          },
          "internetServiceCustom": {
            "type": "string",
            "description": "Application name in the Internet service custom database.\n"
          },
          "linkMonitorExempt": {
            "type": "string",
            "description": "Enable/disable withdrawing this route when link monitor or health check is down. Valid values: `enable`, `disable`.\n"
          },
          "preferredSource": {
            "type": "string",
            "description": "Preferred source IP for this route.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Administrative priority. On FortiOS versions 6.2.0-6.4.1: 0 - 4294967295. On FortiOS versions 6.4.2-7.0.3: 0 - 65535. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
          },
          "sdwan": {
            "type": "string",
            "description": "Enable/disable egress through SD-WAN. Valid values: `enable`, `disable`.\n"
          },
          "sdwanZones": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:router%2FStaticSdwanZone:StaticSdwanZone"
            },
            "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n"
          },
          "seqNum": {
            "type": "integer",
            "description": "Sequence number.\n",
            "willReplaceOnChanges": true
          },
          "src": {
            "type": "string",
            "description": "Source prefix for this route.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this static route. Valid values: `enable`, `disable`.\n"
          },
          "tag": {
            "type": "integer",
            "description": "Route 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",
            "willReplaceOnChanges": true
          },
          "virtualWanLink": {
            "type": "string",
            "description": "Enable/disable egress through the virtual-wan-link. Valid values: `enable`, `disable`.\n"
          },
          "vrf": {
            "type": "integer",
            "description": "Virtual Routing Forwarding ID.\n"
          },
          "weight": {
            "type": "integer",
            "description": "Administrative weight (0 - 255).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:rule/fmwp:Fmwp": {
      "description": "Show FMWP signatures. Applies to FortiOS Version `7.2.8,7.4.2,7.4.3,7.4.4`.\n\n## Import\n\nRule Fmwp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:rule/fmwp:Fmwp 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:rule/fmwp:Fmwp 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:rule%2FFmwpMetadata:FmwpMetadata"
          },
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "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:rule%2FFmwpMetadata:FmwpMetadata"
          },
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Fmwp 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:rule%2FFmwpMetadata:FmwpMetadata"
            },
            "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:rule/otdt:Otdt": {
      "description": "Show OT detection signatures. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nRule Otdt can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:rule/otdt:Otdt 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:rule/otdt:Otdt 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:rule%2FOtdtMetadata:OtdtMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Application name.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:rule%2FOtdtParameter:OtdtParameter"
          },
          "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"
        },
        "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",
        "popularity",
        "protocol",
        "risk",
        "technology",
        "vdomparam",
        "vendor",
        "weight"
      ],
      "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:rule%2FOtdtMetadata:OtdtMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Application name.\n",
          "willReplaceOnChanges": true
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:rule%2FOtdtParameter:OtdtParameter"
          },
          "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"
        },
        "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"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Otdt 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:rule%2FOtdtMetadata:OtdtMetadata"
            },
            "description": "Meta data. The structure of `metadata` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Application name.\n",
            "willReplaceOnChanges": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:rule%2FOtdtParameter:OtdtParameter"
            },
            "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"
          },
          "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:rule/otvp:Otvp": {
      "description": "Show OT patch signatures. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nRule Otvp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:rule/otvp:Otvp 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:rule/otvp:Otvp 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:rule%2FOtvpMetadata:OtvpMetadata"
          },
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "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:rule%2FOtvpMetadata:OtvpMetadata"
          },
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Otvp 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:rule%2FOtvpMetadata:OtvpMetadata"
            },
            "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/acl/group:Group": {
      "description": "Configure ACL groups to be applied on managed FortiSwitch ports. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nSwitchControllerAcl Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/acl/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:switchcontroller/acl/group:Group 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"
        },
        "ingresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Facl%2FGroupIngress:GroupIngress"
          },
          "description": "Configure ingress ACL policies in group. The structure of `ingress` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "ingresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Facl%2FGroupIngress:GroupIngress"
          },
          "description": "Configure ingress ACL policies in group. The structure of `ingress` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Group 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 Group 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"
          },
          "ingresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2Facl%2FGroupIngress:GroupIngress"
            },
            "description": "Configure ingress ACL policies in group. The structure of `ingress` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Group 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:switchcontroller/acl/ingress:Ingress": {
      "description": "Configure ingress ACL policies to be applied on managed FortiSwitch ports. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nSwitchControllerAcl Ingress can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/acl/ingress:Ingress 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:switchcontroller/acl/ingress:Ingress labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressAction:IngressAction",
          "description": "ACL actions. The structure of `action` block is documented below.\n"
        },
        "classifier": {
          "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressClassifier:IngressClassifier",
          "description": "ACL classifiers. The structure of `classifier` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the ACL policy.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ACL 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": [
        "action",
        "classifier",
        "description",
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressAction:IngressAction",
          "description": "ACL actions. The structure of `action` block is documented below.\n"
        },
        "classifier": {
          "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressClassifier:IngressClassifier",
          "description": "ACL classifiers. The structure of `classifier` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the ACL policy.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ACL 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ingress resources.\n",
        "properties": {
          "action": {
            "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressAction:IngressAction",
            "description": "ACL actions. The structure of `action` block is documented below.\n"
          },
          "classifier": {
            "$ref": "#/types/fortios:switchcontroller%2Facl%2FIngressClassifier:IngressClassifier",
            "description": "ACL classifiers. The structure of `classifier` block is documented below.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for the ACL policy.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ACL 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/autoconfig/custom:Custom": {
      "description": "Configure FortiSwitch Auto-Config custom QoS policy.\n\n## Import\n\nSwitchControllerAutoConfig Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/autoconfig/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:switchcontroller/autoconfig/custom:Custom 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": "Auto-Config FortiLink or ISL/ICL interface name.\n"
        },
        "switchBindings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fautoconfig%2FCustomSwitchBinding:CustomSwitchBinding"
          },
          "description": "Switch binding list. The structure of `switch_binding` 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": "Auto-Config FortiLink or ISL/ICL interface name.\n",
          "willReplaceOnChanges": true
        },
        "switchBindings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fautoconfig%2FCustomSwitchBinding:CustomSwitchBinding"
          },
          "description": "Switch binding list. The structure of `switch_binding` 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 Custom 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": "Auto-Config FortiLink or ISL/ICL interface name.\n",
            "willReplaceOnChanges": true
          },
          "switchBindings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2Fautoconfig%2FCustomSwitchBinding:CustomSwitchBinding"
            },
            "description": "Switch binding list. The structure of `switch_binding` 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:switchcontroller/autoconfig/default:Default": {
      "description": "Configure default auto-config QoS policy for FortiSwitch.\n\n## Import\n\nSwitchControllerAutoConfig Default can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/autoconfig/default:Default labelname SwitchControllerAutoConfigDefault\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:switchcontroller/autoconfig/default:Default labelname SwitchControllerAutoConfigDefault\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fgtPolicy": {
          "type": "string",
          "description": "Default FortiLink auto-config policy.\n"
        },
        "iclPolicy": {
          "type": "string",
          "description": "Default ICL auto-config policy.\n"
        },
        "islPolicy": {
          "type": "string",
          "description": "Default ISL auto-config policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "fgtPolicy",
        "iclPolicy",
        "islPolicy",
        "vdomparam"
      ],
      "inputProperties": {
        "fgtPolicy": {
          "type": "string",
          "description": "Default FortiLink auto-config policy.\n"
        },
        "iclPolicy": {
          "type": "string",
          "description": "Default ICL auto-config policy.\n"
        },
        "islPolicy": {
          "type": "string",
          "description": "Default ISL auto-config policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Default resources.\n",
        "properties": {
          "fgtPolicy": {
            "type": "string",
            "description": "Default FortiLink auto-config policy.\n"
          },
          "iclPolicy": {
            "type": "string",
            "description": "Default ICL auto-config policy.\n"
          },
          "islPolicy": {
            "type": "string",
            "description": "Default ISL auto-config policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/autoconfig/policy:Policy": {
      "description": "Configure FortiSwitch Auto-Config QoS policy.\n\n## Import\n\nSwitchControllerAutoConfig Policy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/autoconfig/policy:Policy 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:switchcontroller/autoconfig/policy:Policy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "igmpFloodReport": {
          "type": "string",
          "description": "Enable/disable IGMP flood report. Valid values: `enable`, `disable`.\n"
        },
        "igmpFloodTraffic": {
          "type": "string",
          "description": "Enable/disable IGMP flood traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Auto-Config QoS policy name\n"
        },
        "poeStatus": {
          "type": "string",
          "description": "Enable/disable PoE status. Valid values: `enable`, `disable`.\n"
        },
        "qosPolicy": {
          "type": "string",
          "description": "Auto-Config QoS policy.\n"
        },
        "stormControlPolicy": {
          "type": "string",
          "description": "Auto-Config storm control policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "igmpFloodReport",
        "igmpFloodTraffic",
        "name",
        "poeStatus",
        "qosPolicy",
        "stormControlPolicy",
        "vdomparam"
      ],
      "inputProperties": {
        "igmpFloodReport": {
          "type": "string",
          "description": "Enable/disable IGMP flood report. Valid values: `enable`, `disable`.\n"
        },
        "igmpFloodTraffic": {
          "type": "string",
          "description": "Enable/disable IGMP flood traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Auto-Config QoS policy name\n",
          "willReplaceOnChanges": true
        },
        "poeStatus": {
          "type": "string",
          "description": "Enable/disable PoE status. Valid values: `enable`, `disable`.\n"
        },
        "qosPolicy": {
          "type": "string",
          "description": "Auto-Config QoS policy.\n"
        },
        "stormControlPolicy": {
          "type": "string",
          "description": "Auto-Config storm control policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Policy resources.\n",
        "properties": {
          "igmpFloodReport": {
            "type": "string",
            "description": "Enable/disable IGMP flood report. Valid values: `enable`, `disable`.\n"
          },
          "igmpFloodTraffic": {
            "type": "string",
            "description": "Enable/disable IGMP flood traffic. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Auto-Config QoS policy name\n",
            "willReplaceOnChanges": true
          },
          "poeStatus": {
            "type": "string",
            "description": "Enable/disable PoE status. Valid values: `enable`, `disable`.\n"
          },
          "qosPolicy": {
            "type": "string",
            "description": "Auto-Config QoS policy.\n"
          },
          "stormControlPolicy": {
            "type": "string",
            "description": "Auto-Config storm control policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/customcommand:Customcommand": {
      "description": "Configure the FortiGate switch controller to send custom commands to managed FortiSwitch devices.\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.switchcontroller.Customcommand(\"trname\", {\n    command: \"ls\",\n    commandName: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Customcommand(\"trname\",\n    command=\"ls\",\n    command_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.Switchcontroller.Customcommand(\"trname\", new()\n    {\n        Command = \"ls\",\n        CommandName = \"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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewCustomcommand(ctx, \"trname\", &switchcontroller.CustomcommandArgs{\n\t\t\tCommand:     pulumi.String(\"ls\"),\n\t\t\tCommandName: 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.switchcontroller.Customcommand;\nimport com.pulumi.fortios.switchcontroller.CustomcommandArgs;\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 Customcommand(\"trname\", CustomcommandArgs.builder()\n            .command(\"ls\")\n            .commandName(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Customcommand\n    properties:\n      command: ls\n      commandName: '1'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController CustomCommand can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/customcommand:Customcommand labelname {{command_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:switchcontroller/customcommand:Customcommand labelname {{command_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "command": {
          "type": "string",
          "description": "String of commands to send to FortiSwitch devices (For example (%0a = return key): config switch trunk %0a edit myTrunk %0a set members port1 port2 %0a end %0a).\n"
        },
        "commandName": {
          "type": "string",
          "description": "Command name called by the FortiGate switch controller in the execute command.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "command",
        "commandName",
        "description",
        "vdomparam"
      ],
      "inputProperties": {
        "command": {
          "type": "string",
          "description": "String of commands to send to FortiSwitch devices (For example (%0a = return key): config switch trunk %0a edit myTrunk %0a set members port1 port2 %0a end %0a).\n"
        },
        "commandName": {
          "type": "string",
          "description": "Command name called by the FortiGate switch controller in the execute command.\n",
          "willReplaceOnChanges": true
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "command"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Customcommand resources.\n",
        "properties": {
          "command": {
            "type": "string",
            "description": "String of commands to send to FortiSwitch devices (For example (%0a = return key): config switch trunk %0a edit myTrunk %0a set members port1 port2 %0a end %0a).\n"
          },
          "commandName": {
            "type": "string",
            "description": "Command name called by the FortiGate switch controller in the execute command.\n",
            "willReplaceOnChanges": true
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/dynamicportpolicy:Dynamicportpolicy": {
      "description": "Configure Dynamic port policy to be applied on the managed FortiSwitch ports through DPP device. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSwitchController DynamicPortPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/dynamicportpolicy:Dynamicportpolicy 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:switchcontroller/dynamicportpolicy:Dynamicportpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the Dynamic port policy.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this Dynamic port policy belongs to.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Dynamic port policy name.\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FDynamicportpolicyPolicy:DynamicportpolicyPolicy"
          },
          "description": "Port policies with matching criteria and actions. The structure of `policy` 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": [
        "description",
        "fortilink",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description for the Dynamic port policy.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this Dynamic port policy belongs to.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Dynamic port policy name.\n",
          "willReplaceOnChanges": true
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FDynamicportpolicyPolicy:DynamicportpolicyPolicy"
          },
          "description": "Port policies with matching criteria and actions. The structure of `policy` 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 Dynamicportpolicy resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description for the Dynamic port policy.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fortilink": {
            "type": "string",
            "description": "FortiLink interface for which this Dynamic port policy belongs to.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Dynamic port policy name.\n",
            "willReplaceOnChanges": true
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FDynamicportpolicyPolicy:DynamicportpolicyPolicy"
            },
            "description": "Port policies with matching criteria and actions. The structure of `policy` 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:switchcontroller/flowtracking:Flowtracking": {
      "description": "Configure FortiSwitch flow tracking and export via ipfix/netflow. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController FlowTracking can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/flowtracking:Flowtracking labelname SwitchControllerFlowTracking\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:switchcontroller/flowtracking:Flowtracking labelname SwitchControllerFlowTracking\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "aggregates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingAggregate:FlowtrackingAggregate"
          },
          "description": "Configure aggregates in which all traffic sessions matching the IP Address will be grouped into the same flow. The structure of `aggregates` block is documented below.\n"
        },
        "collectorIp": {
          "type": "string",
          "description": "Configure collector ip address.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "Configure collector port number(0-65535, default=0).\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingCollector:FlowtrackingCollector"
          },
          "description": "Configure collectors for the flow. The structure of `collectors` 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"
        },
        "format": {
          "type": "string",
          "description": "Configure flow tracking protocol. Valid values: `netflow1`, `netflow5`, `netflow9`, `ipfix`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "level": {
          "type": "string",
          "description": "Configure flow tracking level. Valid values: `vlan`, `ip`, `port`, `proto`, `mac`.\n"
        },
        "maxExportPktSize": {
          "type": "integer",
          "description": "Configure flow max export packet size (512-9216, default=512 bytes).\n"
        },
        "sampleMode": {
          "type": "string",
          "description": "Configure sample mode for the flow tracking. Valid values: `local`, `perimeter`, `device-ingress`.\n"
        },
        "sampleRate": {
          "type": "integer",
          "description": "Configure sample rate for the perimeter and device-ingress sampling(0 - 99999).\n"
        },
        "templateExportPeriod": {
          "type": "integer",
          "description": "Configure template export period (1-60, default=5 minutes).\n"
        },
        "timeoutGeneral": {
          "type": "integer",
          "description": "Configure flow session general timeout (60-604800, default=3600 seconds).\n"
        },
        "timeoutIcmp": {
          "type": "integer",
          "description": "Configure flow session ICMP timeout (60-604800, default=300 seconds).\n"
        },
        "timeoutMax": {
          "type": "integer",
          "description": "Configure flow session max timeout (60-604800, default=604800 seconds).\n"
        },
        "timeoutTcp": {
          "type": "integer",
          "description": "Configure flow session TCP timeout (60-604800, default=3600 seconds).\n"
        },
        "timeoutTcpFin": {
          "type": "integer",
          "description": "Configure flow session TCP FIN timeout (60-604800, default=300 seconds).\n"
        },
        "timeoutTcpRst": {
          "type": "integer",
          "description": "Configure flow session TCP RST timeout (60-604800, default=120 seconds).\n"
        },
        "timeoutUdp": {
          "type": "integer",
          "description": "Configure flow session UDP timeout (60-604800, default=300 seconds).\n"
        },
        "transport": {
          "type": "string",
          "description": "Configure L4 transport protocol for exporting packets. Valid values: `udp`, `tcp`, `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": [
        "collectorIp",
        "collectorPort",
        "format",
        "level",
        "maxExportPktSize",
        "sampleMode",
        "sampleRate",
        "templateExportPeriod",
        "timeoutGeneral",
        "timeoutIcmp",
        "timeoutMax",
        "timeoutTcp",
        "timeoutTcpFin",
        "timeoutTcpRst",
        "timeoutUdp",
        "transport",
        "vdomparam"
      ],
      "inputProperties": {
        "aggregates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingAggregate:FlowtrackingAggregate"
          },
          "description": "Configure aggregates in which all traffic sessions matching the IP Address will be grouped into the same flow. The structure of `aggregates` block is documented below.\n"
        },
        "collectorIp": {
          "type": "string",
          "description": "Configure collector ip address.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "Configure collector port number(0-65535, default=0).\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingCollector:FlowtrackingCollector"
          },
          "description": "Configure collectors for the flow. The structure of `collectors` 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"
        },
        "format": {
          "type": "string",
          "description": "Configure flow tracking protocol. Valid values: `netflow1`, `netflow5`, `netflow9`, `ipfix`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "level": {
          "type": "string",
          "description": "Configure flow tracking level. Valid values: `vlan`, `ip`, `port`, `proto`, `mac`.\n"
        },
        "maxExportPktSize": {
          "type": "integer",
          "description": "Configure flow max export packet size (512-9216, default=512 bytes).\n"
        },
        "sampleMode": {
          "type": "string",
          "description": "Configure sample mode for the flow tracking. Valid values: `local`, `perimeter`, `device-ingress`.\n"
        },
        "sampleRate": {
          "type": "integer",
          "description": "Configure sample rate for the perimeter and device-ingress sampling(0 - 99999).\n"
        },
        "templateExportPeriod": {
          "type": "integer",
          "description": "Configure template export period (1-60, default=5 minutes).\n"
        },
        "timeoutGeneral": {
          "type": "integer",
          "description": "Configure flow session general timeout (60-604800, default=3600 seconds).\n"
        },
        "timeoutIcmp": {
          "type": "integer",
          "description": "Configure flow session ICMP timeout (60-604800, default=300 seconds).\n"
        },
        "timeoutMax": {
          "type": "integer",
          "description": "Configure flow session max timeout (60-604800, default=604800 seconds).\n"
        },
        "timeoutTcp": {
          "type": "integer",
          "description": "Configure flow session TCP timeout (60-604800, default=3600 seconds).\n"
        },
        "timeoutTcpFin": {
          "type": "integer",
          "description": "Configure flow session TCP FIN timeout (60-604800, default=300 seconds).\n"
        },
        "timeoutTcpRst": {
          "type": "integer",
          "description": "Configure flow session TCP RST timeout (60-604800, default=120 seconds).\n"
        },
        "timeoutUdp": {
          "type": "integer",
          "description": "Configure flow session UDP timeout (60-604800, default=300 seconds).\n"
        },
        "transport": {
          "type": "string",
          "description": "Configure L4 transport protocol for exporting packets. Valid values: `udp`, `tcp`, `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
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Flowtracking resources.\n",
        "properties": {
          "aggregates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingAggregate:FlowtrackingAggregate"
            },
            "description": "Configure aggregates in which all traffic sessions matching the IP Address will be grouped into the same flow. The structure of `aggregates` block is documented below.\n"
          },
          "collectorIp": {
            "type": "string",
            "description": "Configure collector ip address.\n"
          },
          "collectorPort": {
            "type": "integer",
            "description": "Configure collector port number(0-65535, default=0).\n"
          },
          "collectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FFlowtrackingCollector:FlowtrackingCollector"
            },
            "description": "Configure collectors for the flow. The structure of `collectors` 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"
          },
          "format": {
            "type": "string",
            "description": "Configure flow tracking protocol. Valid values: `netflow1`, `netflow5`, `netflow9`, `ipfix`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "level": {
            "type": "string",
            "description": "Configure flow tracking level. Valid values: `vlan`, `ip`, `port`, `proto`, `mac`.\n"
          },
          "maxExportPktSize": {
            "type": "integer",
            "description": "Configure flow max export packet size (512-9216, default=512 bytes).\n"
          },
          "sampleMode": {
            "type": "string",
            "description": "Configure sample mode for the flow tracking. Valid values: `local`, `perimeter`, `device-ingress`.\n"
          },
          "sampleRate": {
            "type": "integer",
            "description": "Configure sample rate for the perimeter and device-ingress sampling(0 - 99999).\n"
          },
          "templateExportPeriod": {
            "type": "integer",
            "description": "Configure template export period (1-60, default=5 minutes).\n"
          },
          "timeoutGeneral": {
            "type": "integer",
            "description": "Configure flow session general timeout (60-604800, default=3600 seconds).\n"
          },
          "timeoutIcmp": {
            "type": "integer",
            "description": "Configure flow session ICMP timeout (60-604800, default=300 seconds).\n"
          },
          "timeoutMax": {
            "type": "integer",
            "description": "Configure flow session max timeout (60-604800, default=604800 seconds).\n"
          },
          "timeoutTcp": {
            "type": "integer",
            "description": "Configure flow session TCP timeout (60-604800, default=3600 seconds).\n"
          },
          "timeoutTcpFin": {
            "type": "integer",
            "description": "Configure flow session TCP FIN timeout (60-604800, default=300 seconds).\n"
          },
          "timeoutTcpRst": {
            "type": "integer",
            "description": "Configure flow session TCP RST timeout (60-604800, default=120 seconds).\n"
          },
          "timeoutUdp": {
            "type": "integer",
            "description": "Configure flow session UDP timeout (60-604800, default=300 seconds).\n"
          },
          "transport": {
            "type": "string",
            "description": "Configure L4 transport protocol for exporting packets. Valid values: `udp`, `tcp`, `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:switchcontroller/fortilinksettings:Fortilinksettings": {
      "description": "Configure integrated FortiLink settings for FortiSwitch. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSwitchController FortilinkSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/fortilinksettings:Fortilinksettings 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:switchcontroller/fortilinksettings:Fortilinksettings labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessVlanMode": {
          "type": "string",
          "description": "Intra VLAN traffic behavior with loss of connection to the FortiGate. Valid values: `legacy`, `fail-open`, `fail-close`.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface to which this fortilink-setting belongs.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inactiveTimer": {
          "type": "integer",
          "description": "Time interval(minutes) to be included in the inactive devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
        },
        "linkDownFlush": {
          "type": "string",
          "description": "Clear NAC and dynamic devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
        },
        "nacPorts": {
          "$ref": "#/types/fortios:switchcontroller%2FFortilinksettingsNacPorts:FortilinksettingsNacPorts",
          "description": "NAC specific configuration. The structure of `nac_ports` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiLink settings 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": [
        "accessVlanMode",
        "fortilink",
        "inactiveTimer",
        "linkDownFlush",
        "nacPorts",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "accessVlanMode": {
          "type": "string",
          "description": "Intra VLAN traffic behavior with loss of connection to the FortiGate. Valid values: `legacy`, `fail-open`, `fail-close`.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface to which this fortilink-setting belongs.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "inactiveTimer": {
          "type": "integer",
          "description": "Time interval(minutes) to be included in the inactive devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
        },
        "linkDownFlush": {
          "type": "string",
          "description": "Clear NAC and dynamic devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
        },
        "nacPorts": {
          "$ref": "#/types/fortios:switchcontroller%2FFortilinksettingsNacPorts:FortilinksettingsNacPorts",
          "description": "NAC specific configuration. The structure of `nac_ports` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiLink settings 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 Fortilinksettings resources.\n",
        "properties": {
          "accessVlanMode": {
            "type": "string",
            "description": "Intra VLAN traffic behavior with loss of connection to the FortiGate. Valid values: `legacy`, `fail-open`, `fail-close`.\n"
          },
          "fortilink": {
            "type": "string",
            "description": "FortiLink interface to which this fortilink-setting belongs.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "inactiveTimer": {
            "type": "integer",
            "description": "Time interval(minutes) to be included in the inactive devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
          },
          "linkDownFlush": {
            "type": "string",
            "description": "Clear NAC and dynamic devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
          },
          "nacPorts": {
            "$ref": "#/types/fortios:switchcontroller%2FFortilinksettingsNacPorts:FortilinksettingsNacPorts",
            "description": "NAC specific configuration. The structure of `nac_ports` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiLink settings 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:switchcontroller/global:Global": {
      "description": "Configure FortiSwitch global 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.switchcontroller.Global(\"trname\", {\n    allowMultipleInterfaces: \"disable\",\n    httpsImagePush: \"disable\",\n    logMacLimitViolations: \"disable\",\n    macAgingInterval: 332,\n    macRetentionPeriod: 24,\n    macViolationTimer: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Global(\"trname\",\n    allow_multiple_interfaces=\"disable\",\n    https_image_push=\"disable\",\n    log_mac_limit_violations=\"disable\",\n    mac_aging_interval=332,\n    mac_retention_period=24,\n    mac_violation_timer=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.Switchcontroller.Global(\"trname\", new()\n    {\n        AllowMultipleInterfaces = \"disable\",\n        HttpsImagePush = \"disable\",\n        LogMacLimitViolations = \"disable\",\n        MacAgingInterval = 332,\n        MacRetentionPeriod = 24,\n        MacViolationTimer = 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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewGlobal(ctx, \"trname\", &switchcontroller.GlobalArgs{\n\t\t\tAllowMultipleInterfaces: pulumi.String(\"disable\"),\n\t\t\tHttpsImagePush:          pulumi.String(\"disable\"),\n\t\t\tLogMacLimitViolations:   pulumi.String(\"disable\"),\n\t\t\tMacAgingInterval:        pulumi.Int(332),\n\t\t\tMacRetentionPeriod:      pulumi.Int(24),\n\t\t\tMacViolationTimer:       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.switchcontroller.Global;\nimport com.pulumi.fortios.switchcontroller.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            .allowMultipleInterfaces(\"disable\")\n            .httpsImagePush(\"disable\")\n            .logMacLimitViolations(\"disable\")\n            .macAgingInterval(332)\n            .macRetentionPeriod(24)\n            .macViolationTimer(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Global\n    properties:\n      allowMultipleInterfaces: disable\n      httpsImagePush: disable\n      logMacLimitViolations: disable\n      macAgingInterval: 332\n      macRetentionPeriod: 24\n      macViolationTimer: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/global:Global labelname SwitchControllerGlobal\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:switchcontroller/global:Global labelname SwitchControllerGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowMultipleInterfaces": {
          "type": "string",
          "description": "Enable/disable multiple FortiLink interfaces for redundant connections between a managed FortiSwitch and FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "bounceQuarantinedLink": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where a quarantined device was seen last. Helps to re-initiate the DHCP process for a device. Valid values: `disable`, `enable`.\n"
        },
        "customCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FGlobalCustomCommand:GlobalCustomCommand"
          },
          "description": "List of custom commands to be pushed to all FortiSwitches in the VDOM. The structure of `custom_command` block is documented below.\n"
        },
        "defaultVirtualSwitchVlan": {
          "type": "string",
          "description": "Default VLAN for ports when added to the virtual-switch.\n"
        },
        "dhcpOption82CircuitId": {
          "type": "string",
          "description": "List the parameters to be included to inform about client identification. Valid values: `intfname`, `vlan`, `hostname`, `mode`, `description`.\n"
        },
        "dhcpOption82Format": {
          "type": "string",
          "description": "DHCP option-82 format string. Valid values: `ascii`, `legacy`.\n"
        },
        "dhcpOption82RemoteId": {
          "type": "string",
          "description": "List the parameters to be included to inform about client identification. Valid values: `mac`, `hostname`, `ip`.\n"
        },
        "dhcpServerAccessList": {
          "type": "string",
          "description": "Enable/disable DHCP snooping server access list. Valid values: `enable`, `disable`.\n"
        },
        "dhcpSnoopClientDbExp": {
          "type": "integer",
          "description": "Expiry time for DHCP snooping server database entries (300 - 259200 sec, default = 86400 sec).\n"
        },
        "dhcpSnoopClientReq": {
          "type": "string",
          "description": "Client DHCP packet broadcast mode. Valid values: `drop-untrusted`, `forward-untrusted`.\n"
        },
        "dhcpSnoopDbPerPortLearnLimit": {
          "type": "integer",
          "description": "Per Interface dhcp-server entries learn limit (0 - 1024, default = 64).\n"
        },
        "disableDiscoveries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FGlobalDisableDiscovery:GlobalDisableDiscovery"
          },
          "description": "Prevent this FortiSwitch from discovering. The structure of `disable_discovery` 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"
        },
        "fipsEnforce": {
          "type": "string",
          "description": "Enable/disable enforcement of FIPS on managed FortiSwitch devices. Valid values: `disable`, `enable`.\n"
        },
        "firmwareProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
        },
        "httpsImagePush": {
          "type": "string",
          "description": "Enable/disable image push to FortiSwitch using HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "logMacLimitViolations": {
          "type": "string",
          "description": "Enable/disable logs for Learning Limit Violations. Valid values: `enable`, `disable`.\n"
        },
        "macAgingInterval": {
          "type": "integer",
          "description": "Time after which an inactive MAC is aged out (10 - 1000000 sec, default = 300, 0 = disable).\n"
        },
        "macEventLogging": {
          "type": "string",
          "description": "Enable/disable MAC address event logging. Valid values: `enable`, `disable`.\n"
        },
        "macRetentionPeriod": {
          "type": "integer",
          "description": "Time in hours after which an inactive MAC is removed from client DB (0 = aged out based on mac-aging-interval).\n"
        },
        "macViolationTimer": {
          "type": "integer",
          "description": "Set timeout for Learning Limit Violations (0 = disabled).\n"
        },
        "quarantineMode": {
          "type": "string",
          "description": "Quarantine mode. Valid values: `by-vlan`, `by-redirect`.\n"
        },
        "snDnsResolution": {
          "type": "string",
          "description": "Enable/disable DNS resolution of the FortiSwitch unit's IP address by use of its serial number. Valid values: `enable`, `disable`.\n"
        },
        "updateUserDevice": {
          "type": "string",
          "description": "Control which sources update the device user list. Valid values: `mac-cache`, `lldp`, `dhcp-snooping`, `l2-db`, `l3-db`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vlanAllMode": {
          "type": "string",
          "description": "VLAN configuration mode, user-defined-vlans or all-possible-vlans. Valid values: `all`, `defined`.\n"
        },
        "vlanIdentity": {
          "type": "string",
          "description": "Identity of the VLAN. Commonly used for RADIUS Tunnel-Private-Group-Id. Valid values: `description`, `name`.\n"
        },
        "vlanOptimization": {
          "type": "string",
          "description": "FortiLink VLAN optimization. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "allowMultipleInterfaces",
        "bounceQuarantinedLink",
        "defaultVirtualSwitchVlan",
        "dhcpOption82CircuitId",
        "dhcpOption82Format",
        "dhcpOption82RemoteId",
        "dhcpServerAccessList",
        "dhcpSnoopClientDbExp",
        "dhcpSnoopClientReq",
        "dhcpSnoopDbPerPortLearnLimit",
        "fipsEnforce",
        "firmwareProvisionOnAuthorization",
        "httpsImagePush",
        "logMacLimitViolations",
        "macAgingInterval",
        "macEventLogging",
        "macRetentionPeriod",
        "macViolationTimer",
        "quarantineMode",
        "snDnsResolution",
        "updateUserDevice",
        "vdomparam",
        "vlanAllMode",
        "vlanIdentity",
        "vlanOptimization"
      ],
      "inputProperties": {
        "allowMultipleInterfaces": {
          "type": "string",
          "description": "Enable/disable multiple FortiLink interfaces for redundant connections between a managed FortiSwitch and FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "bounceQuarantinedLink": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where a quarantined device was seen last. Helps to re-initiate the DHCP process for a device. Valid values: `disable`, `enable`.\n"
        },
        "customCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FGlobalCustomCommand:GlobalCustomCommand"
          },
          "description": "List of custom commands to be pushed to all FortiSwitches in the VDOM. The structure of `custom_command` block is documented below.\n"
        },
        "defaultVirtualSwitchVlan": {
          "type": "string",
          "description": "Default VLAN for ports when added to the virtual-switch.\n"
        },
        "dhcpOption82CircuitId": {
          "type": "string",
          "description": "List the parameters to be included to inform about client identification. Valid values: `intfname`, `vlan`, `hostname`, `mode`, `description`.\n"
        },
        "dhcpOption82Format": {
          "type": "string",
          "description": "DHCP option-82 format string. Valid values: `ascii`, `legacy`.\n"
        },
        "dhcpOption82RemoteId": {
          "type": "string",
          "description": "List the parameters to be included to inform about client identification. Valid values: `mac`, `hostname`, `ip`.\n"
        },
        "dhcpServerAccessList": {
          "type": "string",
          "description": "Enable/disable DHCP snooping server access list. Valid values: `enable`, `disable`.\n"
        },
        "dhcpSnoopClientDbExp": {
          "type": "integer",
          "description": "Expiry time for DHCP snooping server database entries (300 - 259200 sec, default = 86400 sec).\n"
        },
        "dhcpSnoopClientReq": {
          "type": "string",
          "description": "Client DHCP packet broadcast mode. Valid values: `drop-untrusted`, `forward-untrusted`.\n"
        },
        "dhcpSnoopDbPerPortLearnLimit": {
          "type": "integer",
          "description": "Per Interface dhcp-server entries learn limit (0 - 1024, default = 64).\n"
        },
        "disableDiscoveries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FGlobalDisableDiscovery:GlobalDisableDiscovery"
          },
          "description": "Prevent this FortiSwitch from discovering. The structure of `disable_discovery` 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"
        },
        "fipsEnforce": {
          "type": "string",
          "description": "Enable/disable enforcement of FIPS on managed FortiSwitch devices. Valid values: `disable`, `enable`.\n"
        },
        "firmwareProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
        },
        "httpsImagePush": {
          "type": "string",
          "description": "Enable/disable image push to FortiSwitch using HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "logMacLimitViolations": {
          "type": "string",
          "description": "Enable/disable logs for Learning Limit Violations. Valid values: `enable`, `disable`.\n"
        },
        "macAgingInterval": {
          "type": "integer",
          "description": "Time after which an inactive MAC is aged out (10 - 1000000 sec, default = 300, 0 = disable).\n"
        },
        "macEventLogging": {
          "type": "string",
          "description": "Enable/disable MAC address event logging. Valid values: `enable`, `disable`.\n"
        },
        "macRetentionPeriod": {
          "type": "integer",
          "description": "Time in hours after which an inactive MAC is removed from client DB (0 = aged out based on mac-aging-interval).\n"
        },
        "macViolationTimer": {
          "type": "integer",
          "description": "Set timeout for Learning Limit Violations (0 = disabled).\n"
        },
        "quarantineMode": {
          "type": "string",
          "description": "Quarantine mode. Valid values: `by-vlan`, `by-redirect`.\n"
        },
        "snDnsResolution": {
          "type": "string",
          "description": "Enable/disable DNS resolution of the FortiSwitch unit's IP address by use of its serial number. Valid values: `enable`, `disable`.\n"
        },
        "updateUserDevice": {
          "type": "string",
          "description": "Control which sources update the device user list. Valid values: `mac-cache`, `lldp`, `dhcp-snooping`, `l2-db`, `l3-db`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vlanAllMode": {
          "type": "string",
          "description": "VLAN configuration mode, user-defined-vlans or all-possible-vlans. Valid values: `all`, `defined`.\n"
        },
        "vlanIdentity": {
          "type": "string",
          "description": "Identity of the VLAN. Commonly used for RADIUS Tunnel-Private-Group-Id. Valid values: `description`, `name`.\n"
        },
        "vlanOptimization": {
          "type": "string",
          "description": "FortiLink VLAN optimization. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "allowMultipleInterfaces": {
            "type": "string",
            "description": "Enable/disable multiple FortiLink interfaces for redundant connections between a managed FortiSwitch and FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "bounceQuarantinedLink": {
            "type": "string",
            "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where a quarantined device was seen last. Helps to re-initiate the DHCP process for a device. Valid values: `disable`, `enable`.\n"
          },
          "customCommands": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FGlobalCustomCommand:GlobalCustomCommand"
            },
            "description": "List of custom commands to be pushed to all FortiSwitches in the VDOM. The structure of `custom_command` block is documented below.\n"
          },
          "defaultVirtualSwitchVlan": {
            "type": "string",
            "description": "Default VLAN for ports when added to the virtual-switch.\n"
          },
          "dhcpOption82CircuitId": {
            "type": "string",
            "description": "List the parameters to be included to inform about client identification. Valid values: `intfname`, `vlan`, `hostname`, `mode`, `description`.\n"
          },
          "dhcpOption82Format": {
            "type": "string",
            "description": "DHCP option-82 format string. Valid values: `ascii`, `legacy`.\n"
          },
          "dhcpOption82RemoteId": {
            "type": "string",
            "description": "List the parameters to be included to inform about client identification. Valid values: `mac`, `hostname`, `ip`.\n"
          },
          "dhcpServerAccessList": {
            "type": "string",
            "description": "Enable/disable DHCP snooping server access list. Valid values: `enable`, `disable`.\n"
          },
          "dhcpSnoopClientDbExp": {
            "type": "integer",
            "description": "Expiry time for DHCP snooping server database entries (300 - 259200 sec, default = 86400 sec).\n"
          },
          "dhcpSnoopClientReq": {
            "type": "string",
            "description": "Client DHCP packet broadcast mode. Valid values: `drop-untrusted`, `forward-untrusted`.\n"
          },
          "dhcpSnoopDbPerPortLearnLimit": {
            "type": "integer",
            "description": "Per Interface dhcp-server entries learn limit (0 - 1024, default = 64).\n"
          },
          "disableDiscoveries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FGlobalDisableDiscovery:GlobalDisableDiscovery"
            },
            "description": "Prevent this FortiSwitch from discovering. The structure of `disable_discovery` 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"
          },
          "fipsEnforce": {
            "type": "string",
            "description": "Enable/disable enforcement of FIPS on managed FortiSwitch devices. Valid values: `disable`, `enable`.\n"
          },
          "firmwareProvisionOnAuthorization": {
            "type": "string",
            "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
          },
          "httpsImagePush": {
            "type": "string",
            "description": "Enable/disable image push to FortiSwitch using HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "logMacLimitViolations": {
            "type": "string",
            "description": "Enable/disable logs for Learning Limit Violations. Valid values: `enable`, `disable`.\n"
          },
          "macAgingInterval": {
            "type": "integer",
            "description": "Time after which an inactive MAC is aged out (10 - 1000000 sec, default = 300, 0 = disable).\n"
          },
          "macEventLogging": {
            "type": "string",
            "description": "Enable/disable MAC address event logging. Valid values: `enable`, `disable`.\n"
          },
          "macRetentionPeriod": {
            "type": "integer",
            "description": "Time in hours after which an inactive MAC is removed from client DB (0 = aged out based on mac-aging-interval).\n"
          },
          "macViolationTimer": {
            "type": "integer",
            "description": "Set timeout for Learning Limit Violations (0 = disabled).\n"
          },
          "quarantineMode": {
            "type": "string",
            "description": "Quarantine mode. Valid values: `by-vlan`, `by-redirect`.\n"
          },
          "snDnsResolution": {
            "type": "string",
            "description": "Enable/disable DNS resolution of the FortiSwitch unit's IP address by use of its serial number. Valid values: `enable`, `disable`.\n"
          },
          "updateUserDevice": {
            "type": "string",
            "description": "Control which sources update the device user list. Valid values: `mac-cache`, `lldp`, `dhcp-snooping`, `l2-db`, `l3-db`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vlanAllMode": {
            "type": "string",
            "description": "VLAN configuration mode, user-defined-vlans or all-possible-vlans. Valid values: `all`, `defined`.\n"
          },
          "vlanIdentity": {
            "type": "string",
            "description": "Identity of the VLAN. Commonly used for RADIUS Tunnel-Private-Group-Id. Valid values: `description`, `name`.\n"
          },
          "vlanOptimization": {
            "type": "string",
            "description": "FortiLink VLAN optimization. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/igmpsnooping:Igmpsnooping": {
      "description": "Configure FortiSwitch IGMP snooping global 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.switchcontroller.Igmpsnooping(\"trname\", {\n    agingTime: 300,\n    floodUnknownMulticast: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Igmpsnooping(\"trname\",\n    aging_time=300,\n    flood_unknown_multicast=\"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.Switchcontroller.Igmpsnooping(\"trname\", new()\n    {\n        AgingTime = 300,\n        FloodUnknownMulticast = \"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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewIgmpsnooping(ctx, \"trname\", &switchcontroller.IgmpsnoopingArgs{\n\t\t\tAgingTime:             pulumi.Int(300),\n\t\t\tFloodUnknownMulticast: 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.switchcontroller.Igmpsnooping;\nimport com.pulumi.fortios.switchcontroller.IgmpsnoopingArgs;\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 Igmpsnooping(\"trname\", IgmpsnoopingArgs.builder()\n            .agingTime(300)\n            .floodUnknownMulticast(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Igmpsnooping\n    properties:\n      agingTime: 300\n      floodUnknownMulticast: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController IgmpSnooping can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/igmpsnooping:Igmpsnooping labelname SwitchControllerIgmpSnooping\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:switchcontroller/igmpsnooping:Igmpsnooping labelname SwitchControllerIgmpSnooping\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "agingTime": {
          "type": "integer",
          "description": "Maximum number of seconds 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"
        },
        "queryInterval": {
          "type": "integer",
          "description": "Maximum time after which IGMP query will be sent (10 - 1200 sec, default = 125).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "agingTime",
        "floodUnknownMulticast",
        "queryInterval",
        "vdomparam"
      ],
      "inputProperties": {
        "agingTime": {
          "type": "integer",
          "description": "Maximum number of seconds 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"
        },
        "queryInterval": {
          "type": "integer",
          "description": "Maximum time after which IGMP query will be sent (10 - 1200 sec, default = 125).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Igmpsnooping resources.\n",
        "properties": {
          "agingTime": {
            "type": "integer",
            "description": "Maximum number of seconds 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"
          },
          "queryInterval": {
            "type": "integer",
            "description": "Maximum time after which IGMP query will be sent (10 - 1200 sec, default = 125).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/initialconfig/template:Template": {
      "description": "Configure template for auto-generated VLANs. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nSwitchControllerInitialConfig Template can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/initialconfig/template:Template 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:switchcontroller/initialconfig/template:Template labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface. Valid values: `ping`, `https`, `ssh`, `snmp`, `http`, `telnet`, `fgfm`, `radius-acct`, `probe-response`, `fabric`, `ftm`.\n"
        },
        "autoIp": {
          "type": "string",
          "description": "Automatically allocate interface address and subnet block. Valid values: `enable`, `disable`.\n"
        },
        "dhcpServer": {
          "type": "string",
          "description": "Enable/disable a DHCP server on this interface. Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask.\n"
        },
        "name": {
          "type": "string",
          "description": "Initial config template 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"
        },
        "vlanid": {
          "type": "integer",
          "description": "Unique VLAN ID.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "autoIp",
        "dhcpServer",
        "ip",
        "name",
        "vdomparam",
        "vlanid"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface. Valid values: `ping`, `https`, `ssh`, `snmp`, `http`, `telnet`, `fgfm`, `radius-acct`, `probe-response`, `fabric`, `ftm`.\n"
        },
        "autoIp": {
          "type": "string",
          "description": "Automatically allocate interface address and subnet block. Valid values: `enable`, `disable`.\n"
        },
        "dhcpServer": {
          "type": "string",
          "description": "Enable/disable a DHCP server on this interface. Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask.\n"
        },
        "name": {
          "type": "string",
          "description": "Initial config template 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
        },
        "vlanid": {
          "type": "integer",
          "description": "Unique VLAN ID.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Template resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Permitted types of management access to this interface. Valid values: `ping`, `https`, `ssh`, `snmp`, `http`, `telnet`, `fgfm`, `radius-acct`, `probe-response`, `fabric`, `ftm`.\n"
          },
          "autoIp": {
            "type": "string",
            "description": "Automatically allocate interface address and subnet block. Valid values: `enable`, `disable`.\n"
          },
          "dhcpServer": {
            "type": "string",
            "description": "Enable/disable a DHCP server on this interface. Valid values: `enable`, `disable`.\n"
          },
          "ip": {
            "type": "string",
            "description": "Interface IPv4 address and subnet mask.\n"
          },
          "name": {
            "type": "string",
            "description": "Initial config template 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
          },
          "vlanid": {
            "type": "integer",
            "description": "Unique VLAN ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/initialconfig/vlans:Vlans": {
      "description": "Configure initial template for auto-generated VLAN interfaces. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nSwitchControllerInitialConfig Vlans can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/initialconfig/vlans:Vlans labelname SwitchControllerInitialConfigVlans\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:switchcontroller/initialconfig/vlans:Vlans labelname SwitchControllerInitialConfigVlans\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "defaultVlan": {
          "type": "string",
          "description": "Default VLAN (native) assigned to all switch ports upon discovery.\n"
        },
        "nac": {
          "type": "string",
          "description": "VLAN for NAC onboarding devices.\n"
        },
        "nacSegment": {
          "type": "string",
          "description": "VLAN for NAC segemnt primary interface.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "VLAN for quarantined traffic.\n"
        },
        "rspan": {
          "type": "string",
          "description": "VLAN for RSPAN/ERSPAN mirrored traffic.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "video": {
          "type": "string",
          "description": "VLAN dedicated for video devices.\n"
        },
        "voice": {
          "type": "string",
          "description": "VLAN dedicated for voice devices.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultVlan",
        "nac",
        "nacSegment",
        "quarantine",
        "rspan",
        "vdomparam",
        "video",
        "voice"
      ],
      "inputProperties": {
        "defaultVlan": {
          "type": "string",
          "description": "Default VLAN (native) assigned to all switch ports upon discovery.\n"
        },
        "nac": {
          "type": "string",
          "description": "VLAN for NAC onboarding devices.\n"
        },
        "nacSegment": {
          "type": "string",
          "description": "VLAN for NAC segemnt primary interface.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "VLAN for quarantined traffic.\n"
        },
        "rspan": {
          "type": "string",
          "description": "VLAN for RSPAN/ERSPAN mirrored traffic.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "video": {
          "type": "string",
          "description": "VLAN dedicated for video devices.\n"
        },
        "voice": {
          "type": "string",
          "description": "VLAN dedicated for voice devices.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vlans resources.\n",
        "properties": {
          "defaultVlan": {
            "type": "string",
            "description": "Default VLAN (native) assigned to all switch ports upon discovery.\n"
          },
          "nac": {
            "type": "string",
            "description": "VLAN for NAC onboarding devices.\n"
          },
          "nacSegment": {
            "type": "string",
            "description": "VLAN for NAC segemnt primary interface.\n"
          },
          "quarantine": {
            "type": "string",
            "description": "VLAN for quarantined traffic.\n"
          },
          "rspan": {
            "type": "string",
            "description": "VLAN for RSPAN/ERSPAN mirrored traffic.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "video": {
            "type": "string",
            "description": "VLAN dedicated for video devices.\n"
          },
          "voice": {
            "type": "string",
            "description": "VLAN dedicated for voice devices.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/lldpprofile:Lldpprofile": {
      "description": "Configure FortiSwitch LLDP 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.switchcontroller.Lldpprofile(\"trname\", {\n    autoIsl: \"enable\",\n    autoIslHelloTimer: 3,\n    autoIslPortGroup: 0,\n    autoIslReceiveTimeout: 60,\n    medTlvs: \"inventory-management network-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Lldpprofile(\"trname\",\n    auto_isl=\"enable\",\n    auto_isl_hello_timer=3,\n    auto_isl_port_group=0,\n    auto_isl_receive_timeout=60,\n    med_tlvs=\"inventory-management network-policy\")\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.Switchcontroller.Lldpprofile(\"trname\", new()\n    {\n        AutoIsl = \"enable\",\n        AutoIslHelloTimer = 3,\n        AutoIslPortGroup = 0,\n        AutoIslReceiveTimeout = 60,\n        MedTlvs = \"inventory-management network-policy\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewLldpprofile(ctx, \"trname\", &switchcontroller.LldpprofileArgs{\n\t\t\tAutoIsl:               pulumi.String(\"enable\"),\n\t\t\tAutoIslHelloTimer:     pulumi.Int(3),\n\t\t\tAutoIslPortGroup:      pulumi.Int(0),\n\t\t\tAutoIslReceiveTimeout: pulumi.Int(60),\n\t\t\tMedTlvs:               pulumi.String(\"inventory-management network-policy\"),\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.switchcontroller.Lldpprofile;\nimport com.pulumi.fortios.switchcontroller.LldpprofileArgs;\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 Lldpprofile(\"trname\", LldpprofileArgs.builder()\n            .autoIsl(\"enable\")\n            .autoIslHelloTimer(3)\n            .autoIslPortGroup(0)\n            .autoIslReceiveTimeout(60)\n            .medTlvs(\"inventory-management network-policy\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Lldpprofile\n    properties:\n      autoIsl: enable\n      autoIslHelloTimer: 3\n      autoIslPortGroup: 0\n      autoIslReceiveTimeout: 60\n      medTlvs: inventory-management network-policy\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController LldpProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/lldpprofile:Lldpprofile 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:switchcontroller/lldpprofile:Lldpprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoIsl": {
          "type": "string",
          "description": "Enable/disable auto inter-switch LAG. Valid values: `disable`, `enable`.\n"
        },
        "autoIslAuth": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication mode. Valid values: `legacy`, `strict`, `relax`.\n"
        },
        "autoIslAuthEncrypt": {
          "type": "string",
          "description": "Auto inter-switch LAG encryption mode. Valid values: `none`, `mixed`, `must`.\n"
        },
        "autoIslAuthIdentity": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication identity.\n"
        },
        "autoIslAuthMacsecProfile": {
          "type": "string",
          "description": "Auto inter-switch LAG macsec profile for encryption.\n"
        },
        "autoIslAuthReauth": {
          "type": "integer",
          "description": "Auto inter-switch LAG authentication reauth period in seconds(10 - 3600, default = 3600).\n"
        },
        "autoIslAuthUser": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication user certificate.\n"
        },
        "autoIslHelloTimer": {
          "type": "integer",
          "description": "Auto inter-switch LAG hello timer duration (1 - 30 sec, default = 3).\n"
        },
        "autoIslPortGroup": {
          "type": "integer",
          "description": "Auto inter-switch LAG port group ID (0 - 9).\n"
        },
        "autoIslReceiveTimeout": {
          "type": "integer",
          "description": "Auto inter-switch LAG timeout if no response is received (3 - 90 sec, default = 9).\n"
        },
        "autoMclagIcl": {
          "type": "string",
          "description": "Enable/disable MCLAG inter chassis link. Valid values: `disable`, `enable`.\n"
        },
        "customTlvs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileCustomTlv:LldpprofileCustomTlv"
          },
          "description": "Configuration method to edit custom TLV entries. The structure of `custom_tlvs` 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"
        },
        "medLocationServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedLocationService:LldpprofileMedLocationService"
          },
          "description": "Configuration method to edit Media Endpoint Discovery (MED) location service type-length-value (TLV) categories. The structure of `med_location_service` block is documented below.\n"
        },
        "medNetworkPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedNetworkPolicy:LldpprofileMedNetworkPolicy"
          },
          "description": "Configuration method to edit Media Endpoint Discovery (MED) network policy type-length-value (TLV) categories. The structure of `med_network_policy` block is documented below.\n"
        },
        "medTlvs": {
          "type": "string",
          "description": "Transmitted LLDP-MED TLVs (type-length-value descriptions).\n"
        },
        "n8021Tlvs": {
          "type": "string",
          "description": "Transmitted IEEE 802.1 TLVs. Valid values: `port-vlan-id`.\n"
        },
        "n8023Tlvs": {
          "type": "string",
          "description": "Transmitted IEEE 802.3 TLVs.\n"
        },
        "name": {
          "type": "string",
          "description": "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": [
        "autoIsl",
        "autoIslAuth",
        "autoIslAuthEncrypt",
        "autoIslAuthIdentity",
        "autoIslAuthMacsecProfile",
        "autoIslAuthReauth",
        "autoIslAuthUser",
        "autoIslHelloTimer",
        "autoIslPortGroup",
        "autoIslReceiveTimeout",
        "autoMclagIcl",
        "medTlvs",
        "n8021Tlvs",
        "n8023Tlvs",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "autoIsl": {
          "type": "string",
          "description": "Enable/disable auto inter-switch LAG. Valid values: `disable`, `enable`.\n"
        },
        "autoIslAuth": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication mode. Valid values: `legacy`, `strict`, `relax`.\n"
        },
        "autoIslAuthEncrypt": {
          "type": "string",
          "description": "Auto inter-switch LAG encryption mode. Valid values: `none`, `mixed`, `must`.\n"
        },
        "autoIslAuthIdentity": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication identity.\n"
        },
        "autoIslAuthMacsecProfile": {
          "type": "string",
          "description": "Auto inter-switch LAG macsec profile for encryption.\n"
        },
        "autoIslAuthReauth": {
          "type": "integer",
          "description": "Auto inter-switch LAG authentication reauth period in seconds(10 - 3600, default = 3600).\n"
        },
        "autoIslAuthUser": {
          "type": "string",
          "description": "Auto inter-switch LAG authentication user certificate.\n"
        },
        "autoIslHelloTimer": {
          "type": "integer",
          "description": "Auto inter-switch LAG hello timer duration (1 - 30 sec, default = 3).\n"
        },
        "autoIslPortGroup": {
          "type": "integer",
          "description": "Auto inter-switch LAG port group ID (0 - 9).\n"
        },
        "autoIslReceiveTimeout": {
          "type": "integer",
          "description": "Auto inter-switch LAG timeout if no response is received (3 - 90 sec, default = 9).\n"
        },
        "autoMclagIcl": {
          "type": "string",
          "description": "Enable/disable MCLAG inter chassis link. Valid values: `disable`, `enable`.\n"
        },
        "customTlvs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileCustomTlv:LldpprofileCustomTlv"
          },
          "description": "Configuration method to edit custom TLV entries. The structure of `custom_tlvs` 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"
        },
        "medLocationServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedLocationService:LldpprofileMedLocationService"
          },
          "description": "Configuration method to edit Media Endpoint Discovery (MED) location service type-length-value (TLV) categories. The structure of `med_location_service` block is documented below.\n"
        },
        "medNetworkPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedNetworkPolicy:LldpprofileMedNetworkPolicy"
          },
          "description": "Configuration method to edit Media Endpoint Discovery (MED) network policy type-length-value (TLV) categories. The structure of `med_network_policy` block is documented below.\n"
        },
        "medTlvs": {
          "type": "string",
          "description": "Transmitted LLDP-MED TLVs (type-length-value descriptions).\n"
        },
        "n8021Tlvs": {
          "type": "string",
          "description": "Transmitted IEEE 802.1 TLVs. Valid values: `port-vlan-id`.\n"
        },
        "n8023Tlvs": {
          "type": "string",
          "description": "Transmitted IEEE 802.3 TLVs.\n"
        },
        "name": {
          "type": "string",
          "description": "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 Lldpprofile resources.\n",
        "properties": {
          "autoIsl": {
            "type": "string",
            "description": "Enable/disable auto inter-switch LAG. Valid values: `disable`, `enable`.\n"
          },
          "autoIslAuth": {
            "type": "string",
            "description": "Auto inter-switch LAG authentication mode. Valid values: `legacy`, `strict`, `relax`.\n"
          },
          "autoIslAuthEncrypt": {
            "type": "string",
            "description": "Auto inter-switch LAG encryption mode. Valid values: `none`, `mixed`, `must`.\n"
          },
          "autoIslAuthIdentity": {
            "type": "string",
            "description": "Auto inter-switch LAG authentication identity.\n"
          },
          "autoIslAuthMacsecProfile": {
            "type": "string",
            "description": "Auto inter-switch LAG macsec profile for encryption.\n"
          },
          "autoIslAuthReauth": {
            "type": "integer",
            "description": "Auto inter-switch LAG authentication reauth period in seconds(10 - 3600, default = 3600).\n"
          },
          "autoIslAuthUser": {
            "type": "string",
            "description": "Auto inter-switch LAG authentication user certificate.\n"
          },
          "autoIslHelloTimer": {
            "type": "integer",
            "description": "Auto inter-switch LAG hello timer duration (1 - 30 sec, default = 3).\n"
          },
          "autoIslPortGroup": {
            "type": "integer",
            "description": "Auto inter-switch LAG port group ID (0 - 9).\n"
          },
          "autoIslReceiveTimeout": {
            "type": "integer",
            "description": "Auto inter-switch LAG timeout if no response is received (3 - 90 sec, default = 9).\n"
          },
          "autoMclagIcl": {
            "type": "string",
            "description": "Enable/disable MCLAG inter chassis link. Valid values: `disable`, `enable`.\n"
          },
          "customTlvs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FLldpprofileCustomTlv:LldpprofileCustomTlv"
            },
            "description": "Configuration method to edit custom TLV entries. The structure of `custom_tlvs` 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"
          },
          "medLocationServices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedLocationService:LldpprofileMedLocationService"
            },
            "description": "Configuration method to edit Media Endpoint Discovery (MED) location service type-length-value (TLV) categories. The structure of `med_location_service` block is documented below.\n"
          },
          "medNetworkPolicies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FLldpprofileMedNetworkPolicy:LldpprofileMedNetworkPolicy"
            },
            "description": "Configuration method to edit Media Endpoint Discovery (MED) network policy type-length-value (TLV) categories. The structure of `med_network_policy` block is documented below.\n"
          },
          "medTlvs": {
            "type": "string",
            "description": "Transmitted LLDP-MED TLVs (type-length-value descriptions).\n"
          },
          "n8021Tlvs": {
            "type": "string",
            "description": "Transmitted IEEE 802.1 TLVs. Valid values: `port-vlan-id`.\n"
          },
          "n8023Tlvs": {
            "type": "string",
            "description": "Transmitted IEEE 802.3 TLVs.\n"
          },
          "name": {
            "type": "string",
            "description": "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:switchcontroller/lldpsettings:Lldpsettings": {
      "description": "Configure FortiSwitch LLDP 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.switchcontroller.Lldpsettings(\"trname\", {\n    fastStartInterval: 2,\n    managementInterface: \"internal\",\n    status: \"enable\",\n    txHold: 4,\n    txInterval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Lldpsettings(\"trname\",\n    fast_start_interval=2,\n    management_interface=\"internal\",\n    status=\"enable\",\n    tx_hold=4,\n    tx_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.Switchcontroller.Lldpsettings(\"trname\", new()\n    {\n        FastStartInterval = 2,\n        ManagementInterface = \"internal\",\n        Status = \"enable\",\n        TxHold = 4,\n        TxInterval = 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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewLldpsettings(ctx, \"trname\", &switchcontroller.LldpsettingsArgs{\n\t\t\tFastStartInterval:   pulumi.Int(2),\n\t\t\tManagementInterface: pulumi.String(\"internal\"),\n\t\t\tStatus:              pulumi.String(\"enable\"),\n\t\t\tTxHold:              pulumi.Int(4),\n\t\t\tTxInterval:          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.switchcontroller.Lldpsettings;\nimport com.pulumi.fortios.switchcontroller.LldpsettingsArgs;\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 Lldpsettings(\"trname\", LldpsettingsArgs.builder()\n            .fastStartInterval(2)\n            .managementInterface(\"internal\")\n            .status(\"enable\")\n            .txHold(4)\n            .txInterval(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Lldpsettings\n    properties:\n      fastStartInterval: 2\n      managementInterface: internal\n      status: enable\n      txHold: 4\n      txInterval: 30\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController LldpSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/lldpsettings:Lldpsettings labelname SwitchControllerLldpSettings\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:switchcontroller/lldpsettings:Lldpsettings labelname SwitchControllerLldpSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "deviceDetection": {
          "type": "string",
          "description": "Enable/disable dynamic detection of LLDP neighbor devices for VLAN assignment. Valid values: `disable`, `enable`.\n"
        },
        "fastStartInterval": {
          "type": "integer",
          "description": "Frequency of LLDP PDU transmission from FortiSwitch for the first 4 packets when the link is up (2 - 5 sec, default = 2, 0 = disable fast start).\n"
        },
        "managementInterface": {
          "type": "string",
          "description": "Primary management interface to be advertised in LLDP and CDP PDUs. Valid values: `internal`, `mgmt`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable LLDP global settings. Valid values: `enable`, `disable`.\n"
        },
        "txHold": {
          "type": "integer",
          "description": "Number of tx-intervals before local LLDP data expires (1 - 16, default = 4). Packet TTL is tx-hold * tx-interval.\n"
        },
        "txInterval": {
          "type": "integer",
          "description": "Frequency of LLDP PDU transmission from FortiSwitch (5 - 4095 sec, default = 30). Packet TTL is tx-hold * tx-interval.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "deviceDetection",
        "fastStartInterval",
        "managementInterface",
        "status",
        "txHold",
        "txInterval",
        "vdomparam"
      ],
      "inputProperties": {
        "deviceDetection": {
          "type": "string",
          "description": "Enable/disable dynamic detection of LLDP neighbor devices for VLAN assignment. Valid values: `disable`, `enable`.\n"
        },
        "fastStartInterval": {
          "type": "integer",
          "description": "Frequency of LLDP PDU transmission from FortiSwitch for the first 4 packets when the link is up (2 - 5 sec, default = 2, 0 = disable fast start).\n"
        },
        "managementInterface": {
          "type": "string",
          "description": "Primary management interface to be advertised in LLDP and CDP PDUs. Valid values: `internal`, `mgmt`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable LLDP global settings. Valid values: `enable`, `disable`.\n"
        },
        "txHold": {
          "type": "integer",
          "description": "Number of tx-intervals before local LLDP data expires (1 - 16, default = 4). Packet TTL is tx-hold * tx-interval.\n"
        },
        "txInterval": {
          "type": "integer",
          "description": "Frequency of LLDP PDU transmission from FortiSwitch (5 - 4095 sec, default = 30). Packet TTL is tx-hold * tx-interval.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Lldpsettings resources.\n",
        "properties": {
          "deviceDetection": {
            "type": "string",
            "description": "Enable/disable dynamic detection of LLDP neighbor devices for VLAN assignment. Valid values: `disable`, `enable`.\n"
          },
          "fastStartInterval": {
            "type": "integer",
            "description": "Frequency of LLDP PDU transmission from FortiSwitch for the first 4 packets when the link is up (2 - 5 sec, default = 2, 0 = disable fast start).\n"
          },
          "managementInterface": {
            "type": "string",
            "description": "Primary management interface to be advertised in LLDP and CDP PDUs. Valid values: `internal`, `mgmt`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable LLDP global settings. Valid values: `enable`, `disable`.\n"
          },
          "txHold": {
            "type": "integer",
            "description": "Number of tx-intervals before local LLDP data expires (1 - 16, default = 4). Packet TTL is tx-hold * tx-interval.\n"
          },
          "txInterval": {
            "type": "integer",
            "description": "Frequency of LLDP PDU transmission from FortiSwitch (5 - 4095 sec, default = 30). Packet TTL is tx-hold * tx-interval.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/location:Location": {
      "description": "Configure FortiSwitch location services. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController Location can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/location:Location 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:switchcontroller/location:Location labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addressCivic": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationAddressCivic:LocationAddressCivic",
          "description": "Configure location civic address. The structure of `address_civic` block is documented below.\n"
        },
        "coordinates": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationCoordinates:LocationCoordinates",
          "description": "Configure location GPS coordinates. The structure of `coordinates` block is documented below.\n"
        },
        "elinNumber": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationElinNumber:LocationElinNumber",
          "description": "Configure location ELIN number. The structure of `elin_number` 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": "Unique location item 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": [
        "addressCivic",
        "coordinates",
        "elinNumber",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "addressCivic": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationAddressCivic:LocationAddressCivic",
          "description": "Configure location civic address. The structure of `address_civic` block is documented below.\n"
        },
        "coordinates": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationCoordinates:LocationCoordinates",
          "description": "Configure location GPS coordinates. The structure of `coordinates` block is documented below.\n"
        },
        "elinNumber": {
          "$ref": "#/types/fortios:switchcontroller%2FLocationElinNumber:LocationElinNumber",
          "description": "Configure location ELIN number. The structure of `elin_number` 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": "Unique location item 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 Location resources.\n",
        "properties": {
          "addressCivic": {
            "$ref": "#/types/fortios:switchcontroller%2FLocationAddressCivic:LocationAddressCivic",
            "description": "Configure location civic address. The structure of `address_civic` block is documented below.\n"
          },
          "coordinates": {
            "$ref": "#/types/fortios:switchcontroller%2FLocationCoordinates:LocationCoordinates",
            "description": "Configure location GPS coordinates. The structure of `coordinates` block is documented below.\n"
          },
          "elinNumber": {
            "$ref": "#/types/fortios:switchcontroller%2FLocationElinNumber:LocationElinNumber",
            "description": "Configure location ELIN number. The structure of `elin_number` 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": "Unique location item 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:switchcontroller/macsyncsettings:Macsyncsettings": {
      "description": "Configure global MAC synchronization settings. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nSwitchController MacSyncSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/macsyncsettings:Macsyncsettings labelname SwitchControllerMacSyncSettings\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:switchcontroller/macsyncsettings:Macsyncsettings labelname SwitchControllerMacSyncSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "macSyncInterval": {
          "type": "integer",
          "description": "Time interval between MAC synchronizations (30 - 1800 sec, default = 60, 0 = disable MAC synchronization).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "macSyncInterval",
        "vdomparam"
      ],
      "inputProperties": {
        "macSyncInterval": {
          "type": "integer",
          "description": "Time interval between MAC synchronizations (30 - 1800 sec, default = 60, 0 = disable MAC synchronization).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Macsyncsettings resources.\n",
        "properties": {
          "macSyncInterval": {
            "type": "integer",
            "description": "Time interval between MAC synchronizations (30 - 1800 sec, default = 60, 0 = disable MAC synchronization).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/managedswitch:Managedswitch": {
      "description": "Configure FortiSwitch devices that are managed by this FortiGate.\n\n## Import\n\nSwitchController ManagedSwitch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/managedswitch:Managedswitch labelname {{switch_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:switchcontroller/managedswitch:Managedswitch labelname {{switch_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessProfile": {
          "type": "string",
          "description": "FortiSwitch access profile.\n"
        },
        "customCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchCustomCommand:ManagedswitchCustomCommand"
          },
          "description": "Configuration method to edit FortiSwitch commands to be pushed to this FortiSwitch device upon rebooting the FortiGate switch controller or the FortiSwitch. The structure of `custom_command` block is documented below.\n"
        },
        "delayedRestartTrigger": {
          "type": "integer",
          "description": "Delayed restart triggered for this FortiSwitch.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "dhcpServerAccessList": {
          "type": "string",
          "description": "DHCP snooping server access list. Valid values: `global`, `enable`, `disable`.\n"
        },
        "dhcpSnoopingStaticClients": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchDhcpSnoopingStaticClient:ManagedswitchDhcpSnoopingStaticClient"
          },
          "description": "Configure FortiSwitch DHCP snooping static clients. The structure of `dhcp_snooping_static_client` block is documented below.\n"
        },
        "directlyConnected": {
          "type": "integer",
          "description": "Directly connected FortiSwitch.\n"
        },
        "dynamicCapability": {
          "type": "integer",
          "description": "List of features this FortiSwitch supports (not configurable) that is sent to the FortiGate device for subsequent configuration initiated by the FortiGate device.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "dynamicallyDiscovered": {
          "type": "integer",
          "description": "Dynamically discovered FortiSwitch.\n"
        },
        "firmwareProvision": {
          "type": "string",
          "description": "Enable/disable provisioning of firmware to FortiSwitches on join connection. Valid values: `enable`, `disable`.\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "firmwareProvisionVersion": {
          "type": "string",
          "description": "Firmware version to provision to this FortiSwitch on bootup (major.minor.build, i.e. 6.2.1234).\n"
        },
        "flowIdentity": {
          "type": "string",
          "description": "Flow-tracking netflow ipfix switch identity in hex format(00000000-FFFFFFFF default=0).\n"
        },
        "fswWan1Admin": {
          "type": "string",
          "description": "FortiSwitch WAN1 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "fswWan1Peer": {
          "type": "string",
          "description": "Fortiswitch WAN1 peer port.\n"
        },
        "fswWan2Admin": {
          "type": "string",
          "description": "FortiSwitch WAN2 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "fswWan2Peer": {
          "type": "string",
          "description": "FortiSwitch WAN2 peer port.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "igmpSnooping": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIgmpSnooping:ManagedswitchIgmpSnooping",
          "description": "Configure FortiSwitch IGMP snooping global settings. The structure of `igmp_snooping` block is documented below.\n"
        },
        "ipSourceGuards": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIpSourceGuard:ManagedswitchIpSourceGuard"
          },
          "description": "IP source guard. The structure of `ip_source_guard` block is documented below.\n"
        },
        "l3Discovered": {
          "type": "integer",
          "description": "Layer 3 management discovered.\n"
        },
        "maxAllowedTrunkMembers": {
          "type": "integer",
          "description": "FortiSwitch maximum allowed trunk members.\n"
        },
        "mclagIgmpSnoopingAware": {
          "type": "string",
          "description": "Enable/disable MCLAG IGMP-snooping awareness. Valid values: `enable`, `disable`.\n"
        },
        "mgmtMode": {
          "type": "integer",
          "description": "FortiLink management mode.\n"
        },
        "mirrors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchMirror:ManagedswitchMirror"
          },
          "description": "Configuration method to edit FortiSwitch packet mirror. The structure of `mirror` block is documented below.\n"
        },
        "n8021xSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchN8021xSettings:ManagedswitchN8021xSettings",
          "description": "Configuration method to edit FortiSwitch 802.1X global settings. The structure of `n802_1x_settings` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Managed-switch name.\n"
        },
        "overrideSnmpCommunity": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP communities. Valid values: `enable`, `disable`.\n"
        },
        "overrideSnmpSysinfo": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP system information. Valid values: `disable`, `enable`.\n"
        },
        "overrideSnmpTrapThreshold": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP trap threshold values. Valid values: `enable`, `disable`.\n"
        },
        "overrideSnmpUser": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP users. Valid values: `enable`, `disable`.\n"
        },
        "ownerVdom": {
          "type": "string",
          "description": "VDOM which owner of port belongs to.\n"
        },
        "poeDetectionType": {
          "type": "integer",
          "description": "PoE detection type for FortiSwitch.\n"
        },
        "poeLldpDetection": {
          "type": "string",
          "description": "Enable/disable PoE LLDP detection. Valid values: `enable`, `disable`.\n"
        },
        "poePreStandardDetection": {
          "type": "string",
          "description": "Enable/disable PoE pre-standard detection. Valid values: `enable`, `disable`.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPort:ManagedswitchPort"
          },
          "description": "Managed-switch port list. The structure of `ports` block is documented below.\n"
        },
        "preProvisioned": {
          "type": "integer",
          "description": "Pre-provisioned managed switch.\n"
        },
        "ptpProfile": {
          "type": "string",
          "description": "PTP profile configuration.\n"
        },
        "ptpStatus": {
          "type": "string",
          "description": "Enable/disable PTP profile on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this FortiSwitch. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "qosDropPolicy": {
          "type": "string",
          "description": "Set QoS drop-policy. Valid values: `taildrop`, `random-early-detection`.\n"
        },
        "qosRedProbability": {
          "type": "integer",
          "description": "Set QoS RED/WRED drop probability.\n"
        },
        "radiusNasIp": {
          "type": "string",
          "description": "NAS-IP address.\n"
        },
        "radiusNasIpOverride": {
          "type": "string",
          "description": "Use locally defined NAS-IP. Valid values: `disable`, `enable`.\n"
        },
        "remoteLogs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRemoteLog:ManagedswitchRemoteLog"
          },
          "description": "Configure logging by FortiSwitch device to a remote syslog server. The structure of `remote_log` block is documented below.\n"
        },
        "routeOffload": {
          "type": "string",
          "description": "Enable/disable route offload on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "routeOffloadMclag": {
          "type": "string",
          "description": "Enable/disable route offload MCLAG on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "routeOffloadRouters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRouteOffloadRouter:ManagedswitchRouteOffloadRouter"
          },
          "description": "Configure route offload MCLAG IP address. The structure of `route_offload_router` block is documented below.\n"
        },
        "sn": {
          "type": "string",
          "description": "Managed-switch serial number.\n"
        },
        "snmpCommunities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpCommunity:ManagedswitchSnmpCommunity"
          },
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) communities. The structure of `snmp_community` block is documented below.\n"
        },
        "snmpSysinfo": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpSysinfo:ManagedswitchSnmpSysinfo",
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) system info. The structure of `snmp_sysinfo` block is documented below.\n"
        },
        "snmpTrapThreshold": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpTrapThreshold:ManagedswitchSnmpTrapThreshold",
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) trap threshold values. The structure of `snmp_trap_threshold` block is documented below.\n"
        },
        "snmpUsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpUser:ManagedswitchSnmpUser"
          },
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) users. The structure of `snmp_user` block is documented below.\n"
        },
        "stagedImageVersion": {
          "type": "string",
          "description": "Staged image version for FortiSwitch.\n"
        },
        "staticMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStaticMac:ManagedswitchStaticMac"
          },
          "description": "Configuration method to edit FortiSwitch Static and Sticky MAC. The structure of `static_mac` block is documented below.\n"
        },
        "stormControl": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStormControl:ManagedswitchStormControl",
          "description": "Configuration method to edit FortiSwitch storm control for measuring traffic activity using data rates to prevent traffic disruption. The structure of `storm_control` block is documented below.\n"
        },
        "stpInstances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpInstance:ManagedswitchStpInstance"
          },
          "description": "Configuration method to edit Spanning Tree Protocol (STP) instances. The structure of `stp_instance` block is documented below.\n"
        },
        "stpSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpSettings:ManagedswitchStpSettings",
          "description": "Configuration method to edit Spanning Tree Protocol (STP) settings used to prevent bridge loops. The structure of `stp_settings` block is documented below.\n"
        },
        "switchDeviceTag": {
          "type": "string",
          "description": "User definable label/tag.\n"
        },
        "switchDhcpOpt43Key": {
          "type": "string",
          "description": "DHCP option43 key.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Managed-switch id.\n"
        },
        "switchLog": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchLog:ManagedswitchSwitchLog",
          "description": "Configuration method to edit FortiSwitch logging settings (logs are transferred to and inserted into the FortiGate event log). The structure of `switch_log` block is documented below.\n"
        },
        "switchProfile": {
          "type": "string",
          "description": "FortiSwitch profile.\n"
        },
        "switchStpSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchStpSettings:ManagedswitchSwitchStpSettings",
          "description": "Configure spanning tree protocol (STP). The structure of `switch_stp_settings` block is documented below.\n"
        },
        "tdrSupported": {
          "type": "string",
          "description": "TDR supported.\n"
        },
        "tunnelDiscovered": {
          "type": "integer",
          "description": "SOCKS tunnel management discovered.\n"
        },
        "type": {
          "type": "string",
          "description": "Indication of switch type, physical or virtual. Valid values: `virtual`, `physical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "version": {
          "type": "integer",
          "description": "FortiSwitch version.\n"
        },
        "vlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchVlan:ManagedswitchVlan"
          },
          "description": "Configure VLAN assignment priority. The structure of `vlan` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accessProfile",
        "delayedRestartTrigger",
        "description",
        "dhcpServerAccessList",
        "directlyConnected",
        "dynamicCapability",
        "dynamicallyDiscovered",
        "firmwareProvision",
        "firmwareProvisionLatest",
        "firmwareProvisionVersion",
        "flowIdentity",
        "fswWan1Admin",
        "fswWan1Peer",
        "fswWan2Admin",
        "fswWan2Peer",
        "igmpSnooping",
        "l3Discovered",
        "maxAllowedTrunkMembers",
        "mclagIgmpSnoopingAware",
        "mgmtMode",
        "n8021xSettings",
        "name",
        "overrideSnmpCommunity",
        "overrideSnmpSysinfo",
        "overrideSnmpTrapThreshold",
        "overrideSnmpUser",
        "ownerVdom",
        "poeDetectionType",
        "poeLldpDetection",
        "poePreStandardDetection",
        "ports",
        "preProvisioned",
        "ptpProfile",
        "ptpStatus",
        "purdueLevel",
        "qosDropPolicy",
        "qosRedProbability",
        "radiusNasIp",
        "radiusNasIpOverride",
        "routeOffload",
        "routeOffloadMclag",
        "sn",
        "snmpSysinfo",
        "snmpTrapThreshold",
        "stagedImageVersion",
        "stormControl",
        "stpSettings",
        "switchDeviceTag",
        "switchDhcpOpt43Key",
        "switchId",
        "switchLog",
        "switchProfile",
        "switchStpSettings",
        "tdrSupported",
        "tunnelDiscovered",
        "type",
        "vdomparam",
        "version"
      ],
      "inputProperties": {
        "accessProfile": {
          "type": "string",
          "description": "FortiSwitch access profile.\n"
        },
        "customCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchCustomCommand:ManagedswitchCustomCommand"
          },
          "description": "Configuration method to edit FortiSwitch commands to be pushed to this FortiSwitch device upon rebooting the FortiGate switch controller or the FortiSwitch. The structure of `custom_command` block is documented below.\n"
        },
        "delayedRestartTrigger": {
          "type": "integer",
          "description": "Delayed restart triggered for this FortiSwitch.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "dhcpServerAccessList": {
          "type": "string",
          "description": "DHCP snooping server access list. Valid values: `global`, `enable`, `disable`.\n"
        },
        "dhcpSnoopingStaticClients": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchDhcpSnoopingStaticClient:ManagedswitchDhcpSnoopingStaticClient"
          },
          "description": "Configure FortiSwitch DHCP snooping static clients. The structure of `dhcp_snooping_static_client` block is documented below.\n"
        },
        "directlyConnected": {
          "type": "integer",
          "description": "Directly connected FortiSwitch.\n"
        },
        "dynamicCapability": {
          "type": "integer",
          "description": "List of features this FortiSwitch supports (not configurable) that is sent to the FortiGate device for subsequent configuration initiated by the FortiGate device.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "dynamicallyDiscovered": {
          "type": "integer",
          "description": "Dynamically discovered FortiSwitch.\n"
        },
        "firmwareProvision": {
          "type": "string",
          "description": "Enable/disable provisioning of firmware to FortiSwitches on join connection. Valid values: `enable`, `disable`.\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "firmwareProvisionVersion": {
          "type": "string",
          "description": "Firmware version to provision to this FortiSwitch on bootup (major.minor.build, i.e. 6.2.1234).\n"
        },
        "flowIdentity": {
          "type": "string",
          "description": "Flow-tracking netflow ipfix switch identity in hex format(00000000-FFFFFFFF default=0).\n"
        },
        "fswWan1Admin": {
          "type": "string",
          "description": "FortiSwitch WAN1 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "fswWan1Peer": {
          "type": "string",
          "description": "Fortiswitch WAN1 peer port.\n"
        },
        "fswWan2Admin": {
          "type": "string",
          "description": "FortiSwitch WAN2 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "fswWan2Peer": {
          "type": "string",
          "description": "FortiSwitch WAN2 peer port.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "igmpSnooping": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIgmpSnooping:ManagedswitchIgmpSnooping",
          "description": "Configure FortiSwitch IGMP snooping global settings. The structure of `igmp_snooping` block is documented below.\n"
        },
        "ipSourceGuards": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIpSourceGuard:ManagedswitchIpSourceGuard"
          },
          "description": "IP source guard. The structure of `ip_source_guard` block is documented below.\n"
        },
        "l3Discovered": {
          "type": "integer",
          "description": "Layer 3 management discovered.\n"
        },
        "maxAllowedTrunkMembers": {
          "type": "integer",
          "description": "FortiSwitch maximum allowed trunk members.\n"
        },
        "mclagIgmpSnoopingAware": {
          "type": "string",
          "description": "Enable/disable MCLAG IGMP-snooping awareness. Valid values: `enable`, `disable`.\n"
        },
        "mgmtMode": {
          "type": "integer",
          "description": "FortiLink management mode.\n"
        },
        "mirrors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchMirror:ManagedswitchMirror"
          },
          "description": "Configuration method to edit FortiSwitch packet mirror. The structure of `mirror` block is documented below.\n"
        },
        "n8021xSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchN8021xSettings:ManagedswitchN8021xSettings",
          "description": "Configuration method to edit FortiSwitch 802.1X global settings. The structure of `n802_1x_settings` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Managed-switch name.\n"
        },
        "overrideSnmpCommunity": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP communities. Valid values: `enable`, `disable`.\n"
        },
        "overrideSnmpSysinfo": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP system information. Valid values: `disable`, `enable`.\n"
        },
        "overrideSnmpTrapThreshold": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP trap threshold values. Valid values: `enable`, `disable`.\n"
        },
        "overrideSnmpUser": {
          "type": "string",
          "description": "Enable/disable overriding the global SNMP users. Valid values: `enable`, `disable`.\n"
        },
        "ownerVdom": {
          "type": "string",
          "description": "VDOM which owner of port belongs to.\n"
        },
        "poeDetectionType": {
          "type": "integer",
          "description": "PoE detection type for FortiSwitch.\n"
        },
        "poeLldpDetection": {
          "type": "string",
          "description": "Enable/disable PoE LLDP detection. Valid values: `enable`, `disable`.\n"
        },
        "poePreStandardDetection": {
          "type": "string",
          "description": "Enable/disable PoE pre-standard detection. Valid values: `enable`, `disable`.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPort:ManagedswitchPort"
          },
          "description": "Managed-switch port list. The structure of `ports` block is documented below.\n"
        },
        "preProvisioned": {
          "type": "integer",
          "description": "Pre-provisioned managed switch.\n"
        },
        "ptpProfile": {
          "type": "string",
          "description": "PTP profile configuration.\n"
        },
        "ptpStatus": {
          "type": "string",
          "description": "Enable/disable PTP profile on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this FortiSwitch. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "qosDropPolicy": {
          "type": "string",
          "description": "Set QoS drop-policy. Valid values: `taildrop`, `random-early-detection`.\n"
        },
        "qosRedProbability": {
          "type": "integer",
          "description": "Set QoS RED/WRED drop probability.\n"
        },
        "radiusNasIp": {
          "type": "string",
          "description": "NAS-IP address.\n"
        },
        "radiusNasIpOverride": {
          "type": "string",
          "description": "Use locally defined NAS-IP. Valid values: `disable`, `enable`.\n"
        },
        "remoteLogs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRemoteLog:ManagedswitchRemoteLog"
          },
          "description": "Configure logging by FortiSwitch device to a remote syslog server. The structure of `remote_log` block is documented below.\n"
        },
        "routeOffload": {
          "type": "string",
          "description": "Enable/disable route offload on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "routeOffloadMclag": {
          "type": "string",
          "description": "Enable/disable route offload MCLAG on this FortiSwitch. Valid values: `disable`, `enable`.\n"
        },
        "routeOffloadRouters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRouteOffloadRouter:ManagedswitchRouteOffloadRouter"
          },
          "description": "Configure route offload MCLAG IP address. The structure of `route_offload_router` block is documented below.\n"
        },
        "sn": {
          "type": "string",
          "description": "Managed-switch serial number.\n"
        },
        "snmpCommunities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpCommunity:ManagedswitchSnmpCommunity"
          },
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) communities. The structure of `snmp_community` block is documented below.\n"
        },
        "snmpSysinfo": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpSysinfo:ManagedswitchSnmpSysinfo",
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) system info. The structure of `snmp_sysinfo` block is documented below.\n"
        },
        "snmpTrapThreshold": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpTrapThreshold:ManagedswitchSnmpTrapThreshold",
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) trap threshold values. The structure of `snmp_trap_threshold` block is documented below.\n"
        },
        "snmpUsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpUser:ManagedswitchSnmpUser"
          },
          "description": "Configuration method to edit Simple Network Management Protocol (SNMP) users. The structure of `snmp_user` block is documented below.\n"
        },
        "stagedImageVersion": {
          "type": "string",
          "description": "Staged image version for FortiSwitch.\n"
        },
        "staticMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStaticMac:ManagedswitchStaticMac"
          },
          "description": "Configuration method to edit FortiSwitch Static and Sticky MAC. The structure of `static_mac` block is documented below.\n"
        },
        "stormControl": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStormControl:ManagedswitchStormControl",
          "description": "Configuration method to edit FortiSwitch storm control for measuring traffic activity using data rates to prevent traffic disruption. The structure of `storm_control` block is documented below.\n"
        },
        "stpInstances": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpInstance:ManagedswitchStpInstance"
          },
          "description": "Configuration method to edit Spanning Tree Protocol (STP) instances. The structure of `stp_instance` block is documented below.\n"
        },
        "stpSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpSettings:ManagedswitchStpSettings",
          "description": "Configuration method to edit Spanning Tree Protocol (STP) settings used to prevent bridge loops. The structure of `stp_settings` block is documented below.\n"
        },
        "switchDeviceTag": {
          "type": "string",
          "description": "User definable label/tag.\n"
        },
        "switchDhcpOpt43Key": {
          "type": "string",
          "description": "DHCP option43 key.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Managed-switch id.\n",
          "willReplaceOnChanges": true
        },
        "switchLog": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchLog:ManagedswitchSwitchLog",
          "description": "Configuration method to edit FortiSwitch logging settings (logs are transferred to and inserted into the FortiGate event log). The structure of `switch_log` block is documented below.\n"
        },
        "switchProfile": {
          "type": "string",
          "description": "FortiSwitch profile.\n"
        },
        "switchStpSettings": {
          "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchStpSettings:ManagedswitchSwitchStpSettings",
          "description": "Configure spanning tree protocol (STP). The structure of `switch_stp_settings` block is documented below.\n"
        },
        "tdrSupported": {
          "type": "string",
          "description": "TDR supported.\n"
        },
        "tunnelDiscovered": {
          "type": "integer",
          "description": "SOCKS tunnel management discovered.\n"
        },
        "type": {
          "type": "string",
          "description": "Indication of switch type, physical or virtual. Valid values: `virtual`, `physical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "version": {
          "type": "integer",
          "description": "FortiSwitch version.\n"
        },
        "vlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchVlan:ManagedswitchVlan"
          },
          "description": "Configure VLAN assignment priority. The structure of `vlan` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "fswWan1Peer",
        "switchId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Managedswitch resources.\n",
        "properties": {
          "accessProfile": {
            "type": "string",
            "description": "FortiSwitch access profile.\n"
          },
          "customCommands": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchCustomCommand:ManagedswitchCustomCommand"
            },
            "description": "Configuration method to edit FortiSwitch commands to be pushed to this FortiSwitch device upon rebooting the FortiGate switch controller or the FortiSwitch. The structure of `custom_command` block is documented below.\n"
          },
          "delayedRestartTrigger": {
            "type": "integer",
            "description": "Delayed restart triggered for this FortiSwitch.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "dhcpServerAccessList": {
            "type": "string",
            "description": "DHCP snooping server access list. Valid values: `global`, `enable`, `disable`.\n"
          },
          "dhcpSnoopingStaticClients": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchDhcpSnoopingStaticClient:ManagedswitchDhcpSnoopingStaticClient"
            },
            "description": "Configure FortiSwitch DHCP snooping static clients. The structure of `dhcp_snooping_static_client` block is documented below.\n"
          },
          "directlyConnected": {
            "type": "integer",
            "description": "Directly connected FortiSwitch.\n"
          },
          "dynamicCapability": {
            "type": "integer",
            "description": "List of features this FortiSwitch supports (not configurable) that is sent to the FortiGate device for subsequent configuration initiated by the FortiGate device.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "dynamicallyDiscovered": {
            "type": "integer",
            "description": "Dynamically discovered FortiSwitch.\n"
          },
          "firmwareProvision": {
            "type": "string",
            "description": "Enable/disable provisioning of firmware to FortiSwitches on join connection. Valid values: `enable`, `disable`.\n"
          },
          "firmwareProvisionLatest": {
            "type": "string",
            "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
          },
          "firmwareProvisionVersion": {
            "type": "string",
            "description": "Firmware version to provision to this FortiSwitch on bootup (major.minor.build, i.e. 6.2.1234).\n"
          },
          "flowIdentity": {
            "type": "string",
            "description": "Flow-tracking netflow ipfix switch identity in hex format(00000000-FFFFFFFF default=0).\n"
          },
          "fswWan1Admin": {
            "type": "string",
            "description": "FortiSwitch WAN1 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
          },
          "fswWan1Peer": {
            "type": "string",
            "description": "Fortiswitch WAN1 peer port.\n"
          },
          "fswWan2Admin": {
            "type": "string",
            "description": "FortiSwitch WAN2 admin status; enable to authorize the FortiSwitch as a managed switch. Valid values: `discovered`, `disable`, `enable`.\n"
          },
          "fswWan2Peer": {
            "type": "string",
            "description": "FortiSwitch WAN2 peer port.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "igmpSnooping": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIgmpSnooping:ManagedswitchIgmpSnooping",
            "description": "Configure FortiSwitch IGMP snooping global settings. The structure of `igmp_snooping` block is documented below.\n"
          },
          "ipSourceGuards": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIpSourceGuard:ManagedswitchIpSourceGuard"
            },
            "description": "IP source guard. The structure of `ip_source_guard` block is documented below.\n"
          },
          "l3Discovered": {
            "type": "integer",
            "description": "Layer 3 management discovered.\n"
          },
          "maxAllowedTrunkMembers": {
            "type": "integer",
            "description": "FortiSwitch maximum allowed trunk members.\n"
          },
          "mclagIgmpSnoopingAware": {
            "type": "string",
            "description": "Enable/disable MCLAG IGMP-snooping awareness. Valid values: `enable`, `disable`.\n"
          },
          "mgmtMode": {
            "type": "integer",
            "description": "FortiLink management mode.\n"
          },
          "mirrors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchMirror:ManagedswitchMirror"
            },
            "description": "Configuration method to edit FortiSwitch packet mirror. The structure of `mirror` block is documented below.\n"
          },
          "n8021xSettings": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchN8021xSettings:ManagedswitchN8021xSettings",
            "description": "Configuration method to edit FortiSwitch 802.1X global settings. The structure of `n802_1x_settings` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Managed-switch name.\n"
          },
          "overrideSnmpCommunity": {
            "type": "string",
            "description": "Enable/disable overriding the global SNMP communities. Valid values: `enable`, `disable`.\n"
          },
          "overrideSnmpSysinfo": {
            "type": "string",
            "description": "Enable/disable overriding the global SNMP system information. Valid values: `disable`, `enable`.\n"
          },
          "overrideSnmpTrapThreshold": {
            "type": "string",
            "description": "Enable/disable overriding the global SNMP trap threshold values. Valid values: `enable`, `disable`.\n"
          },
          "overrideSnmpUser": {
            "type": "string",
            "description": "Enable/disable overriding the global SNMP users. Valid values: `enable`, `disable`.\n"
          },
          "ownerVdom": {
            "type": "string",
            "description": "VDOM which owner of port belongs to.\n"
          },
          "poeDetectionType": {
            "type": "integer",
            "description": "PoE detection type for FortiSwitch.\n"
          },
          "poeLldpDetection": {
            "type": "string",
            "description": "Enable/disable PoE LLDP detection. Valid values: `enable`, `disable`.\n"
          },
          "poePreStandardDetection": {
            "type": "string",
            "description": "Enable/disable PoE pre-standard detection. Valid values: `enable`, `disable`.\n"
          },
          "ports": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPort:ManagedswitchPort"
            },
            "description": "Managed-switch port list. The structure of `ports` block is documented below.\n"
          },
          "preProvisioned": {
            "type": "integer",
            "description": "Pre-provisioned managed switch.\n"
          },
          "ptpProfile": {
            "type": "string",
            "description": "PTP profile configuration.\n"
          },
          "ptpStatus": {
            "type": "string",
            "description": "Enable/disable PTP profile on this FortiSwitch. Valid values: `disable`, `enable`.\n"
          },
          "purdueLevel": {
            "type": "string",
            "description": "Purdue Level of this FortiSwitch. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
          },
          "qosDropPolicy": {
            "type": "string",
            "description": "Set QoS drop-policy. Valid values: `taildrop`, `random-early-detection`.\n"
          },
          "qosRedProbability": {
            "type": "integer",
            "description": "Set QoS RED/WRED drop probability.\n"
          },
          "radiusNasIp": {
            "type": "string",
            "description": "NAS-IP address.\n"
          },
          "radiusNasIpOverride": {
            "type": "string",
            "description": "Use locally defined NAS-IP. Valid values: `disable`, `enable`.\n"
          },
          "remoteLogs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRemoteLog:ManagedswitchRemoteLog"
            },
            "description": "Configure logging by FortiSwitch device to a remote syslog server. The structure of `remote_log` block is documented below.\n"
          },
          "routeOffload": {
            "type": "string",
            "description": "Enable/disable route offload on this FortiSwitch. Valid values: `disable`, `enable`.\n"
          },
          "routeOffloadMclag": {
            "type": "string",
            "description": "Enable/disable route offload MCLAG on this FortiSwitch. Valid values: `disable`, `enable`.\n"
          },
          "routeOffloadRouters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchRouteOffloadRouter:ManagedswitchRouteOffloadRouter"
            },
            "description": "Configure route offload MCLAG IP address. The structure of `route_offload_router` block is documented below.\n"
          },
          "sn": {
            "type": "string",
            "description": "Managed-switch serial number.\n"
          },
          "snmpCommunities": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpCommunity:ManagedswitchSnmpCommunity"
            },
            "description": "Configuration method to edit Simple Network Management Protocol (SNMP) communities. The structure of `snmp_community` block is documented below.\n"
          },
          "snmpSysinfo": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpSysinfo:ManagedswitchSnmpSysinfo",
            "description": "Configuration method to edit Simple Network Management Protocol (SNMP) system info. The structure of `snmp_sysinfo` block is documented below.\n"
          },
          "snmpTrapThreshold": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpTrapThreshold:ManagedswitchSnmpTrapThreshold",
            "description": "Configuration method to edit Simple Network Management Protocol (SNMP) trap threshold values. The structure of `snmp_trap_threshold` block is documented below.\n"
          },
          "snmpUsers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpUser:ManagedswitchSnmpUser"
            },
            "description": "Configuration method to edit Simple Network Management Protocol (SNMP) users. The structure of `snmp_user` block is documented below.\n"
          },
          "stagedImageVersion": {
            "type": "string",
            "description": "Staged image version for FortiSwitch.\n"
          },
          "staticMacs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStaticMac:ManagedswitchStaticMac"
            },
            "description": "Configuration method to edit FortiSwitch Static and Sticky MAC. The structure of `static_mac` block is documented below.\n"
          },
          "stormControl": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStormControl:ManagedswitchStormControl",
            "description": "Configuration method to edit FortiSwitch storm control for measuring traffic activity using data rates to prevent traffic disruption. The structure of `storm_control` block is documented below.\n"
          },
          "stpInstances": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpInstance:ManagedswitchStpInstance"
            },
            "description": "Configuration method to edit Spanning Tree Protocol (STP) instances. The structure of `stp_instance` block is documented below.\n"
          },
          "stpSettings": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchStpSettings:ManagedswitchStpSettings",
            "description": "Configuration method to edit Spanning Tree Protocol (STP) settings used to prevent bridge loops. The structure of `stp_settings` block is documented below.\n"
          },
          "switchDeviceTag": {
            "type": "string",
            "description": "User definable label/tag.\n"
          },
          "switchDhcpOpt43Key": {
            "type": "string",
            "description": "DHCP option43 key.\n"
          },
          "switchId": {
            "type": "string",
            "description": "Managed-switch id.\n",
            "willReplaceOnChanges": true
          },
          "switchLog": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchLog:ManagedswitchSwitchLog",
            "description": "Configuration method to edit FortiSwitch logging settings (logs are transferred to and inserted into the FortiGate event log). The structure of `switch_log` block is documented below.\n"
          },
          "switchProfile": {
            "type": "string",
            "description": "FortiSwitch profile.\n"
          },
          "switchStpSettings": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSwitchStpSettings:ManagedswitchSwitchStpSettings",
            "description": "Configure spanning tree protocol (STP). The structure of `switch_stp_settings` block is documented below.\n"
          },
          "tdrSupported": {
            "type": "string",
            "description": "TDR supported.\n"
          },
          "tunnelDiscovered": {
            "type": "integer",
            "description": "SOCKS tunnel management discovered.\n"
          },
          "type": {
            "type": "string",
            "description": "Indication of switch type, physical or virtual. Valid values: `virtual`, `physical`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "version": {
            "type": "integer",
            "description": "FortiSwitch version.\n"
          },
          "vlans": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FManagedswitchVlan:ManagedswitchVlan"
            },
            "description": "Configure VLAN assignment priority. The structure of `vlan` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/nacdevice:Nacdevice": {
      "description": "Configure/list NAC devices learned on the managed FortiSwitch ports which matches NAC policy. 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\nSwitchController NacDevice can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/nacdevice:Nacdevice 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:switchcontroller/nacdevice:Nacdevice labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the learned NAC device.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Device ID.\n"
        },
        "lastKnownPort": {
          "type": "string",
          "description": "Managed FortiSwitch port where NAC device is last learned.\n"
        },
        "lastKnownSwitch": {
          "type": "string",
          "description": "Managed FortiSwitch where NAC device is last learned.\n"
        },
        "lastSeen": {
          "type": "integer",
          "description": "Device last seen.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address of the learned NAC device.\n"
        },
        "macPolicy": {
          "type": "string",
          "description": "MAC policy to be applied on this learned NAC device.\n"
        },
        "matchedNacPolicy": {
          "type": "string",
          "description": "Matched NAC policy for the learned NAC device.\n"
        },
        "portPolicy": {
          "type": "string",
          "description": "Port policy to be applied on this learned NAC device.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of the learned NAC device. Set enable to authorize the NAC device. 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": [
        "description",
        "fosid",
        "lastKnownPort",
        "lastKnownSwitch",
        "lastSeen",
        "mac",
        "macPolicy",
        "matchedNacPolicy",
        "portPolicy",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description for the learned NAC device.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Device ID.\n",
          "willReplaceOnChanges": true
        },
        "lastKnownPort": {
          "type": "string",
          "description": "Managed FortiSwitch port where NAC device is last learned.\n"
        },
        "lastKnownSwitch": {
          "type": "string",
          "description": "Managed FortiSwitch where NAC device is last learned.\n"
        },
        "lastSeen": {
          "type": "integer",
          "description": "Device last seen.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address of the learned NAC device.\n"
        },
        "macPolicy": {
          "type": "string",
          "description": "MAC policy to be applied on this learned NAC device.\n"
        },
        "matchedNacPolicy": {
          "type": "string",
          "description": "Matched NAC policy for the learned NAC device.\n"
        },
        "portPolicy": {
          "type": "string",
          "description": "Port policy to be applied on this learned NAC device.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of the learned NAC device. Set enable to authorize the NAC device. 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 Nacdevice resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description for the learned NAC device.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Device ID.\n",
            "willReplaceOnChanges": true
          },
          "lastKnownPort": {
            "type": "string",
            "description": "Managed FortiSwitch port where NAC device is last learned.\n"
          },
          "lastKnownSwitch": {
            "type": "string",
            "description": "Managed FortiSwitch where NAC device is last learned.\n"
          },
          "lastSeen": {
            "type": "integer",
            "description": "Device last seen.\n"
          },
          "mac": {
            "type": "string",
            "description": "MAC address of the learned NAC device.\n"
          },
          "macPolicy": {
            "type": "string",
            "description": "MAC policy to be applied on this learned NAC device.\n"
          },
          "matchedNacPolicy": {
            "type": "string",
            "description": "Matched NAC policy for the learned NAC device.\n"
          },
          "portPolicy": {
            "type": "string",
            "description": "Port policy to be applied on this learned NAC device.\n"
          },
          "status": {
            "type": "string",
            "description": "Status of the learned NAC device. Set enable to authorize the NAC device. 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:switchcontroller/nacsettings:Nacsettings": {
      "description": "Configure integrated NAC settings for FortiSwitch. 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\nSwitchController NacSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/nacsettings:Nacsettings 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:switchcontroller/nacsettings:Nacsettings labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoAuth": {
          "type": "string",
          "description": "Enable/disable NAC device auto authorization when discovered and nac-policy matched. Valid values: `disable`, `enable`.\n"
        },
        "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"
        },
        "inactiveTimer": {
          "type": "integer",
          "description": "Time interval(minutes, 0 = no expiry) to be included in the inactive NAC devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
        },
        "linkDownFlush": {
          "type": "string",
          "description": "Clear NAC devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Set NAC mode to be used on the FortiSwitch ports. Valid values: `local`, `global`.\n"
        },
        "name": {
          "type": "string",
          "description": "NAC settings name.\n"
        },
        "onboardingVlan": {
          "type": "string",
          "description": "Default NAC Onboarding VLAN when NAC devices are discovered.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "autoAuth",
        "bounceNacPort",
        "inactiveTimer",
        "linkDownFlush",
        "mode",
        "name",
        "onboardingVlan",
        "vdomparam"
      ],
      "inputProperties": {
        "autoAuth": {
          "type": "string",
          "description": "Enable/disable NAC device auto authorization when discovered and nac-policy matched. Valid values: `disable`, `enable`.\n"
        },
        "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"
        },
        "inactiveTimer": {
          "type": "integer",
          "description": "Time interval(minutes, 0 = no expiry) to be included in the inactive NAC devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
        },
        "linkDownFlush": {
          "type": "string",
          "description": "Clear NAC devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Set NAC mode to be used on the FortiSwitch ports. Valid values: `local`, `global`.\n"
        },
        "name": {
          "type": "string",
          "description": "NAC settings name.\n",
          "willReplaceOnChanges": true
        },
        "onboardingVlan": {
          "type": "string",
          "description": "Default NAC Onboarding VLAN when NAC devices are discovered.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Nacsettings resources.\n",
        "properties": {
          "autoAuth": {
            "type": "string",
            "description": "Enable/disable NAC device auto authorization when discovered and nac-policy matched. Valid values: `disable`, `enable`.\n"
          },
          "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"
          },
          "inactiveTimer": {
            "type": "integer",
            "description": "Time interval(minutes, 0 = no expiry) to be included in the inactive NAC devices expiry calculation (mac age-out + inactive-time + periodic scan interval).\n"
          },
          "linkDownFlush": {
            "type": "string",
            "description": "Clear NAC devices on switch ports on link down event. Valid values: `disable`, `enable`.\n"
          },
          "mode": {
            "type": "string",
            "description": "Set NAC mode to be used on the FortiSwitch ports. Valid values: `local`, `global`.\n"
          },
          "name": {
            "type": "string",
            "description": "NAC settings name.\n",
            "willReplaceOnChanges": true
          },
          "onboardingVlan": {
            "type": "string",
            "description": "Default NAC Onboarding VLAN when NAC devices are discovered.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/networkmonitorsettings:Networkmonitorsettings": {
      "description": "Configure network monitor 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.switchcontroller.Networkmonitorsettings(\"trname\", {networkMonitoring: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Networkmonitorsettings(\"trname\", network_monitoring=\"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.Switchcontroller.Networkmonitorsettings(\"trname\", new()\n    {\n        NetworkMonitoring = \"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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewNetworkmonitorsettings(ctx, \"trname\", &switchcontroller.NetworkmonitorsettingsArgs{\n\t\t\tNetworkMonitoring: 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.switchcontroller.Networkmonitorsettings;\nimport com.pulumi.fortios.switchcontroller.NetworkmonitorsettingsArgs;\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 Networkmonitorsettings(\"trname\", NetworkmonitorsettingsArgs.builder()\n            .networkMonitoring(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Networkmonitorsettings\n    properties:\n      networkMonitoring: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController NetworkMonitorSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/networkmonitorsettings:Networkmonitorsettings labelname SwitchControllerNetworkMonitorSettings\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:switchcontroller/networkmonitorsettings:Networkmonitorsettings labelname SwitchControllerNetworkMonitorSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "networkMonitoring": {
          "type": "string",
          "description": "Enable/disable passive gathering of information by FortiSwitch units concerning other network devices. 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": [
        "networkMonitoring",
        "vdomparam"
      ],
      "inputProperties": {
        "networkMonitoring": {
          "type": "string",
          "description": "Enable/disable passive gathering of information by FortiSwitch units concerning other network devices. 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 Networkmonitorsettings resources.\n",
        "properties": {
          "networkMonitoring": {
            "type": "string",
            "description": "Enable/disable passive gathering of information by FortiSwitch units concerning other network devices. 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:switchcontroller/portpolicy:Portpolicy": {
      "description": "Configure port policy to be applied on the managed FortiSwitch ports through NAC device. 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\nSwitchController PortPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/portpolicy:Portpolicy 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:switchcontroller/portpolicy:Portpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bouncePortLink": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where this port policy is applied. Helps to clear and reassign VLAN from lldp-profile. Valid values: `disable`, `enable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the port policy.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this port policy belongs to.\n"
        },
        "lldpProfile": {
          "type": "string",
          "description": "LLDP profile to be applied when using this port-policy.\n"
        },
        "n8021x": {
          "type": "string",
          "description": "802.1x security policy to be applied when using this port-policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Port policy name.\n"
        },
        "qosPolicy": {
          "type": "string",
          "description": "QoS policy to be applied when using this port-policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vlanPolicy": {
          "type": "string",
          "description": "VLAN policy to be applied when using this port-policy.\n"
        }
      },
      "type": "object",
      "required": [
        "bouncePortLink",
        "description",
        "fortilink",
        "lldpProfile",
        "n8021x",
        "name",
        "qosPolicy",
        "vdomparam",
        "vlanPolicy"
      ],
      "inputProperties": {
        "bouncePortLink": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where this port policy is applied. Helps to clear and reassign VLAN from lldp-profile. Valid values: `disable`, `enable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the port policy.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this port policy belongs to.\n"
        },
        "lldpProfile": {
          "type": "string",
          "description": "LLDP profile to be applied when using this port-policy.\n"
        },
        "n8021x": {
          "type": "string",
          "description": "802.1x security policy to be applied when using this port-policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Port policy name.\n",
          "willReplaceOnChanges": true
        },
        "qosPolicy": {
          "type": "string",
          "description": "QoS policy to be applied when using this port-policy.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vlanPolicy": {
          "type": "string",
          "description": "VLAN policy to be applied when using this port-policy.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Portpolicy resources.\n",
        "properties": {
          "bouncePortLink": {
            "type": "string",
            "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where this port policy is applied. Helps to clear and reassign VLAN from lldp-profile. Valid values: `disable`, `enable`.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for the port policy.\n"
          },
          "fortilink": {
            "type": "string",
            "description": "FortiLink interface for which this port policy belongs to.\n"
          },
          "lldpProfile": {
            "type": "string",
            "description": "LLDP profile to be applied when using this port-policy.\n"
          },
          "n8021x": {
            "type": "string",
            "description": "802.1x security policy to be applied when using this port-policy.\n"
          },
          "name": {
            "type": "string",
            "description": "Port policy name.\n",
            "willReplaceOnChanges": true
          },
          "qosPolicy": {
            "type": "string",
            "description": "QoS policy to be applied when using this port-policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vlanPolicy": {
            "type": "string",
            "description": "VLAN policy to be applied when using this port-policy.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/ptp/interfacepolicy:Interfacepolicy": {
      "description": "PTP interface-policy configuration. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nSwitchControllerPtp InterfacePolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/ptp/interfacepolicy:Interfacepolicy 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:switchcontroller/ptp/interfacepolicy:Interfacepolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy 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"
        },
        "vlan": {
          "type": "string",
          "description": "PTP VLAN.\n"
        },
        "vlanPri": {
          "type": "integer",
          "description": "Configure PTP VLAN priority (0 - 7, default = 4).\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "name",
        "vdomparam",
        "vlan",
        "vlanPri"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy 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
        },
        "vlan": {
          "type": "string",
          "description": "PTP VLAN.\n"
        },
        "vlanPri": {
          "type": "integer",
          "description": "Configure PTP VLAN priority (0 - 7, default = 4).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Interfacepolicy resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy 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
          },
          "vlan": {
            "type": "string",
            "description": "PTP VLAN.\n"
          },
          "vlanPri": {
            "type": "integer",
            "description": "Configure PTP VLAN priority (0 - 7, default = 4).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/ptp/policy:Policy": {
      "description": "PTP policy 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,7.2.1,7.2.2,7.2.3,7.2.4,7.2.6,7.2.7,7.2.8,7.4.0`.\n\n## Import\n\nSwitchControllerPtp Policy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/ptp/policy:Policy 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:switchcontroller/ptp/policy:Policy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable PTP policy. 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": [
        "name",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable PTP policy. 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 Policy resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Policy name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable PTP policy. 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:switchcontroller/ptp/profile:Profile": {
      "description": "Global PTP profile. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nSwitchControllerPtp Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/ptp/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:switchcontroller/ptp/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "domain": {
          "type": "integer",
          "description": "Configure PTP domain value (0 - 255, default = 254).\n"
        },
        "mode": {
          "type": "string",
          "description": "Select PTP mode. Valid values: `transparent-e2e`, `transparent-p2p`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "pdelayReqInterval": {
          "type": "string",
          "description": "Configure PTP peer delay request interval. Valid values: `1sec`, `2sec`, `4sec`, `8sec`, `16sec`, `32sec`.\n"
        },
        "ptpProfile": {
          "type": "string",
          "description": "Configure PTP power profile. Valid values: `C37.238-2017`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Configure PTP transport mode. Valid values: `l2-mcast`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "domain",
        "mode",
        "name",
        "pdelayReqInterval",
        "ptpProfile",
        "transport",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "domain": {
          "type": "integer",
          "description": "Configure PTP domain value (0 - 255, default = 254).\n"
        },
        "mode": {
          "type": "string",
          "description": "Select PTP mode. Valid values: `transparent-e2e`, `transparent-p2p`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "pdelayReqInterval": {
          "type": "string",
          "description": "Configure PTP peer delay request interval. Valid values: `1sec`, `2sec`, `4sec`, `8sec`, `16sec`, `32sec`.\n"
        },
        "ptpProfile": {
          "type": "string",
          "description": "Configure PTP power profile. Valid values: `C37.238-2017`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Configure PTP transport mode. Valid values: `l2-mcast`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
          },
          "domain": {
            "type": "integer",
            "description": "Configure PTP domain value (0 - 255, default = 254).\n"
          },
          "mode": {
            "type": "string",
            "description": "Select PTP mode. Valid values: `transparent-e2e`, `transparent-p2p`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "pdelayReqInterval": {
            "type": "string",
            "description": "Configure PTP peer delay request interval. Valid values: `1sec`, `2sec`, `4sec`, `8sec`, `16sec`, `32sec`.\n"
          },
          "ptpProfile": {
            "type": "string",
            "description": "Configure PTP power profile. Valid values: `C37.238-2017`.\n"
          },
          "transport": {
            "type": "string",
            "description": "Configure PTP transport mode. Valid values: `l2-mcast`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/ptp/settings:Settings": {
      "description": "Global PTP settings. 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,7.2.1,7.2.2,7.2.3,7.2.4,7.2.6,7.2.7,7.2.8,7.4.0`.\n\n## Import\n\nSwitchControllerPtp Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/ptp/settings:Settings labelname SwitchControllerPtpSettings\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:switchcontroller/ptp/settings:Settings labelname SwitchControllerPtpSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Enable/disable PTP mode. Valid values: `disable`, `transparent-e2e`, `transparent-p2p`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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 PTP mode. Valid values: `disable`, `transparent-e2e`, `transparent-p2p`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "mode": {
            "type": "string",
            "description": "Enable/disable PTP mode. Valid values: `disable`, `transparent-e2e`, `transparent-p2p`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/qos/dot1pmap:Dot1pmap": {
      "description": "Configure FortiSwitch QoS 802.1p.\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.switchcontroller.qos.Dot1pmap(\"trname\", {\n    priority0: \"queue-0\",\n    priority1: \"queue-0\",\n    priority2: \"queue-0\",\n    priority3: \"queue-0\",\n    priority4: \"queue-0\",\n    priority5: \"queue-0\",\n    priority6: \"queue-0\",\n    priority7: \"queue-0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.qos.Dot1pmap(\"trname\",\n    priority0=\"queue-0\",\n    priority1=\"queue-0\",\n    priority2=\"queue-0\",\n    priority3=\"queue-0\",\n    priority4=\"queue-0\",\n    priority5=\"queue-0\",\n    priority6=\"queue-0\",\n    priority7=\"queue-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.Switchcontroller.Qos.Dot1pmap(\"trname\", new()\n    {\n        Priority0 = \"queue-0\",\n        Priority1 = \"queue-0\",\n        Priority2 = \"queue-0\",\n        Priority3 = \"queue-0\",\n        Priority4 = \"queue-0\",\n        Priority5 = \"queue-0\",\n        Priority6 = \"queue-0\",\n        Priority7 = \"queue-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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewDot1pmap(ctx, \"trname\", &switchcontroller.Dot1pmapArgs{\n\t\t\tPriority0: pulumi.String(\"queue-0\"),\n\t\t\tPriority1: pulumi.String(\"queue-0\"),\n\t\t\tPriority2: pulumi.String(\"queue-0\"),\n\t\t\tPriority3: pulumi.String(\"queue-0\"),\n\t\t\tPriority4: pulumi.String(\"queue-0\"),\n\t\t\tPriority5: pulumi.String(\"queue-0\"),\n\t\t\tPriority6: pulumi.String(\"queue-0\"),\n\t\t\tPriority7: pulumi.String(\"queue-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.switchcontroller.Dot1pmap;\nimport com.pulumi.fortios.switchcontroller.Dot1pmapArgs;\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 Dot1pmap(\"trname\", Dot1pmapArgs.builder()\n            .priority0(\"queue-0\")\n            .priority1(\"queue-0\")\n            .priority2(\"queue-0\")\n            .priority3(\"queue-0\")\n            .priority4(\"queue-0\")\n            .priority5(\"queue-0\")\n            .priority6(\"queue-0\")\n            .priority7(\"queue-0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller/qos:Dot1pmap\n    properties:\n      priority0: queue-0\n      priority1: queue-0\n      priority2: queue-0\n      priority3: queue-0\n      priority4: queue-0\n      priority5: queue-0\n      priority6: queue-0\n      priority7: queue-0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchControllerQos Dot1PMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/qos/dot1pmap:Dot1pmap 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:switchcontroller/qos/dot1pmap:Dot1pmap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the 802.1p name.\n"
        },
        "egressPriTagging": {
          "type": "string",
          "description": "Enable/disable egress priority-tag frame. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Dot1p map name.\n"
        },
        "priority0": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority1": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority2": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority3": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority4": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority5": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority6": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority7": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "egressPriTagging",
        "name",
        "priority0",
        "priority1",
        "priority2",
        "priority3",
        "priority4",
        "priority5",
        "priority6",
        "priority7",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description of the 802.1p name.\n"
        },
        "egressPriTagging": {
          "type": "string",
          "description": "Enable/disable egress priority-tag frame. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Dot1p map name.\n",
          "willReplaceOnChanges": true
        },
        "priority0": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority1": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority2": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority3": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority4": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority5": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority6": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "priority7": {
          "type": "string",
          "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Dot1pmap resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of the 802.1p name.\n"
          },
          "egressPriTagging": {
            "type": "string",
            "description": "Enable/disable egress priority-tag frame. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Dot1p map name.\n",
            "willReplaceOnChanges": true
          },
          "priority0": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority1": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority2": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority3": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority4": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority5": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority6": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "priority7": {
            "type": "string",
            "description": "COS queue mapped to dot1p priority number. Valid values: `queue-0`, `queue-1`, `queue-2`, `queue-3`, `queue-4`, `queue-5`, `queue-6`, `queue-7`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/qos/ipdscpmap:Ipdscpmap": {
      "description": "Configure FortiSwitch QoS IP precedence/DSCP.\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.switchcontroller.qos.Ipdscpmap(\"trname\", {\n    description: \"DEIW\",\n    maps: [{\n        cosQueue: 3,\n        diffserv: \"CS0 CS1 AF11\",\n        name: \"1\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.qos.Ipdscpmap(\"trname\",\n    description=\"DEIW\",\n    maps=[fortios.switchcontroller.qos.IpdscpmapMapArgs(\n        cos_queue=3,\n        diffserv=\"CS0 CS1 AF11\",\n        name=\"1\",\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.Switchcontroller.Qos.Ipdscpmap(\"trname\", new()\n    {\n        Description = \"DEIW\",\n        Maps = new[]\n        {\n            new Fortios.Switchcontroller.Qos.Inputs.IpdscpmapMapArgs\n            {\n                CosQueue = 3,\n                Diffserv = \"CS0 CS1 AF11\",\n                Name = \"1\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewIpdscpmap(ctx, \"trname\", &switchcontroller.IpdscpmapArgs{\n\t\t\tDescription: pulumi.String(\"DEIW\"),\n\t\t\tMaps: qos.IpdscpmapMapTypeArray{\n\t\t\t\t&qos.IpdscpmapMapTypeArgs{\n\t\t\t\t\tCosQueue: pulumi.Int(3),\n\t\t\t\t\tDiffserv: pulumi.String(\"CS0 CS1 AF11\"),\n\t\t\t\t\tName:     pulumi.String(\"1\"),\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.switchcontroller.Ipdscpmap;\nimport com.pulumi.fortios.switchcontroller.IpdscpmapArgs;\nimport com.pulumi.fortios.switchcontroller.inputs.IpdscpmapMapArgs;\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 Ipdscpmap(\"trname\", IpdscpmapArgs.builder()\n            .description(\"DEIW\")\n            .maps(IpdscpmapMapArgs.builder()\n                .cosQueue(3)\n                .diffserv(\"CS0 CS1 AF11\")\n                .name(\"1\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller/qos:Ipdscpmap\n    properties:\n      description: DEIW\n      maps:\n        - cosQueue: 3\n          diffserv: CS0 CS1 AF11\n          name: '1'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchControllerQos IpDscpMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/qos/ipdscpmap:Ipdscpmap 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:switchcontroller/qos/ipdscpmap:Ipdscpmap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the ip-dscp map 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "maps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fqos%2FIpdscpmapMap:IpdscpmapMap"
          },
          "description": "Maps between IP-DSCP value to COS queue. The structure of `map` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Dscp map 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": [
        "description",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description of the ip-dscp map 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "maps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fqos%2FIpdscpmapMap:IpdscpmapMap"
          },
          "description": "Maps between IP-DSCP value to COS queue. The structure of `map` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Dscp map 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 Ipdscpmap resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of the ip-dscp map 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "maps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2Fqos%2FIpdscpmapMap:IpdscpmapMap"
            },
            "description": "Maps between IP-DSCP value to COS queue. The structure of `map` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Dscp map 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:switchcontroller/qos/qospolicy:Qospolicy": {
      "description": "Configure FortiSwitch QoS policy.\n\n## Import\n\nSwitchControllerQos QosPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/qos/qospolicy:Qospolicy 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:switchcontroller/qos/qospolicy:Qospolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "defaultCos": {
          "type": "integer",
          "description": "Default cos queue for untagged packets.\n"
        },
        "name": {
          "type": "string",
          "description": "QoS policy name.\n"
        },
        "queuePolicy": {
          "type": "string",
          "description": "QoS egress queue policy.\n"
        },
        "trustDot1pMap": {
          "type": "string",
          "description": "QoS trust 802.1p map.\n"
        },
        "trustIpDscpMap": {
          "type": "string",
          "description": "QoS trust ip dscp map.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "defaultCos",
        "name",
        "queuePolicy",
        "trustDot1pMap",
        "trustIpDscpMap",
        "vdomparam"
      ],
      "inputProperties": {
        "defaultCos": {
          "type": "integer",
          "description": "Default cos queue for untagged packets.\n"
        },
        "name": {
          "type": "string",
          "description": "QoS policy name.\n",
          "willReplaceOnChanges": true
        },
        "queuePolicy": {
          "type": "string",
          "description": "QoS egress queue policy.\n"
        },
        "trustDot1pMap": {
          "type": "string",
          "description": "QoS trust 802.1p map.\n"
        },
        "trustIpDscpMap": {
          "type": "string",
          "description": "QoS trust ip dscp map.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "defaultCos"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Qospolicy resources.\n",
        "properties": {
          "defaultCos": {
            "type": "integer",
            "description": "Default cos queue for untagged packets.\n"
          },
          "name": {
            "type": "string",
            "description": "QoS policy name.\n",
            "willReplaceOnChanges": true
          },
          "queuePolicy": {
            "type": "string",
            "description": "QoS egress queue policy.\n"
          },
          "trustDot1pMap": {
            "type": "string",
            "description": "QoS trust 802.1p map.\n"
          },
          "trustIpDscpMap": {
            "type": "string",
            "description": "QoS trust ip dscp map.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/qos/queuepolicy:Queuepolicy": {
      "description": "Configure FortiSwitch QoS egress queue policy.\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.switchcontroller.qos.Queuepolicy(\"trname\", {\n    rateBy: \"kbps\",\n    schedule: \"round-robin\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.qos.Queuepolicy(\"trname\",\n    rate_by=\"kbps\",\n    schedule=\"round-robin\")\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.Switchcontroller.Qos.Queuepolicy(\"trname\", new()\n    {\n        RateBy = \"kbps\",\n        Schedule = \"round-robin\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewQueuepolicy(ctx, \"trname\", &switchcontroller.QueuepolicyArgs{\n\t\t\tRateBy:   pulumi.String(\"kbps\"),\n\t\t\tSchedule: pulumi.String(\"round-robin\"),\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.switchcontroller.Queuepolicy;\nimport com.pulumi.fortios.switchcontroller.QueuepolicyArgs;\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 Queuepolicy(\"trname\", QueuepolicyArgs.builder()\n            .rateBy(\"kbps\")\n            .schedule(\"round-robin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller/qos:Queuepolicy\n    properties:\n      rateBy: kbps\n      schedule: round-robin\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchControllerQos QueuePolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/qos/queuepolicy:Queuepolicy 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:switchcontroller/qos/queuepolicy:Queuepolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cosQueues": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fqos%2FQueuepolicyCosQueue:QueuepolicyCosQueue"
          },
          "description": "COS queue configuration. The structure of `cos_queue` 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": "QoS policy name\n"
        },
        "rateBy": {
          "type": "string",
          "description": "COS queue rate by kbps or percent. Valid values: `kbps`, `percent`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "COS queue scheduling. Valid values: `strict`, `round-robin`, `weighted`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "rateBy",
        "schedule",
        "vdomparam"
      ],
      "inputProperties": {
        "cosQueues": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fqos%2FQueuepolicyCosQueue:QueuepolicyCosQueue"
          },
          "description": "COS queue configuration. The structure of `cos_queue` 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": "QoS policy name\n",
          "willReplaceOnChanges": true
        },
        "rateBy": {
          "type": "string",
          "description": "COS queue rate by kbps or percent. Valid values: `kbps`, `percent`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "COS queue scheduling. Valid values: `strict`, `round-robin`, `weighted`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "rateBy",
        "schedule"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Queuepolicy resources.\n",
        "properties": {
          "cosQueues": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2Fqos%2FQueuepolicyCosQueue:QueuepolicyCosQueue"
            },
            "description": "COS queue configuration. The structure of `cos_queue` 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": "QoS policy name\n",
            "willReplaceOnChanges": true
          },
          "rateBy": {
            "type": "string",
            "description": "COS queue rate by kbps or percent. Valid values: `kbps`, `percent`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "COS queue scheduling. Valid values: `strict`, `round-robin`, `weighted`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/quarantine:Quarantine": {
      "description": "Configure FortiSwitch quarantine support.\n\n## Import\n\nSwitchController Quarantine can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/quarantine:Quarantine labelname SwitchControllerQuarantine\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:switchcontroller/quarantine:Quarantine labelname SwitchControllerQuarantine\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"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FQuarantineTarget:QuarantineTarget"
          },
          "description": "Quarantine MACs. The structure of `targets` 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": [
        "quarantine",
        "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"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FQuarantineTarget:QuarantineTarget"
          },
          "description": "Quarantine MACs. The structure of `targets` 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 Quarantine 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"
          },
          "quarantine": {
            "type": "string",
            "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
            "language": {
              "csharp": {
                "name": "Data"
              }
            }
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FQuarantineTarget:QuarantineTarget"
            },
            "description": "Quarantine MACs. The structure of `targets` 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:switchcontroller/remotelog:Remotelog": {
      "description": "Configure logging by FortiSwitch device to a remote syslog server. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController RemoteLog can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/remotelog:Remotelog 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:switchcontroller/remotelog:Remotelog labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "csv",
        "facility",
        "name",
        "port",
        "server",
        "severity",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Remotelog resources.\n",
        "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",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/securitypolicy/captiveportal:Captiveportal": {
      "description": "Names of VLANs that use captive portal authentication. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nSwitchControllerSecurityPolicy CaptivePortal can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/securitypolicy/captiveportal:Captiveportal 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:switchcontroller/securitypolicy/captiveportal:Captiveportal labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyType": {
          "type": "string",
          "description": "Policy type. Valid values: `captive-portal`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": "Names of VLANs that use captive portal authentication.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "policyType",
        "vdomparam",
        "vlan"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n",
          "willReplaceOnChanges": true
        },
        "policyType": {
          "type": "string",
          "description": "Policy type. Valid values: `captive-portal`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "Names of VLANs that use captive portal authentication.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Captiveportal resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Policy name.\n",
            "willReplaceOnChanges": true
          },
          "policyType": {
            "type": "string",
            "description": "Policy type. Valid values: `captive-portal`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "Names of VLANs that use captive portal authentication.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/securitypolicy/localaccess:Localaccess": {
      "description": "Configure allowaccess list for mgmt and internal interfaces on managed FortiSwitch. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchControllerSecurityPolicy LocalAccess can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/securitypolicy/localaccess:Localaccess 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:switchcontroller/securitypolicy/localaccess:Localaccess labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "internalAllowaccess": {
          "type": "string",
          "description": "Allowed access on the switch internal interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
        },
        "mgmtAllowaccess": {
          "type": "string",
          "description": "Allowed access on the switch management interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy 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": [
        "internalAllowaccess",
        "mgmtAllowaccess",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "internalAllowaccess": {
          "type": "string",
          "description": "Allowed access on the switch internal interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
        },
        "mgmtAllowaccess": {
          "type": "string",
          "description": "Allowed access on the switch management interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy 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 Localaccess resources.\n",
        "properties": {
          "internalAllowaccess": {
            "type": "string",
            "description": "Allowed access on the switch internal interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
          },
          "mgmtAllowaccess": {
            "type": "string",
            "description": "Allowed access on the switch management interface. Valid values: `https`, `ping`, `ssh`, `snmp`, `http`, `telnet`, `radius-acct`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy 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:switchcontroller/securitypolicy/policy8021X:Policy8021X": {
      "description": "Configure 802.1x MAC Authentication Bypass (MAB) 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.switchcontroller.securitypolicy.Policy8021X(\"trname\", {\n    authFailVlan: \"disable\",\n    authFailVlanid: 0,\n    eapPassthru: \"disable\",\n    framevidApply: \"enable\",\n    guestAuthDelay: 30,\n    guestVlan: \"disable\",\n    guestVlanid: 100,\n    macAuthBypass: \"disable\",\n    openAuth: \"disable\",\n    policyType: \"802.1X\",\n    radiusTimeoutOverwrite: \"disable\",\n    securityMode: \"802.1X\",\n    userGroups: [{\n        name: \"Guest-group\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.securitypolicy.Policy8021X(\"trname\",\n    auth_fail_vlan=\"disable\",\n    auth_fail_vlanid=0,\n    eap_passthru=\"disable\",\n    framevid_apply=\"enable\",\n    guest_auth_delay=30,\n    guest_vlan=\"disable\",\n    guest_vlanid=100,\n    mac_auth_bypass=\"disable\",\n    open_auth=\"disable\",\n    policy_type=\"802.1X\",\n    radius_timeout_overwrite=\"disable\",\n    security_mode=\"802.1X\",\n    user_groups=[fortios.switchcontroller.securitypolicy.Policy8021XUserGroupArgs(\n        name=\"Guest-group\",\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.Switchcontroller.Securitypolicy.Policy8021X(\"trname\", new()\n    {\n        AuthFailVlan = \"disable\",\n        AuthFailVlanid = 0,\n        EapPassthru = \"disable\",\n        FramevidApply = \"enable\",\n        GuestAuthDelay = 30,\n        GuestVlan = \"disable\",\n        GuestVlanid = 100,\n        MacAuthBypass = \"disable\",\n        OpenAuth = \"disable\",\n        PolicyType = \"802.1X\",\n        RadiusTimeoutOverwrite = \"disable\",\n        SecurityMode = \"802.1X\",\n        UserGroups = new[]\n        {\n            new Fortios.Switchcontroller.Securitypolicy.Inputs.Policy8021XUserGroupArgs\n            {\n                Name = \"Guest-group\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewPolicy8021X(ctx, \"trname\", &switchcontroller.Policy8021XArgs{\n\t\t\tAuthFailVlan:           pulumi.String(\"disable\"),\n\t\t\tAuthFailVlanid:         pulumi.Int(0),\n\t\t\tEapPassthru:            pulumi.String(\"disable\"),\n\t\t\tFramevidApply:          pulumi.String(\"enable\"),\n\t\t\tGuestAuthDelay:         pulumi.Int(30),\n\t\t\tGuestVlan:              pulumi.String(\"disable\"),\n\t\t\tGuestVlanid:            pulumi.Int(100),\n\t\t\tMacAuthBypass:          pulumi.String(\"disable\"),\n\t\t\tOpenAuth:               pulumi.String(\"disable\"),\n\t\t\tPolicyType:             pulumi.String(\"802.1X\"),\n\t\t\tRadiusTimeoutOverwrite: pulumi.String(\"disable\"),\n\t\t\tSecurityMode:           pulumi.String(\"802.1X\"),\n\t\t\tUserGroups: securitypolicy.Policy8021XUserGroupArray{\n\t\t\t\t&securitypolicy.Policy8021XUserGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"Guest-group\"),\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.switchcontroller.Policy8021X;\nimport com.pulumi.fortios.switchcontroller.Policy8021XArgs;\nimport com.pulumi.fortios.switchcontroller.inputs.Policy8021XUserGroupArgs;\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 Policy8021X(\"trname\", Policy8021XArgs.builder()\n            .authFailVlan(\"disable\")\n            .authFailVlanid(0)\n            .eapPassthru(\"disable\")\n            .framevidApply(\"enable\")\n            .guestAuthDelay(30)\n            .guestVlan(\"disable\")\n            .guestVlanid(100)\n            .macAuthBypass(\"disable\")\n            .openAuth(\"disable\")\n            .policyType(\"802.1X\")\n            .radiusTimeoutOverwrite(\"disable\")\n            .securityMode(\"802.1X\")\n            .userGroups(Policy8021XUserGroupArgs.builder()\n                .name(\"Guest-group\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller/securitypolicy:Policy8021X\n    properties:\n      authFailVlan: disable\n      authFailVlanid: 0\n      eapPassthru: disable\n      framevidApply: enable\n      guestAuthDelay: 30\n      guestVlan: disable\n      guestVlanid: 100\n      macAuthBypass: disable\n      openAuth: disable\n      policyType: 802.1X\n      radiusTimeoutOverwrite: disable\n      securityMode: 802.1X\n      userGroups:\n        - name: Guest-group\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchControllerSecurityPolicy 8021X can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/securitypolicy/policy8021X:Policy8021X 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:switchcontroller/securitypolicy/policy8021X:Policy8021X labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authFailVlan": {
          "type": "string",
          "description": "Enable to allow limited access to clients that cannot authenticate. Valid values: `disable`, `enable`.\n"
        },
        "authFailVlanId": {
          "type": "string",
          "description": "VLAN ID on which authentication failed.\n"
        },
        "authFailVlanid": {
          "type": "integer",
          "description": "VLAN ID on which authentication failed.\n"
        },
        "authserverTimeoutPeriod": {
          "type": "integer",
          "description": "Authentication server timeout period (3 - 15 sec, default = 3).\n"
        },
        "authserverTimeoutTagged": {
          "type": "string",
          "description": "Configure timeout option for the tagged VLAN which allows limited access when the authentication server is unavailable. Valid values: `disable`, `lldp-voice`, `static`.\n"
        },
        "authserverTimeoutTaggedVlanid": {
          "type": "string",
          "description": "Tagged VLAN name for which the timeout option is applied to (only one VLAN ID).\n"
        },
        "authserverTimeoutVlan": {
          "type": "string",
          "description": "Enable/disable the authentication server timeout VLAN to allow limited access when RADIUS is unavailable.  Valid values: `disable`, `enable`.\n"
        },
        "authserverTimeoutVlanid": {
          "type": "string",
          "description": "Authentication server timeout VLAN name.\n"
        },
        "dacl": {
          "type": "string",
          "description": "Enable/disable dynamic access control list on this interface. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eapAutoUntaggedVlans": {
          "type": "string",
          "description": "Enable/disable automatic inclusion of untagged VLANs. Valid values: `disable`, `enable`.\n"
        },
        "eapPassthru": {
          "type": "string",
          "description": "Enable/disable EAP pass-through mode, allowing protocols (such as LLDP) to pass through ports for more flexible authentication. Valid values: `disable`, `enable`.\n"
        },
        "framevidApply": {
          "type": "string",
          "description": "Enable/disable the capability to apply the EAP/MAB frame VLAN to the port native VLAN. 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"
        },
        "guestAuthDelay": {
          "type": "integer",
          "description": "Guest authentication delay (1 - 900  sec, default = 30).\n"
        },
        "guestVlan": {
          "type": "string",
          "description": "Enable the guest VLAN feature to allow limited access to non-802.1X-compliant clients. Valid values: `disable`, `enable`.\n"
        },
        "guestVlanId": {
          "type": "string",
          "description": "Guest VLAN name.\n"
        },
        "guestVlanid": {
          "type": "integer",
          "description": "Guest VLAN ID.\n"
        },
        "macAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAB for this policy. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "openAuth": {
          "type": "string",
          "description": "Enable/disable open authentication for this policy. Valid values: `disable`, `enable`.\n"
        },
        "policyType": {
          "type": "string",
          "description": "Policy type. Valid values: `802.1X`.\n"
        },
        "radiusTimeoutOverwrite": {
          "type": "string",
          "description": "Enable to override the global RADIUS session timeout. Valid values: `disable`, `enable`.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Port or MAC based 802.1X security mode. Valid values: `802.1X`, `802.1X-mac-based`.\n"
        },
        "userGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fsecuritypolicy%2FPolicy8021XUserGroup:Policy8021XUserGroup"
          },
          "description": "Name of user-group to assign to this MAC Authentication Bypass (MAB) policy. The structure of `user_group` 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": [
        "authFailVlan",
        "authFailVlanId",
        "authFailVlanid",
        "authserverTimeoutPeriod",
        "authserverTimeoutTagged",
        "authserverTimeoutTaggedVlanid",
        "authserverTimeoutVlan",
        "authserverTimeoutVlanid",
        "dacl",
        "eapAutoUntaggedVlans",
        "eapPassthru",
        "framevidApply",
        "guestAuthDelay",
        "guestVlan",
        "guestVlanId",
        "guestVlanid",
        "macAuthBypass",
        "name",
        "openAuth",
        "policyType",
        "radiusTimeoutOverwrite",
        "securityMode",
        "vdomparam"
      ],
      "inputProperties": {
        "authFailVlan": {
          "type": "string",
          "description": "Enable to allow limited access to clients that cannot authenticate. Valid values: `disable`, `enable`.\n"
        },
        "authFailVlanId": {
          "type": "string",
          "description": "VLAN ID on which authentication failed.\n"
        },
        "authFailVlanid": {
          "type": "integer",
          "description": "VLAN ID on which authentication failed.\n"
        },
        "authserverTimeoutPeriod": {
          "type": "integer",
          "description": "Authentication server timeout period (3 - 15 sec, default = 3).\n"
        },
        "authserverTimeoutTagged": {
          "type": "string",
          "description": "Configure timeout option for the tagged VLAN which allows limited access when the authentication server is unavailable. Valid values: `disable`, `lldp-voice`, `static`.\n"
        },
        "authserverTimeoutTaggedVlanid": {
          "type": "string",
          "description": "Tagged VLAN name for which the timeout option is applied to (only one VLAN ID).\n"
        },
        "authserverTimeoutVlan": {
          "type": "string",
          "description": "Enable/disable the authentication server timeout VLAN to allow limited access when RADIUS is unavailable.  Valid values: `disable`, `enable`.\n"
        },
        "authserverTimeoutVlanid": {
          "type": "string",
          "description": "Authentication server timeout VLAN name.\n"
        },
        "dacl": {
          "type": "string",
          "description": "Enable/disable dynamic access control list on this interface. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eapAutoUntaggedVlans": {
          "type": "string",
          "description": "Enable/disable automatic inclusion of untagged VLANs. Valid values: `disable`, `enable`.\n"
        },
        "eapPassthru": {
          "type": "string",
          "description": "Enable/disable EAP pass-through mode, allowing protocols (such as LLDP) to pass through ports for more flexible authentication. Valid values: `disable`, `enable`.\n"
        },
        "framevidApply": {
          "type": "string",
          "description": "Enable/disable the capability to apply the EAP/MAB frame VLAN to the port native VLAN. 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"
        },
        "guestAuthDelay": {
          "type": "integer",
          "description": "Guest authentication delay (1 - 900  sec, default = 30).\n"
        },
        "guestVlan": {
          "type": "string",
          "description": "Enable the guest VLAN feature to allow limited access to non-802.1X-compliant clients. Valid values: `disable`, `enable`.\n"
        },
        "guestVlanId": {
          "type": "string",
          "description": "Guest VLAN name.\n"
        },
        "guestVlanid": {
          "type": "integer",
          "description": "Guest VLAN ID.\n"
        },
        "macAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAB for this policy. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n",
          "willReplaceOnChanges": true
        },
        "openAuth": {
          "type": "string",
          "description": "Enable/disable open authentication for this policy. Valid values: `disable`, `enable`.\n"
        },
        "policyType": {
          "type": "string",
          "description": "Policy type. Valid values: `802.1X`.\n"
        },
        "radiusTimeoutOverwrite": {
          "type": "string",
          "description": "Enable to override the global RADIUS session timeout. Valid values: `disable`, `enable`.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Port or MAC based 802.1X security mode. Valid values: `802.1X`, `802.1X-mac-based`.\n"
        },
        "userGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2Fsecuritypolicy%2FPolicy8021XUserGroup:Policy8021XUserGroup"
          },
          "description": "Name of user-group to assign to this MAC Authentication Bypass (MAB) policy. The structure of `user_group` 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 Policy8021X resources.\n",
        "properties": {
          "authFailVlan": {
            "type": "string",
            "description": "Enable to allow limited access to clients that cannot authenticate. Valid values: `disable`, `enable`.\n"
          },
          "authFailVlanId": {
            "type": "string",
            "description": "VLAN ID on which authentication failed.\n"
          },
          "authFailVlanid": {
            "type": "integer",
            "description": "VLAN ID on which authentication failed.\n"
          },
          "authserverTimeoutPeriod": {
            "type": "integer",
            "description": "Authentication server timeout period (3 - 15 sec, default = 3).\n"
          },
          "authserverTimeoutTagged": {
            "type": "string",
            "description": "Configure timeout option for the tagged VLAN which allows limited access when the authentication server is unavailable. Valid values: `disable`, `lldp-voice`, `static`.\n"
          },
          "authserverTimeoutTaggedVlanid": {
            "type": "string",
            "description": "Tagged VLAN name for which the timeout option is applied to (only one VLAN ID).\n"
          },
          "authserverTimeoutVlan": {
            "type": "string",
            "description": "Enable/disable the authentication server timeout VLAN to allow limited access when RADIUS is unavailable.  Valid values: `disable`, `enable`.\n"
          },
          "authserverTimeoutVlanid": {
            "type": "string",
            "description": "Authentication server timeout VLAN name.\n"
          },
          "dacl": {
            "type": "string",
            "description": "Enable/disable dynamic access control list on this interface. Valid values: `disable`, `enable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "eapAutoUntaggedVlans": {
            "type": "string",
            "description": "Enable/disable automatic inclusion of untagged VLANs. Valid values: `disable`, `enable`.\n"
          },
          "eapPassthru": {
            "type": "string",
            "description": "Enable/disable EAP pass-through mode, allowing protocols (such as LLDP) to pass through ports for more flexible authentication. Valid values: `disable`, `enable`.\n"
          },
          "framevidApply": {
            "type": "string",
            "description": "Enable/disable the capability to apply the EAP/MAB frame VLAN to the port native VLAN. 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"
          },
          "guestAuthDelay": {
            "type": "integer",
            "description": "Guest authentication delay (1 - 900  sec, default = 30).\n"
          },
          "guestVlan": {
            "type": "string",
            "description": "Enable the guest VLAN feature to allow limited access to non-802.1X-compliant clients. Valid values: `disable`, `enable`.\n"
          },
          "guestVlanId": {
            "type": "string",
            "description": "Guest VLAN name.\n"
          },
          "guestVlanid": {
            "type": "integer",
            "description": "Guest VLAN ID.\n"
          },
          "macAuthBypass": {
            "type": "string",
            "description": "Enable/disable MAB for this policy. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n",
            "willReplaceOnChanges": true
          },
          "openAuth": {
            "type": "string",
            "description": "Enable/disable open authentication for this policy. Valid values: `disable`, `enable`.\n"
          },
          "policyType": {
            "type": "string",
            "description": "Policy type. Valid values: `802.1X`.\n"
          },
          "radiusTimeoutOverwrite": {
            "type": "string",
            "description": "Enable to override the global RADIUS session timeout. Valid values: `disable`, `enable`.\n"
          },
          "securityMode": {
            "type": "string",
            "description": "Port or MAC based 802.1X security mode. Valid values: `802.1X`, `802.1X-mac-based`.\n"
          },
          "userGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2Fsecuritypolicy%2FPolicy8021XUserGroup:Policy8021XUserGroup"
            },
            "description": "Name of user-group to assign to this MAC Authentication Bypass (MAB) policy. The structure of `user_group` 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:switchcontroller/settings8021X:Settings8021X": {
      "description": "Configure global 802.1X 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.switchcontroller.Settings8021X(\"trname\", {\n    linkDownAuth: \"set-unauth\",\n    maxReauthAttempt: 3,\n    reauthPeriod: 12,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Settings8021X(\"trname\",\n    link_down_auth=\"set-unauth\",\n    max_reauth_attempt=3,\n    reauth_period=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.Switchcontroller.Settings8021X(\"trname\", new()\n    {\n        LinkDownAuth = \"set-unauth\",\n        MaxReauthAttempt = 3,\n        ReauthPeriod = 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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewSettings8021X(ctx, \"trname\", &switchcontroller.Settings8021XArgs{\n\t\t\tLinkDownAuth:     pulumi.String(\"set-unauth\"),\n\t\t\tMaxReauthAttempt: pulumi.Int(3),\n\t\t\tReauthPeriod:     pulumi.Int(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.switchcontroller.Settings8021X;\nimport com.pulumi.fortios.switchcontroller.Settings8021XArgs;\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 Settings8021X(\"trname\", Settings8021XArgs.builder()\n            .linkDownAuth(\"set-unauth\")\n            .maxReauthAttempt(3)\n            .reauthPeriod(12)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Settings8021X\n    properties:\n      linkDownAuth: set-unauth\n      maxReauthAttempt: 3\n      reauthPeriod: 12\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController 8021XSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/settings8021X:Settings8021X labelname SwitchController8021XSettings\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:switchcontroller/settings8021X:Settings8021X labelname SwitchController8021XSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "linkDownAuth": {
          "type": "string",
          "description": "Interface-reauthentication state to set if a link is down. Valid values: `set-unauth`, `no-action`.\n"
        },
        "mabReauth": {
          "type": "string",
          "description": "Enable/disable MAB re-authentication. Valid values: `disable`, `enable`.\n"
        },
        "macCalledStationDelimiter": {
          "type": "string",
          "description": "MAC called station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macCallingStationDelimiter": {
          "type": "string",
          "description": "MAC calling station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macCase": {
          "type": "string",
          "description": "MAC case (default = lowercase). Valid values: `lowercase`, `uppercase`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "maxReauthAttempt": {
          "type": "integer",
          "description": "Maximum number of authentication attempts (0 - 15, default = 3).\n"
        },
        "reauthPeriod": {
          "type": "integer",
          "description": "Period of time to allow for reauthentication (1 - 1440 sec, default = 60, 0 = disable reauthentication).\n"
        },
        "txPeriod": {
          "type": "integer",
          "description": "802.1X Tx period (seconds, default=30).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "linkDownAuth",
        "mabReauth",
        "macCalledStationDelimiter",
        "macCallingStationDelimiter",
        "macCase",
        "macPasswordDelimiter",
        "macUsernameDelimiter",
        "maxReauthAttempt",
        "reauthPeriod",
        "txPeriod",
        "vdomparam"
      ],
      "inputProperties": {
        "linkDownAuth": {
          "type": "string",
          "description": "Interface-reauthentication state to set if a link is down. Valid values: `set-unauth`, `no-action`.\n"
        },
        "mabReauth": {
          "type": "string",
          "description": "Enable/disable MAB re-authentication. Valid values: `disable`, `enable`.\n"
        },
        "macCalledStationDelimiter": {
          "type": "string",
          "description": "MAC called station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macCallingStationDelimiter": {
          "type": "string",
          "description": "MAC calling station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macCase": {
          "type": "string",
          "description": "MAC case (default = lowercase). Valid values: `lowercase`, `uppercase`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
        },
        "maxReauthAttempt": {
          "type": "integer",
          "description": "Maximum number of authentication attempts (0 - 15, default = 3).\n"
        },
        "reauthPeriod": {
          "type": "integer",
          "description": "Period of time to allow for reauthentication (1 - 1440 sec, default = 60, 0 = disable reauthentication).\n"
        },
        "txPeriod": {
          "type": "integer",
          "description": "802.1X Tx period (seconds, default=30).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Settings8021X resources.\n",
        "properties": {
          "linkDownAuth": {
            "type": "string",
            "description": "Interface-reauthentication state to set if a link is down. Valid values: `set-unauth`, `no-action`.\n"
          },
          "mabReauth": {
            "type": "string",
            "description": "Enable/disable MAB re-authentication. Valid values: `disable`, `enable`.\n"
          },
          "macCalledStationDelimiter": {
            "type": "string",
            "description": "MAC called station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
          },
          "macCallingStationDelimiter": {
            "type": "string",
            "description": "MAC calling station delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
          },
          "macCase": {
            "type": "string",
            "description": "MAC case (default = lowercase). Valid values: `lowercase`, `uppercase`.\n"
          },
          "macPasswordDelimiter": {
            "type": "string",
            "description": "MAC authentication password delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
          },
          "macUsernameDelimiter": {
            "type": "string",
            "description": "MAC authentication username delimiter (default = hyphen). Valid values: `colon`, `hyphen`, `none`, `single-hyphen`.\n"
          },
          "maxReauthAttempt": {
            "type": "integer",
            "description": "Maximum number of authentication attempts (0 - 15, default = 3).\n"
          },
          "reauthPeriod": {
            "type": "integer",
            "description": "Period of time to allow for reauthentication (1 - 1440 sec, default = 60, 0 = disable reauthentication).\n"
          },
          "txPeriod": {
            "type": "integer",
            "description": "802.1X Tx period (seconds, default=30).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/sflow:Sflow": {
      "description": "Configure FortiSwitch sFlow.\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.switchcontroller.Sflow(\"trname\", {\n    collectorIp: \"0.0.0.0\",\n    collectorPort: 6343,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Sflow(\"trname\",\n    collector_ip=\"0.0.0.0\",\n    collector_port=6343)\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.Switchcontroller.Sflow(\"trname\", new()\n    {\n        CollectorIp = \"0.0.0.0\",\n        CollectorPort = 6343,\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewSflow(ctx, \"trname\", &switchcontroller.SflowArgs{\n\t\t\tCollectorIp:   pulumi.String(\"0.0.0.0\"),\n\t\t\tCollectorPort: pulumi.Int(6343),\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.switchcontroller.Sflow;\nimport com.pulumi.fortios.switchcontroller.SflowArgs;\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 Sflow(\"trname\", SflowArgs.builder()\n            .collectorIp(\"0.0.0.0\")\n            .collectorPort(6343)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Sflow\n    properties:\n      collectorIp: 0.0.0.0\n      collectorPort: 6343\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController Sflow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/sflow:Sflow labelname SwitchControllerSflow\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:switchcontroller/sflow:Sflow labelname SwitchControllerSflow\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "SFlow collector port (0 - 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": [
        "collectorIp",
        "collectorPort",
        "vdomparam"
      ],
      "inputProperties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "SFlow collector port (0 - 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
        }
      },
      "requiredInputs": [
        "collectorIp"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sflow resources.\n",
        "properties": {
          "collectorIp": {
            "type": "string",
            "description": "Collector IP.\n"
          },
          "collectorPort": {
            "type": "integer",
            "description": "SFlow collector port (0 - 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:switchcontroller/snmpcommunity:Snmpcommunity": {
      "description": "Configure FortiSwitch SNMP v1/v2c communities globally. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController SnmpCommunity can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/snmpcommunity:Snmpcommunity 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:switchcontroller/snmpcommunity:Snmpcommunity 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"
        },
        "events": {
          "type": "string",
          "description": "SNMP notifications (traps) to send. Valid values: `cpu-high`, `mem-low`, `log-full`, `intf-ip`, `ent-conf-change`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "SNMP community 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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FSnmpcommunityHost:SnmpcommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "events",
        "fosid",
        "name",
        "queryV1Port",
        "queryV1Status",
        "queryV2cPort",
        "queryV2cStatus",
        "status",
        "trapV1Lport",
        "trapV1Rport",
        "trapV1Status",
        "trapV2cLport",
        "trapV2cRport",
        "trapV2cStatus",
        "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"
        },
        "events": {
          "type": "string",
          "description": "SNMP notifications (traps) to send. Valid values: `cpu-high`, `mem-low`, `log-full`, `intf-ip`, `ent-conf-change`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "SNMP community 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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FSnmpcommunityHost:SnmpcommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Snmpcommunity 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"
          },
          "events": {
            "type": "string",
            "description": "SNMP notifications (traps) to send. Valid values: `cpu-high`, `mem-low`, `log-full`, `intf-ip`, `ent-conf-change`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "SNMP community 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"
          },
          "hosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FSnmpcommunityHost:SnmpcommunityHost"
            },
            "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/snmpsysinfo:Snmpsysinfo": {
      "description": "Configure FortiSwitch SNMP system information globally. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController SnmpSysinfo can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/snmpsysinfo:Snmpsysinfo labelname SwitchControllerSnmpSysinfo\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:switchcontroller/snmpsysinfo:Snmpsysinfo labelname SwitchControllerSnmpSysinfo\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "contactInfo",
        "description",
        "engineId",
        "location",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Snmpsysinfo resources.\n",
        "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/snmptrapthreshold:Snmptrapthreshold": {
      "description": "Configure FortiSwitch SNMP trap threshold values globally. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController SnmpTrapThreshold can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/snmptrapthreshold:Snmptrapthreshold labelname SwitchControllerSnmpTrapThreshold\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:switchcontroller/snmptrapthreshold:Snmptrapthreshold labelname SwitchControllerSnmpTrapThreshold\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "trapHighCpuThreshold",
        "trapLogFullThreshold",
        "trapLowMemoryThreshold",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Snmptrapthreshold resources.\n",
        "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/snmpuser:Snmpuser": {
      "description": "Configure FortiSwitch SNMP v3 users globally. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController SnmpUser can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/snmpuser:Snmpuser 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:switchcontroller/snmpuser:Snmpuser labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "authProto",
        "name",
        "privProto",
        "queries",
        "queryPort",
        "securityLevel",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "willReplaceOnChanges": true
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Snmpuser resources.\n",
        "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",
            "willReplaceOnChanges": true
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/stormcontrol:Stormcontrol": {
      "description": "Configure FortiSwitch storm control.\n\n## Import\n\nSwitchController StormControl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/stormcontrol:Stormcontrol labelname SwitchControllerStormControl\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:switchcontroller/stormcontrol:Stormcontrol labelname SwitchControllerStormControl\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "broadcast": {
          "type": "string",
          "description": "Enable/disable storm control to drop broadcast traffic. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "broadcast",
        "rate",
        "unknownMulticast",
        "unknownUnicast",
        "vdomparam"
      ],
      "inputProperties": {
        "broadcast": {
          "type": "string",
          "description": "Enable/disable storm control to drop broadcast traffic. 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Stormcontrol resources.\n",
        "properties": {
          "broadcast": {
            "type": "string",
            "description": "Enable/disable storm control to drop broadcast traffic. 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/stormcontrolpolicy:Stormcontrolpolicy": {
      "description": "Configure FortiSwitch storm control policy to be applied on managed-switch ports. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController StormControlPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/stormcontrolpolicy:Stormcontrolpolicy 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:switchcontroller/stormcontrolpolicy:Stormcontrolpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "broadcast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow broadcast traffic in override mode. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the storm control policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Storm control policy name.\n"
        },
        "rate": {
          "type": "integer",
          "description": "Threshold rate in packets per second at which storm traffic is controlled in override mode (default=500, 0 to drop all).\n"
        },
        "stormControlMode": {
          "type": "string",
          "description": "Set Storm control mode. Valid values: `global`, `override`, `disabled`.\n"
        },
        "unknownMulticast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow unknown multicast traffic in override mode. Valid values: `enable`, `disable`.\n"
        },
        "unknownUnicast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow unknown unicast traffic in override mode. 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": [
        "broadcast",
        "description",
        "name",
        "rate",
        "stormControlMode",
        "unknownMulticast",
        "unknownUnicast",
        "vdomparam"
      ],
      "inputProperties": {
        "broadcast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow broadcast traffic in override mode. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the storm control policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Storm control policy name.\n",
          "willReplaceOnChanges": true
        },
        "rate": {
          "type": "integer",
          "description": "Threshold rate in packets per second at which storm traffic is controlled in override mode (default=500, 0 to drop all).\n"
        },
        "stormControlMode": {
          "type": "string",
          "description": "Set Storm control mode. Valid values: `global`, `override`, `disabled`.\n"
        },
        "unknownMulticast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow unknown multicast traffic in override mode. Valid values: `enable`, `disable`.\n"
        },
        "unknownUnicast": {
          "type": "string",
          "description": "Enable/disable storm control to drop/allow unknown unicast traffic in override mode. 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 Stormcontrolpolicy resources.\n",
        "properties": {
          "broadcast": {
            "type": "string",
            "description": "Enable/disable storm control to drop/allow broadcast traffic in override mode. Valid values: `enable`, `disable`.\n"
          },
          "description": {
            "type": "string",
            "description": "Description of the storm control policy.\n"
          },
          "name": {
            "type": "string",
            "description": "Storm control policy name.\n",
            "willReplaceOnChanges": true
          },
          "rate": {
            "type": "integer",
            "description": "Threshold rate in packets per second at which storm traffic is controlled in override mode (default=500, 0 to drop all).\n"
          },
          "stormControlMode": {
            "type": "string",
            "description": "Set Storm control mode. Valid values: `global`, `override`, `disabled`.\n"
          },
          "unknownMulticast": {
            "type": "string",
            "description": "Enable/disable storm control to drop/allow unknown multicast traffic in override mode. Valid values: `enable`, `disable`.\n"
          },
          "unknownUnicast": {
            "type": "string",
            "description": "Enable/disable storm control to drop/allow unknown unicast traffic in override mode. 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:switchcontroller/stpinstance:Stpinstance": {
      "description": "Configure FortiSwitch multiple spanning tree protocol (MSTP) instances. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController StpInstance can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/stpinstance:Stpinstance 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:switchcontroller/stpinstance:Stpinstance 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": "string",
          "description": "Instance 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"
        },
        "vlanRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FStpinstanceVlanRange:StpinstanceVlanRange"
          },
          "description": "Configure VLAN range for STP instance. The structure of `vlan_range` block is documented below.\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": "string",
          "description": "Instance 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vlanRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FStpinstanceVlanRange:StpinstanceVlanRange"
          },
          "description": "Configure VLAN range for STP instance. The structure of `vlan_range` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Stpinstance 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": "string",
            "description": "Instance 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vlanRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FStpinstanceVlanRange:StpinstanceVlanRange"
            },
            "description": "Configure VLAN range for STP instance. The structure of `vlan_range` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/stpsettings:Stpsettings": {
      "description": "Configure FortiSwitch spanning tree protocol (STP).\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.switchcontroller.Stpsettings(\"trname\", {\n    forwardTime: 15,\n    helloTime: 2,\n    maxAge: 20,\n    maxHops: 20,\n    pendingTimer: 4,\n    revision: 0,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Stpsettings(\"trname\",\n    forward_time=15,\n    hello_time=2,\n    max_age=20,\n    max_hops=20,\n    pending_timer=4,\n    revision=0,\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.Switchcontroller.Stpsettings(\"trname\", new()\n    {\n        ForwardTime = 15,\n        HelloTime = 2,\n        MaxAge = 20,\n        MaxHops = 20,\n        PendingTimer = 4,\n        Revision = 0,\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewStpsettings(ctx, \"trname\", &switchcontroller.StpsettingsArgs{\n\t\t\tForwardTime:  pulumi.Int(15),\n\t\t\tHelloTime:    pulumi.Int(2),\n\t\t\tMaxAge:       pulumi.Int(20),\n\t\t\tMaxHops:      pulumi.Int(20),\n\t\t\tPendingTimer: pulumi.Int(4),\n\t\t\tRevision:     pulumi.Int(0),\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.switchcontroller.Stpsettings;\nimport com.pulumi.fortios.switchcontroller.StpsettingsArgs;\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 Stpsettings(\"trname\", StpsettingsArgs.builder()\n            .forwardTime(15)\n            .helloTime(2)\n            .maxAge(20)\n            .maxHops(20)\n            .pendingTimer(4)\n            .revision(0)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Stpsettings\n    properties:\n      forwardTime: 15\n      helloTime: 2\n      maxAge: 20\n      maxHops: 20\n      pendingTimer: 4\n      revision: 0\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController StpSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/stpsettings:Stpsettings labelname SwitchControllerStpSettings\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:switchcontroller/stpsettings:Stpsettings labelname SwitchControllerStpSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "maxAge": {
          "type": "integer",
          "description": "Maximum time before a bridge port expires 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 global 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "forwardTime",
        "helloTime",
        "maxAge",
        "maxHops",
        "name",
        "pendingTimer",
        "revision",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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"
        },
        "maxAge": {
          "type": "integer",
          "description": "Maximum time before a bridge port expires 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 global 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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Stpsettings resources.\n",
        "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"
          },
          "maxAge": {
            "type": "integer",
            "description": "Maximum time before a bridge port expires 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 global 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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/switchgroup:Switchgroup": {
      "description": "Configure FortiSwitch switch groups.\n\n## Import\n\nSwitchController SwitchGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/switchgroup:Switchgroup 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:switchcontroller/switchgroup:Switchgroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Optional switch group 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"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface to which switch group members belong.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:switchcontroller%2FSwitchgroupMember:SwitchgroupMember"
          },
          "description": "FortiSwitch members belonging to this switch group. The structure of `members` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Switch 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": [
        "description",
        "fortilink",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Optional switch group 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"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface to which switch group members belong.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:switchcontroller%2FSwitchgroupMember:SwitchgroupMember"
          },
          "description": "FortiSwitch members belonging to this switch group. The structure of `members` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Switch group 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 Switchgroup resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Optional switch group 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"
          },
          "fortilink": {
            "type": "string",
            "description": "FortiLink interface to which switch group members belong.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:switchcontroller%2FSwitchgroupMember:SwitchgroupMember"
            },
            "description": "FortiSwitch members belonging to this switch group. The structure of `members` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Switch group 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:switchcontroller/switchinterfacetag:Switchinterfacetag": {
      "description": "Configure switch object tags.\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.switchcontroller.Switchinterfacetag(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Switchinterfacetag(\"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.Switchcontroller.Switchinterfacetag(\"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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewSwitchinterfacetag(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.switchcontroller.Switchinterfacetag;\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 Switchinterfacetag(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Switchinterfacetag\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController SwitchInterfaceTag can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/switchinterfacetag:Switchinterfacetag 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:switchcontroller/switchinterfacetag:Switchinterfacetag labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag 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": {
        "name": {
          "type": "string",
          "description": "Tag 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 Switchinterfacetag resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag 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:switchcontroller/switchlog:Switchlog": {
      "description": "Configure FortiSwitch logging (logs are transferred to and inserted into FortiGate event log).\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.switchcontroller.Switchlog(\"trname\", {\n    severity: \"critical\",\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Switchlog(\"trname\",\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    var trname = new Fortios.Switchcontroller.Switchlog(\"trname\", new()\n    {\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewSwitchlog(ctx, \"trname\", &switchcontroller.SwitchlogArgs{\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.switchcontroller.Switchlog;\nimport com.pulumi.fortios.switchcontroller.SwitchlogArgs;\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 Switchlog(\"trname\", SwitchlogArgs.builder()\n            .severity(\"critical\")\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Switchlog\n    properties:\n      severity: critical\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController SwitchLog can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/switchlog:Switchlog labelname SwitchControllerSwitchLog\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:switchcontroller/switchlog:Switchlog labelname SwitchControllerSwitchLog\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "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 FortiGate event log. 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": [
        "severity",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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 FortiGate event log. 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 Switchlog resources.\n",
        "properties": {
          "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 FortiGate event log. 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:switchcontroller/switchprofile:Switchprofile": {
      "description": "Configure FortiSwitch switch 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.switchcontroller.Switchprofile(\"trname\", {loginPasswdOverride: \"enable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Switchprofile(\"trname\", login_passwd_override=\"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.Switchcontroller.Switchprofile(\"trname\", new()\n    {\n        LoginPasswdOverride = \"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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewSwitchprofile(ctx, \"trname\", &switchcontroller.SwitchprofileArgs{\n\t\t\tLoginPasswdOverride: 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.switchcontroller.Switchprofile;\nimport com.pulumi.fortios.switchcontroller.SwitchprofileArgs;\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 Switchprofile(\"trname\", SwitchprofileArgs.builder()\n            .loginPasswdOverride(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Switchprofile\n    properties:\n      loginPasswdOverride: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController SwitchProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/switchprofile:Switchprofile 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:switchcontroller/switchprofile:Switchprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "login": {
          "type": "string",
          "description": "Enable/disable FortiSwitch serial console. Valid values: `enable`, `disable`.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Login password of managed FortiSwitch.\n",
          "secret": true
        },
        "loginPasswdOverride": {
          "type": "string",
          "description": "Enable/disable overriding the admin administrator password for a managed FortiSwitch with the FortiGate admin administrator account password. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiSwitch Profile name.\n"
        },
        "revisionBackupOnLogout": {
          "type": "string",
          "description": "Enable/disable automatic revision backup upon logout from FortiSwitch. Valid values: `enable`, `disable`.\n"
        },
        "revisionBackupOnUpgrade": {
          "type": "string",
          "description": "Enable/disable automatic revision backup upon FortiSwitch image upgrade. 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": [
        "login",
        "loginPasswdOverride",
        "name",
        "revisionBackupOnLogout",
        "revisionBackupOnUpgrade",
        "vdomparam"
      ],
      "inputProperties": {
        "login": {
          "type": "string",
          "description": "Enable/disable FortiSwitch serial console. Valid values: `enable`, `disable`.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Login password of managed FortiSwitch.\n",
          "secret": true
        },
        "loginPasswdOverride": {
          "type": "string",
          "description": "Enable/disable overriding the admin administrator password for a managed FortiSwitch with the FortiGate admin administrator account password. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiSwitch Profile name.\n",
          "willReplaceOnChanges": true
        },
        "revisionBackupOnLogout": {
          "type": "string",
          "description": "Enable/disable automatic revision backup upon logout from FortiSwitch. Valid values: `enable`, `disable`.\n"
        },
        "revisionBackupOnUpgrade": {
          "type": "string",
          "description": "Enable/disable automatic revision backup upon FortiSwitch image upgrade. 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 Switchprofile resources.\n",
        "properties": {
          "login": {
            "type": "string",
            "description": "Enable/disable FortiSwitch serial console. Valid values: `enable`, `disable`.\n"
          },
          "loginPasswd": {
            "type": "string",
            "description": "Login password of managed FortiSwitch.\n",
            "secret": true
          },
          "loginPasswdOverride": {
            "type": "string",
            "description": "Enable/disable overriding the admin administrator password for a managed FortiSwitch with the FortiGate admin administrator account password. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiSwitch Profile name.\n",
            "willReplaceOnChanges": true
          },
          "revisionBackupOnLogout": {
            "type": "string",
            "description": "Enable/disable automatic revision backup upon logout from FortiSwitch. Valid values: `enable`, `disable`.\n"
          },
          "revisionBackupOnUpgrade": {
            "type": "string",
            "description": "Enable/disable automatic revision backup upon FortiSwitch image upgrade. 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:switchcontroller/system:System": {
      "description": "Configure system-wide switch controller settings.\n\n## Import\n\nSwitchController System can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/system:System labelname SwitchControllerSystem\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:switchcontroller/system:System labelname SwitchControllerSystem\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "caputpEchoInterval": {
          "type": "integer",
          "description": "Echo interval for the caputp echo requests from swtp.\n"
        },
        "caputpMaxRetransmit": {
          "type": "integer",
          "description": "Maximum retransmission count for the caputp tunnel packets.\n"
        },
        "dataSyncInterval": {
          "type": "integer",
          "description": "Time interval between collection of switch data (30 - 1800 sec, default = 60, 0 = disable).\n"
        },
        "dynamicPeriodicInterval": {
          "type": "integer",
          "description": "Periodic time interval to run Dynamic port policy engine. On FortiOS versions 7.0.1-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
        },
        "iotHoldoff": {
          "type": "integer",
          "description": "MAC entry's creation time. Time must be greater than this value for an entry to be created (default = 5 mins).\n"
        },
        "iotMacIdle": {
          "type": "integer",
          "description": "MAC entry's idle time. MAC entry is removed after this value (default = 1440 mins).\n"
        },
        "iotScanInterval": {
          "type": "integer",
          "description": "IoT scan interval (2 - 4294967295 mins, default = 60 mins, 0 = disable).\n"
        },
        "iotWeightThreshold": {
          "type": "integer",
          "description": "MAC entry's confidence value. Value is re-queried when below this value (default = 1, 0 = disable).\n"
        },
        "nacPeriodicInterval": {
          "type": "integer",
          "description": "Periodic time interval to run NAC engine. On FortiOS versions 7.0.0-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
        },
        "parallelProcess": {
          "type": "integer",
          "description": "Maximum number of parallel processes (1 - 300, default = 1).\n"
        },
        "parallelProcessOverride": {
          "type": "string",
          "description": "Enable/disable parallel process override. Valid values: `disable`, `enable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Compatible/strict tunnel mode.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "caputpEchoInterval",
        "caputpMaxRetransmit",
        "dataSyncInterval",
        "dynamicPeriodicInterval",
        "iotHoldoff",
        "iotMacIdle",
        "iotScanInterval",
        "iotWeightThreshold",
        "nacPeriodicInterval",
        "parallelProcess",
        "parallelProcessOverride",
        "tunnelMode",
        "vdomparam"
      ],
      "inputProperties": {
        "caputpEchoInterval": {
          "type": "integer",
          "description": "Echo interval for the caputp echo requests from swtp.\n"
        },
        "caputpMaxRetransmit": {
          "type": "integer",
          "description": "Maximum retransmission count for the caputp tunnel packets.\n"
        },
        "dataSyncInterval": {
          "type": "integer",
          "description": "Time interval between collection of switch data (30 - 1800 sec, default = 60, 0 = disable).\n"
        },
        "dynamicPeriodicInterval": {
          "type": "integer",
          "description": "Periodic time interval to run Dynamic port policy engine. On FortiOS versions 7.0.1-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
        },
        "iotHoldoff": {
          "type": "integer",
          "description": "MAC entry's creation time. Time must be greater than this value for an entry to be created (default = 5 mins).\n"
        },
        "iotMacIdle": {
          "type": "integer",
          "description": "MAC entry's idle time. MAC entry is removed after this value (default = 1440 mins).\n"
        },
        "iotScanInterval": {
          "type": "integer",
          "description": "IoT scan interval (2 - 4294967295 mins, default = 60 mins, 0 = disable).\n"
        },
        "iotWeightThreshold": {
          "type": "integer",
          "description": "MAC entry's confidence value. Value is re-queried when below this value (default = 1, 0 = disable).\n"
        },
        "nacPeriodicInterval": {
          "type": "integer",
          "description": "Periodic time interval to run NAC engine. On FortiOS versions 7.0.0-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
        },
        "parallelProcess": {
          "type": "integer",
          "description": "Maximum number of parallel processes (1 - 300, default = 1).\n"
        },
        "parallelProcessOverride": {
          "type": "string",
          "description": "Enable/disable parallel process override. Valid values: `disable`, `enable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Compatible/strict tunnel mode.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 System resources.\n",
        "properties": {
          "caputpEchoInterval": {
            "type": "integer",
            "description": "Echo interval for the caputp echo requests from swtp.\n"
          },
          "caputpMaxRetransmit": {
            "type": "integer",
            "description": "Maximum retransmission count for the caputp tunnel packets.\n"
          },
          "dataSyncInterval": {
            "type": "integer",
            "description": "Time interval between collection of switch data (30 - 1800 sec, default = 60, 0 = disable).\n"
          },
          "dynamicPeriodicInterval": {
            "type": "integer",
            "description": "Periodic time interval to run Dynamic port policy engine. On FortiOS versions 7.0.1-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
          },
          "iotHoldoff": {
            "type": "integer",
            "description": "MAC entry's creation time. Time must be greater than this value for an entry to be created (default = 5 mins).\n"
          },
          "iotMacIdle": {
            "type": "integer",
            "description": "MAC entry's idle time. MAC entry is removed after this value (default = 1440 mins).\n"
          },
          "iotScanInterval": {
            "type": "integer",
            "description": "IoT scan interval (2 - 4294967295 mins, default = 60 mins, 0 = disable).\n"
          },
          "iotWeightThreshold": {
            "type": "integer",
            "description": "MAC entry's confidence value. Value is re-queried when below this value (default = 1, 0 = disable).\n"
          },
          "nacPeriodicInterval": {
            "type": "integer",
            "description": "Periodic time interval to run NAC engine. On FortiOS versions 7.0.0-7.4.3: 5 - 60 sec, default = 15. On FortiOS versions >= 7.4.4: 5 - 180 sec, default = 60.\n"
          },
          "parallelProcess": {
            "type": "integer",
            "description": "Maximum number of parallel processes (1 - 300, default = 1).\n"
          },
          "parallelProcessOverride": {
            "type": "string",
            "description": "Enable/disable parallel process override. Valid values: `disable`, `enable`.\n"
          },
          "tunnelMode": {
            "type": "string",
            "description": "Compatible/strict tunnel mode.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/trafficpolicy:Trafficpolicy": {
      "description": "Configure FortiSwitch traffic policy.\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.switchcontroller.Trafficpolicy(\"trname\", {\n    guaranteedBandwidth: 0,\n    guaranteedBurst: 0,\n    maximumBurst: 0,\n    policerStatus: \"enable\",\n    type: \"ingress\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Trafficpolicy(\"trname\",\n    guaranteed_bandwidth=0,\n    guaranteed_burst=0,\n    maximum_burst=0,\n    policer_status=\"enable\",\n    type=\"ingress\")\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.Switchcontroller.Trafficpolicy(\"trname\", new()\n    {\n        GuaranteedBandwidth = 0,\n        GuaranteedBurst = 0,\n        MaximumBurst = 0,\n        PolicerStatus = \"enable\",\n        Type = \"ingress\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewTrafficpolicy(ctx, \"trname\", &switchcontroller.TrafficpolicyArgs{\n\t\t\tGuaranteedBandwidth: pulumi.Int(0),\n\t\t\tGuaranteedBurst:     pulumi.Int(0),\n\t\t\tMaximumBurst:        pulumi.Int(0),\n\t\t\tPolicerStatus:       pulumi.String(\"enable\"),\n\t\t\tType:                pulumi.String(\"ingress\"),\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.switchcontroller.Trafficpolicy;\nimport com.pulumi.fortios.switchcontroller.TrafficpolicyArgs;\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 Trafficpolicy(\"trname\", TrafficpolicyArgs.builder()\n            .guaranteedBandwidth(0)\n            .guaranteedBurst(0)\n            .maximumBurst(0)\n            .policerStatus(\"enable\")\n            .type(\"ingress\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Trafficpolicy\n    properties:\n      guaranteedBandwidth: 0\n      guaranteedBurst: 0\n      maximumBurst: 0\n      policerStatus: enable\n      type: ingress\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController TrafficPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/trafficpolicy:Trafficpolicy 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:switchcontroller/trafficpolicy:Trafficpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cos": {
          "type": "integer",
          "description": "COS queue(0 - 7), or unset to disable.\n"
        },
        "cosQueue": {
          "type": "integer",
          "description": "COS queue(0 - 7), or unset to disable.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the traffic policy.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "FSW Policer id\n"
        },
        "guaranteedBandwidth": {
          "type": "integer",
          "description": "Guaranteed bandwidth in kbps (max value = 524287000).\n"
        },
        "guaranteedBurst": {
          "type": "integer",
          "description": "Guaranteed burst size in bytes (max value = 4294967295).\n"
        },
        "maximumBurst": {
          "type": "integer",
          "description": "Maximum burst size in bytes (max value = 4294967295).\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic policy name.\n"
        },
        "policerStatus": {
          "type": "string",
          "description": "Enable/disable policer config on the traffic policy. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure type of policy(ingress/egress). Valid values: `ingress`, `egress`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "cos",
        "cosQueue",
        "description",
        "fosid",
        "guaranteedBandwidth",
        "guaranteedBurst",
        "maximumBurst",
        "name",
        "policerStatus",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "cos": {
          "type": "integer",
          "description": "COS queue(0 - 7), or unset to disable.\n"
        },
        "cosQueue": {
          "type": "integer",
          "description": "COS queue(0 - 7), or unset to disable.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the traffic policy.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "FSW Policer id\n"
        },
        "guaranteedBandwidth": {
          "type": "integer",
          "description": "Guaranteed bandwidth in kbps (max value = 524287000).\n"
        },
        "guaranteedBurst": {
          "type": "integer",
          "description": "Guaranteed burst size in bytes (max value = 4294967295).\n"
        },
        "maximumBurst": {
          "type": "integer",
          "description": "Maximum burst size in bytes (max value = 4294967295).\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic policy name.\n",
          "willReplaceOnChanges": true
        },
        "policerStatus": {
          "type": "string",
          "description": "Enable/disable policer config on the traffic policy. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure type of policy(ingress/egress). Valid values: `ingress`, `egress`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Trafficpolicy resources.\n",
        "properties": {
          "cos": {
            "type": "integer",
            "description": "COS queue(0 - 7), or unset to disable.\n"
          },
          "cosQueue": {
            "type": "integer",
            "description": "COS queue(0 - 7), or unset to disable.\n"
          },
          "description": {
            "type": "string",
            "description": "Description of the traffic policy.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "FSW Policer id\n"
          },
          "guaranteedBandwidth": {
            "type": "integer",
            "description": "Guaranteed bandwidth in kbps (max value = 524287000).\n"
          },
          "guaranteedBurst": {
            "type": "integer",
            "description": "Guaranteed burst size in bytes (max value = 4294967295).\n"
          },
          "maximumBurst": {
            "type": "integer",
            "description": "Maximum burst size in bytes (max value = 4294967295).\n"
          },
          "name": {
            "type": "string",
            "description": "Traffic policy name.\n",
            "willReplaceOnChanges": true
          },
          "policerStatus": {
            "type": "string",
            "description": "Enable/disable policer config on the traffic policy. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "Configure type of policy(ingress/egress). Valid values: `ingress`, `egress`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:switchcontroller/trafficsniffer:Trafficsniffer": {
      "description": "Configure FortiSwitch RSPAN/ERSPAN traffic sniffing parameters. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSwitchController TrafficSniffer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/trafficsniffer:Trafficsniffer labelname SwitchControllerTrafficSniffer\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:switchcontroller/trafficsniffer:Trafficsniffer labelname SwitchControllerTrafficSniffer\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"
        },
        "erspanIp": {
          "type": "string",
          "description": "Configure ERSPAN collector IP 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"
        },
        "mode": {
          "type": "string",
          "description": "Configure traffic sniffer mode. Valid values: `erspan-auto`, `rspan`, `none`.\n"
        },
        "targetIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetIp:TrafficsnifferTargetIp"
          },
          "description": "Sniffer IPs to filter. The structure of `target_ip` block is documented below.\n"
        },
        "targetMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetMac:TrafficsnifferTargetMac"
          },
          "description": "Sniffer MACs to filter. The structure of `target_mac` block is documented below.\n"
        },
        "targetPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetPort:TrafficsnifferTargetPort"
          },
          "description": "Sniffer ports to filter. The structure of `target_port` 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": [
        "erspanIp",
        "mode",
        "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"
        },
        "erspanIp": {
          "type": "string",
          "description": "Configure ERSPAN collector IP 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"
        },
        "mode": {
          "type": "string",
          "description": "Configure traffic sniffer mode. Valid values: `erspan-auto`, `rspan`, `none`.\n"
        },
        "targetIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetIp:TrafficsnifferTargetIp"
          },
          "description": "Sniffer IPs to filter. The structure of `target_ip` block is documented below.\n"
        },
        "targetMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetMac:TrafficsnifferTargetMac"
          },
          "description": "Sniffer MACs to filter. The structure of `target_mac` block is documented below.\n"
        },
        "targetPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetPort:TrafficsnifferTargetPort"
          },
          "description": "Sniffer ports to filter. The structure of `target_port` 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 Trafficsniffer 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"
          },
          "erspanIp": {
            "type": "string",
            "description": "Configure ERSPAN collector IP 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"
          },
          "mode": {
            "type": "string",
            "description": "Configure traffic sniffer mode. Valid values: `erspan-auto`, `rspan`, `none`.\n"
          },
          "targetIps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetIp:TrafficsnifferTargetIp"
            },
            "description": "Sniffer IPs to filter. The structure of `target_ip` block is documented below.\n"
          },
          "targetMacs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetMac:TrafficsnifferTargetMac"
            },
            "description": "Sniffer MACs to filter. The structure of `target_mac` block is documented below.\n"
          },
          "targetPorts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetPort:TrafficsnifferTargetPort"
            },
            "description": "Sniffer ports to filter. The structure of `target_port` 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:switchcontroller/virtualportpool:Virtualportpool": {
      "description": "Configure virtual pool.\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.switchcontroller.Virtualportpool(\"trname\", {description: \"virtualport\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.switchcontroller.Virtualportpool(\"trname\", description=\"virtualport\")\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.Switchcontroller.Virtualportpool(\"trname\", new()\n    {\n        Description = \"virtualport\",\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/switchcontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := switchcontroller.NewVirtualportpool(ctx, \"trname\", &switchcontroller.VirtualportpoolArgs{\n\t\t\tDescription: pulumi.String(\"virtualport\"),\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.switchcontroller.Virtualportpool;\nimport com.pulumi.fortios.switchcontroller.VirtualportpoolArgs;\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 Virtualportpool(\"trname\", VirtualportpoolArgs.builder()\n            .description(\"virtualport\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:switchcontroller:Virtualportpool\n    properties:\n      description: virtualport\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSwitchController VirtualPortPool can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/virtualportpool:Virtualportpool 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:switchcontroller/virtualportpool:Virtualportpool labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Virtual switch pool description.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual switch pool 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": [
        "description",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Virtual switch pool description.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual switch pool 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 Virtualportpool resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Virtual switch pool description.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual switch pool 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:switchcontroller/vlan:Vlan": {
      "description": "Configure VLANs for switch controller. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nSwitchController Vlan can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/vlan:Vlan 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:switchcontroller/vlan:Vlan labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "auth": {
          "type": "string",
          "description": "Authentication. Valid values: `radius`, `usergroup`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\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"
        },
        "name": {
          "type": "string",
          "description": "Switch VLAN name.\n"
        },
        "portalMessageOverrideGroup": {
          "type": "string",
          "description": "Specify captive portal replacement message override group.\n"
        },
        "portalMessageOverrides": {
          "$ref": "#/types/fortios:switchcontroller%2FVlanPortalMessageOverrides:VlanPortalMessageOverrides",
          "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "Authentication radius server.\n"
        },
        "security": {
          "type": "string",
          "description": "Security. Valid values: `open`, `captive-portal`, `8021x`.\n"
        },
        "selectedUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanSelectedUsergroup:VlanSelectedUsergroup"
          },
          "description": "Selected user group. The structure of `selected_usergroups` block is documented below.\n"
        },
        "usergroup": {
          "type": "string",
          "description": "Authentication usergroup.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Virtual 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"
        },
        "vlanid": {
          "type": "integer",
          "description": "VLAN ID.\n"
        }
      },
      "type": "object",
      "required": [
        "auth",
        "color",
        "comments",
        "name",
        "portalMessageOverrideGroup",
        "portalMessageOverrides",
        "radiusServer",
        "security",
        "usergroup",
        "vdom",
        "vdomparam",
        "vlanid"
      ],
      "inputProperties": {
        "auth": {
          "type": "string",
          "description": "Authentication. Valid values: `radius`, `usergroup`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\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"
        },
        "name": {
          "type": "string",
          "description": "Switch VLAN name.\n",
          "willReplaceOnChanges": true
        },
        "portalMessageOverrideGroup": {
          "type": "string",
          "description": "Specify captive portal replacement message override group.\n"
        },
        "portalMessageOverrides": {
          "$ref": "#/types/fortios:switchcontroller%2FVlanPortalMessageOverrides:VlanPortalMessageOverrides",
          "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "Authentication radius server.\n"
        },
        "security": {
          "type": "string",
          "description": "Security. Valid values: `open`, `captive-portal`, `8021x`.\n"
        },
        "selectedUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanSelectedUsergroup:VlanSelectedUsergroup"
          },
          "description": "Selected user group. The structure of `selected_usergroups` block is documented below.\n"
        },
        "usergroup": {
          "type": "string",
          "description": "Authentication usergroup.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Virtual 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
        },
        "vlanid": {
          "type": "integer",
          "description": "VLAN ID.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vlan resources.\n",
        "properties": {
          "auth": {
            "type": "string",
            "description": "Authentication. Valid values: `radius`, `usergroup`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\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"
          },
          "name": {
            "type": "string",
            "description": "Switch VLAN name.\n",
            "willReplaceOnChanges": true
          },
          "portalMessageOverrideGroup": {
            "type": "string",
            "description": "Specify captive portal replacement message override group.\n"
          },
          "portalMessageOverrides": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanPortalMessageOverrides:VlanPortalMessageOverrides",
            "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
          },
          "radiusServer": {
            "type": "string",
            "description": "Authentication radius server.\n"
          },
          "security": {
            "type": "string",
            "description": "Security. Valid values: `open`, `captive-portal`, `8021x`.\n"
          },
          "selectedUsergroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FVlanSelectedUsergroup:VlanSelectedUsergroup"
            },
            "description": "Selected user group. The structure of `selected_usergroups` block is documented below.\n"
          },
          "usergroup": {
            "type": "string",
            "description": "Authentication usergroup.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Virtual 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
          },
          "vlanid": {
            "type": "integer",
            "description": "VLAN ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:switchcontroller/vlanpolicy:Vlanpolicy": {
      "description": "Configure VLAN policy to be applied on the managed FortiSwitch ports through port-policy. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nSwitchController VlanPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:switchcontroller/vlanpolicy:Vlanpolicy 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:switchcontroller/vlanpolicy:Vlanpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyAllowedVlan:VlanpolicyAllowedVlan"
          },
          "description": "Allowed VLANs to be applied when using this VLAN policy. The structure of `allowed_vlans` block is documented below.\n"
        },
        "allowedVlansAll": {
          "type": "string",
          "description": "Enable/disable all defined VLANs when using this VLAN policy. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the VLAN policy.\n"
        },
        "discardMode": {
          "type": "string",
          "description": "Discard mode to be applied when using this VLAN policy. Valid values: `none`, `all-untagged`, `all-tagged`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this VLAN policy belongs to.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "VLAN policy name.\n"
        },
        "untaggedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyUntaggedVlan:VlanpolicyUntaggedVlan"
          },
          "description": "Untagged VLANs to be applied when using this VLAN policy. The structure of `untagged_vlans` 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"
        },
        "vlan": {
          "type": "string",
          "description": "Native VLAN to be applied when using this VLAN policy.\n"
        }
      },
      "type": "object",
      "required": [
        "allowedVlansAll",
        "description",
        "discardMode",
        "fortilink",
        "name",
        "vdomparam",
        "vlan"
      ],
      "inputProperties": {
        "allowedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyAllowedVlan:VlanpolicyAllowedVlan"
          },
          "description": "Allowed VLANs to be applied when using this VLAN policy. The structure of `allowed_vlans` block is documented below.\n"
        },
        "allowedVlansAll": {
          "type": "string",
          "description": "Enable/disable all defined VLANs when using this VLAN policy. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the VLAN policy.\n"
        },
        "discardMode": {
          "type": "string",
          "description": "Discard mode to be applied when using this VLAN policy. Valid values: `none`, `all-untagged`, `all-tagged`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fortilink": {
          "type": "string",
          "description": "FortiLink interface for which this VLAN policy belongs to.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "VLAN policy name.\n",
          "willReplaceOnChanges": true
        },
        "untaggedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyUntaggedVlan:VlanpolicyUntaggedVlan"
          },
          "description": "Untagged VLANs to be applied when using this VLAN policy. The structure of `untagged_vlans` 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
        },
        "vlan": {
          "type": "string",
          "description": "Native VLAN to be applied when using this VLAN policy.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vlanpolicy resources.\n",
        "properties": {
          "allowedVlans": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyAllowedVlan:VlanpolicyAllowedVlan"
            },
            "description": "Allowed VLANs to be applied when using this VLAN policy. The structure of `allowed_vlans` block is documented below.\n"
          },
          "allowedVlansAll": {
            "type": "string",
            "description": "Enable/disable all defined VLANs when using this VLAN policy. Valid values: `enable`, `disable`.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for the VLAN policy.\n"
          },
          "discardMode": {
            "type": "string",
            "description": "Discard mode to be applied when using this VLAN policy. Valid values: `none`, `all-untagged`, `all-tagged`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fortilink": {
            "type": "string",
            "description": "FortiLink interface for which this VLAN policy belongs to.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "VLAN policy name.\n",
            "willReplaceOnChanges": true
          },
          "untaggedVlans": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:switchcontroller%2FVlanpolicyUntaggedVlan:VlanpolicyUntaggedVlan"
            },
            "description": "Untagged VLANs to be applied when using this VLAN policy. The structure of `untagged_vlans` 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
          },
          "vlan": {
            "type": "string",
            "description": "Native VLAN to be applied when using this VLAN policy.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/accprofile:Accprofile": {
      "description": "Configure access profiles for system administrators.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test12 = new fortios.system.Accprofile(\"test12\", {\n    admintimeout: 10,\n    admintimeoutOverride: \"disable\",\n    authgrp: \"read-write\",\n    ftviewgrp: \"read-write\",\n    fwgrp: \"custom\",\n    fwgrpPermission: {\n        address: \"read-write\",\n        policy: \"read-write\",\n        schedule: \"none\",\n        service: \"none\",\n    },\n    loggrp: \"read-write\",\n    loggrpPermission: {\n        config: \"none\",\n        dataAccess: \"none\",\n        reportAccess: \"none\",\n        threatWeight: \"none\",\n    },\n    netgrp: \"read-write\",\n    netgrpPermission: {\n        cfg: \"none\",\n        packetCapture: \"none\",\n        routeCfg: \"none\",\n    },\n    scope: \"vdom\",\n    secfabgrp: \"read-write\",\n    sysgrp: \"read-write\",\n    sysgrpPermission: {\n        admin: \"none\",\n        cfg: \"none\",\n        mnt: \"none\",\n        upd: \"none\",\n    },\n    utmgrp: \"custom\",\n    utmgrpPermission: {\n        antivirus: \"read-write\",\n        applicationControl: \"none\",\n        dataLossPrevention: \"none\",\n        dnsfilter: \"none\",\n        endpointControl: \"none\",\n        icap: \"none\",\n        ips: \"read-write\",\n        voip: \"none\",\n        waf: \"none\",\n        webfilter: \"none\",\n    },\n    vpngrp: \"read-write\",\n    wanoptgrp: \"read-write\",\n    wifi: \"read-write\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest12 = fortios.system.Accprofile(\"test12\",\n    admintimeout=10,\n    admintimeout_override=\"disable\",\n    authgrp=\"read-write\",\n    ftviewgrp=\"read-write\",\n    fwgrp=\"custom\",\n    fwgrp_permission=fortios.system.AccprofileFwgrpPermissionArgs(\n        address=\"read-write\",\n        policy=\"read-write\",\n        schedule=\"none\",\n        service=\"none\",\n    ),\n    loggrp=\"read-write\",\n    loggrp_permission=fortios.system.AccprofileLoggrpPermissionArgs(\n        config=\"none\",\n        data_access=\"none\",\n        report_access=\"none\",\n        threat_weight=\"none\",\n    ),\n    netgrp=\"read-write\",\n    netgrp_permission=fortios.system.AccprofileNetgrpPermissionArgs(\n        cfg=\"none\",\n        packet_capture=\"none\",\n        route_cfg=\"none\",\n    ),\n    scope=\"vdom\",\n    secfabgrp=\"read-write\",\n    sysgrp=\"read-write\",\n    sysgrp_permission=fortios.system.AccprofileSysgrpPermissionArgs(\n        admin=\"none\",\n        cfg=\"none\",\n        mnt=\"none\",\n        upd=\"none\",\n    ),\n    utmgrp=\"custom\",\n    utmgrp_permission=fortios.system.AccprofileUtmgrpPermissionArgs(\n        antivirus=\"read-write\",\n        application_control=\"none\",\n        data_loss_prevention=\"none\",\n        dnsfilter=\"none\",\n        endpoint_control=\"none\",\n        icap=\"none\",\n        ips=\"read-write\",\n        voip=\"none\",\n        waf=\"none\",\n        webfilter=\"none\",\n    ),\n    vpngrp=\"read-write\",\n    wanoptgrp=\"read-write\",\n    wifi=\"read-write\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test12 = new Fortios.System.Accprofile(\"test12\", new()\n    {\n        Admintimeout = 10,\n        AdmintimeoutOverride = \"disable\",\n        Authgrp = \"read-write\",\n        Ftviewgrp = \"read-write\",\n        Fwgrp = \"custom\",\n        FwgrpPermission = new Fortios.System.Inputs.AccprofileFwgrpPermissionArgs\n        {\n            Address = \"read-write\",\n            Policy = \"read-write\",\n            Schedule = \"none\",\n            Service = \"none\",\n        },\n        Loggrp = \"read-write\",\n        LoggrpPermission = new Fortios.System.Inputs.AccprofileLoggrpPermissionArgs\n        {\n            Config = \"none\",\n            DataAccess = \"none\",\n            ReportAccess = \"none\",\n            ThreatWeight = \"none\",\n        },\n        Netgrp = \"read-write\",\n        NetgrpPermission = new Fortios.System.Inputs.AccprofileNetgrpPermissionArgs\n        {\n            Cfg = \"none\",\n            PacketCapture = \"none\",\n            RouteCfg = \"none\",\n        },\n        Scope = \"vdom\",\n        Secfabgrp = \"read-write\",\n        Sysgrp = \"read-write\",\n        SysgrpPermission = new Fortios.System.Inputs.AccprofileSysgrpPermissionArgs\n        {\n            Admin = \"none\",\n            Cfg = \"none\",\n            Mnt = \"none\",\n            Upd = \"none\",\n        },\n        Utmgrp = \"custom\",\n        UtmgrpPermission = new Fortios.System.Inputs.AccprofileUtmgrpPermissionArgs\n        {\n            Antivirus = \"read-write\",\n            ApplicationControl = \"none\",\n            DataLossPrevention = \"none\",\n            Dnsfilter = \"none\",\n            EndpointControl = \"none\",\n            Icap = \"none\",\n            Ips = \"read-write\",\n            Voip = \"none\",\n            Waf = \"none\",\n            Webfilter = \"none\",\n        },\n        Vpngrp = \"read-write\",\n        Wanoptgrp = \"read-write\",\n        Wifi = \"read-write\",\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.NewAccprofile(ctx, \"test12\", &system.AccprofileArgs{\n\t\t\tAdmintimeout:         pulumi.Int(10),\n\t\t\tAdmintimeoutOverride: pulumi.String(\"disable\"),\n\t\t\tAuthgrp:              pulumi.String(\"read-write\"),\n\t\t\tFtviewgrp:            pulumi.String(\"read-write\"),\n\t\t\tFwgrp:                pulumi.String(\"custom\"),\n\t\t\tFwgrpPermission: &system.AccprofileFwgrpPermissionArgs{\n\t\t\t\tAddress:  pulumi.String(\"read-write\"),\n\t\t\t\tPolicy:   pulumi.String(\"read-write\"),\n\t\t\t\tSchedule: pulumi.String(\"none\"),\n\t\t\t\tService:  pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tLoggrp: pulumi.String(\"read-write\"),\n\t\t\tLoggrpPermission: &system.AccprofileLoggrpPermissionArgs{\n\t\t\t\tConfig:       pulumi.String(\"none\"),\n\t\t\t\tDataAccess:   pulumi.String(\"none\"),\n\t\t\t\tReportAccess: pulumi.String(\"none\"),\n\t\t\t\tThreatWeight: pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tNetgrp: pulumi.String(\"read-write\"),\n\t\t\tNetgrpPermission: &system.AccprofileNetgrpPermissionArgs{\n\t\t\t\tCfg:           pulumi.String(\"none\"),\n\t\t\t\tPacketCapture: pulumi.String(\"none\"),\n\t\t\t\tRouteCfg:      pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tScope:     pulumi.String(\"vdom\"),\n\t\t\tSecfabgrp: pulumi.String(\"read-write\"),\n\t\t\tSysgrp:    pulumi.String(\"read-write\"),\n\t\t\tSysgrpPermission: &system.AccprofileSysgrpPermissionArgs{\n\t\t\t\tAdmin: pulumi.String(\"none\"),\n\t\t\t\tCfg:   pulumi.String(\"none\"),\n\t\t\t\tMnt:   pulumi.String(\"none\"),\n\t\t\t\tUpd:   pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tUtmgrp: pulumi.String(\"custom\"),\n\t\t\tUtmgrpPermission: &system.AccprofileUtmgrpPermissionArgs{\n\t\t\t\tAntivirus:          pulumi.String(\"read-write\"),\n\t\t\t\tApplicationControl: pulumi.String(\"none\"),\n\t\t\t\tDataLossPrevention: pulumi.String(\"none\"),\n\t\t\t\tDnsfilter:          pulumi.String(\"none\"),\n\t\t\t\tEndpointControl:    pulumi.String(\"none\"),\n\t\t\t\tIcap:               pulumi.String(\"none\"),\n\t\t\t\tIps:                pulumi.String(\"read-write\"),\n\t\t\t\tVoip:               pulumi.String(\"none\"),\n\t\t\t\tWaf:                pulumi.String(\"none\"),\n\t\t\t\tWebfilter:          pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tVpngrp:    pulumi.String(\"read-write\"),\n\t\t\tWanoptgrp: pulumi.String(\"read-write\"),\n\t\t\tWifi:      pulumi.String(\"read-write\"),\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.Accprofile;\nimport com.pulumi.fortios.system.AccprofileArgs;\nimport com.pulumi.fortios.system.inputs.AccprofileFwgrpPermissionArgs;\nimport com.pulumi.fortios.system.inputs.AccprofileLoggrpPermissionArgs;\nimport com.pulumi.fortios.system.inputs.AccprofileNetgrpPermissionArgs;\nimport com.pulumi.fortios.system.inputs.AccprofileSysgrpPermissionArgs;\nimport com.pulumi.fortios.system.inputs.AccprofileUtmgrpPermissionArgs;\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 test12 = new Accprofile(\"test12\", AccprofileArgs.builder()\n            .admintimeout(10)\n            .admintimeoutOverride(\"disable\")\n            .authgrp(\"read-write\")\n            .ftviewgrp(\"read-write\")\n            .fwgrp(\"custom\")\n            .fwgrpPermission(AccprofileFwgrpPermissionArgs.builder()\n                .address(\"read-write\")\n                .policy(\"read-write\")\n                .schedule(\"none\")\n                .service(\"none\")\n                .build())\n            .loggrp(\"read-write\")\n            .loggrpPermission(AccprofileLoggrpPermissionArgs.builder()\n                .config(\"none\")\n                .dataAccess(\"none\")\n                .reportAccess(\"none\")\n                .threatWeight(\"none\")\n                .build())\n            .netgrp(\"read-write\")\n            .netgrpPermission(AccprofileNetgrpPermissionArgs.builder()\n                .cfg(\"none\")\n                .packetCapture(\"none\")\n                .routeCfg(\"none\")\n                .build())\n            .scope(\"vdom\")\n            .secfabgrp(\"read-write\")\n            .sysgrp(\"read-write\")\n            .sysgrpPermission(AccprofileSysgrpPermissionArgs.builder()\n                .admin(\"none\")\n                .cfg(\"none\")\n                .mnt(\"none\")\n                .upd(\"none\")\n                .build())\n            .utmgrp(\"custom\")\n            .utmgrpPermission(AccprofileUtmgrpPermissionArgs.builder()\n                .antivirus(\"read-write\")\n                .applicationControl(\"none\")\n                .dataLossPrevention(\"none\")\n                .dnsfilter(\"none\")\n                .endpointControl(\"none\")\n                .icap(\"none\")\n                .ips(\"read-write\")\n                .voip(\"none\")\n                .waf(\"none\")\n                .webfilter(\"none\")\n                .build())\n            .vpngrp(\"read-write\")\n            .wanoptgrp(\"read-write\")\n            .wifi(\"read-write\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test12:\n    type: fortios:system:Accprofile\n    properties:\n      admintimeout: 10\n      admintimeoutOverride: disable\n      authgrp: read-write\n      ftviewgrp: read-write\n      fwgrp: custom\n      fwgrpPermission:\n        address: read-write\n        policy: read-write\n        schedule: none\n        service: none\n      loggrp: read-write\n      loggrpPermission:\n        config: none\n        dataAccess: none\n        reportAccess: none\n        threatWeight: none\n      netgrp: read-write\n      netgrpPermission:\n        cfg: none\n        packetCapture: none\n        routeCfg: none\n      scope: vdom\n      secfabgrp: read-write\n      sysgrp: read-write\n      sysgrpPermission:\n        admin: none\n        cfg: none\n        mnt: none\n        upd: none\n      utmgrp: custom\n      utmgrpPermission:\n        antivirus: read-write\n        applicationControl: none\n        dataLossPrevention: none\n        dnsfilter: none\n        endpointControl: none\n        icap: none\n        ips: read-write\n        voip: none\n        waf: none\n        webfilter: none\n      vpngrp: read-write\n      wanoptgrp: read-write\n      wifi: read-write\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Accprofile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/accprofile:Accprofile 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:system/accprofile:Accprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "admintimeout": {
          "type": "integer",
          "description": "Administrator timeout for this access profile (0 - 480 min, default = 10, 0 means never timeout).\n"
        },
        "admintimeoutOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global administrator idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "authgrp": {
          "type": "string",
          "description": "Administrator access to Users and Devices. Valid values: `none`, `read`, `read-write`.\n"
        },
        "cliConfig": {
          "type": "string",
          "description": "Enable/disable permission to run config commands. Valid values: `enable`, `disable`.\n"
        },
        "cliDiagnose": {
          "type": "string",
          "description": "Enable/disable permission to run diagnostic commands. Valid values: `enable`, `disable`.\n"
        },
        "cliExec": {
          "type": "string",
          "description": "Enable/disable permission to run execute commands. Valid values: `enable`, `disable`.\n"
        },
        "cliGet": {
          "type": "string",
          "description": "Enable/disable permission to run get commands. Valid values: `enable`, `disable`.\n"
        },
        "cliShow": {
          "type": "string",
          "description": "Enable/disable permission to run show commands. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftviewgrp": {
          "type": "string",
          "description": "FortiView. Valid values: `none`, `read`, `read-write`.\n"
        },
        "fwgrp": {
          "type": "string",
          "description": "Administrator access to the Firewall configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "fwgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileFwgrpPermission:AccprofileFwgrpPermission",
          "description": "Custom firewall permission. The structure of `fwgrp_permission` 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"
        },
        "loggrp": {
          "type": "string",
          "description": "Administrator access to Logging and Reporting including viewing log messages. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "loggrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileLoggrpPermission:AccprofileLoggrpPermission",
          "description": "Custom Log & Report permission. The structure of `loggrp_permission` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "netgrp": {
          "type": "string",
          "description": "Network Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "netgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileNetgrpPermission:AccprofileNetgrpPermission",
          "description": "Custom network permission. The structure of `netgrp_permission` block is documented below.\n"
        },
        "scope": {
          "type": "string",
          "description": "Scope of admin access: global or specific VDOM(s). Valid values: `vdom`, `global`.\n"
        },
        "secfabgrp": {
          "type": "string",
          "description": "Security Fabric. Valid values: `none`, `read`, `read-write`.\n"
        },
        "sysgrp": {
          "type": "string",
          "description": "System Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "sysgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileSysgrpPermission:AccprofileSysgrpPermission",
          "description": "Custom system permission. The structure of `sysgrp_permission` block is documented below.\n"
        },
        "systemDiagnostics": {
          "type": "string",
          "description": "Enable/disable permission to run system diagnostic commands. Valid values: `enable`, `disable`.\n"
        },
        "systemExecuteSsh": {
          "type": "string",
          "description": "Enable/disable permission to execute SSH commands. Valid values: `enable`, `disable`.\n"
        },
        "systemExecuteTelnet": {
          "type": "string",
          "description": "Enable/disable permission to execute TELNET commands. Valid values: `enable`, `disable`.\n"
        },
        "utmgrp": {
          "type": "string",
          "description": "Administrator access to Security Profiles. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "utmgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileUtmgrpPermission:AccprofileUtmgrpPermission",
          "description": "Custom Security Profile permissions. The structure of `utmgrp_permission` 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"
        },
        "vpngrp": {
          "type": "string",
          "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN. Valid values: `none`, `read`, `read-write`.\n"
        },
        "wanoptgrp": {
          "type": "string",
          "description": "Administrator access to WAN Opt & Cache. Valid values: `none`, `read`, `read-write`.\n"
        },
        "wifi": {
          "type": "string",
          "description": "Administrator access to the WiFi controller and Switch controller. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "required": [
        "admintimeout",
        "admintimeoutOverride",
        "authgrp",
        "cliConfig",
        "cliDiagnose",
        "cliExec",
        "cliGet",
        "cliShow",
        "ftviewgrp",
        "fwgrp",
        "fwgrpPermission",
        "loggrp",
        "loggrpPermission",
        "name",
        "netgrp",
        "netgrpPermission",
        "scope",
        "secfabgrp",
        "sysgrp",
        "sysgrpPermission",
        "systemDiagnostics",
        "systemExecuteSsh",
        "systemExecuteTelnet",
        "utmgrp",
        "utmgrpPermission",
        "vdomparam",
        "vpngrp",
        "wanoptgrp",
        "wifi"
      ],
      "inputProperties": {
        "admintimeout": {
          "type": "integer",
          "description": "Administrator timeout for this access profile (0 - 480 min, default = 10, 0 means never timeout).\n"
        },
        "admintimeoutOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global administrator idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "authgrp": {
          "type": "string",
          "description": "Administrator access to Users and Devices. Valid values: `none`, `read`, `read-write`.\n"
        },
        "cliConfig": {
          "type": "string",
          "description": "Enable/disable permission to run config commands. Valid values: `enable`, `disable`.\n"
        },
        "cliDiagnose": {
          "type": "string",
          "description": "Enable/disable permission to run diagnostic commands. Valid values: `enable`, `disable`.\n"
        },
        "cliExec": {
          "type": "string",
          "description": "Enable/disable permission to run execute commands. Valid values: `enable`, `disable`.\n"
        },
        "cliGet": {
          "type": "string",
          "description": "Enable/disable permission to run get commands. Valid values: `enable`, `disable`.\n"
        },
        "cliShow": {
          "type": "string",
          "description": "Enable/disable permission to run show commands. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftviewgrp": {
          "type": "string",
          "description": "FortiView. Valid values: `none`, `read`, `read-write`.\n"
        },
        "fwgrp": {
          "type": "string",
          "description": "Administrator access to the Firewall configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "fwgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileFwgrpPermission:AccprofileFwgrpPermission",
          "description": "Custom firewall permission. The structure of `fwgrp_permission` 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"
        },
        "loggrp": {
          "type": "string",
          "description": "Administrator access to Logging and Reporting including viewing log messages. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "loggrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileLoggrpPermission:AccprofileLoggrpPermission",
          "description": "Custom Log & Report permission. The structure of `loggrp_permission` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "netgrp": {
          "type": "string",
          "description": "Network Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "netgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileNetgrpPermission:AccprofileNetgrpPermission",
          "description": "Custom network permission. The structure of `netgrp_permission` block is documented below.\n"
        },
        "scope": {
          "type": "string",
          "description": "Scope of admin access: global or specific VDOM(s). Valid values: `vdom`, `global`.\n"
        },
        "secfabgrp": {
          "type": "string",
          "description": "Security Fabric. Valid values: `none`, `read`, `read-write`.\n"
        },
        "sysgrp": {
          "type": "string",
          "description": "System Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "sysgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileSysgrpPermission:AccprofileSysgrpPermission",
          "description": "Custom system permission. The structure of `sysgrp_permission` block is documented below.\n"
        },
        "systemDiagnostics": {
          "type": "string",
          "description": "Enable/disable permission to run system diagnostic commands. Valid values: `enable`, `disable`.\n"
        },
        "systemExecuteSsh": {
          "type": "string",
          "description": "Enable/disable permission to execute SSH commands. Valid values: `enable`, `disable`.\n"
        },
        "systemExecuteTelnet": {
          "type": "string",
          "description": "Enable/disable permission to execute TELNET commands. Valid values: `enable`, `disable`.\n"
        },
        "utmgrp": {
          "type": "string",
          "description": "Administrator access to Security Profiles. Valid values: `none`, `read`, `read-write`, `custom`.\n"
        },
        "utmgrpPermission": {
          "$ref": "#/types/fortios:system%2FAccprofileUtmgrpPermission:AccprofileUtmgrpPermission",
          "description": "Custom Security Profile permissions. The structure of `utmgrp_permission` 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
        },
        "vpngrp": {
          "type": "string",
          "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN. Valid values: `none`, `read`, `read-write`.\n"
        },
        "wanoptgrp": {
          "type": "string",
          "description": "Administrator access to WAN Opt & Cache. Valid values: `none`, `read`, `read-write`.\n"
        },
        "wifi": {
          "type": "string",
          "description": "Administrator access to the WiFi controller and Switch controller. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accprofile resources.\n",
        "properties": {
          "admintimeout": {
            "type": "integer",
            "description": "Administrator timeout for this access profile (0 - 480 min, default = 10, 0 means never timeout).\n"
          },
          "admintimeoutOverride": {
            "type": "string",
            "description": "Enable/disable overriding the global administrator idle timeout. Valid values: `enable`, `disable`.\n"
          },
          "authgrp": {
            "type": "string",
            "description": "Administrator access to Users and Devices. Valid values: `none`, `read`, `read-write`.\n"
          },
          "cliConfig": {
            "type": "string",
            "description": "Enable/disable permission to run config commands. Valid values: `enable`, `disable`.\n"
          },
          "cliDiagnose": {
            "type": "string",
            "description": "Enable/disable permission to run diagnostic commands. Valid values: `enable`, `disable`.\n"
          },
          "cliExec": {
            "type": "string",
            "description": "Enable/disable permission to run execute commands. Valid values: `enable`, `disable`.\n"
          },
          "cliGet": {
            "type": "string",
            "description": "Enable/disable permission to run get commands. Valid values: `enable`, `disable`.\n"
          },
          "cliShow": {
            "type": "string",
            "description": "Enable/disable permission to run show commands. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "ftviewgrp": {
            "type": "string",
            "description": "FortiView. Valid values: `none`, `read`, `read-write`.\n"
          },
          "fwgrp": {
            "type": "string",
            "description": "Administrator access to the Firewall configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
          },
          "fwgrpPermission": {
            "$ref": "#/types/fortios:system%2FAccprofileFwgrpPermission:AccprofileFwgrpPermission",
            "description": "Custom firewall permission. The structure of `fwgrp_permission` 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"
          },
          "loggrp": {
            "type": "string",
            "description": "Administrator access to Logging and Reporting including viewing log messages. Valid values: `none`, `read`, `read-write`, `custom`.\n"
          },
          "loggrpPermission": {
            "$ref": "#/types/fortios:system%2FAccprofileLoggrpPermission:AccprofileLoggrpPermission",
            "description": "Custom Log & Report permission. The structure of `loggrp_permission` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "netgrp": {
            "type": "string",
            "description": "Network Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
          },
          "netgrpPermission": {
            "$ref": "#/types/fortios:system%2FAccprofileNetgrpPermission:AccprofileNetgrpPermission",
            "description": "Custom network permission. The structure of `netgrp_permission` block is documented below.\n"
          },
          "scope": {
            "type": "string",
            "description": "Scope of admin access: global or specific VDOM(s). Valid values: `vdom`, `global`.\n"
          },
          "secfabgrp": {
            "type": "string",
            "description": "Security Fabric. Valid values: `none`, `read`, `read-write`.\n"
          },
          "sysgrp": {
            "type": "string",
            "description": "System Configuration. Valid values: `none`, `read`, `read-write`, `custom`.\n"
          },
          "sysgrpPermission": {
            "$ref": "#/types/fortios:system%2FAccprofileSysgrpPermission:AccprofileSysgrpPermission",
            "description": "Custom system permission. The structure of `sysgrp_permission` block is documented below.\n"
          },
          "systemDiagnostics": {
            "type": "string",
            "description": "Enable/disable permission to run system diagnostic commands. Valid values: `enable`, `disable`.\n"
          },
          "systemExecuteSsh": {
            "type": "string",
            "description": "Enable/disable permission to execute SSH commands. Valid values: `enable`, `disable`.\n"
          },
          "systemExecuteTelnet": {
            "type": "string",
            "description": "Enable/disable permission to execute TELNET commands. Valid values: `enable`, `disable`.\n"
          },
          "utmgrp": {
            "type": "string",
            "description": "Administrator access to Security Profiles. Valid values: `none`, `read`, `read-write`, `custom`.\n"
          },
          "utmgrpPermission": {
            "$ref": "#/types/fortios:system%2FAccprofileUtmgrpPermission:AccprofileUtmgrpPermission",
            "description": "Custom Security Profile permissions. The structure of `utmgrp_permission` 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
          },
          "vpngrp": {
            "type": "string",
            "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN. Valid values: `none`, `read`, `read-write`.\n"
          },
          "wanoptgrp": {
            "type": "string",
            "description": "Administrator access to WAN Opt & Cache. Valid values: `none`, `read`, `read-write`.\n"
          },
          "wifi": {
            "type": "string",
            "description": "Administrator access to the WiFi controller and Switch controller. Valid values: `none`, `read`, `read-write`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/acme:Acme": {
      "description": "Configure ACME client. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSystem Acme can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/acme:Acme labelname SystemAcme\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:system/acme:Acme labelname SystemAcme\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accounts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAcmeAccount:AcmeAccount"
          },
          "description": "ACME accounts list. The structure of `accounts` 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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAcmeInterface:AcmeInterface"
          },
          "description": "Interface(s) on which the ACME client will listen for challenges. The structure of `interface` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to connect to the ACME server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used to connect to the ACME server.\n"
        },
        "useHaDirect": {
          "type": "string",
          "description": "Enable the use of 'ha-mgmt' interface to connect to the ACME server when 'ha-direct' is enabled in HA configuration 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": [
        "sourceIp",
        "sourceIp6",
        "useHaDirect",
        "vdomparam"
      ],
      "inputProperties": {
        "accounts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAcmeAccount:AcmeAccount"
          },
          "description": "ACME accounts list. The structure of `accounts` 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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAcmeInterface:AcmeInterface"
          },
          "description": "Interface(s) on which the ACME client will listen for challenges. The structure of `interface` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to connect to the ACME server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used to connect to the ACME server.\n"
        },
        "useHaDirect": {
          "type": "string",
          "description": "Enable the use of 'ha-mgmt' interface to connect to the ACME server when 'ha-direct' is enabled in HA configuration 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 Acme resources.\n",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAcmeAccount:AcmeAccount"
            },
            "description": "ACME accounts list. The structure of `accounts` 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"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAcmeInterface:AcmeInterface"
            },
            "description": "Interface(s) on which the ACME client will listen for challenges. The structure of `interface` block is documented below.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 address used to connect to the ACME server.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "Source IPv6 address used to connect to the ACME server.\n"
          },
          "useHaDirect": {
            "type": "string",
            "description": "Enable the use of 'ha-mgmt' interface to connect to the ACME server when 'ha-direct' is enabled in HA configuration 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:system/admin:Admin": {
      "description": "Configure admin users.\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.system.Admin(\"trname\", {\n    accprofile: \"super_admin\",\n    accprofileOverride: \"disable\",\n    allowRemoveAdminSession: \"enable\",\n    forcePasswordChange: \"disable\",\n    guestAuth: \"disable\",\n    hidden: 0,\n    password: \"fdafdace\",\n    passwordExpire: \"0000-00-00 00:00:00\",\n    peerAuth: \"disable\",\n    radiusVdomOverride: \"disable\",\n    remoteAuth: \"disable\",\n    twoFactor: \"disable\",\n    vdoms: [{\n        name: \"root\",\n    }],\n    wildcard: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Admin(\"trname\",\n    accprofile=\"super_admin\",\n    accprofile_override=\"disable\",\n    allow_remove_admin_session=\"enable\",\n    force_password_change=\"disable\",\n    guest_auth=\"disable\",\n    hidden=0,\n    password=\"fdafdace\",\n    password_expire=\"0000-00-00 00:00:00\",\n    peer_auth=\"disable\",\n    radius_vdom_override=\"disable\",\n    remote_auth=\"disable\",\n    two_factor=\"disable\",\n    vdoms=[fortios.system.AdminVdomArgs(\n        name=\"root\",\n    )],\n    wildcard=\"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.System.Admin(\"trname\", new()\n    {\n        Accprofile = \"super_admin\",\n        AccprofileOverride = \"disable\",\n        AllowRemoveAdminSession = \"enable\",\n        ForcePasswordChange = \"disable\",\n        GuestAuth = \"disable\",\n        Hidden = 0,\n        Password = \"fdafdace\",\n        PasswordExpire = \"0000-00-00 00:00:00\",\n        PeerAuth = \"disable\",\n        RadiusVdomOverride = \"disable\",\n        RemoteAuth = \"disable\",\n        TwoFactor = \"disable\",\n        Vdoms = new[]\n        {\n            new Fortios.System.Inputs.AdminVdomArgs\n            {\n                Name = \"root\",\n            },\n        },\n        Wildcard = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewAdmin(ctx, \"trname\", &system.AdminArgs{\n\t\t\tAccprofile:              pulumi.String(\"super_admin\"),\n\t\t\tAccprofileOverride:      pulumi.String(\"disable\"),\n\t\t\tAllowRemoveAdminSession: pulumi.String(\"enable\"),\n\t\t\tForcePasswordChange:     pulumi.String(\"disable\"),\n\t\t\tGuestAuth:               pulumi.String(\"disable\"),\n\t\t\tHidden:                  pulumi.Int(0),\n\t\t\tPassword:                pulumi.String(\"fdafdace\"),\n\t\t\tPasswordExpire:          pulumi.String(\"0000-00-00 00:00:00\"),\n\t\t\tPeerAuth:                pulumi.String(\"disable\"),\n\t\t\tRadiusVdomOverride:      pulumi.String(\"disable\"),\n\t\t\tRemoteAuth:              pulumi.String(\"disable\"),\n\t\t\tTwoFactor:               pulumi.String(\"disable\"),\n\t\t\tVdoms: system.AdminVdomArray{\n\t\t\t\t&system.AdminVdomArgs{\n\t\t\t\t\tName: pulumi.String(\"root\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWildcard: 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.system.Admin;\nimport com.pulumi.fortios.system.AdminArgs;\nimport com.pulumi.fortios.system.inputs.AdminVdomArgs;\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 Admin(\"trname\", AdminArgs.builder()\n            .accprofile(\"super_admin\")\n            .accprofileOverride(\"disable\")\n            .allowRemoveAdminSession(\"enable\")\n            .forcePasswordChange(\"disable\")\n            .guestAuth(\"disable\")\n            .hidden(0)\n            .password(\"fdafdace\")\n            .passwordExpire(\"0000-00-00 00:00:00\")\n            .peerAuth(\"disable\")\n            .radiusVdomOverride(\"disable\")\n            .remoteAuth(\"disable\")\n            .twoFactor(\"disable\")\n            .vdoms(AdminVdomArgs.builder()\n                .name(\"root\")\n                .build())\n            .wildcard(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Admin\n    properties:\n      accprofile: super_admin\n      accprofileOverride: disable\n      allowRemoveAdminSession: enable\n      forcePasswordChange: disable\n      guestAuth: disable\n      hidden: 0\n      password: fdafdace\n      passwordExpire: 0000-00-00 00:00:00\n      peerAuth: disable\n      radiusVdomOverride: disable\n      remoteAuth: disable\n      twoFactor: disable\n      vdoms:\n        - name: root\n      wildcard: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Admin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/admin:Admin 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:system/admin:Admin labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
        },
        "accprofileOverride": {
          "type": "string",
          "description": "Enable to use the name of an access profile provided by the remote authentication server to control the FortiGate features that this administrator can access. Valid values: `enable`, `disable`.\n"
        },
        "allowRemoveAdminSession": {
          "type": "string",
          "description": "Enable/disable allow admin session to be removed by privileged admin users. Valid values: `enable`, `disable`.\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"
        },
        "emailTo": {
          "type": "string",
          "description": "This administrator's email address.\n"
        },
        "forcePasswordChange": {
          "type": "string",
          "description": "Enable/disable force password change on next login. Valid values: `enable`, `disable`.\n"
        },
        "fortitoken": {
          "type": "string",
          "description": "This administrator's FortiToken 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"
        },
        "guestAuth": {
          "type": "string",
          "description": "Enable/disable guest authentication. Valid values: `disable`, `enable`.\n"
        },
        "guestLang": {
          "type": "string",
          "description": "Guest management portal language.\n"
        },
        "guestUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuestUsergroup:AdminGuestUsergroup"
          },
          "description": "Select guest user groups. The structure of `guest_usergroups` block is documented below.\n"
        },
        "guiDashboards": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiDashboard:AdminGuiDashboard"
          },
          "description": "GUI dashboards. The structure of `gui_dashboard` block is documented below.\n"
        },
        "guiGlobalMenuFavorites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiGlobalMenuFavorite:AdminGuiGlobalMenuFavorite"
          },
          "description": "Favorite GUI menu IDs for the global VDOM. The structure of `gui_global_menu_favorites` block is documented below.\n"
        },
        "guiNewFeatureAcknowledges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiNewFeatureAcknowledge:AdminGuiNewFeatureAcknowledge"
          },
          "description": "Acknowledgement of new features. The structure of `gui_new_feature_acknowledge` block is documented below.\n"
        },
        "guiVdomMenuFavorites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiVdomMenuFavorite:AdminGuiVdomMenuFavorite"
          },
          "description": "Favorite GUI menu IDs for VDOMs. The structure of `gui_vdom_menu_favorites` block is documented below.\n"
        },
        "hidden": {
          "type": "integer",
          "description": "Admin user hidden attribute.\n"
        },
        "history0": {
          "type": "string",
          "description": "history0\n",
          "secret": true
        },
        "history1": {
          "type": "string",
          "description": "history1\n",
          "secret": true
        },
        "ip6Trusthost1": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost10": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost2": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost3": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost4": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost5": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost6": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost7": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost8": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost9": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "loginTimes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminLoginTime:AdminLoginTime"
          },
          "description": "Record user login time. The structure of `login_time` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "password": {
          "type": "string",
          "description": "Admin user password. :warning: **Due security reason and API's design, you need to use Generic resource with the monitor API [/api/v2/monitor/system/change-password/select](https://fndn.fortinet.net/index.php?/fortiapi/1-fortios/2271/1/system) to update the password for existing admin user. `Create` and `Delete` operation will works using this resource.**\n",
          "secret": true
        },
        "passwordExpire": {
          "type": "string",
          "description": "Password expire time.\n"
        },
        "peerAuth": {
          "type": "string",
          "description": "Set to enable peer certificate authentication (for HTTPS admin access). Valid values: `enable`, `disable`.\n"
        },
        "peerGroup": {
          "type": "string",
          "description": "Name of peer group defined under config user group which has PKI members. Used for peer certificate authentication (for HTTPS admin access).\n"
        },
        "radiusVdomOverride": {
          "type": "string",
          "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. Valid values: `enable`, `disable`.\n"
        },
        "remoteAuth": {
          "type": "string",
          "description": "Enable/disable authentication using a remote RADIUS, LDAP, or TACACS+ server. Valid values: `enable`, `disable`.\n"
        },
        "remoteGroup": {
          "type": "string",
          "description": "User group name used for remote auth.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Firewall schedule used to restrict when the administrator can log in. No schedule means no restrictions.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "Custom SMS server to send SMS messages to.\n"
        },
        "smsPhone": {
          "type": "string",
          "description": "Phone number on which the administrator receives SMS messages.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS messages using the FortiGuard SMS server or a custom server. Valid values: `fortiguard`, `custom`.\n"
        },
        "sshCertificate": {
          "type": "string",
          "description": "Select the certificate to be used by the FortiGate for authentication with an SSH client.\n"
        },
        "sshPublicKey1": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "sshPublicKey2": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "sshPublicKey3": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "trusthost1": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost10": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost2": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost3": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost4": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost5": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost6": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost7": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost8": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost9": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "vdomOverride": {
          "type": "string",
          "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminVdom:AdminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "Enable/disable wildcard RADIUS authentication. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "accprofileOverride",
        "allowRemoveAdminSession",
        "emailTo",
        "forcePasswordChange",
        "fortitoken",
        "guestAuth",
        "guestLang",
        "hidden",
        "ip6Trusthost1",
        "ip6Trusthost10",
        "ip6Trusthost2",
        "ip6Trusthost3",
        "ip6Trusthost4",
        "ip6Trusthost5",
        "ip6Trusthost6",
        "ip6Trusthost7",
        "ip6Trusthost8",
        "ip6Trusthost9",
        "name",
        "passwordExpire",
        "peerAuth",
        "peerGroup",
        "radiusVdomOverride",
        "remoteAuth",
        "remoteGroup",
        "schedule",
        "smsCustomServer",
        "smsPhone",
        "smsServer",
        "sshCertificate",
        "sshPublicKey1",
        "sshPublicKey2",
        "sshPublicKey3",
        "trusthost1",
        "trusthost10",
        "trusthost2",
        "trusthost3",
        "trusthost4",
        "trusthost5",
        "trusthost6",
        "trusthost7",
        "trusthost8",
        "trusthost9",
        "twoFactor",
        "twoFactorAuthentication",
        "twoFactorNotification",
        "vdomOverride",
        "vdomparam",
        "wildcard"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
        },
        "accprofileOverride": {
          "type": "string",
          "description": "Enable to use the name of an access profile provided by the remote authentication server to control the FortiGate features that this administrator can access. Valid values: `enable`, `disable`.\n"
        },
        "allowRemoveAdminSession": {
          "type": "string",
          "description": "Enable/disable allow admin session to be removed by privileged admin users. Valid values: `enable`, `disable`.\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"
        },
        "emailTo": {
          "type": "string",
          "description": "This administrator's email address.\n"
        },
        "forcePasswordChange": {
          "type": "string",
          "description": "Enable/disable force password change on next login. Valid values: `enable`, `disable`.\n"
        },
        "fortitoken": {
          "type": "string",
          "description": "This administrator's FortiToken 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"
        },
        "guestAuth": {
          "type": "string",
          "description": "Enable/disable guest authentication. Valid values: `disable`, `enable`.\n"
        },
        "guestLang": {
          "type": "string",
          "description": "Guest management portal language.\n"
        },
        "guestUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuestUsergroup:AdminGuestUsergroup"
          },
          "description": "Select guest user groups. The structure of `guest_usergroups` block is documented below.\n"
        },
        "guiDashboards": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiDashboard:AdminGuiDashboard"
          },
          "description": "GUI dashboards. The structure of `gui_dashboard` block is documented below.\n"
        },
        "guiGlobalMenuFavorites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiGlobalMenuFavorite:AdminGuiGlobalMenuFavorite"
          },
          "description": "Favorite GUI menu IDs for the global VDOM. The structure of `gui_global_menu_favorites` block is documented below.\n"
        },
        "guiNewFeatureAcknowledges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiNewFeatureAcknowledge:AdminGuiNewFeatureAcknowledge"
          },
          "description": "Acknowledgement of new features. The structure of `gui_new_feature_acknowledge` block is documented below.\n"
        },
        "guiVdomMenuFavorites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiVdomMenuFavorite:AdminGuiVdomMenuFavorite"
          },
          "description": "Favorite GUI menu IDs for VDOMs. The structure of `gui_vdom_menu_favorites` block is documented below.\n"
        },
        "hidden": {
          "type": "integer",
          "description": "Admin user hidden attribute.\n"
        },
        "history0": {
          "type": "string",
          "description": "history0\n",
          "secret": true
        },
        "history1": {
          "type": "string",
          "description": "history1\n",
          "secret": true
        },
        "ip6Trusthost1": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost10": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost2": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost3": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost4": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost5": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost6": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost7": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost8": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "ip6Trusthost9": {
          "type": "string",
          "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
        },
        "loginTimes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminLoginTime:AdminLoginTime"
          },
          "description": "Record user login time. The structure of `login_time` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Admin user password. :warning: **Due security reason and API's design, you need to use Generic resource with the monitor API [/api/v2/monitor/system/change-password/select](https://fndn.fortinet.net/index.php?/fortiapi/1-fortios/2271/1/system) to update the password for existing admin user. `Create` and `Delete` operation will works using this resource.**\n",
          "secret": true
        },
        "passwordExpire": {
          "type": "string",
          "description": "Password expire time.\n"
        },
        "peerAuth": {
          "type": "string",
          "description": "Set to enable peer certificate authentication (for HTTPS admin access). Valid values: `enable`, `disable`.\n"
        },
        "peerGroup": {
          "type": "string",
          "description": "Name of peer group defined under config user group which has PKI members. Used for peer certificate authentication (for HTTPS admin access).\n"
        },
        "radiusVdomOverride": {
          "type": "string",
          "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. Valid values: `enable`, `disable`.\n"
        },
        "remoteAuth": {
          "type": "string",
          "description": "Enable/disable authentication using a remote RADIUS, LDAP, or TACACS+ server. Valid values: `enable`, `disable`.\n"
        },
        "remoteGroup": {
          "type": "string",
          "description": "User group name used for remote auth.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Firewall schedule used to restrict when the administrator can log in. No schedule means no restrictions.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "Custom SMS server to send SMS messages to.\n"
        },
        "smsPhone": {
          "type": "string",
          "description": "Phone number on which the administrator receives SMS messages.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS messages using the FortiGuard SMS server or a custom server. Valid values: `fortiguard`, `custom`.\n"
        },
        "sshCertificate": {
          "type": "string",
          "description": "Select the certificate to be used by the FortiGate for authentication with an SSH client.\n"
        },
        "sshPublicKey1": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "sshPublicKey2": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "sshPublicKey3": {
          "type": "string",
          "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
          "secret": true
        },
        "trusthost1": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost10": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost2": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost3": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost4": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost5": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost6": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost7": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost8": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "trusthost9": {
          "type": "string",
          "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "vdomOverride": {
          "type": "string",
          "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminVdom:AdminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "Enable/disable wildcard RADIUS authentication. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Admin resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
          },
          "accprofileOverride": {
            "type": "string",
            "description": "Enable to use the name of an access profile provided by the remote authentication server to control the FortiGate features that this administrator can access. Valid values: `enable`, `disable`.\n"
          },
          "allowRemoveAdminSession": {
            "type": "string",
            "description": "Enable/disable allow admin session to be removed by privileged admin users. Valid values: `enable`, `disable`.\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"
          },
          "emailTo": {
            "type": "string",
            "description": "This administrator's email address.\n"
          },
          "forcePasswordChange": {
            "type": "string",
            "description": "Enable/disable force password change on next login. Valid values: `enable`, `disable`.\n"
          },
          "fortitoken": {
            "type": "string",
            "description": "This administrator's FortiToken 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"
          },
          "guestAuth": {
            "type": "string",
            "description": "Enable/disable guest authentication. Valid values: `disable`, `enable`.\n"
          },
          "guestLang": {
            "type": "string",
            "description": "Guest management portal language.\n"
          },
          "guestUsergroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminGuestUsergroup:AdminGuestUsergroup"
            },
            "description": "Select guest user groups. The structure of `guest_usergroups` block is documented below.\n"
          },
          "guiDashboards": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminGuiDashboard:AdminGuiDashboard"
            },
            "description": "GUI dashboards. The structure of `gui_dashboard` block is documented below.\n"
          },
          "guiGlobalMenuFavorites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminGuiGlobalMenuFavorite:AdminGuiGlobalMenuFavorite"
            },
            "description": "Favorite GUI menu IDs for the global VDOM. The structure of `gui_global_menu_favorites` block is documented below.\n"
          },
          "guiNewFeatureAcknowledges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminGuiNewFeatureAcknowledge:AdminGuiNewFeatureAcknowledge"
            },
            "description": "Acknowledgement of new features. The structure of `gui_new_feature_acknowledge` block is documented below.\n"
          },
          "guiVdomMenuFavorites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminGuiVdomMenuFavorite:AdminGuiVdomMenuFavorite"
            },
            "description": "Favorite GUI menu IDs for VDOMs. The structure of `gui_vdom_menu_favorites` block is documented below.\n"
          },
          "hidden": {
            "type": "integer",
            "description": "Admin user hidden attribute.\n"
          },
          "history0": {
            "type": "string",
            "description": "history0\n",
            "secret": true
          },
          "history1": {
            "type": "string",
            "description": "history1\n",
            "secret": true
          },
          "ip6Trusthost1": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost10": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost2": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost3": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost4": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost5": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost6": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost7": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost8": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "ip6Trusthost9": {
            "type": "string",
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n"
          },
          "loginTimes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminLoginTime:AdminLoginTime"
            },
            "description": "Record user login time. The structure of `login_time` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "User name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Admin user password. :warning: **Due security reason and API's design, you need to use Generic resource with the monitor API [/api/v2/monitor/system/change-password/select](https://fndn.fortinet.net/index.php?/fortiapi/1-fortios/2271/1/system) to update the password for existing admin user. `Create` and `Delete` operation will works using this resource.**\n",
            "secret": true
          },
          "passwordExpire": {
            "type": "string",
            "description": "Password expire time.\n"
          },
          "peerAuth": {
            "type": "string",
            "description": "Set to enable peer certificate authentication (for HTTPS admin access). Valid values: `enable`, `disable`.\n"
          },
          "peerGroup": {
            "type": "string",
            "description": "Name of peer group defined under config user group which has PKI members. Used for peer certificate authentication (for HTTPS admin access).\n"
          },
          "radiusVdomOverride": {
            "type": "string",
            "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. Valid values: `enable`, `disable`.\n"
          },
          "remoteAuth": {
            "type": "string",
            "description": "Enable/disable authentication using a remote RADIUS, LDAP, or TACACS+ server. Valid values: `enable`, `disable`.\n"
          },
          "remoteGroup": {
            "type": "string",
            "description": "User group name used for remote auth.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Firewall schedule used to restrict when the administrator can log in. No schedule means no restrictions.\n"
          },
          "smsCustomServer": {
            "type": "string",
            "description": "Custom SMS server to send SMS messages to.\n"
          },
          "smsPhone": {
            "type": "string",
            "description": "Phone number on which the administrator receives SMS messages.\n"
          },
          "smsServer": {
            "type": "string",
            "description": "Send SMS messages using the FortiGuard SMS server or a custom server. Valid values: `fortiguard`, `custom`.\n"
          },
          "sshCertificate": {
            "type": "string",
            "description": "Select the certificate to be used by the FortiGate for authentication with an SSH client.\n"
          },
          "sshPublicKey1": {
            "type": "string",
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true
          },
          "sshPublicKey2": {
            "type": "string",
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true
          },
          "sshPublicKey3": {
            "type": "string",
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true
          },
          "trusthost1": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost10": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost2": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost3": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost4": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost5": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost6": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost7": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost8": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "trusthost9": {
            "type": "string",
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n"
          },
          "twoFactor": {
            "type": "string",
            "description": "Enable/disable two-factor authentication.\n"
          },
          "twoFactorAuthentication": {
            "type": "string",
            "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
          },
          "twoFactorNotification": {
            "type": "string",
            "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
          },
          "vdomOverride": {
            "type": "string",
            "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access. 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAdminVdom:AdminVdom"
            },
            "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
          },
          "wildcard": {
            "type": "string",
            "description": "Enable/disable wildcard RADIUS authentication. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/adminAdministrator:AdminAdministrator": {
      "description": "Provides a resource to configure administrator accounts of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Admin`, 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 admintest = new fortios.system.AdminAdministrator(\"admintest\", {\n    accprofile: \"3d3\",\n    comments: \"comments\",\n    password: \"cc37331AC1\",\n    trusthost1: \"1.1.1.0 255.255.255.0\",\n    trusthost2: \"2.2.2.0 255.255.255.0\",\n    vdoms: [\"root\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nadmintest = fortios.system.AdminAdministrator(\"admintest\",\n    accprofile=\"3d3\",\n    comments=\"comments\",\n    password=\"cc37331AC1\",\n    trusthost1=\"1.1.1.0 255.255.255.0\",\n    trusthost2=\"2.2.2.0 255.255.255.0\",\n    vdoms=[\"root\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var admintest = new Fortios.System.AdminAdministrator(\"admintest\", new()\n    {\n        Accprofile = \"3d3\",\n        Comments = \"comments\",\n        Password = \"cc37331AC1\",\n        Trusthost1 = \"1.1.1.0 255.255.255.0\",\n        Trusthost2 = \"2.2.2.0 255.255.255.0\",\n        Vdoms = new[]\n        {\n            \"root\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewAdminAdministrator(ctx, \"admintest\", &system.AdminAdministratorArgs{\n\t\t\tAccprofile: pulumi.String(\"3d3\"),\n\t\t\tComments:   pulumi.String(\"comments\"),\n\t\t\tPassword:   pulumi.String(\"cc37331AC1\"),\n\t\t\tTrusthost1: pulumi.String(\"1.1.1.0 255.255.255.0\"),\n\t\t\tTrusthost2: pulumi.String(\"2.2.2.0 255.255.255.0\"),\n\t\t\tVdoms: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"root\"),\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.system.AdminAdministrator;\nimport com.pulumi.fortios.system.AdminAdministratorArgs;\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 admintest = new AdminAdministrator(\"admintest\", AdminAdministratorArgs.builder()\n            .accprofile(\"3d3\")\n            .comments(\"comments\")\n            .password(\"cc37331AC1\")\n            .trusthost1(\"1.1.1.0 255.255.255.0\")\n            .trusthost2(\"2.2.2.0 255.255.255.0\")\n            .vdoms(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  admintest:\n    type: fortios:system:AdminAdministrator\n    properties:\n      accprofile: 3d3\n      comments: comments\n      password: cc37331AC1\n      trusthost1: 1.1.1.0 255.255.255.0\n      trusthost2: 2.2.2.0 255.255.255.0\n      vdoms:\n        - root\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "password": {
          "type": "string",
          "description": "Admin user password.\n* `trusthostN` - Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit.\n"
        },
        "trusthost1": {
          "type": "string"
        },
        "trusthost10": {
          "type": "string"
        },
        "trusthost2": {
          "type": "string"
        },
        "trusthost3": {
          "type": "string"
        },
        "trusthost4": {
          "type": "string"
        },
        "trusthost5": {
          "type": "string"
        },
        "trusthost6": {
          "type": "string"
        },
        "trusthost7": {
          "type": "string"
        },
        "trusthost8": {
          "type": "string"
        },
        "trusthost9": {
          "type": "string"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Virtual domain(s) that the administrator can access.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "name",
        "password",
        "trusthost1",
        "trusthost10",
        "trusthost2",
        "trusthost3",
        "trusthost4",
        "trusthost5",
        "trusthost6",
        "trusthost7",
        "trusthost8",
        "trusthost9",
        "vdoms"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "password": {
          "type": "string",
          "description": "Admin user password.\n* `trusthostN` - Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit.\n"
        },
        "trusthost1": {
          "type": "string"
        },
        "trusthost10": {
          "type": "string"
        },
        "trusthost2": {
          "type": "string"
        },
        "trusthost3": {
          "type": "string"
        },
        "trusthost4": {
          "type": "string"
        },
        "trusthost5": {
          "type": "string"
        },
        "trusthost6": {
          "type": "string"
        },
        "trusthost7": {
          "type": "string"
        },
        "trusthost8": {
          "type": "string"
        },
        "trusthost9": {
          "type": "string"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Virtual domain(s) that the administrator can access.\n"
        }
      },
      "requiredInputs": [
        "accprofile",
        "password"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AdminAdministrator resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "name": {
            "type": "string",
            "description": "User name.\n"
          },
          "password": {
            "type": "string",
            "description": "Admin user password.\n* `trusthostN` - Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit.\n"
          },
          "trusthost1": {
            "type": "string"
          },
          "trusthost10": {
            "type": "string"
          },
          "trusthost2": {
            "type": "string"
          },
          "trusthost3": {
            "type": "string"
          },
          "trusthost4": {
            "type": "string"
          },
          "trusthost5": {
            "type": "string"
          },
          "trusthost6": {
            "type": "string"
          },
          "trusthost7": {
            "type": "string"
          },
          "trusthost8": {
            "type": "string"
          },
          "trusthost9": {
            "type": "string"
          },
          "vdoms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Virtual domain(s) that the administrator can access.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/adminProfiles:AdminProfiles": {
      "description": "Provides a resource to configure access profiles of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Accprofile`, 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 test1 = new fortios.system.AdminProfiles(\"test1\", {\n    admintimeoutOverride: \"disable\",\n    authgrp: \"none\",\n    comments: \"test\",\n    ftviewgrp: \"read\",\n    fwgrp: \"none\",\n    loggrp: \"none\",\n    netgrp: \"none\",\n    scope: \"vdom\",\n    secfabgrp: \"read-write\",\n    sysgrp: \"read\",\n    utmgrp: \"none\",\n    vpngrp: \"none\",\n    wanoptgrp: \"none\",\n    wifi: \"none\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.system.AdminProfiles(\"test1\",\n    admintimeout_override=\"disable\",\n    authgrp=\"none\",\n    comments=\"test\",\n    ftviewgrp=\"read\",\n    fwgrp=\"none\",\n    loggrp=\"none\",\n    netgrp=\"none\",\n    scope=\"vdom\",\n    secfabgrp=\"read-write\",\n    sysgrp=\"read\",\n    utmgrp=\"none\",\n    vpngrp=\"none\",\n    wanoptgrp=\"none\",\n    wifi=\"none\")\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.System.AdminProfiles(\"test1\", new()\n    {\n        AdmintimeoutOverride = \"disable\",\n        Authgrp = \"none\",\n        Comments = \"test\",\n        Ftviewgrp = \"read\",\n        Fwgrp = \"none\",\n        Loggrp = \"none\",\n        Netgrp = \"none\",\n        Scope = \"vdom\",\n        Secfabgrp = \"read-write\",\n        Sysgrp = \"read\",\n        Utmgrp = \"none\",\n        Vpngrp = \"none\",\n        Wanoptgrp = \"none\",\n        Wifi = \"none\",\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.NewAdminProfiles(ctx, \"test1\", &system.AdminProfilesArgs{\n\t\t\tAdmintimeoutOverride: pulumi.String(\"disable\"),\n\t\t\tAuthgrp:              pulumi.String(\"none\"),\n\t\t\tComments:             pulumi.String(\"test\"),\n\t\t\tFtviewgrp:            pulumi.String(\"read\"),\n\t\t\tFwgrp:                pulumi.String(\"none\"),\n\t\t\tLoggrp:               pulumi.String(\"none\"),\n\t\t\tNetgrp:               pulumi.String(\"none\"),\n\t\t\tScope:                pulumi.String(\"vdom\"),\n\t\t\tSecfabgrp:            pulumi.String(\"read-write\"),\n\t\t\tSysgrp:               pulumi.String(\"read\"),\n\t\t\tUtmgrp:               pulumi.String(\"none\"),\n\t\t\tVpngrp:               pulumi.String(\"none\"),\n\t\t\tWanoptgrp:            pulumi.String(\"none\"),\n\t\t\tWifi:                 pulumi.String(\"none\"),\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.AdminProfiles;\nimport com.pulumi.fortios.system.AdminProfilesArgs;\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 AdminProfiles(\"test1\", AdminProfilesArgs.builder()\n            .admintimeoutOverride(\"disable\")\n            .authgrp(\"none\")\n            .comments(\"test\")\n            .ftviewgrp(\"read\")\n            .fwgrp(\"none\")\n            .loggrp(\"none\")\n            .netgrp(\"none\")\n            .scope(\"vdom\")\n            .secfabgrp(\"read-write\")\n            .sysgrp(\"read\")\n            .utmgrp(\"none\")\n            .vpngrp(\"none\")\n            .wanoptgrp(\"none\")\n            .wifi(\"none\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:system:AdminProfiles\n    properties:\n      admintimeoutOverride: disable\n      authgrp: none\n      comments: test\n      ftviewgrp: read\n      fwgrp: none\n      loggrp: none\n      netgrp: none\n      scope: vdom\n      secfabgrp: read-write\n      sysgrp: read\n      utmgrp: none\n      vpngrp: none\n      wanoptgrp: none\n      wifi: none\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "admintimeoutOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global administrator idle timeout.\n"
        },
        "authgrp": {
          "type": "string",
          "description": "Administrator access to Users and Devices.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftviewgrp": {
          "type": "string",
          "description": "FortiView.\n"
        },
        "fwgrp": {
          "type": "string",
          "description": "Administrator access to the Firewall configuration.\n"
        },
        "loggrp": {
          "type": "string",
          "description": "Administrator access to Logging and Reporting including viewing log messages.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "netgrp": {
          "type": "string",
          "description": "Network Configuration.\n"
        },
        "scope": {
          "type": "string",
          "description": "Scope of admin access.\n"
        },
        "secfabgrp": {
          "type": "string",
          "description": "Security Fabric.\n"
        },
        "sysgrp": {
          "type": "string",
          "description": "System Configuration.\n"
        },
        "utmgrp": {
          "type": "string",
          "description": "Administrator access to Security Profiles.\n"
        },
        "vpngrp": {
          "type": "string",
          "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN.\n"
        },
        "wanoptgrp": {
          "type": "string",
          "description": "Administrator access to WAN Opt & Cache.\n"
        },
        "wifi": {
          "type": "string",
          "description": "Administrator access to the WiFi controller and Switch controller.\n"
        }
      },
      "type": "object",
      "required": [
        "admintimeoutOverride",
        "authgrp",
        "ftviewgrp",
        "fwgrp",
        "loggrp",
        "name",
        "netgrp",
        "scope",
        "secfabgrp",
        "sysgrp",
        "utmgrp",
        "vpngrp",
        "wanoptgrp",
        "wifi"
      ],
      "inputProperties": {
        "admintimeoutOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global administrator idle timeout.\n"
        },
        "authgrp": {
          "type": "string",
          "description": "Administrator access to Users and Devices.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftviewgrp": {
          "type": "string",
          "description": "FortiView.\n"
        },
        "fwgrp": {
          "type": "string",
          "description": "Administrator access to the Firewall configuration.\n"
        },
        "loggrp": {
          "type": "string",
          "description": "Administrator access to Logging and Reporting including viewing log messages.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "netgrp": {
          "type": "string",
          "description": "Network Configuration.\n"
        },
        "scope": {
          "type": "string",
          "description": "Scope of admin access.\n"
        },
        "secfabgrp": {
          "type": "string",
          "description": "Security Fabric.\n"
        },
        "sysgrp": {
          "type": "string",
          "description": "System Configuration.\n"
        },
        "utmgrp": {
          "type": "string",
          "description": "Administrator access to Security Profiles.\n"
        },
        "vpngrp": {
          "type": "string",
          "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN.\n"
        },
        "wanoptgrp": {
          "type": "string",
          "description": "Administrator access to WAN Opt & Cache.\n"
        },
        "wifi": {
          "type": "string",
          "description": "Administrator access to the WiFi controller and Switch controller.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AdminProfiles resources.\n",
        "properties": {
          "admintimeoutOverride": {
            "type": "string",
            "description": "Enable/disable overriding the global administrator idle timeout.\n"
          },
          "authgrp": {
            "type": "string",
            "description": "Administrator access to Users and Devices.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "ftviewgrp": {
            "type": "string",
            "description": "FortiView.\n"
          },
          "fwgrp": {
            "type": "string",
            "description": "Administrator access to the Firewall configuration.\n"
          },
          "loggrp": {
            "type": "string",
            "description": "Administrator access to Logging and Reporting including viewing log messages.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n"
          },
          "netgrp": {
            "type": "string",
            "description": "Network Configuration.\n"
          },
          "scope": {
            "type": "string",
            "description": "Scope of admin access.\n"
          },
          "secfabgrp": {
            "type": "string",
            "description": "Security Fabric.\n"
          },
          "sysgrp": {
            "type": "string",
            "description": "System Configuration.\n"
          },
          "utmgrp": {
            "type": "string",
            "description": "Administrator access to Security Profiles.\n"
          },
          "vpngrp": {
            "type": "string",
            "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN.\n"
          },
          "wanoptgrp": {
            "type": "string",
            "description": "Administrator access to WAN Opt & Cache.\n"
          },
          "wifi": {
            "type": "string",
            "description": "Administrator access to the WiFi controller and Switch controller.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/affinityinterrupt:Affinityinterrupt": {
      "description": "Configure interrupt affinity.\n\n## Import\n\nSystem AffinityInterrupt can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/affinityinterrupt:Affinityinterrupt 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:system/affinityinterrupt:Affinityinterrupt labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "affinityCpumask": {
          "type": "string",
          "description": "Affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "defaultAffinityCpumask": {
          "type": "string",
          "description": "Default affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID of the interrupt affinity setting.\n"
        },
        "interrupt": {
          "type": "string",
          "description": "Interrupt 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": [
        "affinityCpumask",
        "defaultAffinityCpumask",
        "fosid",
        "interrupt",
        "vdomparam"
      ],
      "inputProperties": {
        "affinityCpumask": {
          "type": "string",
          "description": "Affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "defaultAffinityCpumask": {
          "type": "string",
          "description": "Default affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID of the interrupt affinity setting.\n",
          "willReplaceOnChanges": true
        },
        "interrupt": {
          "type": "string",
          "description": "Interrupt 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": [
        "affinityCpumask",
        "fosid",
        "interrupt"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Affinityinterrupt resources.\n",
        "properties": {
          "affinityCpumask": {
            "type": "string",
            "description": "Affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
          },
          "defaultAffinityCpumask": {
            "type": "string",
            "description": "Default affinity setting (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID of the interrupt affinity setting.\n",
            "willReplaceOnChanges": true
          },
          "interrupt": {
            "type": "string",
            "description": "Interrupt 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:system/affinitypacketredistribution:Affinitypacketredistribution": {
      "description": "Configure packet redistribution.\n\n## Import\n\nSystem AffinityPacketRedistribution can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/affinitypacketredistribution:Affinitypacketredistribution 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:system/affinitypacketredistribution:Affinitypacketredistribution labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "affinityCpumask": {
          "type": "string",
          "description": "Affinity setting for VM throughput (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID of the packet redistribution setting.\n"
        },
        "interface": {
          "type": "string",
          "description": "Physical interface name on which to perform packet redistribution.\n"
        },
        "roundRobin": {
          "type": "string",
          "description": "Enable/disable round-robin redistribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
        },
        "rxqid": {
          "type": "integer",
          "description": "ID of the receive queue (when the interface has multiple queues) on which to perform packet redistribution (255 = all queues).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "affinityCpumask",
        "fosid",
        "interface",
        "roundRobin",
        "rxqid",
        "vdomparam"
      ],
      "inputProperties": {
        "affinityCpumask": {
          "type": "string",
          "description": "Affinity setting for VM throughput (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID of the packet redistribution setting.\n",
          "willReplaceOnChanges": true
        },
        "interface": {
          "type": "string",
          "description": "Physical interface name on which to perform packet redistribution.\n"
        },
        "roundRobin": {
          "type": "string",
          "description": "Enable/disable round-robin redistribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
        },
        "rxqid": {
          "type": "integer",
          "description": "ID of the receive queue (when the interface has multiple queues) on which to perform packet redistribution (255 = all queues).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "affinityCpumask",
        "fosid",
        "interface",
        "rxqid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Affinitypacketredistribution resources.\n",
        "properties": {
          "affinityCpumask": {
            "type": "string",
            "description": "Affinity setting for VM throughput (64-bit hexadecimal value in the format of 0xxxxxxxxxxxxxxxxx).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID of the packet redistribution setting.\n",
            "willReplaceOnChanges": true
          },
          "interface": {
            "type": "string",
            "description": "Physical interface name on which to perform packet redistribution.\n"
          },
          "roundRobin": {
            "type": "string",
            "description": "Enable/disable round-robin redistribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
          },
          "rxqid": {
            "type": "integer",
            "description": "ID of the receive queue (when the interface has multiple queues) on which to perform packet redistribution (255 = all queues).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/alarm:Alarm": {
      "description": "Configure alarm.\n\n## Import\n\nSystem Alarm can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/alarm:Alarm labelname SystemAlarm\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:system/alarm:Alarm labelname SystemAlarm\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "audible": {
          "type": "string",
          "description": "Enable/disable audible alarm. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FAlarmGroup:AlarmGroup"
          },
          "description": "Alarm groups. The structure of `groups` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable alarm. 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": [
        "audible",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "audible": {
          "type": "string",
          "description": "Enable/disable audible alarm. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FAlarmGroup:AlarmGroup"
          },
          "description": "Alarm groups. The structure of `groups` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable alarm. 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 Alarm resources.\n",
        "properties": {
          "audible": {
            "type": "string",
            "description": "Enable/disable audible alarm. 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FAlarmGroup:AlarmGroup"
            },
            "description": "Alarm groups. The structure of `groups` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable alarm. 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:system/alias:Alias": {
      "description": "Configure alias command.\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.system.Alias(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Alias(\"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.System.Alias(\"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewAlias(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.system.Alias;\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 Alias(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Alias\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Alias can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/alias:Alias 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:system/alias:Alias labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "command": {
          "type": "string",
          "description": "Command list to execute.\n"
        },
        "name": {
          "type": "string",
          "description": "Alias command 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": {
        "command": {
          "type": "string",
          "description": "Command list to execute.\n"
        },
        "name": {
          "type": "string",
          "description": "Alias command 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 Alias resources.\n",
        "properties": {
          "command": {
            "type": "string",
            "description": "Command list to execute.\n"
          },
          "name": {
            "type": "string",
            "description": "Alias command 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:system/apiuser:Apiuser": {
      "description": "\n\n## Import\n\nSystem ApiUser can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/apiuser:Apiuser 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:system/apiuser:Apiuser labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Admin user access profile.\n"
        },
        "apiKey": {
          "type": "string",
          "description": "Admin user password.\n",
          "secret": true
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "corsAllowOrigin": {
          "type": "string",
          "description": "Value for Access-Control-Allow-Origin on API responses. Avoid using '*' if possible.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User name.\n"
        },
        "peerAuth": {
          "type": "string",
          "description": "Enable/disable peer authentication. Valid values: `enable`, `disable`.\n"
        },
        "peerGroup": {
          "type": "string",
          "description": "Peer group name.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "trusthosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserTrusthost:ApiuserTrusthost"
          },
          "description": "Trusthost. The structure of `trusthost` 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserVdom:ApiuserVdom"
          },
          "description": "Virtual domains. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "corsAllowOrigin",
        "name",
        "peerAuth",
        "peerGroup",
        "schedule",
        "vdomparam"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "Admin user access profile.\n"
        },
        "apiKey": {
          "type": "string",
          "description": "Admin user password.\n",
          "secret": true
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "corsAllowOrigin": {
          "type": "string",
          "description": "Value for Access-Control-Allow-Origin on API responses. Avoid using '*' if possible.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User name.\n",
          "willReplaceOnChanges": true
        },
        "peerAuth": {
          "type": "string",
          "description": "Enable/disable peer authentication. Valid values: `enable`, `disable`.\n"
        },
        "peerGroup": {
          "type": "string",
          "description": "Peer group name.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "trusthosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserTrusthost:ApiuserTrusthost"
          },
          "description": "Trusthost. The structure of `trusthost` 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserVdom:ApiuserVdom"
          },
          "description": "Virtual domains. The structure of `vdom` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "accprofile"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Apiuser resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "Admin user access profile.\n"
          },
          "apiKey": {
            "type": "string",
            "description": "Admin user password.\n",
            "secret": true
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "corsAllowOrigin": {
            "type": "string",
            "description": "Value for Access-Control-Allow-Origin on API responses. Avoid using '*' if possible.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User name.\n",
            "willReplaceOnChanges": true
          },
          "peerAuth": {
            "type": "string",
            "description": "Enable/disable peer authentication. Valid values: `enable`, `disable`.\n"
          },
          "peerGroup": {
            "type": "string",
            "description": "Peer group name.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "trusthosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FApiuserTrusthost:ApiuserTrusthost"
            },
            "description": "Trusthost. The structure of `trusthost` 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FApiuserVdom:ApiuserVdom"
            },
            "description": "Virtual domains. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/apiuserSetting:ApiuserSetting": {
      "description": "Provides a resource to configure API users of FortiOS. The API user of the token for this feature should have a super admin profile, It can be set in CLI while GUI does not allow.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Apiuser`, 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 test2 = new fortios.system.ApiuserSetting(\"test2\", {\n    accprofile: \"restAPIprofile\",\n    trusthosts: [\n        {\n            ipv4Trusthost: \"61.149.0.0 255.255.0.0\",\n            type: \"ipv4-trusthost\",\n        },\n        {\n            ipv4Trusthost: \"22.22.0.0 255.255.0.0\",\n            type: \"ipv4-trusthost\",\n        },\n    ],\n    vdoms: [\"root\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.ApiuserSetting(\"test2\",\n    accprofile=\"restAPIprofile\",\n    trusthosts=[\n        fortios.system.ApiuserSettingTrusthostArgs(\n            ipv4_trusthost=\"61.149.0.0 255.255.0.0\",\n            type=\"ipv4-trusthost\",\n        ),\n        fortios.system.ApiuserSettingTrusthostArgs(\n            ipv4_trusthost=\"22.22.0.0 255.255.0.0\",\n            type=\"ipv4-trusthost\",\n        ),\n    ],\n    vdoms=[\"root\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test2 = new Fortios.System.ApiuserSetting(\"test2\", new()\n    {\n        Accprofile = \"restAPIprofile\",\n        Trusthosts = new[]\n        {\n            new Fortios.System.Inputs.ApiuserSettingTrusthostArgs\n            {\n                Ipv4Trusthost = \"61.149.0.0 255.255.0.0\",\n                Type = \"ipv4-trusthost\",\n            },\n            new Fortios.System.Inputs.ApiuserSettingTrusthostArgs\n            {\n                Ipv4Trusthost = \"22.22.0.0 255.255.0.0\",\n                Type = \"ipv4-trusthost\",\n            },\n        },\n        Vdoms = new[]\n        {\n            \"root\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewApiuserSetting(ctx, \"test2\", &system.ApiuserSettingArgs{\n\t\t\tAccprofile: pulumi.String(\"restAPIprofile\"),\n\t\t\tTrusthosts: system.ApiuserSettingTrusthostArray{\n\t\t\t\t&system.ApiuserSettingTrusthostArgs{\n\t\t\t\t\tIpv4Trusthost: pulumi.String(\"61.149.0.0 255.255.0.0\"),\n\t\t\t\t\tType:          pulumi.String(\"ipv4-trusthost\"),\n\t\t\t\t},\n\t\t\t\t&system.ApiuserSettingTrusthostArgs{\n\t\t\t\t\tIpv4Trusthost: pulumi.String(\"22.22.0.0 255.255.0.0\"),\n\t\t\t\t\tType:          pulumi.String(\"ipv4-trusthost\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVdoms: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"root\"),\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.system.ApiuserSetting;\nimport com.pulumi.fortios.system.ApiuserSettingArgs;\nimport com.pulumi.fortios.system.inputs.ApiuserSettingTrusthostArgs;\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 test2 = new ApiuserSetting(\"test2\", ApiuserSettingArgs.builder()\n            .accprofile(\"restAPIprofile\")\n            .trusthosts(            \n                ApiuserSettingTrusthostArgs.builder()\n                    .ipv4Trusthost(\"61.149.0.0 255.255.0.0\")\n                    .type(\"ipv4-trusthost\")\n                    .build(),\n                ApiuserSettingTrusthostArgs.builder()\n                    .ipv4Trusthost(\"22.22.0.0 255.255.0.0\")\n                    .type(\"ipv4-trusthost\")\n                    .build())\n            .vdoms(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:ApiuserSetting\n    properties:\n      accprofile: restAPIprofile\n      trusthosts:\n        - ipv4Trusthost: 61.149.0.0 255.255.0.0\n          type: ipv4-trusthost\n        - ipv4Trusthost: 22.22.0.0 255.255.0.0\n          type: ipv4-trusthost\n      vdoms:\n        - root\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Admin user access profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "trusthosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserSettingTrusthost:ApiuserSettingTrusthost"
          }
        },
        "vdoms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Virtual domains.\n* `trusthost-Type` - (Required) Trusthost type.\n* `trusthost-ipv4_trusthost` - (Required) IPv4 trusted host address.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "name",
        "trusthosts",
        "vdoms"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "Admin user access profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "trusthosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FApiuserSettingTrusthost:ApiuserSettingTrusthost"
          }
        },
        "vdoms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Virtual domains.\n* `trusthost-Type` - (Required) Trusthost type.\n* `trusthost-ipv4_trusthost` - (Required) IPv4 trusted host address.\n"
        }
      },
      "requiredInputs": [
        "accprofile",
        "trusthosts",
        "vdoms"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ApiuserSetting resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "Admin user access profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "name": {
            "type": "string",
            "description": "User name.\n"
          },
          "trusthosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FApiuserSettingTrusthost:ApiuserSettingTrusthost"
            }
          },
          "vdoms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Virtual domains.\n* `trusthost-Type` - (Required) Trusthost type.\n* `trusthost-ipv4_trusthost` - (Required) IPv4 trusted host address.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/arptable:Arptable": {
      "description": "Configure ARP 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.system.Arptable(\"trname\", {\n    fosid: 11,\n    \"interface\": \"port2\",\n    ip: \"1.1.1.1\",\n    mac: \"08:00:27:1c:a3:8b\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Arptable(\"trname\",\n    fosid=11,\n    interface=\"port2\",\n    ip=\"1.1.1.1\",\n    mac=\"08:00:27:1c:a3:8b\")\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.System.Arptable(\"trname\", new()\n    {\n        Fosid = 11,\n        Interface = \"port2\",\n        Ip = \"1.1.1.1\",\n        Mac = \"08:00:27:1c:a3:8b\",\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.NewArptable(ctx, \"trname\", &system.ArptableArgs{\n\t\t\tFosid:     pulumi.Int(11),\n\t\t\tInterface: pulumi.String(\"port2\"),\n\t\t\tIp:        pulumi.String(\"1.1.1.1\"),\n\t\t\tMac:       pulumi.String(\"08:00:27:1c:a3:8b\"),\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.Arptable;\nimport com.pulumi.fortios.system.ArptableArgs;\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 Arptable(\"trname\", ArptableArgs.builder()\n            .fosid(11)\n            .interface_(\"port2\")\n            .ip(\"1.1.1.1\")\n            .mac(\"08:00:27:1c:a3:8b\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Arptable\n    properties:\n      fosid: 11\n      interface: port2\n      ip: 1.1.1.1\n      mac: 08:00:27:1c:a3:8b\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ArpTable can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/arptable:Arptable 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:system/arptable:Arptable labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        },
        "mac": {
          "type": "string",
          "description": "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",
        "interface",
        "ip",
        "mac",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n",
          "willReplaceOnChanges": true
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        },
        "mac": {
          "type": "string",
          "description": "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
        }
      },
      "requiredInputs": [
        "fosid",
        "interface",
        "ip",
        "mac"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Arptable resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Unique integer ID of the entry.\n",
            "willReplaceOnChanges": true
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address.\n"
          },
          "mac": {
            "type": "string",
            "description": "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:system/autoinstall:Autoinstall": {
      "description": "Configure USB auto installation.\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.system.Autoinstall(\"trname\", {\n    autoInstallConfig: \"enable\",\n    autoInstallImage: \"enable\",\n    defaultConfigFile: \"fgt_system.conf\",\n    defaultImageFile: \"image.out\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Autoinstall(\"trname\",\n    auto_install_config=\"enable\",\n    auto_install_image=\"enable\",\n    default_config_file=\"fgt_system.conf\",\n    default_image_file=\"image.out\")\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.System.Autoinstall(\"trname\", new()\n    {\n        AutoInstallConfig = \"enable\",\n        AutoInstallImage = \"enable\",\n        DefaultConfigFile = \"fgt_system.conf\",\n        DefaultImageFile = \"image.out\",\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.NewAutoinstall(ctx, \"trname\", &system.AutoinstallArgs{\n\t\t\tAutoInstallConfig: pulumi.String(\"enable\"),\n\t\t\tAutoInstallImage:  pulumi.String(\"enable\"),\n\t\t\tDefaultConfigFile: pulumi.String(\"fgt_system.conf\"),\n\t\t\tDefaultImageFile:  pulumi.String(\"image.out\"),\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.Autoinstall;\nimport com.pulumi.fortios.system.AutoinstallArgs;\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 Autoinstall(\"trname\", AutoinstallArgs.builder()\n            .autoInstallConfig(\"enable\")\n            .autoInstallImage(\"enable\")\n            .defaultConfigFile(\"fgt_system.conf\")\n            .defaultImageFile(\"image.out\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Autoinstall\n    properties:\n      autoInstallConfig: enable\n      autoInstallImage: enable\n      defaultConfigFile: fgt_system.conf\n      defaultImageFile: image.out\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem AutoInstall can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/autoinstall:Autoinstall labelname SystemAutoInstall\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:system/autoinstall:Autoinstall labelname SystemAutoInstall\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoInstallConfig": {
          "type": "string",
          "description": "Enable/disable auto install the config in USB disk. Valid values: `enable`, `disable`.\n"
        },
        "autoInstallImage": {
          "type": "string",
          "description": "Enable/disable auto install the image in USB disk. Valid values: `enable`, `disable`.\n"
        },
        "defaultConfigFile": {
          "type": "string",
          "description": "Default config file name in USB disk.\n"
        },
        "defaultImageFile": {
          "type": "string",
          "description": "Default image file name in USB disk.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "autoInstallConfig",
        "autoInstallImage",
        "defaultConfigFile",
        "defaultImageFile",
        "vdomparam"
      ],
      "inputProperties": {
        "autoInstallConfig": {
          "type": "string",
          "description": "Enable/disable auto install the config in USB disk. Valid values: `enable`, `disable`.\n"
        },
        "autoInstallImage": {
          "type": "string",
          "description": "Enable/disable auto install the image in USB disk. Valid values: `enable`, `disable`.\n"
        },
        "defaultConfigFile": {
          "type": "string",
          "description": "Default config file name in USB disk.\n"
        },
        "defaultImageFile": {
          "type": "string",
          "description": "Default image file name in USB disk.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Autoinstall resources.\n",
        "properties": {
          "autoInstallConfig": {
            "type": "string",
            "description": "Enable/disable auto install the config in USB disk. Valid values: `enable`, `disable`.\n"
          },
          "autoInstallImage": {
            "type": "string",
            "description": "Enable/disable auto install the image in USB disk. Valid values: `enable`, `disable`.\n"
          },
          "defaultConfigFile": {
            "type": "string",
            "description": "Default config file name in USB disk.\n"
          },
          "defaultImageFile": {
            "type": "string",
            "description": "Default image file name in USB disk.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/automationaction:Automationaction": {
      "description": "Action for automation stitches.\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.system.Automationaction(\"trname\", {\n    actionType: \"email\",\n    awsDomain: \"amazonaws.com\",\n    delay: 0,\n    emailSubject: \"SUBJECT1\",\n    method: \"post\",\n    minimumInterval: 1,\n    protocol: \"http\",\n    required: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Automationaction(\"trname\",\n    action_type=\"email\",\n    aws_domain=\"amazonaws.com\",\n    delay=0,\n    email_subject=\"SUBJECT1\",\n    method=\"post\",\n    minimum_interval=1,\n    protocol=\"http\",\n    required=\"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.System.Automationaction(\"trname\", new()\n    {\n        ActionType = \"email\",\n        AwsDomain = \"amazonaws.com\",\n        Delay = 0,\n        EmailSubject = \"SUBJECT1\",\n        Method = \"post\",\n        MinimumInterval = 1,\n        Protocol = \"http\",\n        Required = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewAutomationaction(ctx, \"trname\", &system.AutomationactionArgs{\n\t\t\tActionType:      pulumi.String(\"email\"),\n\t\t\tAwsDomain:       pulumi.String(\"amazonaws.com\"),\n\t\t\tDelay:           pulumi.Int(0),\n\t\t\tEmailSubject:    pulumi.String(\"SUBJECT1\"),\n\t\t\tMethod:          pulumi.String(\"post\"),\n\t\t\tMinimumInterval: pulumi.Int(1),\n\t\t\tProtocol:        pulumi.String(\"http\"),\n\t\t\tRequired:        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.system.Automationaction;\nimport com.pulumi.fortios.system.AutomationactionArgs;\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 Automationaction(\"trname\", AutomationactionArgs.builder()\n            .actionType(\"email\")\n            .awsDomain(\"amazonaws.com\")\n            .delay(0)\n            .emailSubject(\"SUBJECT1\")\n            .method(\"post\")\n            .minimumInterval(1)\n            .protocol(\"http\")\n            .required(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Automationaction\n    properties:\n      actionType: email\n      awsDomain: amazonaws.com\n      delay: 0\n      emailSubject: SUBJECT1\n      method: post\n      minimumInterval: 1\n      protocol: http\n      required: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem AutomationAction can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/automationaction:Automationaction 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:system/automationaction:Automationaction labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for CLI script action to access FortiGate features.\n"
        },
        "actionType": {
          "type": "string",
          "description": "Action type.\n"
        },
        "alicloudAccessKeyId": {
          "type": "string",
          "description": "AliCloud AccessKey ID.\n"
        },
        "alicloudAccessKeySecret": {
          "type": "string",
          "description": "AliCloud AccessKey secret.\n",
          "secret": true
        },
        "alicloudAccountId": {
          "type": "string",
          "description": "AliCloud account ID.\n"
        },
        "alicloudFunction": {
          "type": "string",
          "description": "AliCloud function name.\n"
        },
        "alicloudFunctionAuthorization": {
          "type": "string",
          "description": "AliCloud function authorization type. Valid values: `anonymous`, `function`.\n"
        },
        "alicloudFunctionDomain": {
          "type": "string",
          "description": "AliCloud function domain.\n"
        },
        "alicloudRegion": {
          "type": "string",
          "description": "AliCloud region.\n"
        },
        "alicloudService": {
          "type": "string",
          "description": "AliCloud service name.\n"
        },
        "alicloudVersion": {
          "type": "string",
          "description": "AliCloud version.\n"
        },
        "awsApiId": {
          "type": "string",
          "description": "AWS API Gateway ID.\n"
        },
        "awsApiKey": {
          "type": "string",
          "description": "AWS API Gateway API key.\n",
          "secret": true
        },
        "awsApiPath": {
          "type": "string",
          "description": "AWS API Gateway path.\n"
        },
        "awsApiStage": {
          "type": "string",
          "description": "AWS API Gateway deployment stage name.\n"
        },
        "awsDomain": {
          "type": "string",
          "description": "AWS domain.\n"
        },
        "awsRegion": {
          "type": "string",
          "description": "AWS region.\n"
        },
        "azureApiKey": {
          "type": "string",
          "description": "Azure function API key.\n",
          "secret": true
        },
        "azureApp": {
          "type": "string",
          "description": "Azure function application name.\n"
        },
        "azureDomain": {
          "type": "string",
          "description": "Azure function domain.\n"
        },
        "azureFunction": {
          "type": "string",
          "description": "Azure function name.\n"
        },
        "azureFunctionAuthorization": {
          "type": "string",
          "description": "Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.\n"
        },
        "delay": {
          "type": "integer",
          "description": "Delay before execution (in seconds).\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "emailBody": {
          "type": "string",
          "description": "Email body.\n"
        },
        "emailFrom": {
          "type": "string",
          "description": "Email sender name.\n"
        },
        "emailSubject": {
          "type": "string",
          "description": "Email subject.\n"
        },
        "emailTos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionEmailTo:AutomationactionEmailTo"
          },
          "description": "Email addresses. The structure of `email_to` block is documented below.\n"
        },
        "executeSecurityFabric": {
          "type": "string",
          "description": "Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.\n"
        },
        "forticareEmail": {
          "type": "string",
          "description": "Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.\n"
        },
        "gcpFunction": {
          "type": "string",
          "description": "Google Cloud function name.\n"
        },
        "gcpFunctionDomain": {
          "type": "string",
          "description": "Google Cloud function domain.\n"
        },
        "gcpFunctionRegion": {
          "type": "string",
          "description": "Google Cloud function region.\n"
        },
        "gcpProject": {
          "type": "string",
          "description": "Google Cloud Platform project 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"
        },
        "headers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionHeader:AutomationactionHeader"
          },
          "description": "Request headers. The structure of `headers` block is documented below.\n"
        },
        "httpBody": {
          "type": "string",
          "description": "Request body (if necessary). Should be serialized json string.\n"
        },
        "httpHeaders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionHttpHeader:AutomationactionHttpHeader"
          },
          "description": "Request headers. The structure of `http_headers` block is documented below.\n"
        },
        "message": {
          "type": "string",
          "description": "Message content.\n"
        },
        "messageType": {
          "type": "string",
          "description": "Message type. Valid values: `text`, `json`.\n"
        },
        "method": {
          "type": "string",
          "description": "Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.\n"
        },
        "minimumInterval": {
          "type": "integer",
          "description": "Limit execution to no more than once in this interval (in seconds).\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "outputSize": {
          "type": "integer",
          "description": "Number of megabytes to limit script output to (1 - 1024, default = 10).\n"
        },
        "port": {
          "type": "integer",
          "description": "Protocol port.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Request protocol. Valid values: `http`, `https`.\n"
        },
        "replacementMessage": {
          "type": "string",
          "description": "Enable/disable replacement message. Valid values: `enable`, `disable`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "required": {
          "type": "string",
          "description": "Required in action chain. Valid values: `enable`, `disable`.\n"
        },
        "script": {
          "type": "string",
          "description": "CLI script.\n"
        },
        "sdnConnectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionSdnConnector:AutomationactionSdnConnector"
          },
          "description": "NSX SDN connector names. The structure of `sdn_connector` block is documented below.\n"
        },
        "securityTag": {
          "type": "string",
          "description": "NSX security tag.\n"
        },
        "systemAction": {
          "type": "string",
          "description": "System action type. Valid values: `reboot`, `shutdown`, `backup-config`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
        },
        "tlsCertificate": {
          "type": "string",
          "description": "Custom TLS certificate for API request.\n"
        },
        "uri": {
          "type": "string",
          "description": "Request API URI.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "verifyHostCert": {
          "type": "string",
          "description": "Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "actionType",
        "alicloudAccessKeyId",
        "alicloudAccountId",
        "alicloudFunction",
        "alicloudFunctionAuthorization",
        "alicloudFunctionDomain",
        "alicloudRegion",
        "alicloudService",
        "alicloudVersion",
        "awsApiId",
        "awsApiPath",
        "awsApiStage",
        "awsDomain",
        "awsRegion",
        "azureApp",
        "azureDomain",
        "azureFunction",
        "azureFunctionAuthorization",
        "delay",
        "emailBody",
        "executeSecurityFabric",
        "forticareEmail",
        "gcpFunction",
        "gcpFunctionDomain",
        "gcpFunctionRegion",
        "gcpProject",
        "message",
        "messageType",
        "method",
        "minimumInterval",
        "name",
        "outputSize",
        "port",
        "protocol",
        "replacementMessage",
        "replacemsgGroup",
        "required",
        "securityTag",
        "systemAction",
        "timeout",
        "tlsCertificate",
        "vdomparam",
        "verifyHostCert"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "Access profile for CLI script action to access FortiGate features.\n"
        },
        "actionType": {
          "type": "string",
          "description": "Action type.\n"
        },
        "alicloudAccessKeyId": {
          "type": "string",
          "description": "AliCloud AccessKey ID.\n"
        },
        "alicloudAccessKeySecret": {
          "type": "string",
          "description": "AliCloud AccessKey secret.\n",
          "secret": true
        },
        "alicloudAccountId": {
          "type": "string",
          "description": "AliCloud account ID.\n"
        },
        "alicloudFunction": {
          "type": "string",
          "description": "AliCloud function name.\n"
        },
        "alicloudFunctionAuthorization": {
          "type": "string",
          "description": "AliCloud function authorization type. Valid values: `anonymous`, `function`.\n"
        },
        "alicloudFunctionDomain": {
          "type": "string",
          "description": "AliCloud function domain.\n"
        },
        "alicloudRegion": {
          "type": "string",
          "description": "AliCloud region.\n"
        },
        "alicloudService": {
          "type": "string",
          "description": "AliCloud service name.\n"
        },
        "alicloudVersion": {
          "type": "string",
          "description": "AliCloud version.\n"
        },
        "awsApiId": {
          "type": "string",
          "description": "AWS API Gateway ID.\n"
        },
        "awsApiKey": {
          "type": "string",
          "description": "AWS API Gateway API key.\n",
          "secret": true
        },
        "awsApiPath": {
          "type": "string",
          "description": "AWS API Gateway path.\n"
        },
        "awsApiStage": {
          "type": "string",
          "description": "AWS API Gateway deployment stage name.\n"
        },
        "awsDomain": {
          "type": "string",
          "description": "AWS domain.\n"
        },
        "awsRegion": {
          "type": "string",
          "description": "AWS region.\n"
        },
        "azureApiKey": {
          "type": "string",
          "description": "Azure function API key.\n",
          "secret": true
        },
        "azureApp": {
          "type": "string",
          "description": "Azure function application name.\n"
        },
        "azureDomain": {
          "type": "string",
          "description": "Azure function domain.\n"
        },
        "azureFunction": {
          "type": "string",
          "description": "Azure function name.\n"
        },
        "azureFunctionAuthorization": {
          "type": "string",
          "description": "Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.\n"
        },
        "delay": {
          "type": "integer",
          "description": "Delay before execution (in seconds).\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "emailBody": {
          "type": "string",
          "description": "Email body.\n"
        },
        "emailFrom": {
          "type": "string",
          "description": "Email sender name.\n"
        },
        "emailSubject": {
          "type": "string",
          "description": "Email subject.\n"
        },
        "emailTos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionEmailTo:AutomationactionEmailTo"
          },
          "description": "Email addresses. The structure of `email_to` block is documented below.\n"
        },
        "executeSecurityFabric": {
          "type": "string",
          "description": "Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.\n"
        },
        "forticareEmail": {
          "type": "string",
          "description": "Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.\n"
        },
        "gcpFunction": {
          "type": "string",
          "description": "Google Cloud function name.\n"
        },
        "gcpFunctionDomain": {
          "type": "string",
          "description": "Google Cloud function domain.\n"
        },
        "gcpFunctionRegion": {
          "type": "string",
          "description": "Google Cloud function region.\n"
        },
        "gcpProject": {
          "type": "string",
          "description": "Google Cloud Platform project 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"
        },
        "headers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionHeader:AutomationactionHeader"
          },
          "description": "Request headers. The structure of `headers` block is documented below.\n"
        },
        "httpBody": {
          "type": "string",
          "description": "Request body (if necessary). Should be serialized json string.\n"
        },
        "httpHeaders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionHttpHeader:AutomationactionHttpHeader"
          },
          "description": "Request headers. The structure of `http_headers` block is documented below.\n"
        },
        "message": {
          "type": "string",
          "description": "Message content.\n"
        },
        "messageType": {
          "type": "string",
          "description": "Message type. Valid values: `text`, `json`.\n"
        },
        "method": {
          "type": "string",
          "description": "Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.\n"
        },
        "minimumInterval": {
          "type": "integer",
          "description": "Limit execution to no more than once in this interval (in seconds).\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "outputSize": {
          "type": "integer",
          "description": "Number of megabytes to limit script output to (1 - 1024, default = 10).\n"
        },
        "port": {
          "type": "integer",
          "description": "Protocol port.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Request protocol. Valid values: `http`, `https`.\n"
        },
        "replacementMessage": {
          "type": "string",
          "description": "Enable/disable replacement message. Valid values: `enable`, `disable`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "required": {
          "type": "string",
          "description": "Required in action chain. Valid values: `enable`, `disable`.\n"
        },
        "script": {
          "type": "string",
          "description": "CLI script.\n"
        },
        "sdnConnectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationactionSdnConnector:AutomationactionSdnConnector"
          },
          "description": "NSX SDN connector names. The structure of `sdn_connector` block is documented below.\n"
        },
        "securityTag": {
          "type": "string",
          "description": "NSX security tag.\n"
        },
        "systemAction": {
          "type": "string",
          "description": "System action type. Valid values: `reboot`, `shutdown`, `backup-config`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
        },
        "tlsCertificate": {
          "type": "string",
          "description": "Custom TLS certificate for API request.\n"
        },
        "uri": {
          "type": "string",
          "description": "Request API URI.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "verifyHostCert": {
          "type": "string",
          "description": "Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Automationaction resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "Access profile for CLI script action to access FortiGate features.\n"
          },
          "actionType": {
            "type": "string",
            "description": "Action type.\n"
          },
          "alicloudAccessKeyId": {
            "type": "string",
            "description": "AliCloud AccessKey ID.\n"
          },
          "alicloudAccessKeySecret": {
            "type": "string",
            "description": "AliCloud AccessKey secret.\n",
            "secret": true
          },
          "alicloudAccountId": {
            "type": "string",
            "description": "AliCloud account ID.\n"
          },
          "alicloudFunction": {
            "type": "string",
            "description": "AliCloud function name.\n"
          },
          "alicloudFunctionAuthorization": {
            "type": "string",
            "description": "AliCloud function authorization type. Valid values: `anonymous`, `function`.\n"
          },
          "alicloudFunctionDomain": {
            "type": "string",
            "description": "AliCloud function domain.\n"
          },
          "alicloudRegion": {
            "type": "string",
            "description": "AliCloud region.\n"
          },
          "alicloudService": {
            "type": "string",
            "description": "AliCloud service name.\n"
          },
          "alicloudVersion": {
            "type": "string",
            "description": "AliCloud version.\n"
          },
          "awsApiId": {
            "type": "string",
            "description": "AWS API Gateway ID.\n"
          },
          "awsApiKey": {
            "type": "string",
            "description": "AWS API Gateway API key.\n",
            "secret": true
          },
          "awsApiPath": {
            "type": "string",
            "description": "AWS API Gateway path.\n"
          },
          "awsApiStage": {
            "type": "string",
            "description": "AWS API Gateway deployment stage name.\n"
          },
          "awsDomain": {
            "type": "string",
            "description": "AWS domain.\n"
          },
          "awsRegion": {
            "type": "string",
            "description": "AWS region.\n"
          },
          "azureApiKey": {
            "type": "string",
            "description": "Azure function API key.\n",
            "secret": true
          },
          "azureApp": {
            "type": "string",
            "description": "Azure function application name.\n"
          },
          "azureDomain": {
            "type": "string",
            "description": "Azure function domain.\n"
          },
          "azureFunction": {
            "type": "string",
            "description": "Azure function name.\n"
          },
          "azureFunctionAuthorization": {
            "type": "string",
            "description": "Azure function authorization level. Valid values: `anonymous`, `function`, `admin`.\n"
          },
          "delay": {
            "type": "integer",
            "description": "Delay before execution (in seconds).\n"
          },
          "description": {
            "type": "string",
            "description": "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"
          },
          "emailBody": {
            "type": "string",
            "description": "Email body.\n"
          },
          "emailFrom": {
            "type": "string",
            "description": "Email sender name.\n"
          },
          "emailSubject": {
            "type": "string",
            "description": "Email subject.\n"
          },
          "emailTos": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationactionEmailTo:AutomationactionEmailTo"
            },
            "description": "Email addresses. The structure of `email_to` block is documented below.\n"
          },
          "executeSecurityFabric": {
            "type": "string",
            "description": "Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric. Valid values: `enable`, `disable`.\n"
          },
          "forticareEmail": {
            "type": "string",
            "description": "Enable/disable use of your FortiCare email address as the email-to address. Valid values: `enable`, `disable`.\n"
          },
          "gcpFunction": {
            "type": "string",
            "description": "Google Cloud function name.\n"
          },
          "gcpFunctionDomain": {
            "type": "string",
            "description": "Google Cloud function domain.\n"
          },
          "gcpFunctionRegion": {
            "type": "string",
            "description": "Google Cloud function region.\n"
          },
          "gcpProject": {
            "type": "string",
            "description": "Google Cloud Platform project 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"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationactionHeader:AutomationactionHeader"
            },
            "description": "Request headers. The structure of `headers` block is documented below.\n"
          },
          "httpBody": {
            "type": "string",
            "description": "Request body (if necessary). Should be serialized json string.\n"
          },
          "httpHeaders": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationactionHttpHeader:AutomationactionHttpHeader"
            },
            "description": "Request headers. The structure of `http_headers` block is documented below.\n"
          },
          "message": {
            "type": "string",
            "description": "Message content.\n"
          },
          "messageType": {
            "type": "string",
            "description": "Message type. Valid values: `text`, `json`.\n"
          },
          "method": {
            "type": "string",
            "description": "Request method (POST, PUT, GET, PATCH or DELETE). Valid values: `post`, `put`, `get`, `patch`, `delete`.\n"
          },
          "minimumInterval": {
            "type": "integer",
            "description": "Limit execution to no more than once in this interval (in seconds).\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "outputSize": {
            "type": "integer",
            "description": "Number of megabytes to limit script output to (1 - 1024, default = 10).\n"
          },
          "port": {
            "type": "integer",
            "description": "Protocol port.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Request protocol. Valid values: `http`, `https`.\n"
          },
          "replacementMessage": {
            "type": "string",
            "description": "Enable/disable replacement message. Valid values: `enable`, `disable`.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "required": {
            "type": "string",
            "description": "Required in action chain. Valid values: `enable`, `disable`.\n"
          },
          "script": {
            "type": "string",
            "description": "CLI script.\n"
          },
          "sdnConnectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationactionSdnConnector:AutomationactionSdnConnector"
            },
            "description": "NSX SDN connector names. The structure of `sdn_connector` block is documented below.\n"
          },
          "securityTag": {
            "type": "string",
            "description": "NSX security tag.\n"
          },
          "systemAction": {
            "type": "string",
            "description": "System action type. Valid values: `reboot`, `shutdown`, `backup-config`.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
          },
          "tlsCertificate": {
            "type": "string",
            "description": "Custom TLS certificate for API request.\n"
          },
          "uri": {
            "type": "string",
            "description": "Request API URI.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "verifyHostCert": {
            "type": "string",
            "description": "Enable/disable verification of the remote host certificate. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/automationdestination:Automationdestination": {
      "description": "Automation destinations.\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.system.Automationdestination(\"trname\", {\n    haGroupId: 0,\n    type: \"fortigate\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Automationdestination(\"trname\",\n    ha_group_id=0,\n    type=\"fortigate\")\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.System.Automationdestination(\"trname\", new()\n    {\n        HaGroupId = 0,\n        Type = \"fortigate\",\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.NewAutomationdestination(ctx, \"trname\", &system.AutomationdestinationArgs{\n\t\t\tHaGroupId: pulumi.Int(0),\n\t\t\tType:      pulumi.String(\"fortigate\"),\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.Automationdestination;\nimport com.pulumi.fortios.system.AutomationdestinationArgs;\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 Automationdestination(\"trname\", AutomationdestinationArgs.builder()\n            .haGroupId(0)\n            .type(\"fortigate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Automationdestination\n    properties:\n      haGroupId: 0\n      type: fortigate\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem AutomationDestination can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/automationdestination:Automationdestination 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:system/automationdestination:Automationdestination labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "destinations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationdestinationDestination:AutomationdestinationDestination"
          },
          "description": "Destinations. The structure of `destination` 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"
        },
        "haGroupId": {
          "type": "integer",
          "description": "Cluster group ID set for this destination (default = 0).\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "type": {
          "type": "string",
          "description": "Destination type. Valid values: `fortigate`, `ha-cluster`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "haGroupId",
        "name",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "destinations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationdestinationDestination:AutomationdestinationDestination"
          },
          "description": "Destinations. The structure of `destination` 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"
        },
        "haGroupId": {
          "type": "integer",
          "description": "Cluster group ID set for this destination (default = 0).\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "type": {
          "type": "string",
          "description": "Destination type. Valid values: `fortigate`, `ha-cluster`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Automationdestination resources.\n",
        "properties": {
          "destinations": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationdestinationDestination:AutomationdestinationDestination"
            },
            "description": "Destinations. The structure of `destination` 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"
          },
          "haGroupId": {
            "type": "integer",
            "description": "Cluster group ID set for this destination (default = 0).\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "type": {
            "type": "string",
            "description": "Destination type. Valid values: `fortigate`, `ha-cluster`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/automationstitch:Automationstitch": {
      "description": "Automation stitches.\n\n## Import\n\nSystem AutomationStitch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/automationstitch:Automationstitch 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:system/automationstitch:Automationstitch labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
          },
          "description": "Action names. The structure of `action` block is documented below.\n"
        },
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
          },
          "description": "Configure stitch actions. The structure of `actions` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "destinations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchDestination:AutomationstitchDestination"
          },
          "description": "Serial number/HA group-name of destination devices. The structure of `destination` 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": "Name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this stitch. Valid values: `enable`, `disable`.\n"
        },
        "trigger": {
          "type": "string",
          "description": "Trigger 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",
        "status",
        "trigger",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
          },
          "description": "Action names. The structure of `action` block is documented below.\n"
        },
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
          },
          "description": "Configure stitch actions. The structure of `actions` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "destinations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationstitchDestination:AutomationstitchDestination"
          },
          "description": "Serial number/HA group-name of destination devices. The structure of `destination` 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": "Name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this stitch. Valid values: `enable`, `disable`.\n"
        },
        "trigger": {
          "type": "string",
          "description": "Trigger 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": [
        "status",
        "trigger"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Automationstitch resources.\n",
        "properties": {
          "action": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
            },
            "description": "Action names. The structure of `action` block is documented below.\n"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationstitchAction:AutomationstitchAction"
            },
            "description": "Configure stitch actions. The structure of `actions` block is documented below.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "destinations": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationstitchDestination:AutomationstitchDestination"
            },
            "description": "Serial number/HA group-name of destination devices. The structure of `destination` 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": "Name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this stitch. Valid values: `enable`, `disable`.\n"
          },
          "trigger": {
            "type": "string",
            "description": "Trigger 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:system/automationtrigger:Automationtrigger": {
      "description": "Trigger for automation stitches.\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.system.Automationtrigger(\"trname\", {\n    eventType: \"event-log\",\n    iocLevel: \"high\",\n    licenseType: \"forticare-support\",\n    logid: 32002,\n    triggerFrequency: \"daily\",\n    triggerMinute: 60,\n    triggerType: \"event-based\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Automationtrigger(\"trname\",\n    event_type=\"event-log\",\n    ioc_level=\"high\",\n    license_type=\"forticare-support\",\n    logid=32002,\n    trigger_frequency=\"daily\",\n    trigger_minute=60,\n    trigger_type=\"event-based\")\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.System.Automationtrigger(\"trname\", new()\n    {\n        EventType = \"event-log\",\n        IocLevel = \"high\",\n        LicenseType = \"forticare-support\",\n        Logid = 32002,\n        TriggerFrequency = \"daily\",\n        TriggerMinute = 60,\n        TriggerType = \"event-based\",\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.NewAutomationtrigger(ctx, \"trname\", &system.AutomationtriggerArgs{\n\t\t\tEventType:        pulumi.String(\"event-log\"),\n\t\t\tIocLevel:         pulumi.String(\"high\"),\n\t\t\tLicenseType:      pulumi.String(\"forticare-support\"),\n\t\t\tLogid:            pulumi.Int(32002),\n\t\t\tTriggerFrequency: pulumi.String(\"daily\"),\n\t\t\tTriggerMinute:    pulumi.Int(60),\n\t\t\tTriggerType:      pulumi.String(\"event-based\"),\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.Automationtrigger;\nimport com.pulumi.fortios.system.AutomationtriggerArgs;\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 Automationtrigger(\"trname\", AutomationtriggerArgs.builder()\n            .eventType(\"event-log\")\n            .iocLevel(\"high\")\n            .licenseType(\"forticare-support\")\n            .logid(32002)\n            .triggerFrequency(\"daily\")\n            .triggerMinute(60)\n            .triggerType(\"event-based\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Automationtrigger\n    properties:\n      eventType: event-log\n      iocLevel: high\n      licenseType: forticare-support\n      logid: 32002\n      triggerFrequency: daily\n      triggerMinute: 60\n      triggerType: event-based\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem AutomationTrigger can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/automationtrigger:Automationtrigger 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:system/automationtrigger:Automationtrigger labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "eventType": {
          "type": "string",
          "description": "Event type.\n"
        },
        "fabricEventName": {
          "type": "string",
          "description": "Fabric connector event handler name.\n"
        },
        "fabricEventSeverity": {
          "type": "string",
          "description": "Fabric connector event severity.\n"
        },
        "fazEventName": {
          "type": "string",
          "description": "FortiAnalyzer event handler name.\n"
        },
        "fazEventSeverity": {
          "type": "string",
          "description": "FortiAnalyzer event severity.\n"
        },
        "fazEventTags": {
          "type": "string",
          "description": "FortiAnalyzer event tags.\n"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerField:AutomationtriggerField"
          },
          "description": "Customized trigger field settings. The structure of `fields` 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"
        },
        "iocLevel": {
          "type": "string",
          "description": "IOC threat level. Valid values: `medium`, `high`.\n"
        },
        "licenseType": {
          "type": "string",
          "description": "License type.\n"
        },
        "logid": {
          "type": "integer",
          "description": "Log ID to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid_block`.*\n"
        },
        "logidBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerLogidBlock:AutomationtriggerLogidBlock"
          },
          "description": "Log IDs to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid`.* The structure of `logid_block` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "reportType": {
          "type": "string",
          "description": "Security Rating report.\n"
        },
        "serial": {
          "type": "string",
          "description": "Fabric connector serial number.\n"
        },
        "triggerDatetime": {
          "type": "string",
          "description": "Trigger date and time (YYYY-MM-DD HH:MM:SS).\n"
        },
        "triggerDay": {
          "type": "integer",
          "description": "Day within a month to trigger.\n"
        },
        "triggerFrequency": {
          "type": "string",
          "description": "Scheduled trigger frequency (default = daily).\n"
        },
        "triggerHour": {
          "type": "integer",
          "description": "Hour of the day on which to trigger (0 - 23, default = 1).\n"
        },
        "triggerMinute": {
          "type": "integer",
          "description": "Minute of the hour on which to trigger (0 - 59, default = 0).\n"
        },
        "triggerType": {
          "type": "string",
          "description": "Trigger type. Valid values: `event-based`, `scheduled`.\n"
        },
        "triggerWeekday": {
          "type": "string",
          "description": "Day of week for trigger. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerVdom:AutomationtriggerVdom"
          },
          "description": "Virtual domain(s) that this trigger is valid for. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "eventType",
        "iocLevel",
        "licenseType",
        "logid",
        "name",
        "reportType",
        "triggerDatetime",
        "triggerDay",
        "triggerFrequency",
        "triggerHour",
        "triggerMinute",
        "triggerType",
        "triggerWeekday",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "eventType": {
          "type": "string",
          "description": "Event type.\n"
        },
        "fabricEventName": {
          "type": "string",
          "description": "Fabric connector event handler name.\n"
        },
        "fabricEventSeverity": {
          "type": "string",
          "description": "Fabric connector event severity.\n"
        },
        "fazEventName": {
          "type": "string",
          "description": "FortiAnalyzer event handler name.\n"
        },
        "fazEventSeverity": {
          "type": "string",
          "description": "FortiAnalyzer event severity.\n"
        },
        "fazEventTags": {
          "type": "string",
          "description": "FortiAnalyzer event tags.\n"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerField:AutomationtriggerField"
          },
          "description": "Customized trigger field settings. The structure of `fields` 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"
        },
        "iocLevel": {
          "type": "string",
          "description": "IOC threat level. Valid values: `medium`, `high`.\n"
        },
        "licenseType": {
          "type": "string",
          "description": "License type.\n"
        },
        "logid": {
          "type": "integer",
          "description": "Log ID to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid_block`.*\n"
        },
        "logidBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerLogidBlock:AutomationtriggerLogidBlock"
          },
          "description": "Log IDs to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid`.* The structure of `logid_block` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "reportType": {
          "type": "string",
          "description": "Security Rating report.\n"
        },
        "serial": {
          "type": "string",
          "description": "Fabric connector serial number.\n"
        },
        "triggerDatetime": {
          "type": "string",
          "description": "Trigger date and time (YYYY-MM-DD HH:MM:SS).\n"
        },
        "triggerDay": {
          "type": "integer",
          "description": "Day within a month to trigger.\n"
        },
        "triggerFrequency": {
          "type": "string",
          "description": "Scheduled trigger frequency (default = daily).\n"
        },
        "triggerHour": {
          "type": "integer",
          "description": "Hour of the day on which to trigger (0 - 23, default = 1).\n"
        },
        "triggerMinute": {
          "type": "integer",
          "description": "Minute of the hour on which to trigger (0 - 59, default = 0).\n"
        },
        "triggerType": {
          "type": "string",
          "description": "Trigger type. Valid values: `event-based`, `scheduled`.\n"
        },
        "triggerWeekday": {
          "type": "string",
          "description": "Day of week for trigger. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAutomationtriggerVdom:AutomationtriggerVdom"
          },
          "description": "Virtual domain(s) that this trigger is valid for. The structure of `vdom` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Automationtrigger resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "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"
          },
          "eventType": {
            "type": "string",
            "description": "Event type.\n"
          },
          "fabricEventName": {
            "type": "string",
            "description": "Fabric connector event handler name.\n"
          },
          "fabricEventSeverity": {
            "type": "string",
            "description": "Fabric connector event severity.\n"
          },
          "fazEventName": {
            "type": "string",
            "description": "FortiAnalyzer event handler name.\n"
          },
          "fazEventSeverity": {
            "type": "string",
            "description": "FortiAnalyzer event severity.\n"
          },
          "fazEventTags": {
            "type": "string",
            "description": "FortiAnalyzer event tags.\n"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationtriggerField:AutomationtriggerField"
            },
            "description": "Customized trigger field settings. The structure of `fields` 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"
          },
          "iocLevel": {
            "type": "string",
            "description": "IOC threat level. Valid values: `medium`, `high`.\n"
          },
          "licenseType": {
            "type": "string",
            "description": "License type.\n"
          },
          "logid": {
            "type": "integer",
            "description": "Log ID to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid_block`.*\n"
          },
          "logidBlocks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationtriggerLogidBlock:AutomationtriggerLogidBlock"
            },
            "description": "Log IDs to trigger event. *Due to the data type change of API, for other versions of FortiOS, please check variable `logid`.* The structure of `logid_block` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "reportType": {
            "type": "string",
            "description": "Security Rating report.\n"
          },
          "serial": {
            "type": "string",
            "description": "Fabric connector serial number.\n"
          },
          "triggerDatetime": {
            "type": "string",
            "description": "Trigger date and time (YYYY-MM-DD HH:MM:SS).\n"
          },
          "triggerDay": {
            "type": "integer",
            "description": "Day within a month to trigger.\n"
          },
          "triggerFrequency": {
            "type": "string",
            "description": "Scheduled trigger frequency (default = daily).\n"
          },
          "triggerHour": {
            "type": "integer",
            "description": "Hour of the day on which to trigger (0 - 23, default = 1).\n"
          },
          "triggerMinute": {
            "type": "integer",
            "description": "Minute of the hour on which to trigger (0 - 59, default = 0).\n"
          },
          "triggerType": {
            "type": "string",
            "description": "Trigger type. Valid values: `event-based`, `scheduled`.\n"
          },
          "triggerWeekday": {
            "type": "string",
            "description": "Day of week for trigger. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FAutomationtriggerVdom:AutomationtriggerVdom"
            },
            "description": "Virtual domain(s) that this trigger is valid for. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/autoscript:Autoscript": {
      "description": "Configure auto script.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst auto2 = new fortios.system.Autoscript(\"auto2\", {\n    interval: 1,\n    outputSize: 10,\n    repeat: 1,\n    script: `config firewall address\n    edit \"111\"\n        set color 3\n        set subnet 1.1.1.1 255.255.255.255\n    next\nend\n\n`,\n    start: \"auto\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nauto2 = fortios.system.Autoscript(\"auto2\",\n    interval=1,\n    output_size=10,\n    repeat=1,\n    script=\"\"\"config firewall address\n    edit \"111\"\n        set color 3\n        set subnet 1.1.1.1 255.255.255.255\n    next\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 auto2 = new Fortios.System.Autoscript(\"auto2\", new()\n    {\n        Interval = 1,\n        OutputSize = 10,\n        Repeat = 1,\n        Script = @\"config firewall address\n    edit \"\"111\"\"\n        set color 3\n        set subnet 1.1.1.1 255.255.255.255\n    next\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, \"auto2\", &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 firewall address\n    edit \"111\"\n        set color 3\n        set subnet 1.1.1.1 255.255.255.255\n    next\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 auto2 = new Autoscript(\"auto2\", AutoscriptArgs.builder()\n            .interval(1)\n            .outputSize(10)\n            .repeat(1)\n            .script(\"\"\"\nconfig firewall address\n    edit \"111\"\n        set color 3\n        set subnet 1.1.1.1 255.255.255.255\n    next\nend\n\n            \"\"\")\n            .start(\"auto\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  auto2:\n    type: fortios:system:Autoscript\n    properties:\n      interval: 1\n      outputSize: 10\n      repeat: 1\n      script: |+\n        config firewall address\n            edit \"111\"\n                set color 3\n                set subnet 1.1.1.1 255.255.255.255\n            next\n        end\n\n      start: auto\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem AutoScript can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/autoscript:Autoscript 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:system/autoscript:Autoscript labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "interval": {
          "type": "integer",
          "description": "Repeat interval in seconds.\n"
        },
        "name": {
          "type": "string",
          "description": "Auto script name.\n"
        },
        "outputSize": {
          "type": "integer",
          "description": "Number of megabytes to limit script output to (10 - 1024, default = 10).\n"
        },
        "repeat": {
          "type": "integer",
          "description": "Number of times to repeat this script (0 = infinite).\n"
        },
        "script": {
          "type": "string",
          "description": "List of FortiOS CLI commands to repeat.\n"
        },
        "start": {
          "type": "string",
          "description": "Script starting mode. Valid values: `manual`, `auto`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "interval",
        "name",
        "outputSize",
        "repeat",
        "start",
        "timeout",
        "vdomparam"
      ],
      "inputProperties": {
        "interval": {
          "type": "integer",
          "description": "Repeat interval in seconds.\n"
        },
        "name": {
          "type": "string",
          "description": "Auto script name.\n",
          "willReplaceOnChanges": true
        },
        "outputSize": {
          "type": "integer",
          "description": "Number of megabytes to limit script output to (10 - 1024, default = 10).\n"
        },
        "repeat": {
          "type": "integer",
          "description": "Number of times to repeat this script (0 = infinite).\n"
        },
        "script": {
          "type": "string",
          "description": "List of FortiOS CLI commands to repeat.\n"
        },
        "start": {
          "type": "string",
          "description": "Script starting mode. Valid values: `manual`, `auto`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Autoscript resources.\n",
        "properties": {
          "interval": {
            "type": "integer",
            "description": "Repeat interval in seconds.\n"
          },
          "name": {
            "type": "string",
            "description": "Auto script name.\n",
            "willReplaceOnChanges": true
          },
          "outputSize": {
            "type": "integer",
            "description": "Number of megabytes to limit script output to (10 - 1024, default = 10).\n"
          },
          "repeat": {
            "type": "integer",
            "description": "Number of times to repeat this script (0 = infinite).\n"
          },
          "script": {
            "type": "string",
            "description": "List of FortiOS CLI commands to repeat.\n"
          },
          "start": {
            "type": "string",
            "description": "Script starting mode. Valid values: `manual`, `auto`.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Maximum running time for this script in seconds (0 = no timeout).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/autoupdate/pushupdate:Pushupdate": {
      "description": "Configure push updates. 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.system.autoupdate.Pushupdate(\"trname\", {\n    address: \"0.0.0.0\",\n    override: \"disable\",\n    port: 9443,\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.autoupdate.Pushupdate(\"trname\",\n    address=\"0.0.0.0\",\n    override=\"disable\",\n    port=9443,\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.System.Autoupdate.Pushupdate(\"trname\", new()\n    {\n        Address = \"0.0.0.0\",\n        Override = \"disable\",\n        Port = 9443,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewPushupdate(ctx, \"trname\", &system.PushupdateArgs{\n\t\t\tAddress:  pulumi.String(\"0.0.0.0\"),\n\t\t\tOverride: pulumi.String(\"disable\"),\n\t\t\tPort:     pulumi.Int(9443),\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.system.Pushupdate;\nimport com.pulumi.fortios.system.PushupdateArgs;\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 Pushupdate(\"trname\", PushupdateArgs.builder()\n            .address(\"0.0.0.0\")\n            .override(\"disable\")\n            .port(9443)\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/autoupdate:Pushupdate\n    properties:\n      address: 0.0.0.0\n      override: disable\n      port: 9443\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemAutoupdate PushUpdate can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/autoupdate/pushupdate:Pushupdate labelname SystemAutoupdatePushUpdate\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:system/autoupdate/pushupdate:Pushupdate labelname SystemAutoupdatePushUpdate\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address": {
          "type": "string",
          "description": "Push update override server.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable push update override server. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Push update override port. (Do not overlap with other service ports)\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable push updates. 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": [
        "address",
        "override",
        "port",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "address": {
          "type": "string",
          "description": "Push update override server.\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable push update override server. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Push update override port. (Do not overlap with other service ports)\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable push updates. 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": [
        "address",
        "override",
        "port",
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Pushupdate resources.\n",
        "properties": {
          "address": {
            "type": "string",
            "description": "Push update override server.\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable push update override server. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Push update override port. (Do not overlap with other service ports)\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable push updates. 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:system/autoupdate/schedule:Schedule": {
      "description": "Configure update schedule.\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.system.autoupdate.Schedule(\"trname\", {\n    day: \"Monday\",\n    frequency: \"every\",\n    status: \"enable\",\n    time: \"02:60\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.autoupdate.Schedule(\"trname\",\n    day=\"Monday\",\n    frequency=\"every\",\n    status=\"enable\",\n    time=\"02:60\")\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.System.Autoupdate.Schedule(\"trname\", new()\n    {\n        Day = \"Monday\",\n        Frequency = \"every\",\n        Status = \"enable\",\n        Time = \"02:60\",\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.NewSchedule(ctx, \"trname\", &system.ScheduleArgs{\n\t\t\tDay:       pulumi.String(\"Monday\"),\n\t\t\tFrequency: pulumi.String(\"every\"),\n\t\t\tStatus:    pulumi.String(\"enable\"),\n\t\t\tTime:      pulumi.String(\"02:60\"),\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.Schedule;\nimport com.pulumi.fortios.system.ScheduleArgs;\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 Schedule(\"trname\", ScheduleArgs.builder()\n            .day(\"Monday\")\n            .frequency(\"every\")\n            .status(\"enable\")\n            .time(\"02:60\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/autoupdate:Schedule\n    properties:\n      day: Monday\n      frequency: every\n      status: enable\n      time: 02:60\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemAutoupdate Schedule can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/autoupdate/schedule:Schedule labelname SystemAutoupdateSchedule\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:system/autoupdate/schedule:Schedule labelname SystemAutoupdateSchedule\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "day": {
          "type": "string",
          "description": "Update day. Valid values: `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`.\n"
        },
        "frequency": {
          "type": "string",
          "description": "Update frequency.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable scheduled updates. Valid values: `enable`, `disable`.\n"
        },
        "time": {
          "type": "string",
          "description": "Update time.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "day",
        "frequency",
        "status",
        "time",
        "vdomparam"
      ],
      "inputProperties": {
        "day": {
          "type": "string",
          "description": "Update day. Valid values: `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`.\n"
        },
        "frequency": {
          "type": "string",
          "description": "Update frequency.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable scheduled updates. Valid values: `enable`, `disable`.\n"
        },
        "time": {
          "type": "string",
          "description": "Update time.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "frequency",
        "status",
        "time"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Schedule resources.\n",
        "properties": {
          "day": {
            "type": "string",
            "description": "Update day. Valid values: `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`.\n"
          },
          "frequency": {
            "type": "string",
            "description": "Update frequency.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable scheduled updates. Valid values: `enable`, `disable`.\n"
          },
          "time": {
            "type": "string",
            "description": "Update time.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/autoupdate/tunneling:Tunneling": {
      "description": "Configure web proxy tunnelling for the FDN.\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.system.autoupdate.Tunneling(\"trname\", {\n    port: 0,\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.autoupdate.Tunneling(\"trname\",\n    port=0,\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.System.Autoupdate.Tunneling(\"trname\", new()\n    {\n        Port = 0,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewTunneling(ctx, \"trname\", &system.TunnelingArgs{\n\t\t\tPort:   pulumi.Int(0),\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.system.Tunneling;\nimport com.pulumi.fortios.system.TunnelingArgs;\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 Tunneling(\"trname\", TunnelingArgs.builder()\n            .port(0)\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/autoupdate:Tunneling\n    properties:\n      port: 0\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemAutoupdate Tunneling can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/autoupdate/tunneling:Tunneling labelname SystemAutoupdateTunneling\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:system/autoupdate/tunneling:Tunneling labelname SystemAutoupdateTunneling\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address": {
          "type": "string",
          "description": "Web proxy IP address or FQDN.\n"
        },
        "password": {
          "type": "string",
          "description": "Web proxy password.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Web proxy port.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable web proxy tunnelling. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Web proxy 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": [
        "address",
        "port",
        "status",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "address": {
          "type": "string",
          "description": "Web proxy IP address or FQDN.\n"
        },
        "password": {
          "type": "string",
          "description": "Web proxy password.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Web proxy port.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable web proxy tunnelling. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Web proxy 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 Tunneling resources.\n",
        "properties": {
          "address": {
            "type": "string",
            "description": "Web proxy IP address or FQDN.\n"
          },
          "password": {
            "type": "string",
            "description": "Web proxy password.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Web proxy port.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable web proxy tunnelling. Valid values: `enable`, `disable`.\n"
          },
          "username": {
            "type": "string",
            "description": "Web proxy 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:system/centralmanagement:Centralmanagement": {
      "description": "Configure central management.\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.system.Centralmanagement(\"trname1\", {\n    allowMonitor: \"enable\",\n    allowPushConfiguration: \"enable\",\n    allowPushFirmware: \"enable\",\n    allowRemoteFirmwareUpgrade: \"enable\",\n    encAlgorithm: \"high\",\n    fmg: \"0.0.0.0\",\n    fmgSourceIp6: \"::\",\n    includeDefaultServers: \"enable\",\n    mode: \"normal\",\n    scheduleConfigRestore: \"enable\",\n    scheduleScriptRestore: \"enable\",\n    type: \"fortimanager\",\n    vdom: \"root\",\n});\nconst trname2 = new fortios.system.Centralmanagement(\"trname2\", {\n    allowMonitor: \"enable\",\n    allowPushConfiguration: \"enable\",\n    allowPushFirmware: \"enable\",\n    allowRemoteFirmwareUpgrade: \"enable\",\n    encAlgorithm: \"high\",\n    fmg: \"\\\"192.168.52.177\\\"\",\n    includeDefaultServers: \"enable\",\n    mode: \"normal\",\n    type: \"fortimanager\",\n    vdom: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.system.Centralmanagement(\"trname1\",\n    allow_monitor=\"enable\",\n    allow_push_configuration=\"enable\",\n    allow_push_firmware=\"enable\",\n    allow_remote_firmware_upgrade=\"enable\",\n    enc_algorithm=\"high\",\n    fmg=\"0.0.0.0\",\n    fmg_source_ip6=\"::\",\n    include_default_servers=\"enable\",\n    mode=\"normal\",\n    schedule_config_restore=\"enable\",\n    schedule_script_restore=\"enable\",\n    type=\"fortimanager\",\n    vdom=\"root\")\ntrname2 = fortios.system.Centralmanagement(\"trname2\",\n    allow_monitor=\"enable\",\n    allow_push_configuration=\"enable\",\n    allow_push_firmware=\"enable\",\n    allow_remote_firmware_upgrade=\"enable\",\n    enc_algorithm=\"high\",\n    fmg=\"\\\"192.168.52.177\\\"\",\n    include_default_servers=\"enable\",\n    mode=\"normal\",\n    type=\"fortimanager\",\n    vdom=\"root\")\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.Centralmanagement(\"trname1\", new()\n    {\n        AllowMonitor = \"enable\",\n        AllowPushConfiguration = \"enable\",\n        AllowPushFirmware = \"enable\",\n        AllowRemoteFirmwareUpgrade = \"enable\",\n        EncAlgorithm = \"high\",\n        Fmg = \"0.0.0.0\",\n        FmgSourceIp6 = \"::\",\n        IncludeDefaultServers = \"enable\",\n        Mode = \"normal\",\n        ScheduleConfigRestore = \"enable\",\n        ScheduleScriptRestore = \"enable\",\n        Type = \"fortimanager\",\n        Vdom = \"root\",\n    });\n\n    var trname2 = new Fortios.System.Centralmanagement(\"trname2\", new()\n    {\n        AllowMonitor = \"enable\",\n        AllowPushConfiguration = \"enable\",\n        AllowPushFirmware = \"enable\",\n        AllowRemoteFirmwareUpgrade = \"enable\",\n        EncAlgorithm = \"high\",\n        Fmg = \"\\\"192.168.52.177\\\"\",\n        IncludeDefaultServers = \"enable\",\n        Mode = \"normal\",\n        Type = \"fortimanager\",\n        Vdom = \"root\",\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.NewCentralmanagement(ctx, \"trname1\", &system.CentralmanagementArgs{\n\t\t\tAllowMonitor:               pulumi.String(\"enable\"),\n\t\t\tAllowPushConfiguration:     pulumi.String(\"enable\"),\n\t\t\tAllowPushFirmware:          pulumi.String(\"enable\"),\n\t\t\tAllowRemoteFirmwareUpgrade: pulumi.String(\"enable\"),\n\t\t\tEncAlgorithm:               pulumi.String(\"high\"),\n\t\t\tFmg:                        pulumi.String(\"0.0.0.0\"),\n\t\t\tFmgSourceIp6:               pulumi.String(\"::\"),\n\t\t\tIncludeDefaultServers:      pulumi.String(\"enable\"),\n\t\t\tMode:                       pulumi.String(\"normal\"),\n\t\t\tScheduleConfigRestore:      pulumi.String(\"enable\"),\n\t\t\tScheduleScriptRestore:      pulumi.String(\"enable\"),\n\t\t\tType:                       pulumi.String(\"fortimanager\"),\n\t\t\tVdom:                       pulumi.String(\"root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = system.NewCentralmanagement(ctx, \"trname2\", &system.CentralmanagementArgs{\n\t\t\tAllowMonitor:               pulumi.String(\"enable\"),\n\t\t\tAllowPushConfiguration:     pulumi.String(\"enable\"),\n\t\t\tAllowPushFirmware:          pulumi.String(\"enable\"),\n\t\t\tAllowRemoteFirmwareUpgrade: pulumi.String(\"enable\"),\n\t\t\tEncAlgorithm:               pulumi.String(\"high\"),\n\t\t\tFmg:                        pulumi.String(\"\\\"192.168.52.177\\\"\"),\n\t\t\tIncludeDefaultServers:      pulumi.String(\"enable\"),\n\t\t\tMode:                       pulumi.String(\"normal\"),\n\t\t\tType:                       pulumi.String(\"fortimanager\"),\n\t\t\tVdom:                       pulumi.String(\"root\"),\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.Centralmanagement;\nimport com.pulumi.fortios.system.CentralmanagementArgs;\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 Centralmanagement(\"trname1\", CentralmanagementArgs.builder()\n            .allowMonitor(\"enable\")\n            .allowPushConfiguration(\"enable\")\n            .allowPushFirmware(\"enable\")\n            .allowRemoteFirmwareUpgrade(\"enable\")\n            .encAlgorithm(\"high\")\n            .fmg(\"0.0.0.0\")\n            .fmgSourceIp6(\"::\")\n            .includeDefaultServers(\"enable\")\n            .mode(\"normal\")\n            .scheduleConfigRestore(\"enable\")\n            .scheduleScriptRestore(\"enable\")\n            .type(\"fortimanager\")\n            .vdom(\"root\")\n            .build());\n\n        var trname2 = new Centralmanagement(\"trname2\", CentralmanagementArgs.builder()\n            .allowMonitor(\"enable\")\n            .allowPushConfiguration(\"enable\")\n            .allowPushFirmware(\"enable\")\n            .allowRemoteFirmwareUpgrade(\"enable\")\n            .encAlgorithm(\"high\")\n            .fmg(\"\\\"192.168.52.177\\\"\")\n            .includeDefaultServers(\"enable\")\n            .mode(\"normal\")\n            .type(\"fortimanager\")\n            .vdom(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:system:Centralmanagement\n    properties:\n      allowMonitor: enable\n      allowPushConfiguration: enable\n      allowPushFirmware: enable\n      allowRemoteFirmwareUpgrade: enable\n      encAlgorithm: high\n      fmg: 0.0.0.0\n      fmgSourceIp6: '::'\n      includeDefaultServers: enable\n      mode: normal\n      scheduleConfigRestore: enable\n      scheduleScriptRestore: enable\n      type: fortimanager\n      vdom: root\n  trname2:\n    type: fortios:system:Centralmanagement\n    properties:\n      allowMonitor: enable\n      allowPushConfiguration: enable\n      allowPushFirmware: enable\n      allowRemoteFirmwareUpgrade: enable\n      encAlgorithm: high\n      fmg: '\"192.168.52.177\"'\n      includeDefaultServers: enable\n      mode: normal\n      type: fortimanager\n      vdom: root\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem CentralManagement can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/centralmanagement:Centralmanagement labelname SystemCentralManagement\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:system/centralmanagement:Centralmanagement labelname SystemCentralManagement\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowMonitor": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to remotely monitor this FortiGate Valid values: `enable`, `disable`.\n"
        },
        "allowPushConfiguration": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to push configuration changes to this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "allowPushFirmware": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to push firmware updates to this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "allowRemoteFirmwareUpgrade": {
          "type": "string",
          "description": "Enable/disable remotely upgrading the firmware on this FortiGate from the central management server. Valid values: `enable`, `disable`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA certificate to be used by FGFM protocol.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Encryption strength for communications between the FortiGate and central management. Valid values: `default`, `high`, `low`.\n"
        },
        "fmg": {
          "type": "string",
          "description": "IP address or FQDN of the FortiManager.\n"
        },
        "fmgSourceIp": {
          "type": "string",
          "description": "IPv4 source address that this FortiGate uses when communicating with FortiManager.\n"
        },
        "fmgSourceIp6": {
          "type": "string",
          "description": "IPv6 source address that this FortiGate uses when communicating with FortiManager.\n"
        },
        "fmgUpdatePort": {
          "type": "string",
          "description": "Port used to communicate with FortiManager that is acting as a FortiGuard update server. Valid values: `8890`, `443`.\n"
        },
        "fortigateCloudSsoDefaultProfile": {
          "type": "string",
          "description": "Override access 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"
        },
        "includeDefaultServers": {
          "type": "string",
          "description": "Enable/disable inclusion of public FortiGuard servers in the override server list. Valid values: `enable`, `disable`.\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"
        },
        "localCert": {
          "type": "string",
          "description": "Certificate to be used by FGFM protocol.\n"
        },
        "mode": {
          "type": "string",
          "description": "Central management mode. Valid values: `normal`, `backup`.\n"
        },
        "scheduleConfigRestore": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to restore the configuration of this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "scheduleScriptRestore": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to restore the scripts stored on this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCentralmanagementServerList:CentralmanagementServerList"
          },
          "description": "Additional severs that the FortiGate can use for updates (for AV, IPS, updates) and ratings (for web filter and antispam ratings) servers. The structure of `server_list` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Central management type. Valid values: `fortimanager`, `fortiguard`, `none`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Virtual domain (VDOM) name to use when communicating with FortiManager.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "allowMonitor",
        "allowPushConfiguration",
        "allowPushFirmware",
        "allowRemoteFirmwareUpgrade",
        "caCert",
        "encAlgorithm",
        "fmg",
        "fmgSourceIp",
        "fmgSourceIp6",
        "fmgUpdatePort",
        "fortigateCloudSsoDefaultProfile",
        "includeDefaultServers",
        "interface",
        "interfaceSelectMethod",
        "localCert",
        "mode",
        "scheduleConfigRestore",
        "scheduleScriptRestore",
        "serialNumber",
        "type",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "allowMonitor": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to remotely monitor this FortiGate Valid values: `enable`, `disable`.\n"
        },
        "allowPushConfiguration": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to push configuration changes to this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "allowPushFirmware": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to push firmware updates to this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "allowRemoteFirmwareUpgrade": {
          "type": "string",
          "description": "Enable/disable remotely upgrading the firmware on this FortiGate from the central management server. Valid values: `enable`, `disable`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA certificate to be used by FGFM protocol.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Encryption strength for communications between the FortiGate and central management. Valid values: `default`, `high`, `low`.\n"
        },
        "fmg": {
          "type": "string",
          "description": "IP address or FQDN of the FortiManager.\n"
        },
        "fmgSourceIp": {
          "type": "string",
          "description": "IPv4 source address that this FortiGate uses when communicating with FortiManager.\n"
        },
        "fmgSourceIp6": {
          "type": "string",
          "description": "IPv6 source address that this FortiGate uses when communicating with FortiManager.\n"
        },
        "fmgUpdatePort": {
          "type": "string",
          "description": "Port used to communicate with FortiManager that is acting as a FortiGuard update server. Valid values: `8890`, `443`.\n"
        },
        "fortigateCloudSsoDefaultProfile": {
          "type": "string",
          "description": "Override access 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"
        },
        "includeDefaultServers": {
          "type": "string",
          "description": "Enable/disable inclusion of public FortiGuard servers in the override server list. Valid values: `enable`, `disable`.\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"
        },
        "localCert": {
          "type": "string",
          "description": "Certificate to be used by FGFM protocol.\n"
        },
        "mode": {
          "type": "string",
          "description": "Central management mode. Valid values: `normal`, `backup`.\n"
        },
        "scheduleConfigRestore": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to restore the configuration of this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "scheduleScriptRestore": {
          "type": "string",
          "description": "Enable/disable allowing the central management server to restore the scripts stored on this FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCentralmanagementServerList:CentralmanagementServerList"
          },
          "description": "Additional severs that the FortiGate can use for updates (for AV, IPS, updates) and ratings (for web filter and antispam ratings) servers. The structure of `server_list` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Central management type. Valid values: `fortimanager`, `fortiguard`, `none`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Virtual domain (VDOM) name to use when communicating with FortiManager.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Centralmanagement resources.\n",
        "properties": {
          "allowMonitor": {
            "type": "string",
            "description": "Enable/disable allowing the central management server to remotely monitor this FortiGate Valid values: `enable`, `disable`.\n"
          },
          "allowPushConfiguration": {
            "type": "string",
            "description": "Enable/disable allowing the central management server to push configuration changes to this FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "allowPushFirmware": {
            "type": "string",
            "description": "Enable/disable allowing the central management server to push firmware updates to this FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "allowRemoteFirmwareUpgrade": {
            "type": "string",
            "description": "Enable/disable remotely upgrading the firmware on this FortiGate from the central management server. Valid values: `enable`, `disable`.\n"
          },
          "caCert": {
            "type": "string",
            "description": "CA certificate to be used by FGFM protocol.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Encryption strength for communications between the FortiGate and central management. Valid values: `default`, `high`, `low`.\n"
          },
          "fmg": {
            "type": "string",
            "description": "IP address or FQDN of the FortiManager.\n"
          },
          "fmgSourceIp": {
            "type": "string",
            "description": "IPv4 source address that this FortiGate uses when communicating with FortiManager.\n"
          },
          "fmgSourceIp6": {
            "type": "string",
            "description": "IPv6 source address that this FortiGate uses when communicating with FortiManager.\n"
          },
          "fmgUpdatePort": {
            "type": "string",
            "description": "Port used to communicate with FortiManager that is acting as a FortiGuard update server. Valid values: `8890`, `443`.\n"
          },
          "fortigateCloudSsoDefaultProfile": {
            "type": "string",
            "description": "Override access 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"
          },
          "includeDefaultServers": {
            "type": "string",
            "description": "Enable/disable inclusion of public FortiGuard servers in the override server list. Valid values: `enable`, `disable`.\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"
          },
          "localCert": {
            "type": "string",
            "description": "Certificate to be used by FGFM protocol.\n"
          },
          "mode": {
            "type": "string",
            "description": "Central management mode. Valid values: `normal`, `backup`.\n"
          },
          "scheduleConfigRestore": {
            "type": "string",
            "description": "Enable/disable allowing the central management server to restore the configuration of this FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "scheduleScriptRestore": {
            "type": "string",
            "description": "Enable/disable allowing the central management server to restore the scripts stored on this FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial number.\n"
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FCentralmanagementServerList:CentralmanagementServerList"
            },
            "description": "Additional severs that the FortiGate can use for updates (for AV, IPS, updates) and ratings (for web filter and antispam ratings) servers. The structure of `server_list` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Central management type. Valid values: `fortimanager`, `fortiguard`, `none`.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Virtual domain (VDOM) name to use when communicating with FortiManager.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/clustersync:Clustersync": {
      "description": "Configure FortiGate Session Life Support Protocol (FGSP) session synchronization. Applies to FortiOS Version `<= 7.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.system.Clustersync(\"trname\", {\n    hbInterval: 3,\n    hbLostThreshold: 3,\n    peerip: \"1.1.1.1\",\n    peervd: \"root\",\n    slaveAddIkeRoutes: \"enable\",\n    syncId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Clustersync(\"trname\",\n    hb_interval=3,\n    hb_lost_threshold=3,\n    peerip=\"1.1.1.1\",\n    peervd=\"root\",\n    slave_add_ike_routes=\"enable\",\n    sync_id=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.System.Clustersync(\"trname\", new()\n    {\n        HbInterval = 3,\n        HbLostThreshold = 3,\n        Peerip = \"1.1.1.1\",\n        Peervd = \"root\",\n        SlaveAddIkeRoutes = \"enable\",\n        SyncId = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewClustersync(ctx, \"trname\", &system.ClustersyncArgs{\n\t\t\tHbInterval:        pulumi.Int(3),\n\t\t\tHbLostThreshold:   pulumi.Int(3),\n\t\t\tPeerip:            pulumi.String(\"1.1.1.1\"),\n\t\t\tPeervd:            pulumi.String(\"root\"),\n\t\t\tSlaveAddIkeRoutes: pulumi.String(\"enable\"),\n\t\t\tSyncId:            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.system.Clustersync;\nimport com.pulumi.fortios.system.ClustersyncArgs;\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 Clustersync(\"trname\", ClustersyncArgs.builder()\n            .hbInterval(3)\n            .hbLostThreshold(3)\n            .peerip(\"1.1.1.1\")\n            .peervd(\"root\")\n            .slaveAddIkeRoutes(\"enable\")\n            .syncId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Clustersync\n    properties:\n      hbInterval: 3\n      hbLostThreshold: 3\n      peerip: 1.1.1.1\n      peervd: root\n      slaveAddIkeRoutes: enable\n      syncId: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ClusterSync can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/clustersync:Clustersync labelname {{sync_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:system/clustersync:Clustersync labelname {{sync_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "downIntfsBeforeSessSyncs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FClustersyncDownIntfsBeforeSessSync:ClustersyncDownIntfsBeforeSessSync"
          },
          "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "hbInterval": {
          "type": "integer",
          "description": "Heartbeat interval. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10 sec. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 20 (100*ms).\n"
        },
        "hbLostThreshold": {
          "type": "integer",
          "description": "Lost heartbeat threshold. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 60.\n"
        },
        "ikeHeartbeatInterval": {
          "type": "integer",
          "description": "IKE heartbeat interval (1 - 60 secs).\n"
        },
        "ikeMonitor": {
          "type": "string",
          "description": "Enable/disable IKE HA monitor. Valid values: `enable`, `disable`.\n"
        },
        "ikeMonitorInterval": {
          "type": "integer",
          "description": "IKE HA monitor interval (10 - 300 secs).\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%2FClustersyncSessionSyncFilter:ClustersyncSessionSyncFilter",
          "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"
        },
        "slaveAddIkeRoutes": {
          "type": "string",
          "description": "Enable/disable IKE route announcement on the backup unit. Valid values: `enable`, `disable`.\n"
        },
        "syncId": {
          "type": "integer",
          "description": "Sync ID.\n"
        },
        "syncvds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FClustersyncSyncvd:ClustersyncSyncvd"
          },
          "description": "Sessions from these VDOMs are synchronized using this session synchronization configuration. The structure of `syncvd` 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": [
        "hbInterval",
        "hbLostThreshold",
        "ikeHeartbeatInterval",
        "ikeMonitor",
        "ikeMonitorInterval",
        "ipsecTunnelSync",
        "peerip",
        "peervd",
        "secondaryAddIpsecRoutes",
        "sessionSyncFilter",
        "slaveAddIkeRoutes",
        "syncId",
        "vdomparam"
      ],
      "inputProperties": {
        "downIntfsBeforeSessSyncs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FClustersyncDownIntfsBeforeSessSync:ClustersyncDownIntfsBeforeSessSync"
          },
          "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"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "hbInterval": {
          "type": "integer",
          "description": "Heartbeat interval. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10 sec. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 20 (100*ms).\n"
        },
        "hbLostThreshold": {
          "type": "integer",
          "description": "Lost heartbeat threshold. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 60.\n"
        },
        "ikeHeartbeatInterval": {
          "type": "integer",
          "description": "IKE heartbeat interval (1 - 60 secs).\n"
        },
        "ikeMonitor": {
          "type": "string",
          "description": "Enable/disable IKE HA monitor. Valid values: `enable`, `disable`.\n"
        },
        "ikeMonitorInterval": {
          "type": "integer",
          "description": "IKE HA monitor interval (10 - 300 secs).\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%2FClustersyncSessionSyncFilter:ClustersyncSessionSyncFilter",
          "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"
        },
        "slaveAddIkeRoutes": {
          "type": "string",
          "description": "Enable/disable IKE route announcement on the backup unit. Valid values: `enable`, `disable`.\n"
        },
        "syncId": {
          "type": "integer",
          "description": "Sync ID.\n",
          "willReplaceOnChanges": true
        },
        "syncvds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FClustersyncSyncvd:ClustersyncSyncvd"
          },
          "description": "Sessions from these VDOMs are synchronized using this session synchronization configuration. The structure of `syncvd` 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 Clustersync resources.\n",
        "properties": {
          "downIntfsBeforeSessSyncs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FClustersyncDownIntfsBeforeSessSync:ClustersyncDownIntfsBeforeSessSync"
            },
            "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"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "hbInterval": {
            "type": "integer",
            "description": "Heartbeat interval. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10 sec. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 20 (100*ms).\n"
          },
          "hbLostThreshold": {
            "type": "integer",
            "description": "Lost heartbeat threshold. Increase to reduce false positives. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 1 - 10. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15: 1 - 60.\n"
          },
          "ikeHeartbeatInterval": {
            "type": "integer",
            "description": "IKE heartbeat interval (1 - 60 secs).\n"
          },
          "ikeMonitor": {
            "type": "string",
            "description": "Enable/disable IKE HA monitor. Valid values: `enable`, `disable`.\n"
          },
          "ikeMonitorInterval": {
            "type": "integer",
            "description": "IKE HA monitor interval (10 - 300 secs).\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%2FClustersyncSessionSyncFilter:ClustersyncSessionSyncFilter",
            "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"
          },
          "slaveAddIkeRoutes": {
            "type": "string",
            "description": "Enable/disable IKE route announcement on the backup unit. Valid values: `enable`, `disable`.\n"
          },
          "syncId": {
            "type": "integer",
            "description": "Sync ID.\n",
            "willReplaceOnChanges": true
          },
          "syncvds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FClustersyncSyncvd:ClustersyncSyncvd"
            },
            "description": "Sessions from these VDOMs are synchronized using this session synchronization configuration. The structure of `syncvd` 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:system/console:Console": {
      "description": "Configure console.\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.system.Console(\"trname\", {\n    baudrate: \"9600\",\n    login: \"enable\",\n    mode: \"line\",\n    output: \"more\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Console(\"trname\",\n    baudrate=\"9600\",\n    login=\"enable\",\n    mode=\"line\",\n    output=\"more\")\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.System.Console(\"trname\", new()\n    {\n        Baudrate = \"9600\",\n        Login = \"enable\",\n        Mode = \"line\",\n        Output = \"more\",\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.NewConsole(ctx, \"trname\", &system.ConsoleArgs{\n\t\t\tBaudrate: pulumi.String(\"9600\"),\n\t\t\tLogin:    pulumi.String(\"enable\"),\n\t\t\tMode:     pulumi.String(\"line\"),\n\t\t\tOutput:   pulumi.String(\"more\"),\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.Console;\nimport com.pulumi.fortios.system.ConsoleArgs;\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 Console(\"trname\", ConsoleArgs.builder()\n            .baudrate(\"9600\")\n            .login(\"enable\")\n            .mode(\"line\")\n            .output(\"more\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Console\n    properties:\n      baudrate: '9600'\n      login: enable\n      mode: line\n      output: more\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Console can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/console:Console labelname SystemConsole\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:system/console:Console labelname SystemConsole\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "baudrate": {
          "type": "string",
          "description": "Console baud rate. Valid values: `9600`, `19200`, `38400`, `57600`, `115200`.\n"
        },
        "fortiexplorer": {
          "type": "string",
          "description": "Enable/disable access for FortiExplorer. Valid values: `enable`, `disable`.\n"
        },
        "login": {
          "type": "string",
          "description": "Enable/disable serial console and FortiExplorer. Valid values: `enable`, `disable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Console mode. Valid values: `batch`, `line`.\n"
        },
        "output": {
          "type": "string",
          "description": "Console output mode. Valid values: `standard`, `more`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "baudrate",
        "fortiexplorer",
        "login",
        "mode",
        "output",
        "vdomparam"
      ],
      "inputProperties": {
        "baudrate": {
          "type": "string",
          "description": "Console baud rate. Valid values: `9600`, `19200`, `38400`, `57600`, `115200`.\n"
        },
        "fortiexplorer": {
          "type": "string",
          "description": "Enable/disable access for FortiExplorer. Valid values: `enable`, `disable`.\n"
        },
        "login": {
          "type": "string",
          "description": "Enable/disable serial console and FortiExplorer. Valid values: `enable`, `disable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Console mode. Valid values: `batch`, `line`.\n"
        },
        "output": {
          "type": "string",
          "description": "Console output mode. Valid values: `standard`, `more`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Console resources.\n",
        "properties": {
          "baudrate": {
            "type": "string",
            "description": "Console baud rate. Valid values: `9600`, `19200`, `38400`, `57600`, `115200`.\n"
          },
          "fortiexplorer": {
            "type": "string",
            "description": "Enable/disable access for FortiExplorer. Valid values: `enable`, `disable`.\n"
          },
          "login": {
            "type": "string",
            "description": "Enable/disable serial console and FortiExplorer. Valid values: `enable`, `disable`.\n"
          },
          "mode": {
            "type": "string",
            "description": "Console mode. Valid values: `batch`, `line`.\n"
          },
          "output": {
            "type": "string",
            "description": "Console output mode. Valid values: `standard`, `more`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/csf:Csf": {
      "description": "Add this FortiGate to a Security Fabric or set up a new Security Fabric on this 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 trname = new fortios.system.Csf(\"trname\", {\n    configurationSync: \"default\",\n    groupPassword: \"tmp\",\n    managementIp: \"0.0.0.0\",\n    managementPort: 33,\n    status: \"disable\",\n    upstreamIp: \"0.0.0.0\",\n    upstreamPort: 8013,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Csf(\"trname\",\n    configuration_sync=\"default\",\n    group_password=\"tmp\",\n    management_ip=\"0.0.0.0\",\n    management_port=33,\n    status=\"disable\",\n    upstream_ip=\"0.0.0.0\",\n    upstream_port=8013)\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.System.Csf(\"trname\", new()\n    {\n        ConfigurationSync = \"default\",\n        GroupPassword = \"tmp\",\n        ManagementIp = \"0.0.0.0\",\n        ManagementPort = 33,\n        Status = \"disable\",\n        UpstreamIp = \"0.0.0.0\",\n        UpstreamPort = 8013,\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.NewCsf(ctx, \"trname\", &system.CsfArgs{\n\t\t\tConfigurationSync: pulumi.String(\"default\"),\n\t\t\tGroupPassword:     pulumi.String(\"tmp\"),\n\t\t\tManagementIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tManagementPort:    pulumi.Int(33),\n\t\t\tStatus:            pulumi.String(\"disable\"),\n\t\t\tUpstreamIp:        pulumi.String(\"0.0.0.0\"),\n\t\t\tUpstreamPort:      pulumi.Int(8013),\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.Csf;\nimport com.pulumi.fortios.system.CsfArgs;\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 Csf(\"trname\", CsfArgs.builder()\n            .configurationSync(\"default\")\n            .groupPassword(\"tmp\")\n            .managementIp(\"0.0.0.0\")\n            .managementPort(33)\n            .status(\"disable\")\n            .upstreamIp(\"0.0.0.0\")\n            .upstreamPort(8013)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Csf\n    properties:\n      configurationSync: default\n      groupPassword: tmp\n      managementIp: 0.0.0.0\n      managementPort: 33\n      status: disable\n      upstreamIp: 0.0.0.0\n      upstreamPort: 8013\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Csf can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/csf:Csf labelname SystemCsf\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:system/csf:Csf labelname SystemCsf\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acceptAuthByCert": {
          "type": "string",
          "description": "Accept connections with unknown certificates and ask admin for approval. Valid values: `disable`, `enable`.\n"
        },
        "authorizationRequestType": {
          "type": "string",
          "description": "Authorization request type. Valid values: `serial`, `certificate`.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate.\n"
        },
        "configurationSync": {
          "type": "string",
          "description": "Configuration sync mode. Valid values: `default`, `local`.\n"
        },
        "downstreamAccess": {
          "type": "string",
          "description": "Enable/disable downstream device access to this device's configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "downstreamAccprofile": {
          "type": "string",
          "description": "Default access profile for requests from downstream devices.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricConnectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfFabricConnector:CsfFabricConnector"
          },
          "description": "Fabric connector configuration. The structure of `fabric_connector` block is documented below.\n"
        },
        "fabricDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfFabricDevice:CsfFabricDevice"
          },
          "description": "Fabric device configuration. The structure of `fabric_device` block is documented below.\n"
        },
        "fabricObjectUnification": {
          "type": "string",
          "description": "Fabric CMDB Object Unification Valid values: `default`, `local`.\n"
        },
        "fabricWorkers": {
          "type": "integer",
          "description": "Number of worker processes for Security Fabric daemon.\n"
        },
        "fileMgmt": {
          "type": "string",
          "description": "Enable/disable Security Fabric daemon file management. Valid values: `enable`, `disable`.\n"
        },
        "fileQuota": {
          "type": "integer",
          "description": "Maximum amount of memory that can be used by the daemon files (in bytes).\n"
        },
        "fileQuotaWarning": {
          "type": "integer",
          "description": "Warn when the set percentage of quota has been used.\n"
        },
        "fixedKey": {
          "type": "string",
          "description": "Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.)\n",
          "secret": true
        },
        "forticloudAccountEnforcement": {
          "type": "string",
          "description": "Fabric FortiCloud account unification. 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"
        },
        "groupName": {
          "type": "string",
          "description": "Security Fabric group name. All FortiGates in a Security Fabric must have the same group name.\n"
        },
        "groupPassword": {
          "type": "string",
          "description": "Security Fabric group password. All FortiGates in a Security Fabric must have the same group password.\n",
          "secret": true
        },
        "logUnification": {
          "type": "string",
          "description": "Enable/disable broadcast of discovery messages for log unification. Valid values: `disable`, `enable`.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
        },
        "managementPort": {
          "type": "integer",
          "description": "Overriding port for management connection (Overrides admin port).\n"
        },
        "samlConfigurationSync": {
          "type": "string",
          "description": "SAML setting configuration synchronization. Valid values: `default`, `local`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the upstream FortiGate.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Security Fabric. Valid values: `enable`, `disable`.\n"
        },
        "trustedLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfTrustedList:CsfTrustedList"
          },
          "description": "Pre-authorized and blocked security fabric nodes. The structure of `trusted_list` block is documented below.\n"
        },
        "uid": {
          "type": "string",
          "description": "Unique ID of the current CSF node\n"
        },
        "upstream": {
          "type": "string",
          "description": "IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
        },
        "upstreamInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "upstreamInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "upstreamIp": {
          "type": "string",
          "description": "IP address of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
        },
        "upstreamPort": {
          "type": "integer",
          "description": "The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric (default = 8013).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "acceptAuthByCert",
        "authorizationRequestType",
        "certificate",
        "configurationSync",
        "downstreamAccess",
        "downstreamAccprofile",
        "fabricObjectUnification",
        "fabricWorkers",
        "fileMgmt",
        "fileQuota",
        "fileQuotaWarning",
        "forticloudAccountEnforcement",
        "groupName",
        "logUnification",
        "managementIp",
        "managementPort",
        "samlConfigurationSync",
        "sourceIp",
        "status",
        "uid",
        "upstream",
        "upstreamInterface",
        "upstreamInterfaceSelectMethod",
        "upstreamIp",
        "upstreamPort",
        "vdomparam"
      ],
      "inputProperties": {
        "acceptAuthByCert": {
          "type": "string",
          "description": "Accept connections with unknown certificates and ask admin for approval. Valid values: `disable`, `enable`.\n"
        },
        "authorizationRequestType": {
          "type": "string",
          "description": "Authorization request type. Valid values: `serial`, `certificate`.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate.\n"
        },
        "configurationSync": {
          "type": "string",
          "description": "Configuration sync mode. Valid values: `default`, `local`.\n"
        },
        "downstreamAccess": {
          "type": "string",
          "description": "Enable/disable downstream device access to this device's configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "downstreamAccprofile": {
          "type": "string",
          "description": "Default access profile for requests from downstream devices.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricConnectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfFabricConnector:CsfFabricConnector"
          },
          "description": "Fabric connector configuration. The structure of `fabric_connector` block is documented below.\n"
        },
        "fabricDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfFabricDevice:CsfFabricDevice"
          },
          "description": "Fabric device configuration. The structure of `fabric_device` block is documented below.\n"
        },
        "fabricObjectUnification": {
          "type": "string",
          "description": "Fabric CMDB Object Unification Valid values: `default`, `local`.\n"
        },
        "fabricWorkers": {
          "type": "integer",
          "description": "Number of worker processes for Security Fabric daemon.\n"
        },
        "fileMgmt": {
          "type": "string",
          "description": "Enable/disable Security Fabric daemon file management. Valid values: `enable`, `disable`.\n"
        },
        "fileQuota": {
          "type": "integer",
          "description": "Maximum amount of memory that can be used by the daemon files (in bytes).\n"
        },
        "fileQuotaWarning": {
          "type": "integer",
          "description": "Warn when the set percentage of quota has been used.\n"
        },
        "fixedKey": {
          "type": "string",
          "description": "Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.)\n",
          "secret": true
        },
        "forticloudAccountEnforcement": {
          "type": "string",
          "description": "Fabric FortiCloud account unification. 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"
        },
        "groupName": {
          "type": "string",
          "description": "Security Fabric group name. All FortiGates in a Security Fabric must have the same group name.\n"
        },
        "groupPassword": {
          "type": "string",
          "description": "Security Fabric group password. All FortiGates in a Security Fabric must have the same group password.\n",
          "secret": true
        },
        "logUnification": {
          "type": "string",
          "description": "Enable/disable broadcast of discovery messages for log unification. Valid values: `disable`, `enable`.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
        },
        "managementPort": {
          "type": "integer",
          "description": "Overriding port for management connection (Overrides admin port).\n"
        },
        "samlConfigurationSync": {
          "type": "string",
          "description": "SAML setting configuration synchronization. Valid values: `default`, `local`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the upstream FortiGate.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Security Fabric. Valid values: `enable`, `disable`.\n"
        },
        "trustedLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfTrustedList:CsfTrustedList"
          },
          "description": "Pre-authorized and blocked security fabric nodes. The structure of `trusted_list` block is documented below.\n"
        },
        "uid": {
          "type": "string",
          "description": "Unique ID of the current CSF node\n"
        },
        "upstream": {
          "type": "string",
          "description": "IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
        },
        "upstreamInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "upstreamInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "upstreamIp": {
          "type": "string",
          "description": "IP address of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
        },
        "upstreamPort": {
          "type": "integer",
          "description": "The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric (default = 8013).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Csf resources.\n",
        "properties": {
          "acceptAuthByCert": {
            "type": "string",
            "description": "Accept connections with unknown certificates and ask admin for approval. Valid values: `disable`, `enable`.\n"
          },
          "authorizationRequestType": {
            "type": "string",
            "description": "Authorization request type. Valid values: `serial`, `certificate`.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate.\n"
          },
          "configurationSync": {
            "type": "string",
            "description": "Configuration sync mode. Valid values: `default`, `local`.\n"
          },
          "downstreamAccess": {
            "type": "string",
            "description": "Enable/disable downstream device access to this device's configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "downstreamAccprofile": {
            "type": "string",
            "description": "Default access profile for requests from downstream devices.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fabricConnectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FCsfFabricConnector:CsfFabricConnector"
            },
            "description": "Fabric connector configuration. The structure of `fabric_connector` block is documented below.\n"
          },
          "fabricDevices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FCsfFabricDevice:CsfFabricDevice"
            },
            "description": "Fabric device configuration. The structure of `fabric_device` block is documented below.\n"
          },
          "fabricObjectUnification": {
            "type": "string",
            "description": "Fabric CMDB Object Unification Valid values: `default`, `local`.\n"
          },
          "fabricWorkers": {
            "type": "integer",
            "description": "Number of worker processes for Security Fabric daemon.\n"
          },
          "fileMgmt": {
            "type": "string",
            "description": "Enable/disable Security Fabric daemon file management. Valid values: `enable`, `disable`.\n"
          },
          "fileQuota": {
            "type": "integer",
            "description": "Maximum amount of memory that can be used by the daemon files (in bytes).\n"
          },
          "fileQuotaWarning": {
            "type": "integer",
            "description": "Warn when the set percentage of quota has been used.\n"
          },
          "fixedKey": {
            "type": "string",
            "description": "Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.)\n",
            "secret": true
          },
          "forticloudAccountEnforcement": {
            "type": "string",
            "description": "Fabric FortiCloud account unification. 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"
          },
          "groupName": {
            "type": "string",
            "description": "Security Fabric group name. All FortiGates in a Security Fabric must have the same group name.\n"
          },
          "groupPassword": {
            "type": "string",
            "description": "Security Fabric group password. All FortiGates in a Security Fabric must have the same group password.\n",
            "secret": true
          },
          "logUnification": {
            "type": "string",
            "description": "Enable/disable broadcast of discovery messages for log unification. Valid values: `disable`, `enable`.\n"
          },
          "managementIp": {
            "type": "string",
            "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
          },
          "managementPort": {
            "type": "integer",
            "description": "Overriding port for management connection (Overrides admin port).\n"
          },
          "samlConfigurationSync": {
            "type": "string",
            "description": "SAML setting configuration synchronization. Valid values: `default`, `local`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communication with the upstream FortiGate.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable Security Fabric. Valid values: `enable`, `disable`.\n"
          },
          "trustedLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FCsfTrustedList:CsfTrustedList"
            },
            "description": "Pre-authorized and blocked security fabric nodes. The structure of `trusted_list` block is documented below.\n"
          },
          "uid": {
            "type": "string",
            "description": "Unique ID of the current CSF node\n"
          },
          "upstream": {
            "type": "string",
            "description": "IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
          },
          "upstreamInterface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "upstreamInterfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "upstreamIp": {
            "type": "string",
            "description": "IP address of the FortiGate upstream from this FortiGate in the Security Fabric.\n"
          },
          "upstreamPort": {
            "type": "integer",
            "description": "The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric (default = 8013).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/customlanguage:Customlanguage": {
      "description": "Configure custom languages.\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.system.Customlanguage(\"trname\", {filename: \"en\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Customlanguage(\"trname\", filename=\"en\")\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.System.Customlanguage(\"trname\", new()\n    {\n        Filename = \"en\",\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.NewCustomlanguage(ctx, \"trname\", &system.CustomlanguageArgs{\n\t\t\tFilename: pulumi.String(\"en\"),\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.Customlanguage;\nimport com.pulumi.fortios.system.CustomlanguageArgs;\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 Customlanguage(\"trname\", CustomlanguageArgs.builder()\n            .filename(\"en\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Customlanguage\n    properties:\n      filename: en\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem CustomLanguage can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/customlanguage:Customlanguage 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:system/customlanguage:Customlanguage labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "filename": {
          "type": "string",
          "description": "Custom language file path.\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"
        }
      },
      "type": "object",
      "required": [
        "filename",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "filename": {
          "type": "string",
          "description": "Custom language file path.\n"
        },
        "name": {
          "type": "string",
          "description": "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": [
        "filename"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Customlanguage resources.\n",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "filename": {
            "type": "string",
            "description": "Custom language file path.\n"
          },
          "name": {
            "type": "string",
            "description": "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:system/ddns:Ddns": {
      "description": "Configure DDNS.\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.system.Ddns(\"trname\", {\n    boundIp: \"0.0.0.0\",\n    clearText: \"disable\",\n    ddnsAuth: \"disable\",\n    ddnsDomain: \"www.s.com\",\n    ddnsPassword: \"ewewcd\",\n    ddnsServer: \"tzo.com\",\n    ddnsServerIp: \"0.0.0.0\",\n    ddnsTtl: 300,\n    ddnsUsername: \"sie2ae\",\n    ddnsid: 1,\n    monitorInterfaces: [{\n        interfaceName: \"port2\",\n    }],\n    sslCertificate: \"Fortinet_Factory\",\n    updateInterval: 300,\n    usePublicIp: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ddns(\"trname\",\n    bound_ip=\"0.0.0.0\",\n    clear_text=\"disable\",\n    ddns_auth=\"disable\",\n    ddns_domain=\"www.s.com\",\n    ddns_password=\"ewewcd\",\n    ddns_server=\"tzo.com\",\n    ddns_server_ip=\"0.0.0.0\",\n    ddns_ttl=300,\n    ddns_username=\"sie2ae\",\n    ddnsid=1,\n    monitor_interfaces=[fortios.system.DdnsMonitorInterfaceArgs(\n        interface_name=\"port2\",\n    )],\n    ssl_certificate=\"Fortinet_Factory\",\n    update_interval=300,\n    use_public_ip=\"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.System.Ddns(\"trname\", new()\n    {\n        BoundIp = \"0.0.0.0\",\n        ClearText = \"disable\",\n        DdnsAuth = \"disable\",\n        DdnsDomain = \"www.s.com\",\n        DdnsPassword = \"ewewcd\",\n        DdnsServer = \"tzo.com\",\n        DdnsServerIp = \"0.0.0.0\",\n        DdnsTtl = 300,\n        DdnsUsername = \"sie2ae\",\n        Ddnsid = 1,\n        MonitorInterfaces = new[]\n        {\n            new Fortios.System.Inputs.DdnsMonitorInterfaceArgs\n            {\n                InterfaceName = \"port2\",\n            },\n        },\n        SslCertificate = \"Fortinet_Factory\",\n        UpdateInterval = 300,\n        UsePublicIp = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewDdns(ctx, \"trname\", &system.DdnsArgs{\n\t\t\tBoundIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tClearText:    pulumi.String(\"disable\"),\n\t\t\tDdnsAuth:     pulumi.String(\"disable\"),\n\t\t\tDdnsDomain:   pulumi.String(\"www.s.com\"),\n\t\t\tDdnsPassword: pulumi.String(\"ewewcd\"),\n\t\t\tDdnsServer:   pulumi.String(\"tzo.com\"),\n\t\t\tDdnsServerIp: pulumi.String(\"0.0.0.0\"),\n\t\t\tDdnsTtl:      pulumi.Int(300),\n\t\t\tDdnsUsername: pulumi.String(\"sie2ae\"),\n\t\t\tDdnsid:       pulumi.Int(1),\n\t\t\tMonitorInterfaces: system.DdnsMonitorInterfaceArray{\n\t\t\t\t&system.DdnsMonitorInterfaceArgs{\n\t\t\t\t\tInterfaceName: pulumi.String(\"port2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSslCertificate: pulumi.String(\"Fortinet_Factory\"),\n\t\t\tUpdateInterval: pulumi.Int(300),\n\t\t\tUsePublicIp:    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.system.Ddns;\nimport com.pulumi.fortios.system.DdnsArgs;\nimport com.pulumi.fortios.system.inputs.DdnsMonitorInterfaceArgs;\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 Ddns(\"trname\", DdnsArgs.builder()\n            .boundIp(\"0.0.0.0\")\n            .clearText(\"disable\")\n            .ddnsAuth(\"disable\")\n            .ddnsDomain(\"www.s.com\")\n            .ddnsPassword(\"ewewcd\")\n            .ddnsServer(\"tzo.com\")\n            .ddnsServerIp(\"0.0.0.0\")\n            .ddnsTtl(300)\n            .ddnsUsername(\"sie2ae\")\n            .ddnsid(1)\n            .monitorInterfaces(DdnsMonitorInterfaceArgs.builder()\n                .interfaceName(\"port2\")\n                .build())\n            .sslCertificate(\"Fortinet_Factory\")\n            .updateInterval(300)\n            .usePublicIp(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ddns\n    properties:\n      boundIp: 0.0.0.0\n      clearText: disable\n      ddnsAuth: disable\n      ddnsDomain: www.s.com\n      ddnsPassword: ewewcd\n      ddnsServer: tzo.com\n      ddnsServerIp: 0.0.0.0\n      ddnsTtl: 300\n      ddnsUsername: sie2ae\n      ddnsid: 1\n      monitorInterfaces:\n        - interfaceName: port2\n      sslCertificate: Fortinet_Factory\n      updateInterval: 300\n      usePublicIp: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ddns can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ddns:Ddns labelname {{ddnsid}}\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:system/ddns:Ddns labelname {{ddnsid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Address type of interface address in DDNS update. Valid values: `ipv4`, `ipv6`.\n"
        },
        "boundIp": {
          "type": "string",
          "description": "Bound IP address.\n"
        },
        "clearText": {
          "type": "string",
          "description": "Enable/disable use of clear text connections. Valid values: `disable`, `enable`.\n"
        },
        "ddnsAuth": {
          "type": "string",
          "description": "Enable/disable TSIG authentication for your DDNS server. Valid values: `disable`, `tsig`.\n"
        },
        "ddnsDomain": {
          "type": "string",
          "description": "Your fully qualified domain name. For example, yourname.ddns.com.\n"
        },
        "ddnsKey": {
          "type": "string",
          "description": "DDNS update key (base 64 encoding).\n",
          "secret": true
        },
        "ddnsKeyname": {
          "type": "string",
          "description": "DDNS update key name.\n"
        },
        "ddnsPassword": {
          "type": "string",
          "description": "DDNS password.\n",
          "secret": true
        },
        "ddnsServer": {
          "type": "string",
          "description": "Select a DDNS service provider. Valid values: `dyndns.org`, `dyns.net`, `tzo.com`, `vavic.com`, `dipdns.net`, `now.net.cn`, `dhs.org`, `easydns.com`, `genericDDNS`, `FortiGuardDDNS`, `noip.com`.\n"
        },
        "ddnsServerAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDdnsDdnsServerAddr:DdnsDdnsServerAddr"
          },
          "description": "Generic DDNS server IP/FQDN list. The structure of `ddns_server_addr` block is documented below.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "Generic DDNS server IP.\n"
        },
        "ddnsSn": {
          "type": "string",
          "description": "DDNS Serial Number.\n"
        },
        "ddnsTtl": {
          "type": "integer",
          "description": "Time-to-live for DDNS packets.\n"
        },
        "ddnsUsername": {
          "type": "string",
          "description": "DDNS user name.\n"
        },
        "ddnsZone": {
          "type": "string",
          "description": "Zone of your domain name (for example, DDNS.com).\n"
        },
        "ddnsid": {
          "type": "integer",
          "description": "DDNS 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "monitorInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDdnsMonitorInterface:DdnsMonitorInterface"
          },
          "description": "Monitored interface. The structure of `monitor_interface` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Address type of the DDNS server. Valid values: `ipv4`, `ipv6`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "DDNS update interval, 60 - 2592000 sec. On FortiOS versions 6.2.0-7.0.3: default = 300. On FortiOS versions >= 7.0.4: 0 means default.\n"
        },
        "usePublicIp": {
          "type": "string",
          "description": "Enable/disable use of public IP address. 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": [
        "addrType",
        "boundIp",
        "clearText",
        "ddnsAuth",
        "ddnsDomain",
        "ddnsKey",
        "ddnsKeyname",
        "ddnsServer",
        "ddnsServerIp",
        "ddnsSn",
        "ddnsTtl",
        "ddnsUsername",
        "ddnsZone",
        "ddnsid",
        "monitorInterfaces",
        "serverType",
        "sslCertificate",
        "updateInterval",
        "usePublicIp",
        "vdomparam"
      ],
      "inputProperties": {
        "addrType": {
          "type": "string",
          "description": "Address type of interface address in DDNS update. Valid values: `ipv4`, `ipv6`.\n"
        },
        "boundIp": {
          "type": "string",
          "description": "Bound IP address.\n"
        },
        "clearText": {
          "type": "string",
          "description": "Enable/disable use of clear text connections. Valid values: `disable`, `enable`.\n"
        },
        "ddnsAuth": {
          "type": "string",
          "description": "Enable/disable TSIG authentication for your DDNS server. Valid values: `disable`, `tsig`.\n"
        },
        "ddnsDomain": {
          "type": "string",
          "description": "Your fully qualified domain name. For example, yourname.ddns.com.\n"
        },
        "ddnsKey": {
          "type": "string",
          "description": "DDNS update key (base 64 encoding).\n",
          "secret": true
        },
        "ddnsKeyname": {
          "type": "string",
          "description": "DDNS update key name.\n"
        },
        "ddnsPassword": {
          "type": "string",
          "description": "DDNS password.\n",
          "secret": true
        },
        "ddnsServer": {
          "type": "string",
          "description": "Select a DDNS service provider. Valid values: `dyndns.org`, `dyns.net`, `tzo.com`, `vavic.com`, `dipdns.net`, `now.net.cn`, `dhs.org`, `easydns.com`, `genericDDNS`, `FortiGuardDDNS`, `noip.com`.\n"
        },
        "ddnsServerAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDdnsDdnsServerAddr:DdnsDdnsServerAddr"
          },
          "description": "Generic DDNS server IP/FQDN list. The structure of `ddns_server_addr` block is documented below.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "Generic DDNS server IP.\n"
        },
        "ddnsSn": {
          "type": "string",
          "description": "DDNS Serial Number.\n"
        },
        "ddnsTtl": {
          "type": "integer",
          "description": "Time-to-live for DDNS packets.\n"
        },
        "ddnsUsername": {
          "type": "string",
          "description": "DDNS user name.\n"
        },
        "ddnsZone": {
          "type": "string",
          "description": "Zone of your domain name (for example, DDNS.com).\n"
        },
        "ddnsid": {
          "type": "integer",
          "description": "DDNS ID.\n",
          "willReplaceOnChanges": true
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "monitorInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDdnsMonitorInterface:DdnsMonitorInterface"
          },
          "description": "Monitored interface. The structure of `monitor_interface` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Address type of the DDNS server. Valid values: `ipv4`, `ipv6`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "DDNS update interval, 60 - 2592000 sec. On FortiOS versions 6.2.0-7.0.3: default = 300. On FortiOS versions >= 7.0.4: 0 means default.\n"
        },
        "usePublicIp": {
          "type": "string",
          "description": "Enable/disable use of public IP address. 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
        }
      },
      "requiredInputs": [
        "ddnsServer",
        "monitorInterfaces"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ddns resources.\n",
        "properties": {
          "addrType": {
            "type": "string",
            "description": "Address type of interface address in DDNS update. Valid values: `ipv4`, `ipv6`.\n"
          },
          "boundIp": {
            "type": "string",
            "description": "Bound IP address.\n"
          },
          "clearText": {
            "type": "string",
            "description": "Enable/disable use of clear text connections. Valid values: `disable`, `enable`.\n"
          },
          "ddnsAuth": {
            "type": "string",
            "description": "Enable/disable TSIG authentication for your DDNS server. Valid values: `disable`, `tsig`.\n"
          },
          "ddnsDomain": {
            "type": "string",
            "description": "Your fully qualified domain name. For example, yourname.ddns.com.\n"
          },
          "ddnsKey": {
            "type": "string",
            "description": "DDNS update key (base 64 encoding).\n",
            "secret": true
          },
          "ddnsKeyname": {
            "type": "string",
            "description": "DDNS update key name.\n"
          },
          "ddnsPassword": {
            "type": "string",
            "description": "DDNS password.\n",
            "secret": true
          },
          "ddnsServer": {
            "type": "string",
            "description": "Select a DDNS service provider. Valid values: `dyndns.org`, `dyns.net`, `tzo.com`, `vavic.com`, `dipdns.net`, `now.net.cn`, `dhs.org`, `easydns.com`, `genericDDNS`, `FortiGuardDDNS`, `noip.com`.\n"
          },
          "ddnsServerAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDdnsDdnsServerAddr:DdnsDdnsServerAddr"
            },
            "description": "Generic DDNS server IP/FQDN list. The structure of `ddns_server_addr` block is documented below.\n"
          },
          "ddnsServerIp": {
            "type": "string",
            "description": "Generic DDNS server IP.\n"
          },
          "ddnsSn": {
            "type": "string",
            "description": "DDNS Serial Number.\n"
          },
          "ddnsTtl": {
            "type": "integer",
            "description": "Time-to-live for DDNS packets.\n"
          },
          "ddnsUsername": {
            "type": "string",
            "description": "DDNS user name.\n"
          },
          "ddnsZone": {
            "type": "string",
            "description": "Zone of your domain name (for example, DDNS.com).\n"
          },
          "ddnsid": {
            "type": "integer",
            "description": "DDNS ID.\n",
            "willReplaceOnChanges": true
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "monitorInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDdnsMonitorInterface:DdnsMonitorInterface"
            },
            "description": "Monitored interface. The structure of `monitor_interface` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Address type of the DDNS server. Valid values: `ipv4`, `ipv6`.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "Name of local certificate for SSL connections.\n"
          },
          "updateInterval": {
            "type": "integer",
            "description": "DDNS update interval, 60 - 2592000 sec. On FortiOS versions 6.2.0-7.0.3: default = 300. On FortiOS versions >= 7.0.4: 0 means default.\n"
          },
          "usePublicIp": {
            "type": "string",
            "description": "Enable/disable use of public IP address. 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:system/dedicatedmgmt:Dedicatedmgmt": {
      "description": "Configure dedicated management.\n\n## Import\n\nSystem DedicatedMgmt can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dedicatedmgmt:Dedicatedmgmt labelname SystemDedicatedMgmt\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:system/dedicatedmgmt:Dedicatedmgmt labelname SystemDedicatedMgmt\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "defaultGateway": {
          "type": "string",
          "description": "Default gateway for dedicated management interface.\n"
        },
        "dhcpEndIp": {
          "type": "string",
          "description": "DHCP end IP for dedicated management.\n"
        },
        "dhcpNetmask": {
          "type": "string",
          "description": "DHCP netmask.\n"
        },
        "dhcpServer": {
          "type": "string",
          "description": "Enable/disable DHCP server on management interface. Valid values: `enable`, `disable`.\n"
        },
        "dhcpStartIp": {
          "type": "string",
          "description": "DHCP start IP for dedicated management.\n"
        },
        "interface": {
          "type": "string",
          "description": "Dedicated management interface.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable dedicated management. 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": [
        "defaultGateway",
        "dhcpEndIp",
        "dhcpNetmask",
        "dhcpServer",
        "dhcpStartIp",
        "interface",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "defaultGateway": {
          "type": "string",
          "description": "Default gateway for dedicated management interface.\n"
        },
        "dhcpEndIp": {
          "type": "string",
          "description": "DHCP end IP for dedicated management.\n"
        },
        "dhcpNetmask": {
          "type": "string",
          "description": "DHCP netmask.\n"
        },
        "dhcpServer": {
          "type": "string",
          "description": "Enable/disable DHCP server on management interface. Valid values: `enable`, `disable`.\n"
        },
        "dhcpStartIp": {
          "type": "string",
          "description": "DHCP start IP for dedicated management.\n"
        },
        "interface": {
          "type": "string",
          "description": "Dedicated management interface.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable dedicated management. 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 Dedicatedmgmt resources.\n",
        "properties": {
          "defaultGateway": {
            "type": "string",
            "description": "Default gateway for dedicated management interface.\n"
          },
          "dhcpEndIp": {
            "type": "string",
            "description": "DHCP end IP for dedicated management.\n"
          },
          "dhcpNetmask": {
            "type": "string",
            "description": "DHCP netmask.\n"
          },
          "dhcpServer": {
            "type": "string",
            "description": "Enable/disable DHCP server on management interface. Valid values: `enable`, `disable`.\n"
          },
          "dhcpStartIp": {
            "type": "string",
            "description": "DHCP start IP for dedicated management.\n"
          },
          "interface": {
            "type": "string",
            "description": "Dedicated management interface.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable dedicated management. 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:system/deviceupgrade:Deviceupgrade": {
      "description": "Independent upgrades for managed devices. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nSystem DeviceUpgrade can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/deviceupgrade:Deviceupgrade labelname {{serial}}\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:system/deviceupgrade:Deviceupgrade labelname {{serial}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "deviceType": {
          "type": "string",
          "description": "Fortinet device type.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failureReason": {
          "type": "string",
          "description": "Upgrade failure reason.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haRebootController": {
          "type": "string",
          "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
        },
        "knownHaMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDeviceupgradeKnownHaMember:DeviceupgradeKnownHaMember"
          },
          "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\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"
        },
        "status": {
          "type": "string",
          "description": "Current status of the upgrade. Valid values: `disabled`, `initialized`, `downloading`, `device-disconnected`, `ready`, `coordinating`, `staging`, `final-check`, `upgrade-devices`, `cancelled`, `confirmed`, `done`, `failed`.\n"
        },
        "time": {
          "type": "string",
          "description": "Scheduled upgrade execution time in UTC (hh:mm yyyy/mm/dd UTC).\n"
        },
        "timing": {
          "type": "string",
          "description": "Run immediately or at a scheduled time. Valid values: `immediate`, `scheduled`.\n"
        },
        "upgradePath": {
          "type": "string",
          "description": "Fortinet OS image versions to upgrade through in major-minor-patch format, such as 7-0-4.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "deviceType",
        "failureReason",
        "haRebootController",
        "maximumMinutes",
        "serial",
        "setupTime",
        "status",
        "time",
        "timing",
        "upgradePath",
        "vdomparam"
      ],
      "inputProperties": {
        "deviceType": {
          "type": "string",
          "description": "Fortinet device type.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failureReason": {
          "type": "string",
          "description": "Upgrade failure reason.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haRebootController": {
          "type": "string",
          "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
        },
        "knownHaMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDeviceupgradeKnownHaMember:DeviceupgradeKnownHaMember"
          },
          "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\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",
          "willReplaceOnChanges": true
        },
        "setupTime": {
          "type": "string",
          "description": "Upgrade preparation start time in UTC (hh:mm yyyy/mm/dd UTC).\n"
        },
        "status": {
          "type": "string",
          "description": "Current status of the upgrade. Valid values: `disabled`, `initialized`, `downloading`, `device-disconnected`, `ready`, `coordinating`, `staging`, `final-check`, `upgrade-devices`, `cancelled`, `confirmed`, `done`, `failed`.\n"
        },
        "time": {
          "type": "string",
          "description": "Scheduled upgrade execution time in UTC (hh:mm yyyy/mm/dd UTC).\n"
        },
        "timing": {
          "type": "string",
          "description": "Run immediately or at a scheduled time. Valid values: `immediate`, `scheduled`.\n"
        },
        "upgradePath": {
          "type": "string",
          "description": "Fortinet OS image versions to upgrade through in major-minor-patch format, such as 7-0-4.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Deviceupgrade resources.\n",
        "properties": {
          "deviceType": {
            "type": "string",
            "description": "Fortinet device type.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "failureReason": {
            "type": "string",
            "description": "Upgrade failure reason.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "haRebootController": {
            "type": "string",
            "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
          },
          "knownHaMembers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDeviceupgradeKnownHaMember:DeviceupgradeKnownHaMember"
            },
            "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\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",
            "willReplaceOnChanges": true
          },
          "setupTime": {
            "type": "string",
            "description": "Upgrade preparation start time in UTC (hh:mm yyyy/mm/dd UTC).\n"
          },
          "status": {
            "type": "string",
            "description": "Current status of the upgrade. Valid values: `disabled`, `initialized`, `downloading`, `device-disconnected`, `ready`, `coordinating`, `staging`, `final-check`, `upgrade-devices`, `cancelled`, `confirmed`, `done`, `failed`.\n"
          },
          "time": {
            "type": "string",
            "description": "Scheduled upgrade execution time in UTC (hh:mm yyyy/mm/dd UTC).\n"
          },
          "timing": {
            "type": "string",
            "description": "Run immediately or at a scheduled time. Valid values: `immediate`, `scheduled`.\n"
          },
          "upgradePath": {
            "type": "string",
            "description": "Fortinet OS image versions to upgrade through in major-minor-patch format, such as 7-0-4.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/dhcp/server:Server": {
      "description": "Configure DHCP 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.system.dhcp.Server(\"trname\", {\n    dnsService: \"default\",\n    fosid: 1,\n    \"interface\": \"port2\",\n    ipRanges: [{\n        endIp: \"1.1.1.22\",\n        id: 1,\n        startIp: \"1.1.1.1\",\n    }],\n    netmask: \"255.255.255.0\",\n    ntpServer1: \"192.168.52.22\",\n    status: \"disable\",\n    timezone: \"00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.dhcp.Server(\"trname\",\n    dns_service=\"default\",\n    fosid=1,\n    interface=\"port2\",\n    ip_ranges=[fortios.system.dhcp.ServerIpRangeArgs(\n        end_ip=\"1.1.1.22\",\n        id=1,\n        start_ip=\"1.1.1.1\",\n    )],\n    netmask=\"255.255.255.0\",\n    ntp_server1=\"192.168.52.22\",\n    status=\"disable\",\n    timezone=\"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.System.Dhcp.Server(\"trname\", new()\n    {\n        DnsService = \"default\",\n        Fosid = 1,\n        Interface = \"port2\",\n        IpRanges = new[]\n        {\n            new Fortios.System.Dhcp.Inputs.ServerIpRangeArgs\n            {\n                EndIp = \"1.1.1.22\",\n                Id = 1,\n                StartIp = \"1.1.1.1\",\n            },\n        },\n        Netmask = \"255.255.255.0\",\n        NtpServer1 = \"192.168.52.22\",\n        Status = \"disable\",\n        Timezone = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewServer(ctx, \"trname\", &system.ServerArgs{\n\t\t\tDnsService: pulumi.String(\"default\"),\n\t\t\tFosid:      pulumi.Int(1),\n\t\t\tInterface:  pulumi.String(\"port2\"),\n\t\t\tIpRanges: dhcp.ServerIpRangeArray{\n\t\t\t\t&dhcp.ServerIpRangeArgs{\n\t\t\t\t\tEndIp:   pulumi.String(\"1.1.1.22\"),\n\t\t\t\t\tId:      pulumi.Int(1),\n\t\t\t\t\tStartIp: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetmask:    pulumi.String(\"255.255.255.0\"),\n\t\t\tNtpServer1: pulumi.String(\"192.168.52.22\"),\n\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\tTimezone:   pulumi.String(\"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.system.Server;\nimport com.pulumi.fortios.system.ServerArgs;\nimport com.pulumi.fortios.system.inputs.ServerIpRangeArgs;\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            .dnsService(\"default\")\n            .fosid(1)\n            .interface_(\"port2\")\n            .ipRanges(ServerIpRangeArgs.builder()\n                .endIp(\"1.1.1.22\")\n                .id(1)\n                .startIp(\"1.1.1.1\")\n                .build())\n            .netmask(\"255.255.255.0\")\n            .ntpServer1(\"192.168.52.22\")\n            .status(\"disable\")\n            .timezone(\"00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/dhcp:Server\n    properties:\n      dnsService: default\n      fosid: 1\n      interface: port2\n      ipRanges:\n        - endIp: 1.1.1.22\n          id: 1\n          startIp: 1.1.1.1\n      netmask: 255.255.255.0\n      ntpServer1: 192.168.52.22\n      status: disable\n      timezone: '00'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemDhcp Server can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dhcp/server:Server 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:system/dhcp/server:Server labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoConfiguration": {
          "type": "string",
          "description": "Enable/disable auto configuration. Valid values: `disable`, `enable`.\n"
        },
        "autoManagedStatus": {
          "type": "string",
          "description": "Enable/disable use of this DHCP server once this interface has been assigned an IP address from FortiIPAM. Valid values: `disable`, `enable`.\n"
        },
        "conflictedIpTimeout": {
          "type": "integer",
          "description": "Time in seconds to wait after a conflicted IP address is removed from the DHCP range before it can be reused.\n"
        },
        "ddnsAuth": {
          "type": "string",
          "description": "DDNS authentication mode. Valid values: `disable`, `tsig`.\n"
        },
        "ddnsKey": {
          "type": "string",
          "description": "DDNS update key (base 64 encoding).\n",
          "secret": true
        },
        "ddnsKeyname": {
          "type": "string",
          "description": "DDNS update key name.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "DDNS server IP.\n"
        },
        "ddnsTtl": {
          "type": "integer",
          "description": "TTL.\n"
        },
        "ddnsUpdate": {
          "type": "string",
          "description": "Enable/disable DDNS update for DHCP. Valid values: `disable`, `enable`.\n"
        },
        "ddnsUpdateOverride": {
          "type": "string",
          "description": "Enable/disable DDNS update override for DHCP. Valid values: `disable`, `enable`.\n"
        },
        "ddnsZone": {
          "type": "string",
          "description": "Zone of your domain name (ex. DDNS.com).\n"
        },
        "defaultGateway": {
          "type": "string",
          "description": "Default gateway IP address assigned by the DHCP server.\n"
        },
        "dhcpSettingsFromFortiipam": {
          "type": "string",
          "description": "Enable/disable populating of DHCP server settings from FortiIPAM. Valid values: `disable`, `enable`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsServer3": {
          "type": "string",
          "description": "DNS server 3.\n"
        },
        "dnsServer4": {
          "type": "string",
          "description": "DNS server 4.\n"
        },
        "dnsService": {
          "type": "string",
          "description": "Options for assigning DNS servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "excludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerExcludeRange:ServerExcludeRange"
          },
          "description": "Exclude one or more ranges of IP addresses from being assigned to clients. The structure of `exclude_range` block is documented below.\n"
        },
        "filename": {
          "type": "string",
          "description": "Name of the boot file on the TFTP server.\n"
        },
        "forticlientOnNetStatus": {
          "type": "string",
          "description": "Enable/disable FortiClient-On-Net service for this DHCP server. Valid values: `disable`, `enable`.\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"
        },
        "interface": {
          "type": "string",
          "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method used to assign client IP. Valid values: `range`, `usrgrp`.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerIpRange:ServerIpRange"
          },
          "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
        },
        "ipsecLeaseHold": {
          "type": "integer",
          "description": "DHCP over IPsec leases expire this many seconds after tunnel down (0 to disable forced-expiry).\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means unlimited.\n"
        },
        "macAclDefaultAction": {
          "type": "string",
          "description": "MAC access control default action (allow or block assigning IP settings). Valid values: `assign`, `block`.\n"
        },
        "netmask": {
          "type": "string",
          "description": "Netmask assigned by the DHCP server.\n"
        },
        "nextServer": {
          "type": "string",
          "description": "IP address of a server (for example, a TFTP sever) that DHCP clients can download a boot file from.\n"
        },
        "ntpServer1": {
          "type": "string",
          "description": "NTP server 1.\n"
        },
        "ntpServer2": {
          "type": "string",
          "description": "NTP server 2.\n"
        },
        "ntpServer3": {
          "type": "string",
          "description": "NTP server 3.\n"
        },
        "ntpService": {
          "type": "string",
          "description": "Options for assigning Network Time Protocol (NTP) servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
        },
        "options": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerOption:ServerOption"
          },
          "description": "DHCP options. The structure of `options` block is documented below.\n"
        },
        "relayAgent": {
          "type": "string",
          "description": "Relay agent IP.\n"
        },
        "reservedAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerReservedAddress:ServerReservedAddress"
          },
          "description": "Options for the DHCP server to assign IP settings to specific MAC addresses. The structure of `reserved_address` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "DHCP server can be a normal DHCP server or an IPsec DHCP server. Valid values: `regular`, `ipsec`.\n"
        },
        "sharedSubnet": {
          "type": "string",
          "description": "Enable/disable shared subnet. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DHCP configuration. Valid values: `disable`, `enable`.\n"
        },
        "tftpServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerTftpServer:ServerTftpServer"
          },
          "description": "One or more hostnames or IP addresses of the TFTP servers in quotes separated by spaces. The structure of `tftp_server` block is documented below.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Select the time zone to be assigned to DHCP clients.\n"
        },
        "timezoneOption": {
          "type": "string",
          "description": "Options for the DHCP server to set the client's time zone. Valid values: `disable`, `default`, `specify`.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served. Valid values: `disable`, `enable`.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerVciString:ServerVciString"
          },
          "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` 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"
        },
        "wifiAc1": {
          "type": "string",
          "description": "WiFi Access Controller 1 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAc2": {
          "type": "string",
          "description": "WiFi Access Controller 2 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAc3": {
          "type": "string",
          "description": "WiFi Access Controller 3 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAcService": {
          "type": "string",
          "description": "Options for assigning WiFi Access Controllers to DHCP clients Valid values: `specify`, `local`.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        }
      },
      "type": "object",
      "required": [
        "autoConfiguration",
        "autoManagedStatus",
        "conflictedIpTimeout",
        "ddnsAuth",
        "ddnsKey",
        "ddnsKeyname",
        "ddnsServerIp",
        "ddnsTtl",
        "ddnsUpdate",
        "ddnsUpdateOverride",
        "ddnsZone",
        "defaultGateway",
        "dhcpSettingsFromFortiipam",
        "dnsServer1",
        "dnsServer2",
        "dnsServer3",
        "dnsServer4",
        "dnsService",
        "domain",
        "filename",
        "forticlientOnNetStatus",
        "fosid",
        "interface",
        "ipMode",
        "ipsecLeaseHold",
        "leaseTime",
        "macAclDefaultAction",
        "netmask",
        "nextServer",
        "ntpServer1",
        "ntpServer2",
        "ntpServer3",
        "ntpService",
        "relayAgent",
        "serverType",
        "sharedSubnet",
        "status",
        "timezone",
        "timezoneOption",
        "vciMatch",
        "vdomparam",
        "wifiAc1",
        "wifiAc2",
        "wifiAc3",
        "wifiAcService",
        "winsServer1",
        "winsServer2"
      ],
      "inputProperties": {
        "autoConfiguration": {
          "type": "string",
          "description": "Enable/disable auto configuration. Valid values: `disable`, `enable`.\n"
        },
        "autoManagedStatus": {
          "type": "string",
          "description": "Enable/disable use of this DHCP server once this interface has been assigned an IP address from FortiIPAM. Valid values: `disable`, `enable`.\n"
        },
        "conflictedIpTimeout": {
          "type": "integer",
          "description": "Time in seconds to wait after a conflicted IP address is removed from the DHCP range before it can be reused.\n"
        },
        "ddnsAuth": {
          "type": "string",
          "description": "DDNS authentication mode. Valid values: `disable`, `tsig`.\n"
        },
        "ddnsKey": {
          "type": "string",
          "description": "DDNS update key (base 64 encoding).\n",
          "secret": true
        },
        "ddnsKeyname": {
          "type": "string",
          "description": "DDNS update key name.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "DDNS server IP.\n"
        },
        "ddnsTtl": {
          "type": "integer",
          "description": "TTL.\n"
        },
        "ddnsUpdate": {
          "type": "string",
          "description": "Enable/disable DDNS update for DHCP. Valid values: `disable`, `enable`.\n"
        },
        "ddnsUpdateOverride": {
          "type": "string",
          "description": "Enable/disable DDNS update override for DHCP. Valid values: `disable`, `enable`.\n"
        },
        "ddnsZone": {
          "type": "string",
          "description": "Zone of your domain name (ex. DDNS.com).\n"
        },
        "defaultGateway": {
          "type": "string",
          "description": "Default gateway IP address assigned by the DHCP server.\n"
        },
        "dhcpSettingsFromFortiipam": {
          "type": "string",
          "description": "Enable/disable populating of DHCP server settings from FortiIPAM. Valid values: `disable`, `enable`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsServer3": {
          "type": "string",
          "description": "DNS server 3.\n"
        },
        "dnsServer4": {
          "type": "string",
          "description": "DNS server 4.\n"
        },
        "dnsService": {
          "type": "string",
          "description": "Options for assigning DNS servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "excludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerExcludeRange:ServerExcludeRange"
          },
          "description": "Exclude one or more ranges of IP addresses from being assigned to clients. The structure of `exclude_range` block is documented below.\n"
        },
        "filename": {
          "type": "string",
          "description": "Name of the boot file on the TFTP server.\n"
        },
        "forticlientOnNetStatus": {
          "type": "string",
          "description": "Enable/disable FortiClient-On-Net service for this DHCP server. Valid values: `disable`, `enable`.\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"
        },
        "interface": {
          "type": "string",
          "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method used to assign client IP. Valid values: `range`, `usrgrp`.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerIpRange:ServerIpRange"
          },
          "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
        },
        "ipsecLeaseHold": {
          "type": "integer",
          "description": "DHCP over IPsec leases expire this many seconds after tunnel down (0 to disable forced-expiry).\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means unlimited.\n"
        },
        "macAclDefaultAction": {
          "type": "string",
          "description": "MAC access control default action (allow or block assigning IP settings). Valid values: `assign`, `block`.\n"
        },
        "netmask": {
          "type": "string",
          "description": "Netmask assigned by the DHCP server.\n"
        },
        "nextServer": {
          "type": "string",
          "description": "IP address of a server (for example, a TFTP sever) that DHCP clients can download a boot file from.\n"
        },
        "ntpServer1": {
          "type": "string",
          "description": "NTP server 1.\n"
        },
        "ntpServer2": {
          "type": "string",
          "description": "NTP server 2.\n"
        },
        "ntpServer3": {
          "type": "string",
          "description": "NTP server 3.\n"
        },
        "ntpService": {
          "type": "string",
          "description": "Options for assigning Network Time Protocol (NTP) servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
        },
        "options": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerOption:ServerOption"
          },
          "description": "DHCP options. The structure of `options` block is documented below.\n"
        },
        "relayAgent": {
          "type": "string",
          "description": "Relay agent IP.\n"
        },
        "reservedAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerReservedAddress:ServerReservedAddress"
          },
          "description": "Options for the DHCP server to assign IP settings to specific MAC addresses. The structure of `reserved_address` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "DHCP server can be a normal DHCP server or an IPsec DHCP server. Valid values: `regular`, `ipsec`.\n"
        },
        "sharedSubnet": {
          "type": "string",
          "description": "Enable/disable shared subnet. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DHCP configuration. Valid values: `disable`, `enable`.\n"
        },
        "tftpServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerTftpServer:ServerTftpServer"
          },
          "description": "One or more hostnames or IP addresses of the TFTP servers in quotes separated by spaces. The structure of `tftp_server` block is documented below.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Select the time zone to be assigned to DHCP clients.\n"
        },
        "timezoneOption": {
          "type": "string",
          "description": "Options for the DHCP server to set the client's time zone. Valid values: `disable`, `default`, `specify`.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served. Valid values: `disable`, `enable`.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerVciString:ServerVciString"
          },
          "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` 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
        },
        "wifiAc1": {
          "type": "string",
          "description": "WiFi Access Controller 1 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAc2": {
          "type": "string",
          "description": "WiFi Access Controller 2 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAc3": {
          "type": "string",
          "description": "WiFi Access Controller 3 IP address (DHCP option 138, RFC 5417).\n"
        },
        "wifiAcService": {
          "type": "string",
          "description": "Options for assigning WiFi Access Controllers to DHCP clients Valid values: `specify`, `local`.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        }
      },
      "requiredInputs": [
        "interface",
        "netmask"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Server resources.\n",
        "properties": {
          "autoConfiguration": {
            "type": "string",
            "description": "Enable/disable auto configuration. Valid values: `disable`, `enable`.\n"
          },
          "autoManagedStatus": {
            "type": "string",
            "description": "Enable/disable use of this DHCP server once this interface has been assigned an IP address from FortiIPAM. Valid values: `disable`, `enable`.\n"
          },
          "conflictedIpTimeout": {
            "type": "integer",
            "description": "Time in seconds to wait after a conflicted IP address is removed from the DHCP range before it can be reused.\n"
          },
          "ddnsAuth": {
            "type": "string",
            "description": "DDNS authentication mode. Valid values: `disable`, `tsig`.\n"
          },
          "ddnsKey": {
            "type": "string",
            "description": "DDNS update key (base 64 encoding).\n",
            "secret": true
          },
          "ddnsKeyname": {
            "type": "string",
            "description": "DDNS update key name.\n"
          },
          "ddnsServerIp": {
            "type": "string",
            "description": "DDNS server IP.\n"
          },
          "ddnsTtl": {
            "type": "integer",
            "description": "TTL.\n"
          },
          "ddnsUpdate": {
            "type": "string",
            "description": "Enable/disable DDNS update for DHCP. Valid values: `disable`, `enable`.\n"
          },
          "ddnsUpdateOverride": {
            "type": "string",
            "description": "Enable/disable DDNS update override for DHCP. Valid values: `disable`, `enable`.\n"
          },
          "ddnsZone": {
            "type": "string",
            "description": "Zone of your domain name (ex. DDNS.com).\n"
          },
          "defaultGateway": {
            "type": "string",
            "description": "Default gateway IP address assigned by the DHCP server.\n"
          },
          "dhcpSettingsFromFortiipam": {
            "type": "string",
            "description": "Enable/disable populating of DHCP server settings from FortiIPAM. Valid values: `disable`, `enable`.\n"
          },
          "dnsServer1": {
            "type": "string",
            "description": "DNS server 1.\n"
          },
          "dnsServer2": {
            "type": "string",
            "description": "DNS server 2.\n"
          },
          "dnsServer3": {
            "type": "string",
            "description": "DNS server 3.\n"
          },
          "dnsServer4": {
            "type": "string",
            "description": "DNS server 4.\n"
          },
          "dnsService": {
            "type": "string",
            "description": "Options for assigning DNS servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
          },
          "domain": {
            "type": "string",
            "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "excludeRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerExcludeRange:ServerExcludeRange"
            },
            "description": "Exclude one or more ranges of IP addresses from being assigned to clients. The structure of `exclude_range` block is documented below.\n"
          },
          "filename": {
            "type": "string",
            "description": "Name of the boot file on the TFTP server.\n"
          },
          "forticlientOnNetStatus": {
            "type": "string",
            "description": "Enable/disable FortiClient-On-Net service for this DHCP server. Valid values: `disable`, `enable`.\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"
          },
          "interface": {
            "type": "string",
            "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
          },
          "ipMode": {
            "type": "string",
            "description": "Method used to assign client IP. Valid values: `range`, `usrgrp`.\n"
          },
          "ipRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerIpRange:ServerIpRange"
            },
            "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
          },
          "ipsecLeaseHold": {
            "type": "integer",
            "description": "DHCP over IPsec leases expire this many seconds after tunnel down (0 to disable forced-expiry).\n"
          },
          "leaseTime": {
            "type": "integer",
            "description": "Lease time in seconds, 0 means unlimited.\n"
          },
          "macAclDefaultAction": {
            "type": "string",
            "description": "MAC access control default action (allow or block assigning IP settings). Valid values: `assign`, `block`.\n"
          },
          "netmask": {
            "type": "string",
            "description": "Netmask assigned by the DHCP server.\n"
          },
          "nextServer": {
            "type": "string",
            "description": "IP address of a server (for example, a TFTP sever) that DHCP clients can download a boot file from.\n"
          },
          "ntpServer1": {
            "type": "string",
            "description": "NTP server 1.\n"
          },
          "ntpServer2": {
            "type": "string",
            "description": "NTP server 2.\n"
          },
          "ntpServer3": {
            "type": "string",
            "description": "NTP server 3.\n"
          },
          "ntpService": {
            "type": "string",
            "description": "Options for assigning Network Time Protocol (NTP) servers to DHCP clients. Valid values: `local`, `default`, `specify`.\n"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerOption:ServerOption"
            },
            "description": "DHCP options. The structure of `options` block is documented below.\n"
          },
          "relayAgent": {
            "type": "string",
            "description": "Relay agent IP.\n"
          },
          "reservedAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerReservedAddress:ServerReservedAddress"
            },
            "description": "Options for the DHCP server to assign IP settings to specific MAC addresses. The structure of `reserved_address` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "DHCP server can be a normal DHCP server or an IPsec DHCP server. Valid values: `regular`, `ipsec`.\n"
          },
          "sharedSubnet": {
            "type": "string",
            "description": "Enable/disable shared subnet. Valid values: `disable`, `enable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this DHCP configuration. Valid values: `disable`, `enable`.\n"
          },
          "tftpServers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerTftpServer:ServerTftpServer"
            },
            "description": "One or more hostnames or IP addresses of the TFTP servers in quotes separated by spaces. The structure of `tftp_server` block is documented below.\n"
          },
          "timezone": {
            "type": "string",
            "description": "Select the time zone to be assigned to DHCP clients.\n"
          },
          "timezoneOption": {
            "type": "string",
            "description": "Options for the DHCP server to set the client's time zone. Valid values: `disable`, `default`, `specify`.\n"
          },
          "vciMatch": {
            "type": "string",
            "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served. Valid values: `disable`, `enable`.\n"
          },
          "vciStrings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FServerVciString:ServerVciString"
            },
            "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` 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
          },
          "wifiAc1": {
            "type": "string",
            "description": "WiFi Access Controller 1 IP address (DHCP option 138, RFC 5417).\n"
          },
          "wifiAc2": {
            "type": "string",
            "description": "WiFi Access Controller 2 IP address (DHCP option 138, RFC 5417).\n"
          },
          "wifiAc3": {
            "type": "string",
            "description": "WiFi Access Controller 3 IP address (DHCP option 138, RFC 5417).\n"
          },
          "wifiAcService": {
            "type": "string",
            "description": "Options for assigning WiFi Access Controllers to DHCP clients Valid values: `specify`, `local`.\n"
          },
          "winsServer1": {
            "type": "string",
            "description": "WINS server 1.\n"
          },
          "winsServer2": {
            "type": "string",
            "description": "WINS server 2.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/dhcp6/server:Server": {
      "description": "Configure DHCPv6 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.system.dhcp6.Server(\"trname\", {\n    fosid: 1,\n    \"interface\": \"port3\",\n    leaseTime: 604800,\n    rapidCommit: \"disable\",\n    status: \"enable\",\n    subnet: \"2001:db8:1234:113::/64\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.dhcp6.Server(\"trname\",\n    fosid=1,\n    interface=\"port3\",\n    lease_time=604800,\n    rapid_commit=\"disable\",\n    status=\"enable\",\n    subnet=\"2001:db8:1234:113::/64\")\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.System.Dhcp6.Server(\"trname\", new()\n    {\n        Fosid = 1,\n        Interface = \"port3\",\n        LeaseTime = 604800,\n        RapidCommit = \"disable\",\n        Status = \"enable\",\n        Subnet = \"2001:db8:1234:113::/64\",\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.NewServer(ctx, \"trname\", &system.ServerArgs{\n\t\t\tFosid:       pulumi.Int(1),\n\t\t\tInterface:   pulumi.String(\"port3\"),\n\t\t\tLeaseTime:   pulumi.Int(604800),\n\t\t\tRapidCommit: pulumi.String(\"disable\"),\n\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t\tSubnet:      pulumi.String(\"2001:db8:1234:113::/64\"),\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.Server;\nimport com.pulumi.fortios.system.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            .fosid(1)\n            .interface_(\"port3\")\n            .leaseTime(604800)\n            .rapidCommit(\"disable\")\n            .status(\"enable\")\n            .subnet(\"2001:db8:1234:113::/64\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/dhcp6:Server\n    properties:\n      fosid: 1\n      interface: port3\n      leaseTime: 604800\n      rapidCommit: disable\n      status: enable\n      subnet: 2001:db8:1234:113::/64\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemDhcp6 Server can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dhcp6/server:Server 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:system/dhcp6/server:Server labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "delegatedPrefixIaid": {
          "type": "integer",
          "description": "IAID of obtained delegated-prefix from the upstream interface.\n"
        },
        "dnsSearchList": {
          "type": "string",
          "description": "DNS search list options. Valid values: `delegated`, `specify`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsServer3": {
          "type": "string",
          "description": "DNS server 3.\n"
        },
        "dnsServer4": {
          "type": "string",
          "description": "DNS server 4.\n"
        },
        "dnsService": {
          "type": "string",
          "description": "Options for assigning DNS servers to DHCPv6 clients. Valid values: `delegated`, `default`, `specify`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "interface": {
          "type": "string",
          "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method used to assign client IP. Valid values: `range`, `delegated`.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp6%2FServerIpRange:ServerIpRange"
          },
          "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means unlimited.\n"
        },
        "option1": {
          "type": "string",
          "description": "Option 1.\n"
        },
        "option2": {
          "type": "string",
          "description": "Option 2.\n"
        },
        "option3": {
          "type": "string",
          "description": "Option 3.\n"
        },
        "prefixMode": {
          "type": "string",
          "description": "Assigning a prefix from a DHCPv6 client or RA. Valid values: `dhcp6`, `ra`.\n"
        },
        "prefixRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp6%2FServerPrefixRange:ServerPrefixRange"
          },
          "description": "DHCP prefix configuration. The structure of `prefix_range` block is documented below.\n"
        },
        "rapidCommit": {
          "type": "string",
          "description": "Enable/disable allow/disallow rapid commit. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DHCPv6 configuration. Valid values: `disable`, `enable`.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Subnet or subnet-id if the IP mode is delegated.\n"
        },
        "upstreamInterface": {
          "type": "string",
          "description": "Interface name from where delegated information is provided.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "delegatedPrefixIaid",
        "dnsSearchList",
        "dnsServer1",
        "dnsServer2",
        "dnsServer3",
        "dnsServer4",
        "dnsService",
        "domain",
        "fosid",
        "interface",
        "ipMode",
        "leaseTime",
        "option1",
        "option2",
        "option3",
        "prefixMode",
        "rapidCommit",
        "status",
        "subnet",
        "upstreamInterface",
        "vdomparam"
      ],
      "inputProperties": {
        "delegatedPrefixIaid": {
          "type": "integer",
          "description": "IAID of obtained delegated-prefix from the upstream interface.\n"
        },
        "dnsSearchList": {
          "type": "string",
          "description": "DNS search list options. Valid values: `delegated`, `specify`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsServer3": {
          "type": "string",
          "description": "DNS server 3.\n"
        },
        "dnsServer4": {
          "type": "string",
          "description": "DNS server 4.\n"
        },
        "dnsService": {
          "type": "string",
          "description": "Options for assigning DNS servers to DHCPv6 clients. Valid values: `delegated`, `default`, `specify`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "interface": {
          "type": "string",
          "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method used to assign client IP. Valid values: `range`, `delegated`.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp6%2FServerIpRange:ServerIpRange"
          },
          "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means unlimited.\n"
        },
        "option1": {
          "type": "string",
          "description": "Option 1.\n"
        },
        "option2": {
          "type": "string",
          "description": "Option 2.\n"
        },
        "option3": {
          "type": "string",
          "description": "Option 3.\n"
        },
        "prefixMode": {
          "type": "string",
          "description": "Assigning a prefix from a DHCPv6 client or RA. Valid values: `dhcp6`, `ra`.\n"
        },
        "prefixRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp6%2FServerPrefixRange:ServerPrefixRange"
          },
          "description": "DHCP prefix configuration. The structure of `prefix_range` block is documented below.\n"
        },
        "rapidCommit": {
          "type": "string",
          "description": "Enable/disable allow/disallow rapid commit. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DHCPv6 configuration. Valid values: `disable`, `enable`.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Subnet or subnet-id if the IP mode is delegated.\n"
        },
        "upstreamInterface": {
          "type": "string",
          "description": "Interface name from where delegated information is provided.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "interface",
        "subnet"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Server resources.\n",
        "properties": {
          "delegatedPrefixIaid": {
            "type": "integer",
            "description": "IAID of obtained delegated-prefix from the upstream interface.\n"
          },
          "dnsSearchList": {
            "type": "string",
            "description": "DNS search list options. Valid values: `delegated`, `specify`.\n"
          },
          "dnsServer1": {
            "type": "string",
            "description": "DNS server 1.\n"
          },
          "dnsServer2": {
            "type": "string",
            "description": "DNS server 2.\n"
          },
          "dnsServer3": {
            "type": "string",
            "description": "DNS server 3.\n"
          },
          "dnsServer4": {
            "type": "string",
            "description": "DNS server 4.\n"
          },
          "dnsService": {
            "type": "string",
            "description": "Options for assigning DNS servers to DHCPv6 clients. Valid values: `delegated`, `default`, `specify`.\n"
          },
          "domain": {
            "type": "string",
            "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "interface": {
            "type": "string",
            "description": "DHCP server can assign IP configurations to clients connected to this interface.\n"
          },
          "ipMode": {
            "type": "string",
            "description": "Method used to assign client IP. Valid values: `range`, `delegated`.\n"
          },
          "ipRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp6%2FServerIpRange:ServerIpRange"
            },
            "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n"
          },
          "leaseTime": {
            "type": "integer",
            "description": "Lease time in seconds, 0 means unlimited.\n"
          },
          "option1": {
            "type": "string",
            "description": "Option 1.\n"
          },
          "option2": {
            "type": "string",
            "description": "Option 2.\n"
          },
          "option3": {
            "type": "string",
            "description": "Option 3.\n"
          },
          "prefixMode": {
            "type": "string",
            "description": "Assigning a prefix from a DHCPv6 client or RA. Valid values: `dhcp6`, `ra`.\n"
          },
          "prefixRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp6%2FServerPrefixRange:ServerPrefixRange"
            },
            "description": "DHCP prefix configuration. The structure of `prefix_range` block is documented below.\n"
          },
          "rapidCommit": {
            "type": "string",
            "description": "Enable/disable allow/disallow rapid commit. Valid values: `disable`, `enable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this DHCPv6 configuration. Valid values: `disable`, `enable`.\n"
          },
          "subnet": {
            "type": "string",
            "description": "Subnet or subnet-id if the IP mode is delegated.\n"
          },
          "upstreamInterface": {
            "type": "string",
            "description": "Interface name from where delegated information is provided.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/dns64:Dns64": {
      "description": "Configure DNS64. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSystem Dns64 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dns64:Dns64 labelname SystemDns64\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:system/dns64:Dns64 labelname SystemDns64\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "alwaysSynthesizeAaaaRecord": {
          "type": "string",
          "description": "Enable/disable AAAA record synthesis (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dns64Prefix": {
          "type": "string",
          "description": "DNS64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable DNS64 (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": [
        "alwaysSynthesizeAaaaRecord",
        "dns64Prefix",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "alwaysSynthesizeAaaaRecord": {
          "type": "string",
          "description": "Enable/disable AAAA record synthesis (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dns64Prefix": {
          "type": "string",
          "description": "DNS64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable DNS64 (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 Dns64 resources.\n",
        "properties": {
          "alwaysSynthesizeAaaaRecord": {
            "type": "string",
            "description": "Enable/disable AAAA record synthesis (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "dns64Prefix": {
            "type": "string",
            "description": "DNS64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable DNS64 (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:system/dns:Dns": {
      "description": "Configure DNS.\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.system.Dns(\"trname\", {\n    cacheNotfoundResponses: \"disable\",\n    dnsCacheLimit: 5000,\n    dnsCacheTtl: 1800,\n    ip6Primary: \"::\",\n    ip6Secondary: \"::\",\n    primary: \"208.91.112.53\",\n    retry: 2,\n    secondary: \"208.91.112.51\",\n    sourceIp: \"0.0.0.0\",\n    timeout: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Dns(\"trname\",\n    cache_notfound_responses=\"disable\",\n    dns_cache_limit=5000,\n    dns_cache_ttl=1800,\n    ip6_primary=\"::\",\n    ip6_secondary=\"::\",\n    primary=\"208.91.112.53\",\n    retry=2,\n    secondary=\"208.91.112.51\",\n    source_ip=\"0.0.0.0\",\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 trname = new Fortios.System.Dns(\"trname\", new()\n    {\n        CacheNotfoundResponses = \"disable\",\n        DnsCacheLimit = 5000,\n        DnsCacheTtl = 1800,\n        Ip6Primary = \"::\",\n        Ip6Secondary = \"::\",\n        Primary = \"208.91.112.53\",\n        Retry = 2,\n        Secondary = \"208.91.112.51\",\n        SourceIp = \"0.0.0.0\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewDns(ctx, \"trname\", &system.DnsArgs{\n\t\t\tCacheNotfoundResponses: pulumi.String(\"disable\"),\n\t\t\tDnsCacheLimit:          pulumi.Int(5000),\n\t\t\tDnsCacheTtl:            pulumi.Int(1800),\n\t\t\tIp6Primary:             pulumi.String(\"::\"),\n\t\t\tIp6Secondary:           pulumi.String(\"::\"),\n\t\t\tPrimary:                pulumi.String(\"208.91.112.53\"),\n\t\t\tRetry:                  pulumi.Int(2),\n\t\t\tSecondary:              pulumi.String(\"208.91.112.51\"),\n\t\t\tSourceIp:               pulumi.String(\"0.0.0.0\"),\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.system.Dns;\nimport com.pulumi.fortios.system.DnsArgs;\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 Dns(\"trname\", DnsArgs.builder()\n            .cacheNotfoundResponses(\"disable\")\n            .dnsCacheLimit(5000)\n            .dnsCacheTtl(1800)\n            .ip6Primary(\"::\")\n            .ip6Secondary(\"::\")\n            .primary(\"208.91.112.53\")\n            .retry(2)\n            .secondary(\"208.91.112.51\")\n            .sourceIp(\"0.0.0.0\")\n            .timeout(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Dns\n    properties:\n      cacheNotfoundResponses: disable\n      dnsCacheLimit: 5000\n      dnsCacheTtl: 1800\n      ip6Primary: '::'\n      ip6Secondary: '::'\n      primary: 208.91.112.53\n      retry: 2\n      secondary: 208.91.112.51\n      sourceIp: 0.0.0.0\n      timeout: 5\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Dns can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dns:Dns labelname SystemDns\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:system/dns:Dns labelname SystemDns\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "altPrimary": {
          "type": "string",
          "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
        },
        "altSecondary": {
          "type": "string",
          "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
        },
        "cacheNotfoundResponses": {
          "type": "string",
          "description": "Enable/disable response from the DNS server when a record is not in cache. Valid values: `disable`, `enable`.\n"
        },
        "dnsCacheLimit": {
          "type": "integer",
          "description": "Maximum number of records in the DNS cache.\n"
        },
        "dnsCacheTtl": {
          "type": "integer",
          "description": "Duration in seconds that the DNS cache retains information.\n"
        },
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsDomain:DnsDomain"
          },
          "description": "Search suffix list for hostname lookup. The structure of `domain` 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"
        },
        "fqdnCacheTtl": {
          "type": "integer",
          "description": "FQDN cache time to live in seconds (0 - 86400, default = 0).\n"
        },
        "fqdnMaxRefresh": {
          "type": "integer",
          "description": "FQDN cache maximum refresh time in seconds (3600 - 86400, default = 3600).\n"
        },
        "fqdnMinRefresh": {
          "type": "integer",
          "description": "FQDN cache minimum refresh time in seconds (10 - 3600, default = 60).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "ip6Primary": {
          "type": "string",
          "description": "Primary DNS server IPv6 address.\n"
        },
        "ip6Secondary": {
          "type": "string",
          "description": "Secondary DNS server IPv6 address.\n"
        },
        "log": {
          "type": "string",
          "description": "Local DNS log setting. Valid values: `disable`, `error`, `all`.\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address.\n"
        },
        "protocol": {
          "type": "string",
          "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "retry": {
          "type": "integer",
          "description": "Number of times to retry (0 - 5).\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address.\n"
        },
        "serverHostnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsServerHostname:DnsServerHostname"
          },
          "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
        },
        "serverSelectMethod": {
          "type": "string",
          "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "IP address used by the DNS server as its source IP.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "DNS query timeout interval in seconds (1 - 10).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "altPrimary",
        "altSecondary",
        "cacheNotfoundResponses",
        "dnsCacheLimit",
        "dnsCacheTtl",
        "dnsOverTls",
        "fqdnCacheTtl",
        "fqdnMaxRefresh",
        "fqdnMinRefresh",
        "interface",
        "interfaceSelectMethod",
        "ip6Primary",
        "ip6Secondary",
        "log",
        "primary",
        "protocol",
        "retry",
        "secondary",
        "serverSelectMethod",
        "sourceIp",
        "sslCertificate",
        "timeout",
        "vdomparam"
      ],
      "inputProperties": {
        "altPrimary": {
          "type": "string",
          "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
        },
        "altSecondary": {
          "type": "string",
          "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
        },
        "cacheNotfoundResponses": {
          "type": "string",
          "description": "Enable/disable response from the DNS server when a record is not in cache. Valid values: `disable`, `enable`.\n"
        },
        "dnsCacheLimit": {
          "type": "integer",
          "description": "Maximum number of records in the DNS cache.\n"
        },
        "dnsCacheTtl": {
          "type": "integer",
          "description": "Duration in seconds that the DNS cache retains information.\n"
        },
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsDomain:DnsDomain"
          },
          "description": "Search suffix list for hostname lookup. The structure of `domain` 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"
        },
        "fqdnCacheTtl": {
          "type": "integer",
          "description": "FQDN cache time to live in seconds (0 - 86400, default = 0).\n"
        },
        "fqdnMaxRefresh": {
          "type": "integer",
          "description": "FQDN cache maximum refresh time in seconds (3600 - 86400, default = 3600).\n"
        },
        "fqdnMinRefresh": {
          "type": "integer",
          "description": "FQDN cache minimum refresh time in seconds (10 - 3600, default = 60).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
        },
        "ip6Primary": {
          "type": "string",
          "description": "Primary DNS server IPv6 address.\n"
        },
        "ip6Secondary": {
          "type": "string",
          "description": "Secondary DNS server IPv6 address.\n"
        },
        "log": {
          "type": "string",
          "description": "Local DNS log setting. Valid values: `disable`, `error`, `all`.\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address.\n"
        },
        "protocol": {
          "type": "string",
          "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "retry": {
          "type": "integer",
          "description": "Number of times to retry (0 - 5).\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address.\n"
        },
        "serverHostnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsServerHostname:DnsServerHostname"
          },
          "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
        },
        "serverSelectMethod": {
          "type": "string",
          "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "IP address used by the DNS server as its source IP.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "DNS query timeout interval in seconds (1 - 10).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "primary"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dns resources.\n",
        "properties": {
          "altPrimary": {
            "type": "string",
            "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
          },
          "altSecondary": {
            "type": "string",
            "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
          },
          "cacheNotfoundResponses": {
            "type": "string",
            "description": "Enable/disable response from the DNS server when a record is not in cache. Valid values: `disable`, `enable`.\n"
          },
          "dnsCacheLimit": {
            "type": "integer",
            "description": "Maximum number of records in the DNS cache.\n"
          },
          "dnsCacheTtl": {
            "type": "integer",
            "description": "Duration in seconds that the DNS cache retains information.\n"
          },
          "dnsOverTls": {
            "type": "string",
            "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
          },
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDnsDomain:DnsDomain"
            },
            "description": "Search suffix list for hostname lookup. The structure of `domain` 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"
          },
          "fqdnCacheTtl": {
            "type": "integer",
            "description": "FQDN cache time to live in seconds (0 - 86400, default = 0).\n"
          },
          "fqdnMaxRefresh": {
            "type": "integer",
            "description": "FQDN cache maximum refresh time in seconds (3600 - 86400, default = 3600).\n"
          },
          "fqdnMinRefresh": {
            "type": "integer",
            "description": "FQDN cache minimum refresh time in seconds (10 - 3600, default = 60).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "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"
          },
          "ip6Primary": {
            "type": "string",
            "description": "Primary DNS server IPv6 address.\n"
          },
          "ip6Secondary": {
            "type": "string",
            "description": "Secondary DNS server IPv6 address.\n"
          },
          "log": {
            "type": "string",
            "description": "Local DNS log setting. Valid values: `disable`, `error`, `all`.\n"
          },
          "primary": {
            "type": "string",
            "description": "Primary DNS server IP address.\n"
          },
          "protocol": {
            "type": "string",
            "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
          },
          "retry": {
            "type": "integer",
            "description": "Number of times to retry (0 - 5).\n"
          },
          "secondary": {
            "type": "string",
            "description": "Secondary DNS server IP address.\n"
          },
          "serverHostnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDnsServerHostname:DnsServerHostname"
            },
            "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
          },
          "serverSelectMethod": {
            "type": "string",
            "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "IP address used by the DNS server as its source IP.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "Name of local certificate for SSL connections.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "DNS query timeout interval in seconds (1 - 10).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/dnsdatabase:Dnsdatabase": {
      "description": "Configure DNS databases.\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.system.Dnsdatabase(\"trname\", {\n    authoritative: \"enable\",\n    contact: \"hostmaster\",\n    dnsEntries: [{\n        hostname: \"sghsgh.com\",\n        ttl: 3,\n        type: \"MX\",\n    }],\n    domain: \"s.com\",\n    forwarder: \"\\\"9.9.9.9\\\" \\\"3.3.3.3\\\" \",\n    ipMaster: \"0.0.0.0\",\n    primaryName: \"dns\",\n    sourceIp: \"0.0.0.0\",\n    status: \"enable\",\n    ttl: 86400,\n    type: \"master\",\n    view: \"shadow\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Dnsdatabase(\"trname\",\n    authoritative=\"enable\",\n    contact=\"hostmaster\",\n    dns_entries=[fortios.system.DnsdatabaseDnsEntryArgs(\n        hostname=\"sghsgh.com\",\n        ttl=3,\n        type=\"MX\",\n    )],\n    domain=\"s.com\",\n    forwarder=\"\\\"9.9.9.9\\\" \\\"3.3.3.3\\\" \",\n    ip_master=\"0.0.0.0\",\n    primary_name=\"dns\",\n    source_ip=\"0.0.0.0\",\n    status=\"enable\",\n    ttl=86400,\n    type=\"master\",\n    view=\"shadow\")\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.System.Dnsdatabase(\"trname\", new()\n    {\n        Authoritative = \"enable\",\n        Contact = \"hostmaster\",\n        DnsEntries = new[]\n        {\n            new Fortios.System.Inputs.DnsdatabaseDnsEntryArgs\n            {\n                Hostname = \"sghsgh.com\",\n                Ttl = 3,\n                Type = \"MX\",\n            },\n        },\n        Domain = \"s.com\",\n        Forwarder = \"\\\"9.9.9.9\\\" \\\"3.3.3.3\\\" \",\n        IpMaster = \"0.0.0.0\",\n        PrimaryName = \"dns\",\n        SourceIp = \"0.0.0.0\",\n        Status = \"enable\",\n        Ttl = 86400,\n        Type = \"master\",\n        View = \"shadow\",\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.NewDnsdatabase(ctx, \"trname\", &system.DnsdatabaseArgs{\n\t\t\tAuthoritative: pulumi.String(\"enable\"),\n\t\t\tContact:       pulumi.String(\"hostmaster\"),\n\t\t\tDnsEntries: system.DnsdatabaseDnsEntryArray{\n\t\t\t\t&system.DnsdatabaseDnsEntryArgs{\n\t\t\t\t\tHostname: pulumi.String(\"sghsgh.com\"),\n\t\t\t\t\tTtl:      pulumi.Int(3),\n\t\t\t\t\tType:     pulumi.String(\"MX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDomain:      pulumi.String(\"s.com\"),\n\t\t\tForwarder:   pulumi.String(\"\\\"9.9.9.9\\\" \\\"3.3.3.3\\\" \"),\n\t\t\tIpMaster:    pulumi.String(\"0.0.0.0\"),\n\t\t\tPrimaryName: pulumi.String(\"dns\"),\n\t\t\tSourceIp:    pulumi.String(\"0.0.0.0\"),\n\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t\tTtl:         pulumi.Int(86400),\n\t\t\tType:        pulumi.String(\"master\"),\n\t\t\tView:        pulumi.String(\"shadow\"),\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.Dnsdatabase;\nimport com.pulumi.fortios.system.DnsdatabaseArgs;\nimport com.pulumi.fortios.system.inputs.DnsdatabaseDnsEntryArgs;\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 Dnsdatabase(\"trname\", DnsdatabaseArgs.builder()\n            .authoritative(\"enable\")\n            .contact(\"hostmaster\")\n            .dnsEntries(DnsdatabaseDnsEntryArgs.builder()\n                .hostname(\"sghsgh.com\")\n                .ttl(3)\n                .type(\"MX\")\n                .build())\n            .domain(\"s.com\")\n            .forwarder(\"\\\"9.9.9.9\\\" \\\"3.3.3.3\\\" \")\n            .ipMaster(\"0.0.0.0\")\n            .primaryName(\"dns\")\n            .sourceIp(\"0.0.0.0\")\n            .status(\"enable\")\n            .ttl(86400)\n            .type(\"master\")\n            .view(\"shadow\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Dnsdatabase\n    properties:\n      authoritative: enable\n      contact: hostmaster\n      dnsEntries:\n        - hostname: sghsgh.com\n          ttl: 3\n          type: MX\n      domain: s.com\n      forwarder: '\"9.9.9.9\" \"3.3.3.3\" '\n      ipMaster: 0.0.0.0\n      primaryName: dns\n      sourceIp: 0.0.0.0\n      status: enable\n      ttl: 86400\n      type: master\n      view: shadow\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem DnsDatabase can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dnsdatabase:Dnsdatabase 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:system/dnsdatabase:Dnsdatabase labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowTransfer": {
          "type": "string",
          "description": "DNS zone transfer IP address list.\n"
        },
        "authoritative": {
          "type": "string",
          "description": "Enable/disable authoritative zone. Valid values: `enable`, `disable`.\n"
        },
        "contact": {
          "type": "string",
          "description": "Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.\n"
        },
        "dnsEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsdatabaseDnsEntry:DnsdatabaseDnsEntry"
          },
          "description": "DNS entry. The structure of `dns_entry` block is documented below.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain 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"
        },
        "forwarder": {
          "type": "string",
          "description": "DNS zone forwarder IP address list.\n"
        },
        "forwarder6": {
          "type": "string",
          "description": "Forwarder IPv6 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"
        },
        "ipMaster": {
          "type": "string",
          "description": "IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.\n"
        },
        "ipPrimary": {
          "type": "string",
          "description": "IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.\n"
        },
        "name": {
          "type": "string",
          "description": "Zone name.\n"
        },
        "primaryName": {
          "type": "string",
          "description": "Domain name of the default DNS server for this zone.\n"
        },
        "rrMax": {
          "type": "integer",
          "description": "Maximum number of resource records (10 - 65536, 0 means infinite).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for forwarding to DNS server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "IPv6 source IP address for forwarding to DNS server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DNS zone. Valid values: `enable`, `disable`.\n"
        },
        "ttl": {
          "type": "integer",
          "description": "Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).\n"
        },
        "type": {
          "type": "string",
          "description": "Zone type (primary to manage entries directly, secondary to import entries from other zones).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "view": {
          "type": "string",
          "description": "Zone view (public to serve public clients, shadow to serve internal clients).\n"
        }
      },
      "type": "object",
      "required": [
        "allowTransfer",
        "authoritative",
        "contact",
        "domain",
        "forwarder",
        "forwarder6",
        "ipMaster",
        "ipPrimary",
        "name",
        "primaryName",
        "rrMax",
        "sourceIp",
        "sourceIp6",
        "status",
        "ttl",
        "type",
        "vdomparam",
        "view"
      ],
      "inputProperties": {
        "allowTransfer": {
          "type": "string",
          "description": "DNS zone transfer IP address list.\n"
        },
        "authoritative": {
          "type": "string",
          "description": "Enable/disable authoritative zone. Valid values: `enable`, `disable`.\n"
        },
        "contact": {
          "type": "string",
          "description": "Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.\n"
        },
        "dnsEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FDnsdatabaseDnsEntry:DnsdatabaseDnsEntry"
          },
          "description": "DNS entry. The structure of `dns_entry` block is documented below.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain 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"
        },
        "forwarder": {
          "type": "string",
          "description": "DNS zone forwarder IP address list.\n"
        },
        "forwarder6": {
          "type": "string",
          "description": "Forwarder IPv6 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"
        },
        "ipMaster": {
          "type": "string",
          "description": "IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.\n"
        },
        "ipPrimary": {
          "type": "string",
          "description": "IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.\n"
        },
        "name": {
          "type": "string",
          "description": "Zone name.\n",
          "willReplaceOnChanges": true
        },
        "primaryName": {
          "type": "string",
          "description": "Domain name of the default DNS server for this zone.\n"
        },
        "rrMax": {
          "type": "integer",
          "description": "Maximum number of resource records (10 - 65536, 0 means infinite).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for forwarding to DNS server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "IPv6 source IP address for forwarding to DNS server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DNS zone. Valid values: `enable`, `disable`.\n"
        },
        "ttl": {
          "type": "integer",
          "description": "Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).\n"
        },
        "type": {
          "type": "string",
          "description": "Zone type (primary to manage entries directly, secondary to import entries from other zones).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "view": {
          "type": "string",
          "description": "Zone view (public to serve public clients, shadow to serve internal clients).\n"
        }
      },
      "requiredInputs": [
        "authoritative",
        "domain",
        "ttl",
        "type",
        "view"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dnsdatabase resources.\n",
        "properties": {
          "allowTransfer": {
            "type": "string",
            "description": "DNS zone transfer IP address list.\n"
          },
          "authoritative": {
            "type": "string",
            "description": "Enable/disable authoritative zone. Valid values: `enable`, `disable`.\n"
          },
          "contact": {
            "type": "string",
            "description": "Email address of the administrator for this zone. You can specify only the username, such as admin or the full email address, such as admin@test.com When using only a username, the domain of the email will be this zone.\n"
          },
          "dnsEntries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FDnsdatabaseDnsEntry:DnsdatabaseDnsEntry"
            },
            "description": "DNS entry. The structure of `dns_entry` block is documented below.\n"
          },
          "domain": {
            "type": "string",
            "description": "Domain 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"
          },
          "forwarder": {
            "type": "string",
            "description": "DNS zone forwarder IP address list.\n"
          },
          "forwarder6": {
            "type": "string",
            "description": "Forwarder IPv6 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"
          },
          "ipMaster": {
            "type": "string",
            "description": "IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.\n"
          },
          "ipPrimary": {
            "type": "string",
            "description": "IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.\n"
          },
          "name": {
            "type": "string",
            "description": "Zone name.\n",
            "willReplaceOnChanges": true
          },
          "primaryName": {
            "type": "string",
            "description": "Domain name of the default DNS server for this zone.\n"
          },
          "rrMax": {
            "type": "integer",
            "description": "Maximum number of resource records (10 - 65536, 0 means infinite).\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP for forwarding to DNS server.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "IPv6 source IP address for forwarding to DNS server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this DNS zone. Valid values: `enable`, `disable`.\n"
          },
          "ttl": {
            "type": "integer",
            "description": "Default time-to-live value for the entries of this DNS zone (0 - 2147483647 sec, default = 86400).\n"
          },
          "type": {
            "type": "string",
            "description": "Zone type (primary to manage entries directly, secondary to import entries from other zones).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "view": {
            "type": "string",
            "description": "Zone view (public to serve public clients, shadow to serve internal clients).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/dnsserver:Dnsserver": {
      "description": "Configure DNS 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.system.Dnsserver(\"trname\", {\n    dnsfilterProfile: \"default\",\n    mode: \"forward-only\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Dnsserver(\"trname\",\n    dnsfilter_profile=\"default\",\n    mode=\"forward-only\")\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.System.Dnsserver(\"trname\", new()\n    {\n        DnsfilterProfile = \"default\",\n        Mode = \"forward-only\",\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.NewDnsserver(ctx, \"trname\", &system.DnsserverArgs{\n\t\t\tDnsfilterProfile: pulumi.String(\"default\"),\n\t\t\tMode:             pulumi.String(\"forward-only\"),\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.Dnsserver;\nimport com.pulumi.fortios.system.DnsserverArgs;\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 Dnsserver(\"trname\", DnsserverArgs.builder()\n            .dnsfilterProfile(\"default\")\n            .mode(\"forward-only\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Dnsserver\n    properties:\n      dnsfilterProfile: default\n      mode: forward-only\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem DnsServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dnsserver:Dnsserver 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:system/dnsserver:Dnsserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dnsfilterProfile": {
          "type": "string",
          "description": "DNS filter profile.\n"
        },
        "doh": {
          "type": "string",
          "description": "Enable/disable DNS over HTTPS/443 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "doh3": {
          "type": "string",
          "description": "Enable/disable DNS over QUIC/HTTP3/443 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "doq": {
          "type": "string",
          "description": "Enable/disable DNS over QUIC/853 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `recursive`, `non-recursive`, `forward-only`.\n"
        },
        "name": {
          "type": "string",
          "description": "DNS server 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": [
        "dnsfilterProfile",
        "doh",
        "doh3",
        "doq",
        "mode",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "dnsfilterProfile": {
          "type": "string",
          "description": "DNS filter profile.\n"
        },
        "doh": {
          "type": "string",
          "description": "Enable/disable DNS over HTTPS/443 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "doh3": {
          "type": "string",
          "description": "Enable/disable DNS over QUIC/HTTP3/443 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "doq": {
          "type": "string",
          "description": "Enable/disable DNS over QUIC/853 (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `recursive`, `non-recursive`, `forward-only`.\n"
        },
        "name": {
          "type": "string",
          "description": "DNS server 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 Dnsserver resources.\n",
        "properties": {
          "dnsfilterProfile": {
            "type": "string",
            "description": "DNS filter profile.\n"
          },
          "doh": {
            "type": "string",
            "description": "Enable/disable DNS over HTTPS/443 (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "doh3": {
            "type": "string",
            "description": "Enable/disable DNS over QUIC/HTTP3/443 (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "doq": {
            "type": "string",
            "description": "Enable/disable DNS over QUIC/853 (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "mode": {
            "type": "string",
            "description": "DNS server mode. Valid values: `recursive`, `non-recursive`, `forward-only`.\n"
          },
          "name": {
            "type": "string",
            "description": "DNS server 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:system/dscpbasedpriority:Dscpbasedpriority": {
      "description": "Configure DSCP based priority 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.system.Dscpbasedpriority(\"trname\", {\n    ds: 1,\n    fosid: 1,\n    priority: \"low\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Dscpbasedpriority(\"trname\",\n    ds=1,\n    fosid=1,\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.System.Dscpbasedpriority(\"trname\", new()\n    {\n        Ds = 1,\n        Fosid = 1,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewDscpbasedpriority(ctx, \"trname\", &system.DscpbasedpriorityArgs{\n\t\t\tDs:       pulumi.Int(1),\n\t\t\tFosid:    pulumi.Int(1),\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.system.Dscpbasedpriority;\nimport com.pulumi.fortios.system.DscpbasedpriorityArgs;\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 Dscpbasedpriority(\"trname\", DscpbasedpriorityArgs.builder()\n            .ds(1)\n            .fosid(1)\n            .priority(\"low\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Dscpbasedpriority\n    properties:\n      ds: 1\n      fosid: 1\n      priority: low\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem DscpBasedPriority can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/dscpbasedpriority:Dscpbasedpriority 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:system/dscpbasedpriority:Dscpbasedpriority labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ds": {
          "type": "integer",
          "description": "DSCP(DiffServ) DS value (0 - 63).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Item ID.\n"
        },
        "priority": {
          "type": "string",
          "description": "DSCP based priority level. 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": [
        "ds",
        "fosid",
        "priority",
        "vdomparam"
      ],
      "inputProperties": {
        "ds": {
          "type": "integer",
          "description": "DSCP(DiffServ) DS value (0 - 63).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Item ID.\n",
          "willReplaceOnChanges": true
        },
        "priority": {
          "type": "string",
          "description": "DSCP based priority level. 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 Dscpbasedpriority resources.\n",
        "properties": {
          "ds": {
            "type": "integer",
            "description": "DSCP(DiffServ) DS value (0 - 63).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Item ID.\n",
            "willReplaceOnChanges": true
          },
          "priority": {
            "type": "string",
            "description": "DSCP based priority level. 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:system/emailserver:Emailserver": {
      "description": "Configure the email server used by the FortiGate various things. For example, for sending email messages to users to support user authentication features.\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.system.Emailserver(\"trname\", {\n    authenticate: \"disable\",\n    port: 465,\n    security: \"smtps\",\n    server: \"notification.fortinet.net\",\n    sourceIp: \"0.0.0.0\",\n    sourceIp6: \"::\",\n    sslMinProtoVersion: \"default\",\n    type: \"custom\",\n    validateServer: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Emailserver(\"trname\",\n    authenticate=\"disable\",\n    port=465,\n    security=\"smtps\",\n    server=\"notification.fortinet.net\",\n    source_ip=\"0.0.0.0\",\n    source_ip6=\"::\",\n    ssl_min_proto_version=\"default\",\n    type=\"custom\",\n    validate_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.System.Emailserver(\"trname\", new()\n    {\n        Authenticate = \"disable\",\n        Port = 465,\n        Security = \"smtps\",\n        Server = \"notification.fortinet.net\",\n        SourceIp = \"0.0.0.0\",\n        SourceIp6 = \"::\",\n        SslMinProtoVersion = \"default\",\n        Type = \"custom\",\n        ValidateServer = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewEmailserver(ctx, \"trname\", &system.EmailserverArgs{\n\t\t\tAuthenticate:       pulumi.String(\"disable\"),\n\t\t\tPort:               pulumi.Int(465),\n\t\t\tSecurity:           pulumi.String(\"smtps\"),\n\t\t\tServer:             pulumi.String(\"notification.fortinet.net\"),\n\t\t\tSourceIp:           pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIp6:          pulumi.String(\"::\"),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tType:               pulumi.String(\"custom\"),\n\t\t\tValidateServer:     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.system.Emailserver;\nimport com.pulumi.fortios.system.EmailserverArgs;\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 Emailserver(\"trname\", EmailserverArgs.builder()\n            .authenticate(\"disable\")\n            .port(465)\n            .security(\"smtps\")\n            .server(\"notification.fortinet.net\")\n            .sourceIp(\"0.0.0.0\")\n            .sourceIp6(\"::\")\n            .sslMinProtoVersion(\"default\")\n            .type(\"custom\")\n            .validateServer(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Emailserver\n    properties:\n      authenticate: disable\n      port: 465\n      security: smtps\n      server: notification.fortinet.net\n      sourceIp: 0.0.0.0\n      sourceIp6: '::'\n      sslMinProtoVersion: default\n      type: custom\n      validateServer: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem EmailServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/emailserver:Emailserver labelname SystemEmailServer\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:system/emailserver:Emailserver labelname SystemEmailServer\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authenticate": {
          "type": "string",
          "description": "Enable/disable authentication. Valid values: `enable`, `disable`.\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"
        },
        "password": {
          "type": "string",
          "description": "SMTP server user password for authentication.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "SMTP server port.\n"
        },
        "replyTo": {
          "type": "string",
          "description": "Reply-To email address.\n"
        },
        "security": {
          "type": "string",
          "description": "Connection security used by the email server. Valid values: `none`, `starttls`, `smtps`.\n"
        },
        "server": {
          "type": "string",
          "description": "SMTP server IP address or hostname.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "SMTP server IPv4 source IP.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "SMTP server IPv6 source IP.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "type": {
          "type": "string",
          "description": "Use FortiGuard Message service or custom email server. Valid values: `custom`.\n"
        },
        "username": {
          "type": "string",
          "description": "SMTP server user name for authentication.\n"
        },
        "validateServer": {
          "type": "string",
          "description": "Enable/disable validation of server certificate. 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": [
        "authenticate",
        "interface",
        "interfaceSelectMethod",
        "port",
        "replyTo",
        "security",
        "server",
        "sourceIp",
        "sourceIp6",
        "sslMinProtoVersion",
        "type",
        "username",
        "validateServer",
        "vdomparam"
      ],
      "inputProperties": {
        "authenticate": {
          "type": "string",
          "description": "Enable/disable authentication. Valid values: `enable`, `disable`.\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"
        },
        "password": {
          "type": "string",
          "description": "SMTP server user password for authentication.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "SMTP server port.\n"
        },
        "replyTo": {
          "type": "string",
          "description": "Reply-To email address.\n"
        },
        "security": {
          "type": "string",
          "description": "Connection security used by the email server. Valid values: `none`, `starttls`, `smtps`.\n"
        },
        "server": {
          "type": "string",
          "description": "SMTP server IP address or hostname.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "SMTP server IPv4 source IP.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "SMTP server IPv6 source IP.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "type": {
          "type": "string",
          "description": "Use FortiGuard Message service or custom email server. Valid values: `custom`.\n"
        },
        "username": {
          "type": "string",
          "description": "SMTP server user name for authentication.\n"
        },
        "validateServer": {
          "type": "string",
          "description": "Enable/disable validation of server certificate. 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 Emailserver resources.\n",
        "properties": {
          "authenticate": {
            "type": "string",
            "description": "Enable/disable authentication. Valid values: `enable`, `disable`.\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"
          },
          "password": {
            "type": "string",
            "description": "SMTP server user password for authentication.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "SMTP server port.\n"
          },
          "replyTo": {
            "type": "string",
            "description": "Reply-To email address.\n"
          },
          "security": {
            "type": "string",
            "description": "Connection security used by the email server. Valid values: `none`, `starttls`, `smtps`.\n"
          },
          "server": {
            "type": "string",
            "description": "SMTP server IP address or hostname.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "SMTP server IPv4 source IP.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "SMTP server IPv6 source IP.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "type": {
            "type": "string",
            "description": "Use FortiGuard Message service or custom email server. Valid values: `custom`.\n"
          },
          "username": {
            "type": "string",
            "description": "SMTP server user name for authentication.\n"
          },
          "validateServer": {
            "type": "string",
            "description": "Enable/disable validation of server certificate. 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:system/evpn:Evpn": {
      "description": "Configure EVPN instance. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nSystem Evpn can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/evpn:Evpn 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:system/evpn:Evpn labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "arpSuppression": {
          "type": "string",
          "description": "Enable/disable ARP suppression. 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"
        },
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FEvpnExportRt:EvpnExportRt"
          },
          "description": "List of export route targets. The structure of `export_rt` 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"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FEvpnImportRt:EvpnImportRt"
          },
          "description": "List of import route targets. The structure of `import_rt` block is documented below.\n"
        },
        "ipLocalLearning": {
          "type": "string",
          "description": "Enable/disable IP address local learning. Valid values: `enable`, `disable`.\n"
        },
        "rd": {
          "type": "string",
          "description": "Route Distinguisher: AA|AA:NN|A.B.C.D:NN.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "arpSuppression",
        "fosid",
        "ipLocalLearning",
        "rd",
        "vdomparam"
      ],
      "inputProperties": {
        "arpSuppression": {
          "type": "string",
          "description": "Enable/disable ARP suppression. 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"
        },
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FEvpnExportRt:EvpnExportRt"
          },
          "description": "List of export route targets. The structure of `export_rt` 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"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FEvpnImportRt:EvpnImportRt"
          },
          "description": "List of import route targets. The structure of `import_rt` block is documented below.\n"
        },
        "ipLocalLearning": {
          "type": "string",
          "description": "Enable/disable IP address local learning. Valid values: `enable`, `disable`.\n"
        },
        "rd": {
          "type": "string",
          "description": "Route Distinguisher: AA|AA:NN|A.B.C.D:NN.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Evpn resources.\n",
        "properties": {
          "arpSuppression": {
            "type": "string",
            "description": "Enable/disable ARP suppression. 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"
          },
          "exportRts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FEvpnExportRt:EvpnExportRt"
            },
            "description": "List of export route targets. The structure of `export_rt` 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"
          },
          "importRts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FEvpnImportRt:EvpnImportRt"
            },
            "description": "List of import route targets. The structure of `import_rt` block is documented below.\n"
          },
          "ipLocalLearning": {
            "type": "string",
            "description": "Enable/disable IP address local learning. Valid values: `enable`, `disable`.\n"
          },
          "rd": {
            "type": "string",
            "description": "Route Distinguisher: AA|AA:NN|A.B.C.D:NN.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/externalresource:Externalresource": {
      "description": "Configure external 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 trname = new fortios.system.Externalresource(\"trname\", {\n    category: 199,\n    refreshRate: 5,\n    resource: \"https://tmpxxxxx.com\",\n    status: \"enable\",\n    type: \"category\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Externalresource(\"trname\",\n    category=199,\n    refresh_rate=5,\n    resource=\"https://tmpxxxxx.com\",\n    status=\"enable\",\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.System.Externalresource(\"trname\", new()\n    {\n        Category = 199,\n        RefreshRate = 5,\n        Resource = \"https://tmpxxxxx.com\",\n        Status = \"enable\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewExternalresource(ctx, \"trname\", &system.ExternalresourceArgs{\n\t\t\tCategory:    pulumi.Int(199),\n\t\t\tRefreshRate: pulumi.Int(5),\n\t\t\tResource:    pulumi.String(\"https://tmpxxxxx.com\"),\n\t\t\tStatus:      pulumi.String(\"enable\"),\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.system.Externalresource;\nimport com.pulumi.fortios.system.ExternalresourceArgs;\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 Externalresource(\"trname\", ExternalresourceArgs.builder()\n            .category(199)\n            .refreshRate(5)\n            .resource(\"https://tmpxxxxx.com\")\n            .status(\"enable\")\n            .type(\"category\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Externalresource\n    properties:\n      category: 199\n      refreshRate: 5\n      resource: https://tmpxxxxx.com\n      status: enable\n      type: category\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ExternalResource can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/externalresource:Externalresource 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:system/externalresource:Externalresource labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "category": {
          "type": "integer",
          "description": "User resource category.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\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": "External resource name.\n"
        },
        "password": {
          "type": "string",
          "description": "HTTP basic authentication password.\n",
          "secret": true
        },
        "refreshRate": {
          "type": "integer",
          "description": "Time interval to refresh external resource (1 - 43200 min, default = 5 min).\n"
        },
        "resource": {
          "type": "string",
          "description": "URI of external resource.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Certificate verification option. Valid values: `none`, `basic`, `full`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to communicate with server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable user resource. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "User resource type.\n"
        },
        "updateMethod": {
          "type": "string",
          "description": "External resource update method. Valid values: `feed`, `push`.\n"
        },
        "userAgent": {
          "type": "string",
          "description": "HTTP User-Agent header (default = 'curl/7.58.0').\n"
        },
        "username": {
          "type": "string",
          "description": "HTTP basic authentication user 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": [
        "category",
        "interface",
        "interfaceSelectMethod",
        "name",
        "refreshRate",
        "resource",
        "serverIdentityCheck",
        "sourceIp",
        "status",
        "type",
        "updateMethod",
        "userAgent",
        "username",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "category": {
          "type": "integer",
          "description": "User resource category.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\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": "External resource name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "HTTP basic authentication password.\n",
          "secret": true
        },
        "refreshRate": {
          "type": "integer",
          "description": "Time interval to refresh external resource (1 - 43200 min, default = 5 min).\n"
        },
        "resource": {
          "type": "string",
          "description": "URI of external resource.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Certificate verification option. Valid values: `none`, `basic`, `full`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to communicate with server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable user resource. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "User resource type.\n"
        },
        "updateMethod": {
          "type": "string",
          "description": "External resource update method. Valid values: `feed`, `push`.\n"
        },
        "userAgent": {
          "type": "string",
          "description": "HTTP User-Agent header (default = 'curl/7.58.0').\n"
        },
        "username": {
          "type": "string",
          "description": "HTTP basic authentication user 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": [
        "refreshRate",
        "resource"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Externalresource resources.\n",
        "properties": {
          "category": {
            "type": "integer",
            "description": "User resource category.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\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": "External resource name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "HTTP basic authentication password.\n",
            "secret": true
          },
          "refreshRate": {
            "type": "integer",
            "description": "Time interval to refresh external resource (1 - 43200 min, default = 5 min).\n"
          },
          "resource": {
            "type": "string",
            "description": "URI of external resource.\n"
          },
          "serverIdentityCheck": {
            "type": "string",
            "description": "Certificate verification option. Valid values: `none`, `basic`, `full`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 address used to communicate with server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable user resource. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "User resource type.\n"
          },
          "updateMethod": {
            "type": "string",
            "description": "External resource update method. Valid values: `feed`, `push`.\n"
          },
          "userAgent": {
            "type": "string",
            "description": "HTTP User-Agent header (default = 'curl/7.58.0').\n"
          },
          "username": {
            "type": "string",
            "description": "HTTP basic authentication user 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:system/fabricvpn:Fabricvpn": {
      "description": "Setup for self orchestrated fabric auto discovery VPN. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nSystem FabricVpn can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fabricvpn:Fabricvpn labelname SystemFabricVpn\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:system/fabricvpn:Fabricvpn labelname SystemFabricVpn\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "advertisedSubnets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFabricvpnAdvertisedSubnet:FabricvpnAdvertisedSubnet"
          },
          "description": "Local advertised subnets. The structure of `advertised_subnets` block is documented below.\n"
        },
        "bgpAs": {
          "type": "integer",
          "description": "BGP Router AS number, valid from 1 to 4294967295.\n"
        },
        "branchName": {
          "type": "string",
          "description": "Branch 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "healthChecks": {
          "type": "string",
          "description": "Underlying health checks.\n"
        },
        "loopbackAddressBlock": {
          "type": "string",
          "description": "IPv4 address and subnet mask for hub's loopback address, syntax: X.X.X.X/24.\n"
        },
        "loopbackAdvertisedSubnet": {
          "type": "integer",
          "description": "Loopback advertised subnet reference.\n"
        },
        "loopbackInterface": {
          "type": "string",
          "description": "Loopback interface.\n"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFabricvpnOverlay:FabricvpnOverlay"
          },
          "description": "Local overlay interfaces table. The structure of `overlays` block is documented below.\n"
        },
        "policyRule": {
          "type": "string",
          "description": "Policy creation rule. Valid values: `health-check`, `manual`, `auto`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for ADVPN.\n"
        },
        "sdwanZone": {
          "type": "string",
          "description": "Reference to created SD-WAN zone.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Fabric VPN. Valid values: `enable`, `disable`.\n"
        },
        "syncMode": {
          "type": "string",
          "description": "Setting synchronised by fabric or manual. 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"
        },
        "vpnRole": {
          "type": "string",
          "description": "Fabric VPN role. Valid values: `hub`, `spoke`.\n"
        }
      },
      "type": "object",
      "required": [
        "bgpAs",
        "branchName",
        "healthChecks",
        "loopbackAddressBlock",
        "loopbackAdvertisedSubnet",
        "loopbackInterface",
        "policyRule",
        "sdwanZone",
        "status",
        "syncMode",
        "vdomparam",
        "vpnRole"
      ],
      "inputProperties": {
        "advertisedSubnets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFabricvpnAdvertisedSubnet:FabricvpnAdvertisedSubnet"
          },
          "description": "Local advertised subnets. The structure of `advertised_subnets` block is documented below.\n"
        },
        "bgpAs": {
          "type": "integer",
          "description": "BGP Router AS number, valid from 1 to 4294967295.\n"
        },
        "branchName": {
          "type": "string",
          "description": "Branch 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "healthChecks": {
          "type": "string",
          "description": "Underlying health checks.\n"
        },
        "loopbackAddressBlock": {
          "type": "string",
          "description": "IPv4 address and subnet mask for hub's loopback address, syntax: X.X.X.X/24.\n"
        },
        "loopbackAdvertisedSubnet": {
          "type": "integer",
          "description": "Loopback advertised subnet reference.\n"
        },
        "loopbackInterface": {
          "type": "string",
          "description": "Loopback interface.\n"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFabricvpnOverlay:FabricvpnOverlay"
          },
          "description": "Local overlay interfaces table. The structure of `overlays` block is documented below.\n"
        },
        "policyRule": {
          "type": "string",
          "description": "Policy creation rule. Valid values: `health-check`, `manual`, `auto`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for ADVPN.\n"
        },
        "sdwanZone": {
          "type": "string",
          "description": "Reference to created SD-WAN zone.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Fabric VPN. Valid values: `enable`, `disable`.\n"
        },
        "syncMode": {
          "type": "string",
          "description": "Setting synchronised by fabric or manual. 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
        },
        "vpnRole": {
          "type": "string",
          "description": "Fabric VPN role. Valid values: `hub`, `spoke`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fabricvpn resources.\n",
        "properties": {
          "advertisedSubnets": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FFabricvpnAdvertisedSubnet:FabricvpnAdvertisedSubnet"
            },
            "description": "Local advertised subnets. The structure of `advertised_subnets` block is documented below.\n"
          },
          "bgpAs": {
            "type": "integer",
            "description": "BGP Router AS number, valid from 1 to 4294967295.\n"
          },
          "branchName": {
            "type": "string",
            "description": "Branch 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "healthChecks": {
            "type": "string",
            "description": "Underlying health checks.\n"
          },
          "loopbackAddressBlock": {
            "type": "string",
            "description": "IPv4 address and subnet mask for hub's loopback address, syntax: X.X.X.X/24.\n"
          },
          "loopbackAdvertisedSubnet": {
            "type": "integer",
            "description": "Loopback advertised subnet reference.\n"
          },
          "loopbackInterface": {
            "type": "string",
            "description": "Loopback interface.\n"
          },
          "overlays": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FFabricvpnOverlay:FabricvpnOverlay"
            },
            "description": "Local overlay interfaces table. The structure of `overlays` block is documented below.\n"
          },
          "policyRule": {
            "type": "string",
            "description": "Policy creation rule. Valid values: `health-check`, `manual`, `auto`.\n"
          },
          "psksecret": {
            "type": "string",
            "description": "Pre-shared secret for ADVPN.\n"
          },
          "sdwanZone": {
            "type": "string",
            "description": "Reference to created SD-WAN zone.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable Fabric VPN. Valid values: `enable`, `disable`.\n"
          },
          "syncMode": {
            "type": "string",
            "description": "Setting synchronised by fabric or manual. 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
          },
          "vpnRole": {
            "type": "string",
            "description": "Fabric VPN role. Valid values: `hub`, `spoke`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/federatedupgrade:Federatedupgrade": {
      "description": "Coordinate federated upgrades within the Security Fabric. Applies to FortiOS Version `>= 7.0.0`.\n\n## Import\n\nSystem FederatedUpgrade can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/federatedupgrade:Federatedupgrade labelname SystemFederatedUpgrade\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:system/federatedupgrade:Federatedupgrade labelname SystemFederatedUpgrade\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"
        },
        "failureDevice": {
          "type": "string",
          "description": "Serial number of the node to include.\n"
        },
        "failureReason": {
          "type": "string",
          "description": "Reason for upgrade failure.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haRebootController": {
          "type": "string",
          "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
        },
        "knownHaMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFederatedupgradeKnownHaMember:FederatedupgradeKnownHaMember"
          },
          "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\n"
        },
        "nextPathIndex": {
          "type": "integer",
          "description": "The index of the next image to upgrade to.\n"
        },
        "nodeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFederatedupgradeNodeList:FederatedupgradeNodeList"
          },
          "description": "Nodes which will be included in the upgrade. The structure of `node_list` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Current status of the upgrade.\n"
        },
        "upgradeId": {
          "type": "integer",
          "description": "Unique identifier for this upgrade.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "failureDevice",
        "failureReason",
        "haRebootController",
        "nextPathIndex",
        "status",
        "upgradeId",
        "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"
        },
        "failureDevice": {
          "type": "string",
          "description": "Serial number of the node to include.\n"
        },
        "failureReason": {
          "type": "string",
          "description": "Reason for upgrade failure.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haRebootController": {
          "type": "string",
          "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
        },
        "knownHaMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFederatedupgradeKnownHaMember:FederatedupgradeKnownHaMember"
          },
          "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\n"
        },
        "nextPathIndex": {
          "type": "integer",
          "description": "The index of the next image to upgrade to.\n"
        },
        "nodeLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FFederatedupgradeNodeList:FederatedupgradeNodeList"
          },
          "description": "Nodes which will be included in the upgrade. The structure of `node_list` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Current status of the upgrade.\n"
        },
        "upgradeId": {
          "type": "integer",
          "description": "Unique identifier for this upgrade.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Federatedupgrade 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"
          },
          "failureDevice": {
            "type": "string",
            "description": "Serial number of the node to include.\n"
          },
          "failureReason": {
            "type": "string",
            "description": "Reason for upgrade failure.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "haRebootController": {
            "type": "string",
            "description": "Serial number of the FortiGate unit that will control the reboot process for the federated upgrade of the HA cluster.\n"
          },
          "knownHaMembers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FFederatedupgradeKnownHaMember:FederatedupgradeKnownHaMember"
            },
            "description": "Known members of the HA cluster. If a member is missing at upgrade time, the upgrade will be cancelled. The structure of `known_ha_members` block is documented below.\n"
          },
          "nextPathIndex": {
            "type": "integer",
            "description": "The index of the next image to upgrade to.\n"
          },
          "nodeLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FFederatedupgradeNodeList:FederatedupgradeNodeList"
            },
            "description": "Nodes which will be included in the upgrade. The structure of `node_list` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Current status of the upgrade.\n"
          },
          "upgradeId": {
            "type": "integer",
            "description": "Unique identifier for this upgrade.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/fipscc:Fipscc": {
      "description": "Configure FIPS-CC mode.\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.system.Fipscc(\"trname\", {\n    entropyToken: \"enable\",\n    keyGenerationSelfTest: \"disable\",\n    selfTestPeriod: 1440,\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Fipscc(\"trname\",\n    entropy_token=\"enable\",\n    key_generation_self_test=\"disable\",\n    self_test_period=1440,\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.System.Fipscc(\"trname\", new()\n    {\n        EntropyToken = \"enable\",\n        KeyGenerationSelfTest = \"disable\",\n        SelfTestPeriod = 1440,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewFipscc(ctx, \"trname\", &system.FipsccArgs{\n\t\t\tEntropyToken:          pulumi.String(\"enable\"),\n\t\t\tKeyGenerationSelfTest: pulumi.String(\"disable\"),\n\t\t\tSelfTestPeriod:        pulumi.Int(1440),\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.system.Fipscc;\nimport com.pulumi.fortios.system.FipsccArgs;\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 Fipscc(\"trname\", FipsccArgs.builder()\n            .entropyToken(\"enable\")\n            .keyGenerationSelfTest(\"disable\")\n            .selfTestPeriod(1440)\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Fipscc\n    properties:\n      entropyToken: enable\n      keyGenerationSelfTest: disable\n      selfTestPeriod: 1440\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem FipsCc can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fipscc:Fipscc labelname SystemFipsCc\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:system/fipscc:Fipscc labelname SystemFipsCc\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "entropyToken": {
          "type": "string",
          "description": "Enable/disable/dynamic entropy token. Valid values: `enable`, `disable`, `dynamic`.\n"
        },
        "keyGenerationSelfTest": {
          "type": "string",
          "description": "Enable/disable self tests after key generation. Valid values: `enable`, `disable`.\n"
        },
        "selfTestPeriod": {
          "type": "integer",
          "description": "Self test period.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FIPS-CC mode. 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": [
        "entropyToken",
        "keyGenerationSelfTest",
        "selfTestPeriod",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "entropyToken": {
          "type": "string",
          "description": "Enable/disable/dynamic entropy token. Valid values: `enable`, `disable`, `dynamic`.\n"
        },
        "keyGenerationSelfTest": {
          "type": "string",
          "description": "Enable/disable self tests after key generation. Valid values: `enable`, `disable`.\n"
        },
        "selfTestPeriod": {
          "type": "integer",
          "description": "Self test period.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FIPS-CC mode. 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 Fipscc resources.\n",
        "properties": {
          "entropyToken": {
            "type": "string",
            "description": "Enable/disable/dynamic entropy token. Valid values: `enable`, `disable`, `dynamic`.\n"
          },
          "keyGenerationSelfTest": {
            "type": "string",
            "description": "Enable/disable self tests after key generation. Valid values: `enable`, `disable`.\n"
          },
          "selfTestPeriod": {
            "type": "integer",
            "description": "Self test period.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FIPS-CC mode. 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:system/fm:Fm": {
      "description": "Configure FM. Applies to FortiOS Version `<= 7.0.1`.\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.system.Fm(\"trname\", {\n    autoBackup: \"disable\",\n    ip: \"0.0.0.0\",\n    ipsec: \"disable\",\n    scheduledConfigRestore: \"disable\",\n    status: \"disable\",\n    vdom: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Fm(\"trname\",\n    auto_backup=\"disable\",\n    ip=\"0.0.0.0\",\n    ipsec=\"disable\",\n    scheduled_config_restore=\"disable\",\n    status=\"disable\",\n    vdom=\"root\")\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.System.Fm(\"trname\", new()\n    {\n        AutoBackup = \"disable\",\n        Ip = \"0.0.0.0\",\n        Ipsec = \"disable\",\n        ScheduledConfigRestore = \"disable\",\n        Status = \"disable\",\n        Vdom = \"root\",\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.NewFm(ctx, \"trname\", &system.FmArgs{\n\t\t\tAutoBackup:             pulumi.String(\"disable\"),\n\t\t\tIp:                     pulumi.String(\"0.0.0.0\"),\n\t\t\tIpsec:                  pulumi.String(\"disable\"),\n\t\t\tScheduledConfigRestore: pulumi.String(\"disable\"),\n\t\t\tStatus:                 pulumi.String(\"disable\"),\n\t\t\tVdom:                   pulumi.String(\"root\"),\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.Fm;\nimport com.pulumi.fortios.system.FmArgs;\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 Fm(\"trname\", FmArgs.builder()\n            .autoBackup(\"disable\")\n            .ip(\"0.0.0.0\")\n            .ipsec(\"disable\")\n            .scheduledConfigRestore(\"disable\")\n            .status(\"disable\")\n            .vdom(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Fm\n    properties:\n      autoBackup: disable\n      ip: 0.0.0.0\n      ipsec: disable\n      scheduledConfigRestore: disable\n      status: disable\n      vdom: root\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Fm can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fm:Fm labelname SystemFm\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:system/fm:Fm labelname SystemFm\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoBackup": {
          "type": "string",
          "description": "Enable/disable automatic backup. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        },
        "ipsec": {
          "type": "string",
          "description": "Enable/disable IPsec. Valid values: `enable`, `disable`.\n"
        },
        "scheduledConfigRestore": {
          "type": "string",
          "description": "Enable/disable scheduled configuration restore. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FM. Valid values: `enable`, `disable`.\n"
        },
        "vdom": {
          "type": "string",
          "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": [
        "autoBackup",
        "fosid",
        "ip",
        "ipsec",
        "scheduledConfigRestore",
        "status",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "autoBackup": {
          "type": "string",
          "description": "Enable/disable automatic backup. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        },
        "ipsec": {
          "type": "string",
          "description": "Enable/disable IPsec. Valid values: `enable`, `disable`.\n"
        },
        "scheduledConfigRestore": {
          "type": "string",
          "description": "Enable/disable scheduled configuration restore. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FM. Valid values: `enable`, `disable`.\n"
        },
        "vdom": {
          "type": "string",
          "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 Fm resources.\n",
        "properties": {
          "autoBackup": {
            "type": "string",
            "description": "Enable/disable automatic backup. Valid values: `enable`, `disable`.\n"
          },
          "fosid": {
            "type": "string",
            "description": "ID.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address.\n"
          },
          "ipsec": {
            "type": "string",
            "description": "Enable/disable IPsec. Valid values: `enable`, `disable`.\n"
          },
          "scheduledConfigRestore": {
            "type": "string",
            "description": "Enable/disable scheduled configuration restore. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FM. Valid values: `enable`, `disable`.\n"
          },
          "vdom": {
            "type": "string",
            "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:system/fortiai:Fortiai": {
      "description": "Configure FortiAI. 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`.\n\n## Import\n\nSystem Fortiai can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fortiai:Fortiai labelname SystemFortiai\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:system/fortiai:Fortiai labelname SystemFortiai\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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 for communications to FortiAI.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiAI. 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": [
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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 communications to FortiAI.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiAI. 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 Fortiai resources.\n",
        "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 for communications to FortiAI.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FortiAI. 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:system/fortiguard:Fortiguard": {
      "description": "Configure FortiGuard 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.system.Fortiguard(\"trname\", {\n    antispamCache: \"enable\",\n    antispamCacheMpercent: 2,\n    antispamCacheTtl: 1800,\n    antispamExpiration: 1618617600,\n    antispamForceOff: \"disable\",\n    antispamLicense: 1,\n    antispamTimeout: 7,\n    autoJoinForticloud: \"enable\",\n    ddnsServerIp: \"0.0.0.0\",\n    ddnsServerPort: 443,\n    loadBalanceServers: 1,\n    outbreakPreventionCache: \"enable\",\n    outbreakPreventionCacheMpercent: 2,\n    outbreakPreventionCacheTtl: 300,\n    outbreakPreventionExpiration: 1618617600,\n    outbreakPreventionForceOff: \"disable\",\n    outbreakPreventionLicense: 1,\n    outbreakPreventionTimeout: 7,\n    port: \"8888\",\n    sdnsServerIp: \"\\\"208.91.112.220\\\" \",\n    sdnsServerPort: 53,\n    sourceIp: \"0.0.0.0\",\n    sourceIp6: \"::\",\n    updateServerLocation: \"usa\",\n    webfilterCache: \"enable\",\n    webfilterCacheTtl: 3600,\n    webfilterExpiration: 1618617600,\n    webfilterForceOff: \"disable\",\n    webfilterLicense: 1,\n    webfilterTimeout: 15,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Fortiguard(\"trname\",\n    antispam_cache=\"enable\",\n    antispam_cache_mpercent=2,\n    antispam_cache_ttl=1800,\n    antispam_expiration=1618617600,\n    antispam_force_off=\"disable\",\n    antispam_license=1,\n    antispam_timeout=7,\n    auto_join_forticloud=\"enable\",\n    ddns_server_ip=\"0.0.0.0\",\n    ddns_server_port=443,\n    load_balance_servers=1,\n    outbreak_prevention_cache=\"enable\",\n    outbreak_prevention_cache_mpercent=2,\n    outbreak_prevention_cache_ttl=300,\n    outbreak_prevention_expiration=1618617600,\n    outbreak_prevention_force_off=\"disable\",\n    outbreak_prevention_license=1,\n    outbreak_prevention_timeout=7,\n    port=\"8888\",\n    sdns_server_ip=\"\\\"208.91.112.220\\\" \",\n    sdns_server_port=53,\n    source_ip=\"0.0.0.0\",\n    source_ip6=\"::\",\n    update_server_location=\"usa\",\n    webfilter_cache=\"enable\",\n    webfilter_cache_ttl=3600,\n    webfilter_expiration=1618617600,\n    webfilter_force_off=\"disable\",\n    webfilter_license=1,\n    webfilter_timeout=15)\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.System.Fortiguard(\"trname\", new()\n    {\n        AntispamCache = \"enable\",\n        AntispamCacheMpercent = 2,\n        AntispamCacheTtl = 1800,\n        AntispamExpiration = 1618617600,\n        AntispamForceOff = \"disable\",\n        AntispamLicense = 1,\n        AntispamTimeout = 7,\n        AutoJoinForticloud = \"enable\",\n        DdnsServerIp = \"0.0.0.0\",\n        DdnsServerPort = 443,\n        LoadBalanceServers = 1,\n        OutbreakPreventionCache = \"enable\",\n        OutbreakPreventionCacheMpercent = 2,\n        OutbreakPreventionCacheTtl = 300,\n        OutbreakPreventionExpiration = 1618617600,\n        OutbreakPreventionForceOff = \"disable\",\n        OutbreakPreventionLicense = 1,\n        OutbreakPreventionTimeout = 7,\n        Port = \"8888\",\n        SdnsServerIp = \"\\\"208.91.112.220\\\" \",\n        SdnsServerPort = 53,\n        SourceIp = \"0.0.0.0\",\n        SourceIp6 = \"::\",\n        UpdateServerLocation = \"usa\",\n        WebfilterCache = \"enable\",\n        WebfilterCacheTtl = 3600,\n        WebfilterExpiration = 1618617600,\n        WebfilterForceOff = \"disable\",\n        WebfilterLicense = 1,\n        WebfilterTimeout = 15,\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.NewFortiguard(ctx, \"trname\", &system.FortiguardArgs{\n\t\t\tAntispamCache:                   pulumi.String(\"enable\"),\n\t\t\tAntispamCacheMpercent:           pulumi.Int(2),\n\t\t\tAntispamCacheTtl:                pulumi.Int(1800),\n\t\t\tAntispamExpiration:              pulumi.Int(1618617600),\n\t\t\tAntispamForceOff:                pulumi.String(\"disable\"),\n\t\t\tAntispamLicense:                 pulumi.Int(1),\n\t\t\tAntispamTimeout:                 pulumi.Int(7),\n\t\t\tAutoJoinForticloud:              pulumi.String(\"enable\"),\n\t\t\tDdnsServerIp:                    pulumi.String(\"0.0.0.0\"),\n\t\t\tDdnsServerPort:                  pulumi.Int(443),\n\t\t\tLoadBalanceServers:              pulumi.Int(1),\n\t\t\tOutbreakPreventionCache:         pulumi.String(\"enable\"),\n\t\t\tOutbreakPreventionCacheMpercent: pulumi.Int(2),\n\t\t\tOutbreakPreventionCacheTtl:      pulumi.Int(300),\n\t\t\tOutbreakPreventionExpiration:    pulumi.Int(1618617600),\n\t\t\tOutbreakPreventionForceOff:      pulumi.String(\"disable\"),\n\t\t\tOutbreakPreventionLicense:       pulumi.Int(1),\n\t\t\tOutbreakPreventionTimeout:       pulumi.Int(7),\n\t\t\tPort:                            pulumi.String(\"8888\"),\n\t\t\tSdnsServerIp:                    pulumi.String(\"\\\"208.91.112.220\\\" \"),\n\t\t\tSdnsServerPort:                  pulumi.Int(53),\n\t\t\tSourceIp:                        pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIp6:                       pulumi.String(\"::\"),\n\t\t\tUpdateServerLocation:            pulumi.String(\"usa\"),\n\t\t\tWebfilterCache:                  pulumi.String(\"enable\"),\n\t\t\tWebfilterCacheTtl:               pulumi.Int(3600),\n\t\t\tWebfilterExpiration:             pulumi.Int(1618617600),\n\t\t\tWebfilterForceOff:               pulumi.String(\"disable\"),\n\t\t\tWebfilterLicense:                pulumi.Int(1),\n\t\t\tWebfilterTimeout:                pulumi.Int(15),\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.Fortiguard;\nimport com.pulumi.fortios.system.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            .antispamCache(\"enable\")\n            .antispamCacheMpercent(2)\n            .antispamCacheTtl(1800)\n            .antispamExpiration(1618617600)\n            .antispamForceOff(\"disable\")\n            .antispamLicense(1)\n            .antispamTimeout(7)\n            .autoJoinForticloud(\"enable\")\n            .ddnsServerIp(\"0.0.0.0\")\n            .ddnsServerPort(443)\n            .loadBalanceServers(1)\n            .outbreakPreventionCache(\"enable\")\n            .outbreakPreventionCacheMpercent(2)\n            .outbreakPreventionCacheTtl(300)\n            .outbreakPreventionExpiration(1618617600)\n            .outbreakPreventionForceOff(\"disable\")\n            .outbreakPreventionLicense(1)\n            .outbreakPreventionTimeout(7)\n            .port(\"8888\")\n            .sdnsServerIp(\"\\\"208.91.112.220\\\" \")\n            .sdnsServerPort(53)\n            .sourceIp(\"0.0.0.0\")\n            .sourceIp6(\"::\")\n            .updateServerLocation(\"usa\")\n            .webfilterCache(\"enable\")\n            .webfilterCacheTtl(3600)\n            .webfilterExpiration(1618617600)\n            .webfilterForceOff(\"disable\")\n            .webfilterLicense(1)\n            .webfilterTimeout(15)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Fortiguard\n    properties:\n      antispamCache: enable\n      antispamCacheMpercent: 2\n      antispamCacheTtl: 1800\n      antispamExpiration: 1.6186176e+09\n      antispamForceOff: disable\n      antispamLicense: 1\n      antispamTimeout: 7\n      autoJoinForticloud: enable\n      ddnsServerIp: 0.0.0.0\n      ddnsServerPort: 443\n      loadBalanceServers: 1\n      outbreakPreventionCache: enable\n      outbreakPreventionCacheMpercent: 2\n      outbreakPreventionCacheTtl: 300\n      outbreakPreventionExpiration: 1.6186176e+09\n      outbreakPreventionForceOff: disable\n      outbreakPreventionLicense: 1\n      outbreakPreventionTimeout: 7\n      port: '8888'\n      sdnsServerIp: '\"208.91.112.220\" '\n      sdnsServerPort: 53\n      sourceIp: 0.0.0.0\n      sourceIp6: '::'\n      updateServerLocation: usa\n      webfilterCache: enable\n      webfilterCacheTtl: 3600\n      webfilterExpiration: 1.6186176e+09\n      webfilterForceOff: disable\n      webfilterLicense: 1\n      webfilterTimeout: 15\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Fortiguard can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fortiguard:Fortiguard labelname SystemFortiguard\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:system/fortiguard:Fortiguard labelname SystemFortiguard\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "antispamCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard antispam request caching. Uses a small amount of memory but improves performance. Valid values: `enable`, `disable`.\n"
        },
        "antispamCacheMpercent": {
          "type": "integer",
          "description": "Maximum percentage of FortiGate memory the antispam cache is allowed to use (1 - 15).\n"
        },
        "antispamCacheMpermille": {
          "type": "integer",
          "description": "Maximum permille of FortiGate memory the antispam cache is allowed to use (1 - 150).\n"
        },
        "antispamCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for antispam cache entries in seconds (300 - 86400). Lower times reduce the cache size. Higher times may improve performance since the cache will have more entries.\n"
        },
        "antispamExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard antispam contract.\n"
        },
        "antispamForceOff": {
          "type": "string",
          "description": "Enable/disable turning off the FortiGuard antispam service. Valid values: `enable`, `disable`.\n"
        },
        "antispamLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard antispam contract.\n"
        },
        "antispamTimeout": {
          "type": "integer",
          "description": "Antispam query time out (1 - 30 sec, default = 7).\n"
        },
        "anycastSdnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiGuard anycast DNS rating server.\n"
        },
        "anycastSdnsServerPort": {
          "type": "integer",
          "description": "Port to connect to on the FortiGuard anycast DNS rating server.\n"
        },
        "autoFirmwareUpgrade": {
          "type": "string",
          "description": "Enable/disable automatic patch-level firmware upgrade from FortiGuard. The FortiGate unit searches for new patches only in the same major and minor version. Valid values: `enable`, `disable`.\n"
        },
        "autoFirmwareUpgradeDay": {
          "type": "string",
          "description": "Allowed day(s) of the week to install an automatic patch-level firmware upgrade from FortiGuard (default is none). Disallow any day of the week to use auto-firmware-upgrade-delay instead, which waits for designated days before installing an automatic patch-level firmware upgrade. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "autoFirmwareUpgradeDelay": {
          "type": "integer",
          "description": "Delay of day(s) before installing an automatic patch-level firmware upgrade from FortiGuard (default = 3). Set it 0 to use auto-firmware-upgrade-day instead, which selects allowed day(s) of the week for installing an automatic patch-level firmware upgrade.\n"
        },
        "autoFirmwareUpgradeEndHour": {
          "type": "integer",
          "description": "End time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 4). When the end time is smaller than the start time, the end time is interpreted as the next day. The actual upgrade time is selected randomly within the time window.\n"
        },
        "autoFirmwareUpgradeStartHour": {
          "type": "integer",
          "description": "Start time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 2). The actual upgrade time is selected randomly within the time window.\n"
        },
        "autoJoinForticloud": {
          "type": "string",
          "description": "Automatically connect to and login to FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiDDNS server.\n"
        },
        "ddnsServerIp6": {
          "type": "string",
          "description": "IPv6 address of the FortiDDNS server.\n"
        },
        "ddnsServerPort": {
          "type": "integer",
          "description": "Port used to communicate with FortiDDNS servers.\n"
        },
        "fdsLicenseExpiringDays": {
          "type": "integer",
          "description": "Threshold for number of days before FortiGuard license expiration to generate license expiring event log (1 - 100 days, default = 15).\n"
        },
        "fortiguardAnycast": {
          "type": "string",
          "description": "Enable/disable use of FortiGuard's anycast network. Valid values: `enable`, `disable`.\n"
        },
        "fortiguardAnycastSource": {
          "type": "string",
          "description": "Configure which of Fortinet's servers to provide FortiGuard services in FortiGuard's anycast network. Default is Fortinet. Valid values: `fortinet`, `aws`, `debug`.\n"
        },
        "guiPromptAutoUpgrade": {
          "type": "string",
          "description": "Enable/disable prompting of automatic patch-level firmware upgrade recommendation. Valid values: `enable`, `disable`.\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"
        },
        "loadBalanceServers": {
          "type": "integer",
          "description": "Number of servers to alternate between as first FortiGuard option.\n"
        },
        "outbreakPreventionCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard Virus Outbreak Prevention cache. Valid values: `enable`, `disable`.\n"
        },
        "outbreakPreventionCacheMpercent": {
          "type": "integer",
          "description": "Maximum percent of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 15%, default = 2).\n"
        },
        "outbreakPreventionCacheMpermille": {
          "type": "integer",
          "description": "Maximum permille of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 150 permille, default = 1).\n"
        },
        "outbreakPreventionCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for FortiGuard Virus Outbreak Prevention cache entries (300 - 86400 sec, default = 300).\n"
        },
        "outbreakPreventionExpiration": {
          "type": "integer",
          "description": "Expiration date of FortiGuard Virus Outbreak Prevention contract.\n"
        },
        "outbreakPreventionForceOff": {
          "type": "string",
          "description": "Turn off FortiGuard Virus Outbreak Prevention service. Valid values: `enable`, `disable`.\n"
        },
        "outbreakPreventionLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for FortiGuard Virus Outbreak Prevention contract.\n"
        },
        "outbreakPreventionTimeout": {
          "type": "integer",
          "description": "FortiGuard Virus Outbreak Prevention time out (1 - 30 sec, default = 7).\n"
        },
        "persistentConnection": {
          "type": "string",
          "description": "Enable/disable use of persistent connection to receive update notification from FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "string",
          "description": "Port used to communicate with the FortiGuard servers.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol used to communicate with the FortiGuard servers. Valid values: `udp`, `http`, `https`.\n"
        },
        "proxyPassword": {
          "type": "string",
          "description": "Proxy user password.\n",
          "secret": true
        },
        "proxyServerIp": {
          "type": "string",
          "description": "IP address of the proxy server.\n"
        },
        "proxyServerPort": {
          "type": "integer",
          "description": "Port used to communicate with the proxy server.\n"
        },
        "proxyUsername": {
          "type": "string",
          "description": "Proxy user name.\n"
        },
        "sandboxInlineScan": {
          "type": "string",
          "description": "Enable/disable FortiCloud Sandbox inline-scan. Valid values: `enable`, `disable`.\n"
        },
        "sandboxRegion": {
          "type": "string",
          "description": "Cloud sandbox region.\n"
        },
        "sdnsOptions": {
          "type": "string",
          "description": "Customization options for the FortiGuard DNS service. Valid values: `include-question-section`.\n"
        },
        "sdnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiDNS server.\n"
        },
        "sdnsServerPort": {
          "type": "integer",
          "description": "Port used to communicate with FortiDNS servers.\n"
        },
        "serviceAccountId": {
          "type": "string",
          "description": "Service account ID.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to communicate with FortiGuard.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used to communicate with FortiGuard.\n"
        },
        "updateBuildProxy": {
          "type": "string",
          "description": "Enable/disable proxy dictionary rebuild. Valid values: `enable`, `disable`.\n"
        },
        "updateDldb": {
          "type": "string",
          "description": "Enable/disable DLP signature update. Valid values: `enable`, `disable`.\n"
        },
        "updateExtdb": {
          "type": "string",
          "description": "Enable/disable external resource update. Valid values: `enable`, `disable`.\n"
        },
        "updateFfdb": {
          "type": "string",
          "description": "Enable/disable Internet Service Database update. Valid values: `enable`, `disable`.\n"
        },
        "updateServerLocation": {
          "type": "string",
          "description": "Signature update server location.\n"
        },
        "updateUwdb": {
          "type": "string",
          "description": "Enable/disable allowlist update. Valid values: `enable`, `disable`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "FortiGuard Service virtual domain 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"
        },
        "videofilterExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard video filter contract.\n"
        },
        "videofilterLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard video filter contract.\n"
        },
        "webfilterCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard web filter caching. Valid values: `enable`, `disable`.\n"
        },
        "webfilterCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for web filter cache entries in seconds (300 - 86400).\n"
        },
        "webfilterExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard web filter contract.\n"
        },
        "webfilterForceOff": {
          "type": "string",
          "description": "Enable/disable turning off the FortiGuard web filtering service. Valid values: `enable`, `disable`.\n"
        },
        "webfilterLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard web filter contract.\n"
        },
        "webfilterTimeout": {
          "type": "integer",
          "description": "Web filter query time out, 1 - 30 sec. On FortiOS versions 6.2.0-7.4.0: default = 7. On FortiOS versions >= 7.4.1: default = 15.\n"
        }
      },
      "type": "object",
      "required": [
        "antispamCache",
        "antispamCacheMpercent",
        "antispamCacheMpermille",
        "antispamCacheTtl",
        "antispamExpiration",
        "antispamForceOff",
        "antispamLicense",
        "antispamTimeout",
        "anycastSdnsServerIp",
        "anycastSdnsServerPort",
        "autoFirmwareUpgrade",
        "autoFirmwareUpgradeDay",
        "autoFirmwareUpgradeDelay",
        "autoFirmwareUpgradeEndHour",
        "autoFirmwareUpgradeStartHour",
        "autoJoinForticloud",
        "ddnsServerIp",
        "ddnsServerIp6",
        "ddnsServerPort",
        "fdsLicenseExpiringDays",
        "fortiguardAnycast",
        "fortiguardAnycastSource",
        "guiPromptAutoUpgrade",
        "interface",
        "interfaceSelectMethod",
        "loadBalanceServers",
        "outbreakPreventionCache",
        "outbreakPreventionCacheMpercent",
        "outbreakPreventionCacheMpermille",
        "outbreakPreventionCacheTtl",
        "outbreakPreventionExpiration",
        "outbreakPreventionForceOff",
        "outbreakPreventionLicense",
        "outbreakPreventionTimeout",
        "persistentConnection",
        "port",
        "protocol",
        "proxyServerIp",
        "proxyServerPort",
        "proxyUsername",
        "sandboxInlineScan",
        "sandboxRegion",
        "sdnsOptions",
        "sdnsServerIp",
        "sdnsServerPort",
        "serviceAccountId",
        "sourceIp",
        "sourceIp6",
        "updateBuildProxy",
        "updateDldb",
        "updateExtdb",
        "updateFfdb",
        "updateServerLocation",
        "updateUwdb",
        "vdom",
        "vdomparam",
        "videofilterExpiration",
        "videofilterLicense",
        "webfilterCache",
        "webfilterCacheTtl",
        "webfilterExpiration",
        "webfilterForceOff",
        "webfilterLicense",
        "webfilterTimeout"
      ],
      "inputProperties": {
        "antispamCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard antispam request caching. Uses a small amount of memory but improves performance. Valid values: `enable`, `disable`.\n"
        },
        "antispamCacheMpercent": {
          "type": "integer",
          "description": "Maximum percentage of FortiGate memory the antispam cache is allowed to use (1 - 15).\n"
        },
        "antispamCacheMpermille": {
          "type": "integer",
          "description": "Maximum permille of FortiGate memory the antispam cache is allowed to use (1 - 150).\n"
        },
        "antispamCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for antispam cache entries in seconds (300 - 86400). Lower times reduce the cache size. Higher times may improve performance since the cache will have more entries.\n"
        },
        "antispamExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard antispam contract.\n"
        },
        "antispamForceOff": {
          "type": "string",
          "description": "Enable/disable turning off the FortiGuard antispam service. Valid values: `enable`, `disable`.\n"
        },
        "antispamLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard antispam contract.\n"
        },
        "antispamTimeout": {
          "type": "integer",
          "description": "Antispam query time out (1 - 30 sec, default = 7).\n"
        },
        "anycastSdnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiGuard anycast DNS rating server.\n"
        },
        "anycastSdnsServerPort": {
          "type": "integer",
          "description": "Port to connect to on the FortiGuard anycast DNS rating server.\n"
        },
        "autoFirmwareUpgrade": {
          "type": "string",
          "description": "Enable/disable automatic patch-level firmware upgrade from FortiGuard. The FortiGate unit searches for new patches only in the same major and minor version. Valid values: `enable`, `disable`.\n"
        },
        "autoFirmwareUpgradeDay": {
          "type": "string",
          "description": "Allowed day(s) of the week to install an automatic patch-level firmware upgrade from FortiGuard (default is none). Disallow any day of the week to use auto-firmware-upgrade-delay instead, which waits for designated days before installing an automatic patch-level firmware upgrade. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "autoFirmwareUpgradeDelay": {
          "type": "integer",
          "description": "Delay of day(s) before installing an automatic patch-level firmware upgrade from FortiGuard (default = 3). Set it 0 to use auto-firmware-upgrade-day instead, which selects allowed day(s) of the week for installing an automatic patch-level firmware upgrade.\n"
        },
        "autoFirmwareUpgradeEndHour": {
          "type": "integer",
          "description": "End time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 4). When the end time is smaller than the start time, the end time is interpreted as the next day. The actual upgrade time is selected randomly within the time window.\n"
        },
        "autoFirmwareUpgradeStartHour": {
          "type": "integer",
          "description": "Start time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 2). The actual upgrade time is selected randomly within the time window.\n"
        },
        "autoJoinForticloud": {
          "type": "string",
          "description": "Automatically connect to and login to FortiCloud. Valid values: `enable`, `disable`.\n"
        },
        "ddnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiDDNS server.\n"
        },
        "ddnsServerIp6": {
          "type": "string",
          "description": "IPv6 address of the FortiDDNS server.\n"
        },
        "ddnsServerPort": {
          "type": "integer",
          "description": "Port used to communicate with FortiDDNS servers.\n"
        },
        "fdsLicenseExpiringDays": {
          "type": "integer",
          "description": "Threshold for number of days before FortiGuard license expiration to generate license expiring event log (1 - 100 days, default = 15).\n"
        },
        "fortiguardAnycast": {
          "type": "string",
          "description": "Enable/disable use of FortiGuard's anycast network. Valid values: `enable`, `disable`.\n"
        },
        "fortiguardAnycastSource": {
          "type": "string",
          "description": "Configure which of Fortinet's servers to provide FortiGuard services in FortiGuard's anycast network. Default is Fortinet. Valid values: `fortinet`, `aws`, `debug`.\n"
        },
        "guiPromptAutoUpgrade": {
          "type": "string",
          "description": "Enable/disable prompting of automatic patch-level firmware upgrade recommendation. Valid values: `enable`, `disable`.\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"
        },
        "loadBalanceServers": {
          "type": "integer",
          "description": "Number of servers to alternate between as first FortiGuard option.\n"
        },
        "outbreakPreventionCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard Virus Outbreak Prevention cache. Valid values: `enable`, `disable`.\n"
        },
        "outbreakPreventionCacheMpercent": {
          "type": "integer",
          "description": "Maximum percent of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 15%, default = 2).\n"
        },
        "outbreakPreventionCacheMpermille": {
          "type": "integer",
          "description": "Maximum permille of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 150 permille, default = 1).\n"
        },
        "outbreakPreventionCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for FortiGuard Virus Outbreak Prevention cache entries (300 - 86400 sec, default = 300).\n"
        },
        "outbreakPreventionExpiration": {
          "type": "integer",
          "description": "Expiration date of FortiGuard Virus Outbreak Prevention contract.\n"
        },
        "outbreakPreventionForceOff": {
          "type": "string",
          "description": "Turn off FortiGuard Virus Outbreak Prevention service. Valid values: `enable`, `disable`.\n"
        },
        "outbreakPreventionLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for FortiGuard Virus Outbreak Prevention contract.\n"
        },
        "outbreakPreventionTimeout": {
          "type": "integer",
          "description": "FortiGuard Virus Outbreak Prevention time out (1 - 30 sec, default = 7).\n"
        },
        "persistentConnection": {
          "type": "string",
          "description": "Enable/disable use of persistent connection to receive update notification from FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "string",
          "description": "Port used to communicate with the FortiGuard servers.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol used to communicate with the FortiGuard servers. Valid values: `udp`, `http`, `https`.\n"
        },
        "proxyPassword": {
          "type": "string",
          "description": "Proxy user password.\n",
          "secret": true
        },
        "proxyServerIp": {
          "type": "string",
          "description": "IP address of the proxy server.\n"
        },
        "proxyServerPort": {
          "type": "integer",
          "description": "Port used to communicate with the proxy server.\n"
        },
        "proxyUsername": {
          "type": "string",
          "description": "Proxy user name.\n"
        },
        "sandboxInlineScan": {
          "type": "string",
          "description": "Enable/disable FortiCloud Sandbox inline-scan. Valid values: `enable`, `disable`.\n"
        },
        "sandboxRegion": {
          "type": "string",
          "description": "Cloud sandbox region.\n"
        },
        "sdnsOptions": {
          "type": "string",
          "description": "Customization options for the FortiGuard DNS service. Valid values: `include-question-section`.\n"
        },
        "sdnsServerIp": {
          "type": "string",
          "description": "IP address of the FortiDNS server.\n"
        },
        "sdnsServerPort": {
          "type": "integer",
          "description": "Port used to communicate with FortiDNS servers.\n"
        },
        "serviceAccountId": {
          "type": "string",
          "description": "Service account ID.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address used to communicate with FortiGuard.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used to communicate with FortiGuard.\n"
        },
        "updateBuildProxy": {
          "type": "string",
          "description": "Enable/disable proxy dictionary rebuild. Valid values: `enable`, `disable`.\n"
        },
        "updateDldb": {
          "type": "string",
          "description": "Enable/disable DLP signature update. Valid values: `enable`, `disable`.\n"
        },
        "updateExtdb": {
          "type": "string",
          "description": "Enable/disable external resource update. Valid values: `enable`, `disable`.\n"
        },
        "updateFfdb": {
          "type": "string",
          "description": "Enable/disable Internet Service Database update. Valid values: `enable`, `disable`.\n"
        },
        "updateServerLocation": {
          "type": "string",
          "description": "Signature update server location.\n"
        },
        "updateUwdb": {
          "type": "string",
          "description": "Enable/disable allowlist update. Valid values: `enable`, `disable`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "FortiGuard Service virtual domain 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
        },
        "videofilterExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard video filter contract.\n"
        },
        "videofilterLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard video filter contract.\n"
        },
        "webfilterCache": {
          "type": "string",
          "description": "Enable/disable FortiGuard web filter caching. Valid values: `enable`, `disable`.\n"
        },
        "webfilterCacheTtl": {
          "type": "integer",
          "description": "Time-to-live for web filter cache entries in seconds (300 - 86400).\n"
        },
        "webfilterExpiration": {
          "type": "integer",
          "description": "Expiration date of the FortiGuard web filter contract.\n"
        },
        "webfilterForceOff": {
          "type": "string",
          "description": "Enable/disable turning off the FortiGuard web filtering service. Valid values: `enable`, `disable`.\n"
        },
        "webfilterLicense": {
          "type": "integer",
          "description": "Interval of time between license checks for the FortiGuard web filter contract.\n"
        },
        "webfilterTimeout": {
          "type": "integer",
          "description": "Web filter query time out, 1 - 30 sec. On FortiOS versions 6.2.0-7.4.0: default = 7. On FortiOS versions >= 7.4.1: default = 15.\n"
        }
      },
      "requiredInputs": [
        "antispamTimeout",
        "outbreakPreventionTimeout",
        "webfilterTimeout"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortiguard resources.\n",
        "properties": {
          "antispamCache": {
            "type": "string",
            "description": "Enable/disable FortiGuard antispam request caching. Uses a small amount of memory but improves performance. Valid values: `enable`, `disable`.\n"
          },
          "antispamCacheMpercent": {
            "type": "integer",
            "description": "Maximum percentage of FortiGate memory the antispam cache is allowed to use (1 - 15).\n"
          },
          "antispamCacheMpermille": {
            "type": "integer",
            "description": "Maximum permille of FortiGate memory the antispam cache is allowed to use (1 - 150).\n"
          },
          "antispamCacheTtl": {
            "type": "integer",
            "description": "Time-to-live for antispam cache entries in seconds (300 - 86400). Lower times reduce the cache size. Higher times may improve performance since the cache will have more entries.\n"
          },
          "antispamExpiration": {
            "type": "integer",
            "description": "Expiration date of the FortiGuard antispam contract.\n"
          },
          "antispamForceOff": {
            "type": "string",
            "description": "Enable/disable turning off the FortiGuard antispam service. Valid values: `enable`, `disable`.\n"
          },
          "antispamLicense": {
            "type": "integer",
            "description": "Interval of time between license checks for the FortiGuard antispam contract.\n"
          },
          "antispamTimeout": {
            "type": "integer",
            "description": "Antispam query time out (1 - 30 sec, default = 7).\n"
          },
          "anycastSdnsServerIp": {
            "type": "string",
            "description": "IP address of the FortiGuard anycast DNS rating server.\n"
          },
          "anycastSdnsServerPort": {
            "type": "integer",
            "description": "Port to connect to on the FortiGuard anycast DNS rating server.\n"
          },
          "autoFirmwareUpgrade": {
            "type": "string",
            "description": "Enable/disable automatic patch-level firmware upgrade from FortiGuard. The FortiGate unit searches for new patches only in the same major and minor version. Valid values: `enable`, `disable`.\n"
          },
          "autoFirmwareUpgradeDay": {
            "type": "string",
            "description": "Allowed day(s) of the week to install an automatic patch-level firmware upgrade from FortiGuard (default is none). Disallow any day of the week to use auto-firmware-upgrade-delay instead, which waits for designated days before installing an automatic patch-level firmware upgrade. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "autoFirmwareUpgradeDelay": {
            "type": "integer",
            "description": "Delay of day(s) before installing an automatic patch-level firmware upgrade from FortiGuard (default = 3). Set it 0 to use auto-firmware-upgrade-day instead, which selects allowed day(s) of the week for installing an automatic patch-level firmware upgrade.\n"
          },
          "autoFirmwareUpgradeEndHour": {
            "type": "integer",
            "description": "End time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 4). When the end time is smaller than the start time, the end time is interpreted as the next day. The actual upgrade time is selected randomly within the time window.\n"
          },
          "autoFirmwareUpgradeStartHour": {
            "type": "integer",
            "description": "Start time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 2). The actual upgrade time is selected randomly within the time window.\n"
          },
          "autoJoinForticloud": {
            "type": "string",
            "description": "Automatically connect to and login to FortiCloud. Valid values: `enable`, `disable`.\n"
          },
          "ddnsServerIp": {
            "type": "string",
            "description": "IP address of the FortiDDNS server.\n"
          },
          "ddnsServerIp6": {
            "type": "string",
            "description": "IPv6 address of the FortiDDNS server.\n"
          },
          "ddnsServerPort": {
            "type": "integer",
            "description": "Port used to communicate with FortiDDNS servers.\n"
          },
          "fdsLicenseExpiringDays": {
            "type": "integer",
            "description": "Threshold for number of days before FortiGuard license expiration to generate license expiring event log (1 - 100 days, default = 15).\n"
          },
          "fortiguardAnycast": {
            "type": "string",
            "description": "Enable/disable use of FortiGuard's anycast network. Valid values: `enable`, `disable`.\n"
          },
          "fortiguardAnycastSource": {
            "type": "string",
            "description": "Configure which of Fortinet's servers to provide FortiGuard services in FortiGuard's anycast network. Default is Fortinet. Valid values: `fortinet`, `aws`, `debug`.\n"
          },
          "guiPromptAutoUpgrade": {
            "type": "string",
            "description": "Enable/disable prompting of automatic patch-level firmware upgrade recommendation. Valid values: `enable`, `disable`.\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"
          },
          "loadBalanceServers": {
            "type": "integer",
            "description": "Number of servers to alternate between as first FortiGuard option.\n"
          },
          "outbreakPreventionCache": {
            "type": "string",
            "description": "Enable/disable FortiGuard Virus Outbreak Prevention cache. Valid values: `enable`, `disable`.\n"
          },
          "outbreakPreventionCacheMpercent": {
            "type": "integer",
            "description": "Maximum percent of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 15%, default = 2).\n"
          },
          "outbreakPreventionCacheMpermille": {
            "type": "integer",
            "description": "Maximum permille of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 150 permille, default = 1).\n"
          },
          "outbreakPreventionCacheTtl": {
            "type": "integer",
            "description": "Time-to-live for FortiGuard Virus Outbreak Prevention cache entries (300 - 86400 sec, default = 300).\n"
          },
          "outbreakPreventionExpiration": {
            "type": "integer",
            "description": "Expiration date of FortiGuard Virus Outbreak Prevention contract.\n"
          },
          "outbreakPreventionForceOff": {
            "type": "string",
            "description": "Turn off FortiGuard Virus Outbreak Prevention service. Valid values: `enable`, `disable`.\n"
          },
          "outbreakPreventionLicense": {
            "type": "integer",
            "description": "Interval of time between license checks for FortiGuard Virus Outbreak Prevention contract.\n"
          },
          "outbreakPreventionTimeout": {
            "type": "integer",
            "description": "FortiGuard Virus Outbreak Prevention time out (1 - 30 sec, default = 7).\n"
          },
          "persistentConnection": {
            "type": "string",
            "description": "Enable/disable use of persistent connection to receive update notification from FortiGuard. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "string",
            "description": "Port used to communicate with the FortiGuard servers.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol used to communicate with the FortiGuard servers. Valid values: `udp`, `http`, `https`.\n"
          },
          "proxyPassword": {
            "type": "string",
            "description": "Proxy user password.\n",
            "secret": true
          },
          "proxyServerIp": {
            "type": "string",
            "description": "IP address of the proxy server.\n"
          },
          "proxyServerPort": {
            "type": "integer",
            "description": "Port used to communicate with the proxy server.\n"
          },
          "proxyUsername": {
            "type": "string",
            "description": "Proxy user name.\n"
          },
          "sandboxInlineScan": {
            "type": "string",
            "description": "Enable/disable FortiCloud Sandbox inline-scan. Valid values: `enable`, `disable`.\n"
          },
          "sandboxRegion": {
            "type": "string",
            "description": "Cloud sandbox region.\n"
          },
          "sdnsOptions": {
            "type": "string",
            "description": "Customization options for the FortiGuard DNS service. Valid values: `include-question-section`.\n"
          },
          "sdnsServerIp": {
            "type": "string",
            "description": "IP address of the FortiDNS server.\n"
          },
          "sdnsServerPort": {
            "type": "integer",
            "description": "Port used to communicate with FortiDNS servers.\n"
          },
          "serviceAccountId": {
            "type": "string",
            "description": "Service account ID.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 address used to communicate with FortiGuard.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "Source IPv6 address used to communicate with FortiGuard.\n"
          },
          "updateBuildProxy": {
            "type": "string",
            "description": "Enable/disable proxy dictionary rebuild. Valid values: `enable`, `disable`.\n"
          },
          "updateDldb": {
            "type": "string",
            "description": "Enable/disable DLP signature update. Valid values: `enable`, `disable`.\n"
          },
          "updateExtdb": {
            "type": "string",
            "description": "Enable/disable external resource update. Valid values: `enable`, `disable`.\n"
          },
          "updateFfdb": {
            "type": "string",
            "description": "Enable/disable Internet Service Database update. Valid values: `enable`, `disable`.\n"
          },
          "updateServerLocation": {
            "type": "string",
            "description": "Signature update server location.\n"
          },
          "updateUwdb": {
            "type": "string",
            "description": "Enable/disable allowlist update. Valid values: `enable`, `disable`.\n"
          },
          "vdom": {
            "type": "string",
            "description": "FortiGuard Service virtual domain 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
          },
          "videofilterExpiration": {
            "type": "integer",
            "description": "Expiration date of the FortiGuard video filter contract.\n"
          },
          "videofilterLicense": {
            "type": "integer",
            "description": "Interval of time between license checks for the FortiGuard video filter contract.\n"
          },
          "webfilterCache": {
            "type": "string",
            "description": "Enable/disable FortiGuard web filter caching. Valid values: `enable`, `disable`.\n"
          },
          "webfilterCacheTtl": {
            "type": "integer",
            "description": "Time-to-live for web filter cache entries in seconds (300 - 86400).\n"
          },
          "webfilterExpiration": {
            "type": "integer",
            "description": "Expiration date of the FortiGuard web filter contract.\n"
          },
          "webfilterForceOff": {
            "type": "string",
            "description": "Enable/disable turning off the FortiGuard web filtering service. Valid values: `enable`, `disable`.\n"
          },
          "webfilterLicense": {
            "type": "integer",
            "description": "Interval of time between license checks for the FortiGuard web filter contract.\n"
          },
          "webfilterTimeout": {
            "type": "integer",
            "description": "Web filter query time out, 1 - 30 sec. On FortiOS versions 6.2.0-7.4.0: default = 7. On FortiOS versions >= 7.4.1: default = 15.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/fortimanager:Fortimanager": {
      "description": "Configure FortiManager. Applies to FortiOS Version `<= 7.0.1`.\n\nBy design considerations, the feature is using the fortios.system.Centralmanagement resource as documented below.\n\n## Example\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.system.Centralmanagement(\"trname\", {\n    allowMonitor: \"enable\",\n    allowPushConfiguration: \"enable\",\n    allowPushFirmware: \"enable\",\n    allowRemoteFirmwareUpgrade: \"enable\",\n    encAlgorithm: \"high\",\n    fmg: \"\\\"192.168.52.177\\\"\",\n    includeDefaultServers: \"enable\",\n    mode: \"normal\",\n    type: \"fortimanager\",\n    vdom: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Centralmanagement(\"trname\",\n    allow_monitor=\"enable\",\n    allow_push_configuration=\"enable\",\n    allow_push_firmware=\"enable\",\n    allow_remote_firmware_upgrade=\"enable\",\n    enc_algorithm=\"high\",\n    fmg=\"\\\"192.168.52.177\\\"\",\n    include_default_servers=\"enable\",\n    mode=\"normal\",\n    type=\"fortimanager\",\n    vdom=\"root\")\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.System.Centralmanagement(\"trname\", new()\n    {\n        AllowMonitor = \"enable\",\n        AllowPushConfiguration = \"enable\",\n        AllowPushFirmware = \"enable\",\n        AllowRemoteFirmwareUpgrade = \"enable\",\n        EncAlgorithm = \"high\",\n        Fmg = \"\\\"192.168.52.177\\\"\",\n        IncludeDefaultServers = \"enable\",\n        Mode = \"normal\",\n        Type = \"fortimanager\",\n        Vdom = \"root\",\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.NewCentralmanagement(ctx, \"trname\", &system.CentralmanagementArgs{\n\t\t\tAllowMonitor:               pulumi.String(\"enable\"),\n\t\t\tAllowPushConfiguration:     pulumi.String(\"enable\"),\n\t\t\tAllowPushFirmware:          pulumi.String(\"enable\"),\n\t\t\tAllowRemoteFirmwareUpgrade: pulumi.String(\"enable\"),\n\t\t\tEncAlgorithm:               pulumi.String(\"high\"),\n\t\t\tFmg:                        pulumi.String(\"\\\"192.168.52.177\\\"\"),\n\t\t\tIncludeDefaultServers:      pulumi.String(\"enable\"),\n\t\t\tMode:                       pulumi.String(\"normal\"),\n\t\t\tType:                       pulumi.String(\"fortimanager\"),\n\t\t\tVdom:                       pulumi.String(\"root\"),\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.Centralmanagement;\nimport com.pulumi.fortios.system.CentralmanagementArgs;\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 Centralmanagement(\"trname\", CentralmanagementArgs.builder()\n            .allowMonitor(\"enable\")\n            .allowPushConfiguration(\"enable\")\n            .allowPushFirmware(\"enable\")\n            .allowRemoteFirmwareUpgrade(\"enable\")\n            .encAlgorithm(\"high\")\n            .fmg(\"\\\"192.168.52.177\\\"\")\n            .includeDefaultServers(\"enable\")\n            .mode(\"normal\")\n            .type(\"fortimanager\")\n            .vdom(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Centralmanagement\n    properties:\n      allowMonitor: enable\n      allowPushConfiguration: enable\n      allowPushFirmware: enable\n      allowRemoteFirmwareUpgrade: enable\n      encAlgorithm: high\n      fmg: '\"192.168.52.177\"'\n      includeDefaultServers: enable\n      mode: normal\n      type: fortimanager\n      vdom: root\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "centralManagement": {
          "type": "string"
        },
        "centralMgmtAutoBackup": {
          "type": "string"
        },
        "centralMgmtScheduleConfigRestore": {
          "type": "string"
        },
        "centralMgmtScheduleScriptRestore": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        },
        "ipsec": {
          "type": "string"
        },
        "vdom": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "centralManagement",
        "centralMgmtAutoBackup",
        "centralMgmtScheduleConfigRestore",
        "centralMgmtScheduleScriptRestore",
        "ip",
        "ipsec",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "centralManagement": {
          "type": "string"
        },
        "centralMgmtAutoBackup": {
          "type": "string"
        },
        "centralMgmtScheduleConfigRestore": {
          "type": "string"
        },
        "centralMgmtScheduleScriptRestore": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        },
        "ipsec": {
          "type": "string"
        },
        "vdom": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortimanager resources.\n",
        "properties": {
          "centralManagement": {
            "type": "string"
          },
          "centralMgmtAutoBackup": {
            "type": "string"
          },
          "centralMgmtScheduleConfigRestore": {
            "type": "string"
          },
          "centralMgmtScheduleScriptRestore": {
            "type": "string"
          },
          "ip": {
            "type": "string"
          },
          "ipsec": {
            "type": "string"
          },
          "vdom": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:system/fortindr:Fortindr": {
      "description": "Configure FortiNDR. Applies to FortiOS Version `>= 7.0.8`.\n\n## Import\n\nSystem Fortindr can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fortindr:Fortindr labelname SystemFortindr\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:system/fortindr:Fortindr labelname SystemFortindr\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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 for communications to FortiNDR.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiNDR. 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": [
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "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 communications to FortiNDR.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiNDR. 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 Fortindr resources.\n",
        "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 for communications to FortiNDR.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FortiNDR. 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:system/fortisandbox:Fortisandbox": {
      "description": "Configure FortiSandbox.\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.system.Fortisandbox(\"trname\", {\n    encAlgorithm: \"default\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Fortisandbox(\"trname\",\n    enc_algorithm=\"default\",\n    ssl_min_proto_version=\"default\",\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.System.Fortisandbox(\"trname\", new()\n    {\n        EncAlgorithm = \"default\",\n        SslMinProtoVersion = \"default\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewFortisandbox(ctx, \"trname\", &system.FortisandboxArgs{\n\t\t\tEncAlgorithm:       pulumi.String(\"default\"),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\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.system.Fortisandbox;\nimport com.pulumi.fortios.system.FortisandboxArgs;\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 Fortisandbox(\"trname\", FortisandboxArgs.builder()\n            .encAlgorithm(\"default\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Fortisandbox\n    properties:\n      encAlgorithm: default\n      sslMinProtoVersion: default\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Fortisandbox can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fortisandbox:Fortisandbox labelname SystemFortisandbox\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:system/fortisandbox:Fortisandbox labelname SystemFortisandbox\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "email": {
          "type": "string",
          "description": "Notifier email address.\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Configure the level of SSL protection for secure communication with FortiSandbox. Valid values: `default`, `high`, `low`.\n"
        },
        "forticloud": {
          "type": "string",
          "description": "Enable/disable FortiSandbox Cloud. Valid values: `enable`, `disable`.\n"
        },
        "inlineScan": {
          "type": "string",
          "description": "Enable/disable FortiSandbox inline scan. Valid values: `enable`, `disable`.\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"
        },
        "server": {
          "type": "string",
          "description": "IPv4 or IPv6 address of the remote FortiSandbox.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to FortiSandbox.\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 FortiSandbox. 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": [
        "email",
        "encAlgorithm",
        "forticloud",
        "inlineScan",
        "interface",
        "interfaceSelectMethod",
        "server",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "email": {
          "type": "string",
          "description": "Notifier email address.\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Configure the level of SSL protection for secure communication with FortiSandbox. Valid values: `default`, `high`, `low`.\n"
        },
        "forticloud": {
          "type": "string",
          "description": "Enable/disable FortiSandbox Cloud. Valid values: `enable`, `disable`.\n"
        },
        "inlineScan": {
          "type": "string",
          "description": "Enable/disable FortiSandbox inline scan. Valid values: `enable`, `disable`.\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"
        },
        "server": {
          "type": "string",
          "description": "IPv4 or IPv6 address of the remote FortiSandbox.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to FortiSandbox.\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 FortiSandbox. 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 Fortisandbox resources.\n",
        "properties": {
          "email": {
            "type": "string",
            "description": "Notifier email address.\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Configure the level of SSL protection for secure communication with FortiSandbox. Valid values: `default`, `high`, `low`.\n"
          },
          "forticloud": {
            "type": "string",
            "description": "Enable/disable FortiSandbox Cloud. Valid values: `enable`, `disable`.\n"
          },
          "inlineScan": {
            "type": "string",
            "description": "Enable/disable FortiSandbox inline scan. Valid values: `enable`, `disable`.\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"
          },
          "server": {
            "type": "string",
            "description": "IPv4 or IPv6 address of the remote FortiSandbox.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to FortiSandbox.\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 FortiSandbox. 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:system/fssopolling:Fssopolling": {
      "description": "Configure Fortinet Single Sign On (FSSO) server.\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.system.Fssopolling(\"trname\", {\n    authentication: \"disable\",\n    listeningPort: 8000,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Fssopolling(\"trname\",\n    authentication=\"disable\",\n    listening_port=8000,\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.System.Fssopolling(\"trname\", new()\n    {\n        Authentication = \"disable\",\n        ListeningPort = 8000,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewFssopolling(ctx, \"trname\", &system.FssopollingArgs{\n\t\t\tAuthentication: pulumi.String(\"disable\"),\n\t\t\tListeningPort:  pulumi.Int(8000),\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.system.Fssopolling;\nimport com.pulumi.fortios.system.FssopollingArgs;\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 Fssopolling(\"trname\", FssopollingArgs.builder()\n            .authentication(\"disable\")\n            .listeningPort(8000)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Fssopolling\n    properties:\n      authentication: disable\n      listeningPort: 8000\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem FssoPolling can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/fssopolling:Fssopolling labelname SystemFssoPolling\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:system/fssopolling:Fssopolling labelname SystemFssoPolling\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authPassword": {
          "type": "string",
          "description": "Password to connect to FSSO Agent.\n",
          "secret": true
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable FSSO Agent Authentication. Valid values: `enable`, `disable`.\n"
        },
        "listeningPort": {
          "type": "integer",
          "description": "Listening port to accept clients (1 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FSSO Polling Mode. 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": [
        "authentication",
        "listeningPort",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "authPassword": {
          "type": "string",
          "description": "Password to connect to FSSO Agent.\n",
          "secret": true
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable FSSO Agent Authentication. Valid values: `enable`, `disable`.\n"
        },
        "listeningPort": {
          "type": "integer",
          "description": "Listening port to accept clients (1 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FSSO Polling Mode. 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 Fssopolling resources.\n",
        "properties": {
          "authPassword": {
            "type": "string",
            "description": "Password to connect to FSSO Agent.\n",
            "secret": true
          },
          "authentication": {
            "type": "string",
            "description": "Enable/disable FSSO Agent Authentication. Valid values: `enable`, `disable`.\n"
          },
          "listeningPort": {
            "type": "integer",
            "description": "Listening port to accept clients (1 - 65535).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FSSO Polling Mode. 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:system/ftmpush:Ftmpush": {
      "description": "Configure FortiToken Mobile push 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.system.Ftmpush(\"trname\", {\n    serverIp: \"0.0.0.0\",\n    serverPort: 4433,\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ftmpush(\"trname\",\n    server_ip=\"0.0.0.0\",\n    server_port=4433,\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.System.Ftmpush(\"trname\", new()\n    {\n        ServerIp = \"0.0.0.0\",\n        ServerPort = 4433,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewFtmpush(ctx, \"trname\", &system.FtmpushArgs{\n\t\t\tServerIp:   pulumi.String(\"0.0.0.0\"),\n\t\t\tServerPort: pulumi.Int(4433),\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.system.Ftmpush;\nimport com.pulumi.fortios.system.FtmpushArgs;\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 Ftmpush(\"trname\", FtmpushArgs.builder()\n            .serverIp(\"0.0.0.0\")\n            .serverPort(4433)\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ftmpush\n    properties:\n      serverIp: 0.0.0.0\n      serverPort: 4433\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem FtmPush can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ftmpush:Ftmpush labelname SystemFtmPush\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:system/ftmpush:Ftmpush labelname SystemFtmPush\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "proxy": {
          "type": "string",
          "description": "Enable/disable communication to the proxy server in FortiGuard configuration. Valid values: `enable`, `disable`.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4 address or domain name of FortiToken Mobile push services server.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Name of the server certificate to be used for SSL. On FortiOS versions 6.4.0-7.4.3: default = Fortinet_Factory.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IPv4 address of FortiToken Mobile push services server (format: xxx.xxx.xxx.xxx).\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port to communicate with FortiToken Mobile push services server (1 - 65535, default = 4433).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the use of FortiToken Mobile push services. 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": [
        "proxy",
        "server",
        "serverCert",
        "serverIp",
        "serverPort",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "proxy": {
          "type": "string",
          "description": "Enable/disable communication to the proxy server in FortiGuard configuration. Valid values: `enable`, `disable`.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4 address or domain name of FortiToken Mobile push services server.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Name of the server certificate to be used for SSL. On FortiOS versions 6.4.0-7.4.3: default = Fortinet_Factory.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IPv4 address of FortiToken Mobile push services server (format: xxx.xxx.xxx.xxx).\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port to communicate with FortiToken Mobile push services server (1 - 65535, default = 4433).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the use of FortiToken Mobile push services. 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 Ftmpush resources.\n",
        "properties": {
          "proxy": {
            "type": "string",
            "description": "Enable/disable communication to the proxy server in FortiGuard configuration. Valid values: `enable`, `disable`.\n"
          },
          "server": {
            "type": "string",
            "description": "IPv4 address or domain name of FortiToken Mobile push services server.\n"
          },
          "serverCert": {
            "type": "string",
            "description": "Name of the server certificate to be used for SSL. On FortiOS versions 6.4.0-7.4.3: default = Fortinet_Factory.\n"
          },
          "serverIp": {
            "type": "string",
            "description": "IPv4 address of FortiToken Mobile push services server (format: xxx.xxx.xxx.xxx).\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "Port to communicate with FortiToken Mobile push services server (1 - 65535, default = 4433).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the use of FortiToken Mobile push services. 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:system/geneve:Geneve": {
      "description": "Configure GENEVE devices. 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.system.Geneve(\"trname\", {\n    dstport: 22,\n    \"interface\": \"port2\",\n    ipVersion: \"ipv4-unicast\",\n    remoteIp: \"1.1.1.1\",\n    remoteIp6: \"::\",\n    vni: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Geneve(\"trname\",\n    dstport=22,\n    interface=\"port2\",\n    ip_version=\"ipv4-unicast\",\n    remote_ip=\"1.1.1.1\",\n    remote_ip6=\"::\",\n    vni=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.System.Geneve(\"trname\", new()\n    {\n        Dstport = 22,\n        Interface = \"port2\",\n        IpVersion = \"ipv4-unicast\",\n        RemoteIp = \"1.1.1.1\",\n        RemoteIp6 = \"::\",\n        Vni = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewGeneve(ctx, \"trname\", &system.GeneveArgs{\n\t\t\tDstport:   pulumi.Int(22),\n\t\t\tInterface: pulumi.String(\"port2\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4-unicast\"),\n\t\t\tRemoteIp:  pulumi.String(\"1.1.1.1\"),\n\t\t\tRemoteIp6: pulumi.String(\"::\"),\n\t\t\tVni:       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.system.Geneve;\nimport com.pulumi.fortios.system.GeneveArgs;\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 Geneve(\"trname\", GeneveArgs.builder()\n            .dstport(22)\n            .interface_(\"port2\")\n            .ipVersion(\"ipv4-unicast\")\n            .remoteIp(\"1.1.1.1\")\n            .remoteIp6(\"::\")\n            .vni(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Geneve\n    properties:\n      dstport: 22\n      interface: port2\n      ipVersion: ipv4-unicast\n      remoteIp: 1.1.1.1\n      remoteIp6: '::'\n      vni: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Geneve can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/geneve:Geneve 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:system/geneve:Geneve labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dstport": {
          "type": "integer",
          "description": "GENEVE destination port (1 - 65535, default = 6081).\n"
        },
        "interface": {
          "type": "string",
          "description": "Outgoing interface for GENEVE encapsulated traffic.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for the GENEVE interface and so for communication over the GENEVE. IPv4 or IPv6 unicast. Valid values: `ipv4-unicast`, `ipv6-unicast`.\n"
        },
        "name": {
          "type": "string",
          "description": "GENEVE device or interface name. Must be an unique interface name.\n"
        },
        "remoteIp": {
          "type": "string",
          "description": "IPv4 address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
        },
        "remoteIp6": {
          "type": "string",
          "description": "IPv6 IP address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
        },
        "type": {
          "type": "string",
          "description": "GENEVE type. Valid values: `ethernet`, `ppp`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vni": {
          "type": "integer",
          "description": "GENEVE network ID.\n"
        }
      },
      "type": "object",
      "required": [
        "dstport",
        "interface",
        "ipVersion",
        "name",
        "remoteIp",
        "remoteIp6",
        "type",
        "vdomparam",
        "vni"
      ],
      "inputProperties": {
        "dstport": {
          "type": "integer",
          "description": "GENEVE destination port (1 - 65535, default = 6081).\n"
        },
        "interface": {
          "type": "string",
          "description": "Outgoing interface for GENEVE encapsulated traffic.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for the GENEVE interface and so for communication over the GENEVE. IPv4 or IPv6 unicast. Valid values: `ipv4-unicast`, `ipv6-unicast`.\n"
        },
        "name": {
          "type": "string",
          "description": "GENEVE device or interface name. Must be an unique interface name.\n",
          "willReplaceOnChanges": true
        },
        "remoteIp": {
          "type": "string",
          "description": "IPv4 address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
        },
        "remoteIp6": {
          "type": "string",
          "description": "IPv6 IP address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
        },
        "type": {
          "type": "string",
          "description": "GENEVE type. Valid values: `ethernet`, `ppp`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vni": {
          "type": "integer",
          "description": "GENEVE network ID.\n"
        }
      },
      "requiredInputs": [
        "interface",
        "ipVersion",
        "remoteIp",
        "vni"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Geneve resources.\n",
        "properties": {
          "dstport": {
            "type": "integer",
            "description": "GENEVE destination port (1 - 65535, default = 6081).\n"
          },
          "interface": {
            "type": "string",
            "description": "Outgoing interface for GENEVE encapsulated traffic.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version to use for the GENEVE interface and so for communication over the GENEVE. IPv4 or IPv6 unicast. Valid values: `ipv4-unicast`, `ipv6-unicast`.\n"
          },
          "name": {
            "type": "string",
            "description": "GENEVE device or interface name. Must be an unique interface name.\n",
            "willReplaceOnChanges": true
          },
          "remoteIp": {
            "type": "string",
            "description": "IPv4 address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
          },
          "remoteIp6": {
            "type": "string",
            "description": "IPv6 IP address of the GENEVE interface on the device at the remote end of the GENEVE.\n"
          },
          "type": {
            "type": "string",
            "description": "GENEVE type. Valid values: `ethernet`, `ppp`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vni": {
            "type": "integer",
            "description": "GENEVE network ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/geoipcountry:Geoipcountry": {
      "description": "Define geoip country name-ID table. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSystem GeoipCountry can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/geoipcountry:Geoipcountry 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:system/geoipcountry:Geoipcountry labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "string",
          "description": "Country ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Country 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": "string",
          "description": "Country ID.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Country 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 Geoipcountry resources.\n",
        "properties": {
          "fosid": {
            "type": "string",
            "description": "Country ID.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Country 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:system/geoipoverride:Geoipoverride": {
      "description": "Configure geographical location mapping for IP address(es) to override mappings from FortiGuard.\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.system.Geoipoverride(\"trname\", {description: \"TEST for country\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Geoipoverride(\"trname\", description=\"TEST for country\")\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.System.Geoipoverride(\"trname\", new()\n    {\n        Description = \"TEST for country\",\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.NewGeoipoverride(ctx, \"trname\", &system.GeoipoverrideArgs{\n\t\t\tDescription: pulumi.String(\"TEST for country\"),\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.Geoipoverride;\nimport com.pulumi.fortios.system.GeoipoverrideArgs;\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 Geoipoverride(\"trname\", GeoipoverrideArgs.builder()\n            .description(\"TEST for country\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Geoipoverride\n    properties:\n      description: TEST for country\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem GeoipOverride can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/geoipoverride:Geoipoverride 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:system/geoipoverride:Geoipoverride labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "countryId": {
          "type": "string",
          "description": "Two character Country ID code.\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "ip6Ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGeoipoverrideIp6Range:GeoipoverrideIp6Range"
          },
          "description": "Table of IPv6 ranges assigned to country. The structure of `ip6_range` block is documented below.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGeoipoverrideIpRange:GeoipoverrideIpRange"
          },
          "description": "Table of IP ranges assigned to country. The structure of `ip_range` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Location 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": [
        "countryId",
        "description",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "countryId": {
          "type": "string",
          "description": "Two character Country ID code.\n"
        },
        "description": {
          "type": "string",
          "description": "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"
        },
        "ip6Ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGeoipoverrideIp6Range:GeoipoverrideIp6Range"
          },
          "description": "Table of IPv6 ranges assigned to country. The structure of `ip6_range` block is documented below.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGeoipoverrideIpRange:GeoipoverrideIpRange"
          },
          "description": "Table of IP ranges assigned to country. The structure of `ip_range` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Location 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 Geoipoverride resources.\n",
        "properties": {
          "countryId": {
            "type": "string",
            "description": "Two character Country ID code.\n"
          },
          "description": {
            "type": "string",
            "description": "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"
          },
          "ip6Ranges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FGeoipoverrideIp6Range:GeoipoverrideIp6Range"
            },
            "description": "Table of IPv6 ranges assigned to country. The structure of `ip6_range` block is documented below.\n"
          },
          "ipRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FGeoipoverrideIpRange:GeoipoverrideIpRange"
            },
            "description": "Table of IP ranges assigned to country. The structure of `ip_range` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Location 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:system/global:Global": {
      "description": "Configure global attributes.\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.system.Global(\"trname\", {\n    adminSport: 443,\n    alias: \"FGVM02TM20003062\",\n    hostname: \"ste11\",\n    timezone: \"04\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Global(\"trname\",\n    admin_sport=443,\n    alias=\"FGVM02TM20003062\",\n    hostname=\"ste11\",\n    timezone=\"04\")\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.System.Global(\"trname\", new()\n    {\n        AdminSport = 443,\n        Alias = \"FGVM02TM20003062\",\n        Hostname = \"ste11\",\n        Timezone = \"04\",\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.NewGlobal(ctx, \"trname\", &system.GlobalArgs{\n\t\t\tAdminSport: pulumi.Int(443),\n\t\t\tAlias:      pulumi.String(\"FGVM02TM20003062\"),\n\t\t\tHostname:   pulumi.String(\"ste11\"),\n\t\t\tTimezone:   pulumi.String(\"04\"),\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.Global;\nimport com.pulumi.fortios.system.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            .adminSport(443)\n            .alias(\"FGVM02TM20003062\")\n            .hostname(\"ste11\")\n            .timezone(\"04\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Global\n    properties:\n      adminSport: 443\n      alias: FGVM02TM20003062\n      hostname: ste11\n      timezone: '04'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/global:Global labelname SystemGlobal\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:system/global:Global labelname SystemGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adminConcurrent": {
          "type": "string",
          "description": "Enable/disable concurrent administrator logins. Use policy-auth-concurrent for firewall authenticated users. Valid values: `enable`, `disable`.\n"
        },
        "adminConsoleTimeout": {
          "type": "integer",
          "description": "Console login timeout that overrides the admin timeout value (15 - 300 seconds, default = 0, which disables the timeout).\n"
        },
        "adminForticloudSsoDefaultProfile": {
          "type": "string",
          "description": "Override access profile.\n"
        },
        "adminForticloudSsoLogin": {
          "type": "string",
          "description": "Enable/disable FortiCloud admin login via SSO. Valid values: `enable`, `disable`.\n"
        },
        "adminHost": {
          "type": "string",
          "description": "Administrative host for HTTP and HTTPS. When set, will be used in lieu of the client's Host header for any redirection.\n"
        },
        "adminHstsMaxAge": {
          "type": "integer",
          "description": "HTTPS Strict-Transport-Security header max-age in seconds. A value of 0 will reset any HSTS records in the browser.When admin-https-redirect is disabled the header max-age will be 0.\n"
        },
        "adminHttpsPkiRequired": {
          "type": "string",
          "description": "Enable/disable admin login method. Enable to force administrators to provide a valid certificate to log in if PKI is enabled. Disable to allow administrators to log in with a certificate or password. Valid values: `enable`, `disable`.\n"
        },
        "adminHttpsRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP administration access to HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "adminHttpsSslBannedCiphers": {
          "type": "string",
          "description": "Select one or more cipher technologies that cannot be used in GUI HTTPS negotiations. Only applies to TLS 1.2 and below. Valid values: `RSA`, `DHE`, `ECDHE`, `DSS`, `ECDSA`, `AES`, `AESGCM`, `CAMELLIA`, `3DES`, `SHA1`, `SHA256`, `SHA384`, `STATIC`, `CHACHA20`, `ARIA`, `AESCCM`.\n"
        },
        "adminHttpsSslCiphersuites": {
          "type": "string",
          "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, remove TLS1.3 from admin-https-ssl-versions. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
        },
        "adminHttpsSslVersions": {
          "type": "string",
          "description": "Allowed TLS versions for web administration.\n"
        },
        "adminLockoutDuration": {
          "type": "integer",
          "description": "Amount of time in seconds that an administrator account is locked out after reaching the admin-lockout-threshold for repeated failed login attempts.\n"
        },
        "adminLockoutThreshold": {
          "type": "integer",
          "description": "Number of failed login attempts before an administrator account is locked out for the admin-lockout-duration.\n"
        },
        "adminLoginMax": {
          "type": "integer",
          "description": "Maximum number of administrators who can be logged in at the same time (1 - 100, default = 100)\n"
        },
        "adminMaintainer": {
          "type": "string",
          "description": "Enable/disable maintainer administrator login. When enabled, the maintainer account can be used to log in from the console after a hard reboot. The password is \"bcpb\" followed by the FortiGate unit serial number. You have limited time to complete this login. Valid values: `enable`, `disable`.\n"
        },
        "adminPort": {
          "type": "integer",
          "description": "Administrative access port for HTTP. (1 - 65535, default = 80).\n"
        },
        "adminRestrictLocal": {
          "type": "string",
          "description": "Enable/disable local admin authentication restriction when remote authenticator is up and running. (default = disable) Valid values: `enable`, `disable`.\n"
        },
        "adminScp": {
          "type": "string",
          "description": "Enable/disable using SCP to download the system configuration. You can use SCP as an alternative method for backing up the configuration. Valid values: `enable`, `disable`.\n"
        },
        "adminServerCert": {
          "type": "string",
          "description": "Server certificate that the FortiGate uses for HTTPS administrative connections.\n"
        },
        "adminSport": {
          "type": "integer",
          "description": "Administrative access port for HTTPS. (1 - 65535, default = 443).\n"
        },
        "adminSshGraceTime": {
          "type": "integer",
          "description": "Maximum time in seconds permitted between making an SSH connection to the FortiGate unit and authenticating (10 - 3600 sec (1 hour), default 120).\n"
        },
        "adminSshPassword": {
          "type": "string",
          "description": "Enable/disable password authentication for SSH admin access. Valid values: `enable`, `disable`.\n"
        },
        "adminSshPort": {
          "type": "integer",
          "description": "Administrative access port for SSH. (1 - 65535, default = 22).\n"
        },
        "adminSshV1": {
          "type": "string",
          "description": "Enable/disable SSH v1 compatibility. Valid values: `enable`, `disable`.\n"
        },
        "adminTelnet": {
          "type": "string",
          "description": "Enable/disable TELNET service. Valid values: `enable`, `disable`.\n"
        },
        "adminTelnetPort": {
          "type": "integer",
          "description": "Administrative access port for TELNET. (1 - 65535, default = 23).\n"
        },
        "admintimeout": {
          "type": "integer",
          "description": "Number of minutes before an idle administrator session times out (default = 5). A shorter idle timeout is more secure. On FortiOS versions 6.2.0-6.2.6: 5 - 480 minutes (8 hours). On FortiOS versions >= 6.4.0: 1 - 480 minutes (8 hours).\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias for your FortiGate unit.\n"
        },
        "allowTrafficRedirect": {
          "type": "string",
          "description": "Disable to allow traffic to be routed back on a different interface. Valid values: `enable`, `disable`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Level of checking for packet replay and TCP sequence checking. Valid values: `disable`, `loose`, `strict`.\n"
        },
        "arpMaxEntry": {
          "type": "integer",
          "description": "Maximum number of dynamically learned MAC addresses that can be added to the ARP table (131072 - 2147483647, default = 131072).\n"
        },
        "asymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric route. Valid values: `enable`, `disable`.\n"
        },
        "authCert": {
          "type": "string",
          "description": "Server certificate that the FortiGate uses for HTTPS firewall authentication connections.\n"
        },
        "authHttpPort": {
          "type": "integer",
          "description": "User authentication HTTP port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 80. On FortiOS versions >= 6.4.0: default = 1000.\n"
        },
        "authHttpsPort": {
          "type": "integer",
          "description": "User authentication HTTPS port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 443. On FortiOS versions >= 6.4.0: default = 1003.\n"
        },
        "authIkeSamlPort": {
          "type": "integer",
          "description": "User IKE SAML authentication port (0 - 65535, default = 1001).\n"
        },
        "authKeepalive": {
          "type": "string",
          "description": "Enable to prevent user authentication sessions from timing out when idle. Valid values: `enable`, `disable`.\n"
        },
        "authSessionLimit": {
          "type": "string",
          "description": "Action to take when the number of allowed user authenticated sessions is reached. Valid values: `block-new`, `logout-inactive`.\n"
        },
        "autoAuthExtensionDevice": {
          "type": "string",
          "description": "Enable/disable automatic authorization of dedicated Fortinet extension devices. Valid values: `enable`, `disable`.\n"
        },
        "autorunLogFsck": {
          "type": "string",
          "description": "Enable/disable automatic log partition check after ungraceful shutdown. Valid values: `enable`, `disable`.\n"
        },
        "avAffinity": {
          "type": "string",
          "description": "Affinity setting for AV scanning (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "avFailopen": {
          "type": "string",
          "description": "Set the action to take if the FortiGate is running low on memory or the proxy connection limit has been reached. Valid values: `pass`, `off`, `one-shot`.\n"
        },
        "avFailopenSession": {
          "type": "string",
          "description": "When enabled and a proxy for a protocol runs out of room in its session table, that protocol goes into failopen mode and enacts the action specified by av-failopen. Valid values: `enable`, `disable`.\n"
        },
        "batchCmdb": {
          "type": "string",
          "description": "Enable/disable batch mode, allowing you to enter a series of CLI commands that will execute as a group once they are loaded. Valid values: `enable`, `disable`.\n"
        },
        "bfdAffinity": {
          "type": "string",
          "description": "Affinity setting for BFD daemon (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "blockSessionTimer": {
          "type": "integer",
          "description": "Duration in seconds for blocked sessions (1 - 300 sec  (5 minutes), default = 30).\n"
        },
        "brFdbMaxEntry": {
          "type": "integer",
          "description": "Maximum number of bridge forwarding database (FDB) entries.\n"
        },
        "certChainMax": {
          "type": "integer",
          "description": "Maximum number of certificates that can be traversed in a certificate chain.\n"
        },
        "cfgRevertTimeout": {
          "type": "integer",
          "description": "Time-out for reverting to the last saved configuration. (10 - 4294967295 seconds, default = 600).\n"
        },
        "cfgSave": {
          "type": "string",
          "description": "Configuration file save mode for CLI changes. Valid values: `automatic`, `manual`, `revert`.\n"
        },
        "checkProtocolHeader": {
          "type": "string",
          "description": "Level of checking performed on protocol headers. Strict checking is more thorough but may affect performance. Loose checking is ok in most cases. Valid values: `loose`, `strict`.\n"
        },
        "checkResetRange": {
          "type": "string",
          "description": "Configure ICMP error message verification. You can either apply strict RST range checking or disable it. Valid values: `strict`, `disable`.\n"
        },
        "cliAuditLog": {
          "type": "string",
          "description": "Enable/disable CLI audit log. Valid values: `enable`, `disable`.\n"
        },
        "cloudCommunication": {
          "type": "string",
          "description": "Enable/disable all cloud communication. Valid values: `enable`, `disable`.\n"
        },
        "cltCertReq": {
          "type": "string",
          "description": "Enable/disable requiring administrators to have a client certificate to log into the GUI using HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "cmdbsvrAffinity": {
          "type": "string",
          "description": "Affinity setting for cmdbsvr (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable global PCI DSS compliance check. Valid values: `enable`, `disable`.\n"
        },
        "complianceCheckTime": {
          "type": "string",
          "description": "Time of day to run scheduled PCI DSS compliance checks.\n"
        },
        "cpuUseThreshold": {
          "type": "integer",
          "description": "Threshold at which CPU usage is reported. (% of total CPU, default = 90).\n"
        },
        "csrCaAttribute": {
          "type": "string",
          "description": "Enable/disable the CA attribute in certificates. Some CA servers reject CSRs that have the CA attribute. Valid values: `enable`, `disable`.\n"
        },
        "dailyRestart": {
          "type": "string",
          "description": "Enable/disable daily restart of FortiGate unit. Use the restart-time option to set the time of day for the restart. Valid values: `enable`, `disable`.\n"
        },
        "defaultServiceSourcePort": {
          "type": "string",
          "description": "Default service source port range. (default=1-65535)\n"
        },
        "deviceIdentificationActiveScanDelay": {
          "type": "integer",
          "description": "Number of seconds to passively scan a device before performing an active scan. (20 - 3600 sec, (20 sec to 1 hour), default = 90).\n"
        },
        "deviceIdleTimeout": {
          "type": "integer",
          "description": "Time in seconds that a device must be idle to automatically log the device user out. (30 - 31536000 sec (30 sec to 1 year), default = 300).\n"
        },
        "dhParams": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for HTTPS/SSH protocols. Valid values: `1024`, `1536`, `2048`, `3072`, `4096`, `6144`, `8192`.\n"
        },
        "dhcpLeaseBackupInterval": {
          "type": "integer",
          "description": "DHCP leases backup interval in seconds (10 - 3600, default = 60).\n"
        },
        "dnsproxyWorkerCount": {
          "type": "integer",
          "description": "DNS proxy worker count.\n"
        },
        "dst": {
          "type": "string",
          "description": "Enable/disable daylight saving time. 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"
        },
        "earlyTcpNpuSession": {
          "type": "string",
          "description": "Enable/disable early TCP NPU session. Valid values: `enable`, `disable`.\n"
        },
        "editVdomPrompt": {
          "type": "string",
          "description": "Enable/disable edit new VDOM prompt. Valid values: `enable`, `disable`.\n"
        },
        "endpointControlFdsAccess": {
          "type": "string",
          "description": "Enable/disable access to the FortiGuard network for non-compliant endpoints. Valid values: `enable`, `disable`.\n"
        },
        "endpointControlPortalPort": {
          "type": "integer",
          "description": "Endpoint control portal port (1 - 65535).\n"
        },
        "extenderControllerReservedNetwork": {
          "type": "string",
          "description": "Configure reserved network subnet for managed LAN extension FortiExtenders. This is available when the extender daemon is running.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Fail-time for server lost.\n"
        },
        "fazDiskBufferSize": {
          "type": "integer",
          "description": "Maximum disk buffer size to temporarily store logs destined for FortiAnalyzer. To be used in the event that FortiAnalyzer is unavailalble.\n"
        },
        "fdsStatistics": {
          "type": "string",
          "description": "Enable/disable sending IPS, Application Control, and AntiVirus data to FortiGuard. This data is used to improve FortiGuard services and is not shared with external parties and is protected by Fortinet's privacy policy. Valid values: `enable`, `disable`.\n"
        },
        "fdsStatisticsPeriod": {
          "type": "integer",
          "description": "FortiGuard statistics collection period in minutes. (1 - 1440 min (1 min to 24 hours), default = 60).\n"
        },
        "fecPort": {
          "type": "integer",
          "description": "Local UDP port for Forward Error Correction (49152 - 65535).\n"
        },
        "fgdAlertSubscription": {
          "type": "string",
          "description": "Type of alert to retrieve from FortiGuard. Valid values: `advisory`, `latest-threat`, `latest-virus`, `latest-attack`, `new-antivirus-db`, `new-attack-db`.\n"
        },
        "forticonverterConfigUpload": {
          "type": "string",
          "description": "Enable/disable config upload to FortiConverter. Valid values: `once`, `disable`.\n"
        },
        "forticonverterIntegration": {
          "type": "string",
          "description": "Enable/disable FortiConverter integration service. Valid values: `enable`, `disable`.\n"
        },
        "fortiextender": {
          "type": "string",
          "description": "Enable/disable FortiExtender. Valid values: `enable`, `disable`.\n"
        },
        "fortiextenderDataPort": {
          "type": "integer",
          "description": "FortiExtender data port (1024 - 49150, default = 25246).\n"
        },
        "fortiextenderDiscoveryLockdown": {
          "type": "string",
          "description": "Enable/disable FortiExtender CAPWAP lockdown. Valid values: `disable`, `enable`.\n"
        },
        "fortiextenderProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest FortiExtender firmware on authorization. Valid values: `enable`, `disable`.\n"
        },
        "fortiextenderVlanMode": {
          "type": "string",
          "description": "Enable/disable FortiExtender VLAN mode. Valid values: `enable`, `disable`.\n"
        },
        "fortigslbIntegration": {
          "type": "string",
          "description": "Enable/disable integration with the FortiGSLB cloud service. Valid values: `disable`, `enable`.\n"
        },
        "fortiipamIntegration": {
          "type": "string",
          "description": "Enable/disable integration with the FortiIPAM cloud service. Valid values: `enable`, `disable`.\n"
        },
        "fortiservicePort": {
          "type": "integer",
          "description": "FortiService port (1 - 65535, default = 8013). Used by FortiClient endpoint compliance. Older versions of FortiClient used a different port.\n"
        },
        "fortitokenCloud": {
          "type": "string",
          "description": "Enable/disable FortiToken Cloud service. Valid values: `enable`, `disable`.\n"
        },
        "fortitokenCloudPushStatus": {
          "type": "string",
          "description": "Enable/disable FTM push service of FortiToken Cloud. Valid values: `enable`, `disable`.\n"
        },
        "fortitokenCloudSyncInterval": {
          "type": "integer",
          "description": "Interval in which to clean up remote users in FortiToken Cloud (0 - 336 hours (14 days), default = 24, disable = 0).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "guiAllowDefaultHostname": {
          "type": "string",
          "description": "Enable/disable the GUI warning about using a default hostname Valid values: `enable`, `disable`.\n"
        },
        "guiAllowIncompatibleFabricFgt": {
          "type": "string",
          "description": "Enable/disable Allow FGT with incompatible firmware to be treated as compatible in security fabric on the GUI. May cause unexpected error. Valid values: `enable`, `disable`.\n"
        },
        "guiAppDetectionSdwan": {
          "type": "string",
          "description": "Enable/disable Allow app-detection based SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "guiAutoUpgradeSetupWarning": {
          "type": "string",
          "description": "Enable/disable the automatic patch upgrade setup prompt on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCdnDomainOverride": {
          "type": "string",
          "description": "Domain of CDN server.\n"
        },
        "guiCdnUsage": {
          "type": "string",
          "description": "Enable/disable Load GUI static files from a CDN. Valid values: `enable`, `disable`.\n"
        },
        "guiCertificates": {
          "type": "string",
          "description": "Enable/disable the System > Certificate GUI page, allowing you to add and configure certificates from the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCustomLanguage": {
          "type": "string",
          "description": "Enable/disable custom languages in GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDateFormat": {
          "type": "string",
          "description": "Default date format used throughout GUI. Valid values: `yyyy/MM/dd`, `dd/MM/yyyy`, `MM/dd/yyyy`, `yyyy-MM-dd`, `dd-MM-yyyy`, `MM-dd-yyyy`.\n"
        },
        "guiDateTimeSource": {
          "type": "string",
          "description": "Source from which the FortiGate GUI uses to display date and time entries. Valid values: `system`, `browser`.\n"
        },
        "guiDeviceLatitude": {
          "type": "string",
          "description": "Add the latitude of the location of this FortiGate to position it on the Threat Map.\n"
        },
        "guiDeviceLongitude": {
          "type": "string",
          "description": "Add the longitude of the location of this FortiGate to position it on the Threat Map.\n"
        },
        "guiDisplayHostname": {
          "type": "string",
          "description": "Enable/disable displaying the FortiGate's hostname on the GUI login page. Valid values: `enable`, `disable`.\n"
        },
        "guiFirmwareUpgradeSetupWarning": {
          "type": "string",
          "description": "Enable/disable the firmware upgrade warning on GUI setup wizard. Valid values: `enable`, `disable`.\n"
        },
        "guiFirmwareUpgradeWarning": {
          "type": "string",
          "description": "Enable/disable the firmware upgrade warning on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiForticareRegistrationSetupWarning": {
          "type": "string",
          "description": "Enable/disable the FortiCare registration setup warning on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortigateCloudSandbox": {
          "type": "string",
          "description": "Enable/disable displaying FortiGate Cloud Sandbox on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiguardResourceFetch": {
          "type": "string",
          "description": "Enable/disable retrieving static GUI resources from FortiGuard. Disabling it will improve GUI load time for air-gapped environments. Valid values: `enable`, `disable`.\n"
        },
        "guiFortisandboxCloud": {
          "type": "string",
          "description": "Enable/disable displaying FortiSandbox Cloud on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIpv6": {
          "type": "string",
          "description": "Enable/disable IPv6 settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLinesPerPage": {
          "type": "integer",
          "description": "Number of lines to display per page for web administration.\n"
        },
        "guiLocalOut": {
          "type": "string",
          "description": "Enable/disable Local-out traffic on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiReplacementMessageGroups": {
          "type": "string",
          "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiRestApiCache": {
          "type": "string",
          "description": "Enable/disable REST API result caching on FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "guiTheme": {
          "type": "string",
          "description": "Color scheme for the administration GUI.\n"
        },
        "guiWirelessOpensecurity": {
          "type": "string",
          "description": "Enable/disable wireless open security option on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWorkflowManagement": {
          "type": "string",
          "description": "Enable/disable Workflow management features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "haAffinity": {
          "type": "string",
          "description": "Affinity setting for HA daemons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "honorDf": {
          "type": "string",
          "description": "Enable/disable honoring of Don't-Fragment (DF) flag. Valid values: `enable`, `disable`.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate unit's hostname. Most models will truncate names longer than 24 characters. Some models support hostnames up to 35 characters.\n"
        },
        "igmpStateLimit": {
          "type": "integer",
          "description": "Maximum number of IGMP memberships (96 - 64000, default = 3200).\n"
        },
        "ikeEmbryonicLimit": {
          "type": "integer",
          "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
        },
        "interfaceSubnetUsage": {
          "type": "string",
          "description": "Enable/disable allowing use of interface-subnet setting in firewall addresses (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "internetServiceDatabase": {
          "type": "string",
          "description": "Configure which Internet Service database size to download from FortiGuard and use.\n"
        },
        "internetServiceDownloadLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGlobalInternetServiceDownloadList:GlobalInternetServiceDownloadList"
          },
          "description": "Configure which on-demand Internet Service IDs are to be downloaded. The structure of `internet_service_download_list` block is documented below.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Dead gateway detection interval.\n"
        },
        "ipFragmentMemThresholds": {
          "type": "integer",
          "description": "Maximum memory (MB) used to reassemble IPv4/IPv6 fragments.\n"
        },
        "ipSrcPortRange": {
          "type": "string",
          "description": "IP source port range used for traffic originating from the FortiGate unit.\n"
        },
        "ipsAffinity": {
          "type": "string",
          "description": "Affinity setting for IPS (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx; allowed CPUs must be less than total number of IPS engine daemons).\n"
        },
        "ipsecAsicOffload": {
          "type": "string",
          "description": "Enable/disable ASIC offloading (hardware acceleration) for IPsec VPN traffic. Hardware acceleration can offload IPsec VPN sessions and accelerate encryption and decryption. Valid values: `enable`, `disable`.\n"
        },
        "ipsecHaSeqjumpRate": {
          "type": "integer",
          "description": "ESP jump ahead rate (1G - 10G pps equivalent).\n"
        },
        "ipsecHmacOffload": {
          "type": "string",
          "description": "Enable/disable offloading (hardware acceleration) of HMAC processing for IPsec VPN. Valid values: `enable`, `disable`.\n"
        },
        "ipsecQatOffload": {
          "type": "string",
          "description": "Enable/disable QAT offloading (Intel QuickAssist) for IPsec VPN traffic. QuickAssist can accelerate IPsec encryption and decryption. Valid values: `enable`, `disable`.\n"
        },
        "ipsecRoundRobin": {
          "type": "string",
          "description": "Enable/disable round-robin redistribution to multiple CPUs for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipsecSoftDecAsync": {
          "type": "string",
          "description": "Enable/disable software decryption asynchronization (using multiple CPUs to do decryption) for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AcceptDad": {
          "type": "integer",
          "description": "Enable/disable acceptance of IPv6 Duplicate Address Detection (DAD).\n"
        },
        "ipv6AllowAnycastProbe": {
          "type": "string",
          "description": "Enable/disable IPv6 address probe through Anycast. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowLocalInSilentDrop": {
          "type": "string",
          "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowLocalInSlientDrop": {
          "type": "string",
          "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowMulticastProbe": {
          "type": "string",
          "description": "Enable/disable IPv6 address probe through Multicast. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowTrafficRedirect": {
          "type": "string",
          "description": "Disable to prevent IPv6 traffic with same local ingress and egress interface from being forwarded without policy check. Valid values: `enable`, `disable`.\n"
        },
        "irqTimeAccounting": {
          "type": "string",
          "description": "Configure CPU IRQ time accounting mode. Valid values: `auto`, `force`.\n"
        },
        "language": {
          "type": "string",
          "description": "GUI display language. Valid values: `english`, `french`, `spanish`, `portuguese`, `japanese`, `trach`, `simch`, `korean`.\n"
        },
        "ldapconntimeout": {
          "type": "integer",
          "description": "Global timeout for connections with remote LDAP servers in milliseconds (1 - 300000, default 500).\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`.\n"
        },
        "logSingleCpuHigh": {
          "type": "string",
          "description": "Enable/disable logging the event of a single CPU core reaching CPU usage threshold. Valid values: `enable`, `disable`.\n"
        },
        "logSslConnection": {
          "type": "string",
          "description": "Enable/disable logging of SSL connection events. Valid values: `enable`, `disable`.\n"
        },
        "logUuidAddress": {
          "type": "string",
          "description": "Enable/disable insertion of address UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logUuidPolicy": {
          "type": "string",
          "description": "Enable/disable insertion of policy UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "loginTimestamp": {
          "type": "string",
          "description": "Enable/disable login time recording. Valid values: `enable`, `disable`.\n"
        },
        "longVdomName": {
          "type": "string",
          "description": "Enable/disable long VDOM name support. Valid values: `enable`, `disable`.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
        },
        "managementPort": {
          "type": "integer",
          "description": "Overriding port for management connection (Overrides admin port).\n"
        },
        "managementPortUseAdminSport": {
          "type": "string",
          "description": "Enable/disable use of the admin-sport setting for the management port. If disabled, FortiGate will allow user to specify management-port. Valid values: `enable`, `disable`.\n"
        },
        "managementVdom": {
          "type": "string",
          "description": "Management virtual domain name.\n"
        },
        "maxDlpstatMemory": {
          "type": "integer",
          "description": "Maximum DLP stat memory (0 - 4294967295).\n"
        },
        "maxRouteCacheSize": {
          "type": "integer",
          "description": "Maximum number of IP route cache entries (0 - 2147483647).\n"
        },
        "mcTtlNotchange": {
          "type": "string",
          "description": "Enable/disable no modification of multicast TTL. Valid values: `enable`, `disable`.\n"
        },
        "memoryUseThresholdExtreme": {
          "type": "integer",
          "description": "Threshold at which memory usage is considered extreme (new sessions are dropped) (% of total RAM, default = 95).\n"
        },
        "memoryUseThresholdGreen": {
          "type": "integer",
          "description": "Threshold at which memory usage forces the FortiGate to exit conserve mode (% of total RAM, default = 82).\n"
        },
        "memoryUseThresholdRed": {
          "type": "integer",
          "description": "Threshold at which memory usage forces the FortiGate to enter conserve mode (% of total RAM, default = 88).\n"
        },
        "miglogAffinity": {
          "type": "string",
          "description": "Affinity setting for logging. On FortiOS versions 6.2.0-7.2.3: 64-bit hexadecimal value in the format of xxxxxxxxxxxxxxxx. On FortiOS versions >= 7.2.4: hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx.\n"
        },
        "miglogdChildren": {
          "type": "integer",
          "description": "Number of logging (miglogd) processes to be allowed to run. Higher number can reduce performance; lower number can slow log processing time.\n"
        },
        "multiFactorAuthentication": {
          "type": "string",
          "description": "Enforce all login methods to require an additional authentication factor (default = optional). Valid values: `optional`, `mandatory`.\n"
        },
        "multicastForward": {
          "type": "string",
          "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "ndpMaxEntry": {
          "type": "integer",
          "description": "Maximum number of NDP table entries (set to 65,536 or higher; if set to 0, kernel holds 65,536 entries).\n"
        },
        "npuNeighborUpdate": {
          "type": "string",
          "description": "Enable/disable sending of probing packets to update neighbors for offloaded sessions. Valid values: `enable`, `disable`.\n"
        },
        "perUserBal": {
          "type": "string",
          "description": "Enable/disable per-user block/allow list filter. Valid values: `enable`, `disable`.\n"
        },
        "perUserBwl": {
          "type": "string",
          "description": "Enable/disable per-user black/white list filter. Valid values: `enable`, `disable`.\n"
        },
        "pmtuDiscovery": {
          "type": "string",
          "description": "Enable/disable path MTU discovery. Valid values: `enable`, `disable`.\n"
        },
        "policyAuthConcurrent": {
          "type": "integer",
          "description": "Number of concurrent firewall use logins from the same user (1 - 100, default = 0 means no limit).\n"
        },
        "postLoginBanner": {
          "type": "string",
          "description": "Enable/disable displaying the administrator access disclaimer message after an administrator successfully logs in. Valid values: `disable`, `enable`.\n"
        },
        "preLoginBanner": {
          "type": "string",
          "description": "Enable/disable displaying the administrator access disclaimer message on the login page before an administrator logs in. Valid values: `enable`, `disable`.\n"
        },
        "privateDataEncryption": {
          "type": "string",
          "description": "Enable/disable private data encryption using an AES 128-bit key. Valid values: `disable`, `enable`.\n"
        },
        "proxyAuthLifetime": {
          "type": "string",
          "description": "Enable/disable authenticated users lifetime control.  This is a cap on the total time a proxy user can be authenticated for after which re-authentication will take place. Valid values: `enable`, `disable`.\n"
        },
        "proxyAuthLifetimeTimeout": {
          "type": "integer",
          "description": "Lifetime timeout in minutes for authenticated users (5  - 65535 min, default=480 (8 hours)).\n"
        },
        "proxyAuthTimeout": {
          "type": "integer",
          "description": "Authentication timeout in minutes for authenticated users (1 - 300 min, default = 10).\n"
        },
        "proxyCertUseMgmtVdom": {
          "type": "string",
          "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
        },
        "proxyCipherHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable using content processor (CP8 or CP9) hardware acceleration to encrypt and decrypt IPsec and SSL traffic. Valid values: `disable`, `enable`.\n"
        },
        "proxyHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable email proxy hardware acceleration. Valid values: `disable`, `enable`.\n"
        },
        "proxyKeepAliveMode": {
          "type": "string",
          "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was authenticated. Valid values: `session`, `traffic`, `re-authentication`.\n"
        },
        "proxyKxpHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable using the content processor to accelerate KXP traffic. Valid values: `disable`, `enable`.\n"
        },
        "proxyReAuthenticationMode": {
          "type": "string",
          "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was first created. Valid values: `session`, `traffic`, `absolute`.\n"
        },
        "proxyReAuthenticationTime": {
          "type": "integer",
          "description": "The time limit that users must re-authenticate if proxy-keep-alive-mode is set to re-authenticate (1  - 86400 sec, default=30s.\n"
        },
        "proxyResourceMode": {
          "type": "string",
          "description": "Enable/disable use of the maximum memory usage on the FortiGate unit's proxy processing of resources, such as block lists, allow lists, and external resources. Valid values: `enable`, `disable`.\n"
        },
        "proxyWorkerCount": {
          "type": "integer",
          "description": "Proxy worker count.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this FortiGate. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "quicAckThresold": {
          "type": "integer",
          "description": "Maximum number of unacknowledged packets before sending ACK (2 - 5, default = 3).\n"
        },
        "quicCongestionControlAlgo": {
          "type": "string",
          "description": "QUIC congestion control algorithm (default = cubic). Valid values: `cubic`, `bbr`, `bbr2`, `reno`.\n"
        },
        "quicMaxDatagramSize": {
          "type": "integer",
          "description": "Maximum transmit datagram size (1200 - 1500, default = 1500).\n"
        },
        "quicPmtud": {
          "type": "string",
          "description": "Enable/disable path MTU discovery (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "quicTlsHandshakeTimeout": {
          "type": "integer",
          "description": "Time-to-live (TTL) for TLS handshake in seconds (1 - 60, default = 5).\n"
        },
        "quicUdpPayloadSizeShapingPerCid": {
          "type": "string",
          "description": "Enable/disable UDP payload size shaping per connection ID (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number.\n"
        },
        "rebootUponConfigRestore": {
          "type": "string",
          "description": "Enable/disable reboot of system upon restoring configuration. Valid values: `enable`, `disable`.\n"
        },
        "refresh": {
          "type": "integer",
          "description": "Statistics refresh interval second(s) in GUI.\n"
        },
        "remoteauthtimeout": {
          "type": "integer",
          "description": "Number of seconds that the FortiGate waits for responses from remote RADIUS, LDAP, or TACACS+ authentication servers. (default = 5). On FortiOS versions 6.2.0-6.2.6: 0-300 sec, 0 means no timeout. On FortiOS versions >= 6.4.0: 1-300 sec.\n"
        },
        "resetSessionlessTcp": {
          "type": "string",
          "description": "Action to perform if the FortiGate receives a TCP packet but cannot find a corresponding session in its session table. NAT/Route mode only. Valid values: `enable`, `disable`.\n"
        },
        "restartTime": {
          "type": "string",
          "description": "Daily restart time (hh:mm).\n"
        },
        "revisionBackupOnLogout": {
          "type": "string",
          "description": "Enable/disable back-up of the latest configuration revision when an administrator logs out of the CLI or GUI. Valid values: `enable`, `disable`.\n"
        },
        "revisionImageAutoBackup": {
          "type": "string",
          "description": "Enable/disable back-up of the latest configuration revision after the firmware is upgraded. Valid values: `enable`, `disable`.\n"
        },
        "scanunitCount": {
          "type": "integer",
          "description": "Number of scanunits. The range and the default depend on the number of CPUs. Only available on FortiGate units with multiple CPUs.\n"
        },
        "securityRatingResultSubmission": {
          "type": "string",
          "description": "Enable/disable the submission of Security Rating results to FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "securityRatingRunOnSchedule": {
          "type": "string",
          "description": "Enable/disable scheduled runs of Security Rating. Valid values: `enable`, `disable`.\n"
        },
        "sendPmtuIcmp": {
          "type": "string",
          "description": "Enable/disable sending of path maximum transmission unit (PMTU) - ICMP destination unreachable packet and to support PMTUD protocol on your network to reduce fragmentation of packets. Valid values: `enable`, `disable`.\n"
        },
        "sflowdMaxChildrenNum": {
          "type": "integer",
          "description": "Maximum number of sflowd child processes allowed to run.\n"
        },
        "snatRouteChange": {
          "type": "string",
          "description": "Enable/disable the ability to change the static NAT route. Valid values: `enable`, `disable`.\n"
        },
        "specialFile23Support": {
          "type": "string",
          "description": "Enable/disable IPS detection of HIBUN format files when using Data Leak Protection. Valid values: `disable`, `enable`.\n"
        },
        "speedtestServer": {
          "type": "string",
          "description": "Enable/disable speed test server. Valid values: `enable`, `disable`.\n"
        },
        "speedtestdCtrlPort": {
          "type": "integer",
          "description": "Speedtest server controller port number.\n"
        },
        "speedtestdServerPort": {
          "type": "integer",
          "description": "Speedtest server port number.\n"
        },
        "splitPort": {
          "type": "string",
          "description": "Split port(s) to multiple 10Gbps ports.\n"
        },
        "ssdTrimDate": {
          "type": "integer",
          "description": "Date within a month to run ssd trim.\n"
        },
        "ssdTrimFreq": {
          "type": "string",
          "description": "How often to run SSD Trim (default = weekly). SSD Trim prevents SSD drive data loss by finding and isolating errors. Valid values: `never`, `hourly`, `daily`, `weekly`, `monthly`.\n"
        },
        "ssdTrimHour": {
          "type": "integer",
          "description": "Hour of the day on which to run SSD Trim (0 - 23, default = 1).\n"
        },
        "ssdTrimMin": {
          "type": "integer",
          "description": "Minute of the hour on which to run SSD Trim (0 - 59, 60 for random).\n"
        },
        "ssdTrimWeekday": {
          "type": "string",
          "description": "Day of week to run SSD Trim. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "sshCbcCipher": {
          "type": "string",
          "description": "Enable/disable CBC cipher for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshEncAlgo": {
          "type": "string",
          "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
        },
        "sshHmacMd5": {
          "type": "string",
          "description": "Enable/disable HMAC-MD5 for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshHostkey": {
          "type": "string",
          "description": "Config SSH host key.\n"
        },
        "sshHostkeyAlgo": {
          "type": "string",
          "description": "Select one or more SSH hostkey algorithms.\n"
        },
        "sshHostkeyOverride": {
          "type": "string",
          "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
        },
        "sshHostkeyPassword": {
          "type": "string",
          "description": "Password for ssh-hostkey.\n"
        },
        "sshKexAlgo": {
          "type": "string",
          "description": "Select one or more SSH kex algorithms.\n"
        },
        "sshKexSha1": {
          "type": "string",
          "description": "Enable/disable SHA1 key exchange for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshMacAlgo": {
          "type": "string",
          "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
        },
        "sshMacWeak": {
          "type": "string",
          "description": "Enable/disable HMAC-SHA1 and UMAC-64-ETM for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default = TLSv1.2).\n"
        },
        "sslStaticKeyCiphers": {
          "type": "string",
          "description": "Enable/disable static key ciphers in SSL/TLS connections (e.g. AES128-SHA, AES256-SHA, AES128-SHA256, AES256-SHA256). Valid values: `enable`, `disable`.\n"
        },
        "sslvpnCipherHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable SSL VPN hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnEmsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number in SSL-VPN connection. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnKxpHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable SSL VPN KXP hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnMaxWorkerCount": {
          "type": "integer",
          "description": "Maximum number of SSL VPN processes. Upper limit for this value is the number of CPUs and depends on the model.\n"
        },
        "sslvpnPluginVersionCheck": {
          "type": "string",
          "description": "Enable/disable checking browser's plugin version by SSL VPN. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnWebMode": {
          "type": "string",
          "description": "Enable/disable SSL-VPN web mode. Valid values: `enable`, `disable`.\n"
        },
        "strictDirtySessionCheck": {
          "type": "string",
          "description": "Enable to check the session against the original policy when revalidating. This can prevent dropping of redirected sessions when web-filtering and authentication are enabled together. If this option is enabled, the FortiGate unit deletes a session if a routing or policy change causes the session to no longer match the policy that originally allowed the session. Valid values: `enable`, `disable`.\n"
        },
        "strongCrypto": {
          "type": "string",
          "description": "Enable to use strong encryption and only allow strong ciphers and digest for HTTPS/SSH/TLS/SSL functions. Valid values: `enable`, `disable`.\n"
        },
        "switchController": {
          "type": "string",
          "description": "Enable/disable switch controller feature. Switch controller allows you to manage FortiSwitch from the FortiGate itself. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerReservedNetwork": {
          "type": "string",
          "description": "Enable reserved network subnet for controlled switches. This is available when the switch controller is enabled.\n"
        },
        "sysPerfLogInterval": {
          "type": "integer",
          "description": "Time in minutes between updates of performance statistics logging. (1 - 15 min, default = 5, 0 = disabled).\n"
        },
        "syslogAffinity": {
          "type": "string",
          "description": "Affinity setting for syslog (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "tcpHalfcloseTimer": {
          "type": "integer",
          "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent a FIN packet but the other has not responded (1 - 86400 sec (1 day), default = 120).\n"
        },
        "tcpHalfopenTimer": {
          "type": "integer",
          "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent an open session packet but the other has not responded (1 - 86400 sec (1 day), default = 10).\n"
        },
        "tcpOption": {
          "type": "string",
          "description": "Enable SACK, timestamp and MSS TCP options. Valid values: `enable`, `disable`.\n"
        },
        "tcpRstTimer": {
          "type": "integer",
          "description": "Length of the TCP CLOSE state in seconds (5 - 300 sec, default = 5).\n"
        },
        "tcpTimewaitTimer": {
          "type": "integer",
          "description": "Length of the TCP TIME-WAIT state in seconds (1 - 300 sec, default = 1).\n"
        },
        "tftp": {
          "type": "string",
          "description": "Enable/disable TFTP. Valid values: `enable`, `disable`.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Number corresponding to your time zone from 00 to 86. Enter set timezone ? to view the list of time zones and the numbers that represent them.\n"
        },
        "tpMcSkipPolicy": {
          "type": "string",
          "description": "Enable/disable skip policy check and allow multicast through. Valid values: `enable`, `disable`.\n"
        },
        "trafficPriority": {
          "type": "string",
          "description": "Choose Type of Service (ToS) or Differentiated Services Code Point (DSCP) for traffic prioritization in traffic shaping. Valid values: `tos`, `dscp`.\n"
        },
        "trafficPriorityLevel": {
          "type": "string",
          "description": "Default system-wide level of priority for traffic prioritization. Valid values: `low`, `medium`, `high`.\n"
        },
        "twoFactorEmailExpiry": {
          "type": "integer",
          "description": "Email-based two-factor authentication session timeout (30 - 300 seconds (5 minutes), default = 60).\n"
        },
        "twoFactorFacExpiry": {
          "type": "integer",
          "description": "FortiAuthenticator token authentication session timeout (10 - 3600 seconds (1 hour), default = 60).\n"
        },
        "twoFactorFtkExpiry": {
          "type": "integer",
          "description": "FortiToken authentication session timeout (60 - 600 sec (10 minutes), default = 60).\n"
        },
        "twoFactorFtmExpiry": {
          "type": "integer",
          "description": "FortiToken Mobile session timeout (1 - 168 hours (7 days), default = 72).\n"
        },
        "twoFactorSmsExpiry": {
          "type": "integer",
          "description": "SMS-based two-factor authentication session timeout (30 - 300 sec, default = 60).\n"
        },
        "udpIdleTimer": {
          "type": "integer",
          "description": "UDP connection session timeout. This command can be useful in managing CPU and memory resources (1 - 86400 seconds (1 day), default = 60).\n"
        },
        "urlFilterAffinity": {
          "type": "string",
          "description": "URL filter CPU affinity.\n"
        },
        "urlFilterCount": {
          "type": "integer",
          "description": "URL filter daemon count.\n"
        },
        "userDeviceStoreMaxDevices": {
          "type": "integer",
          "description": "Maximum number of devices allowed in user device store.\n"
        },
        "userDeviceStoreMaxUnifiedMem": {
          "type": "integer",
          "description": "Maximum unified memory allowed in user device store.\n"
        },
        "userDeviceStoreMaxUsers": {
          "type": "integer",
          "description": "Maximum number of users allowed in user device store.\n"
        },
        "userServerCert": {
          "type": "string",
          "description": "Certificate to use for https user authentication.\n"
        },
        "vdomAdmin": {
          "type": "string",
          "description": "Enable/disable support for multiple virtual domains (VDOMs). Valid values: `enable`, `disable`.\n"
        },
        "vdomMode": {
          "type": "string",
          "description": "Enable/disable support for split/multiple virtual domains (VDOMs). Valid values: `no-vdom`, `split-vdom`, `multi-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"
        },
        "vipArpRange": {
          "type": "string",
          "description": "Controls the number of ARPs that the FortiGate sends for a Virtual IP (VIP) address range. Valid values: `unlimited`, `restricted`.\n"
        },
        "virtualServerCount": {
          "type": "integer",
          "description": "Maximum number of virtual server processes to create. The maximum is the number of CPU cores. This is not available on single-core CPUs.\n"
        },
        "virtualServerHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable virtual server hardware acceleration. Valid values: `disable`, `enable`.\n"
        },
        "virtualSwitchVlan": {
          "type": "string",
          "description": "Enable/disable virtual switch VLAN. Valid values: `enable`, `disable`.\n"
        },
        "vpnEmsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number in SSL-VPN and IPsec VPN connection. Valid values: `enable`, `disable`.\n"
        },
        "wadAffinity": {
          "type": "string",
          "description": "Affinity setting for wad (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "wadCsvcCsCount": {
          "type": "integer",
          "description": "Number of concurrent WAD-cache-service object-cache processes.\n"
        },
        "wadCsvcDbCount": {
          "type": "integer",
          "description": "Number of concurrent WAD-cache-service byte-cache processes.\n"
        },
        "wadMemoryChangeGranularity": {
          "type": "integer",
          "description": "Minimum percentage change in system memory usage detected by the wad daemon prior to adjusting TCP window size for any active connection.\n"
        },
        "wadRestartEndTime": {
          "type": "string",
          "description": "WAD workers daily restart end time (hh:mm).\n"
        },
        "wadRestartMode": {
          "type": "string",
          "description": "WAD worker restart mode (default = none). Valid values: `none`, `time`, `memory`.\n"
        },
        "wadRestartStartTime": {
          "type": "string",
          "description": "WAD workers daily restart time (hh:mm).\n"
        },
        "wadSourceAffinity": {
          "type": "string",
          "description": "Enable/disable dispatching traffic to WAD workers based on source affinity. Valid values: `disable`, `enable`.\n"
        },
        "wadWorkerCount": {
          "type": "integer",
          "description": "Number of explicit proxy WAN optimization daemon (WAD) processes. By default WAN optimization, explicit proxy, and web caching is handled by all of the CPU cores in a FortiGate unit.\n"
        },
        "wifiCaCertificate": {
          "type": "string",
          "description": "CA certificate that verifies the WiFi certificate.\n"
        },
        "wifiCertificate": {
          "type": "string",
          "description": "Certificate to use for WiFi authentication.\n"
        },
        "wimax4gUsb": {
          "type": "string",
          "description": "Enable/disable comparability with WiMAX 4G USB devices. Valid values: `enable`, `disable`.\n"
        },
        "wirelessController": {
          "type": "string",
          "description": "Enable/disable the wireless controller feature to use the FortiGate unit to manage FortiAPs. Valid values: `enable`, `disable`.\n"
        },
        "wirelessControllerPort": {
          "type": "integer",
          "description": "Port used for the control channel in wireless controller mode (wireless-mode is ac). The data channel port is the control channel port number plus one (1024 - 49150, default = 5246).\n"
        }
      },
      "type": "object",
      "required": [
        "adminConcurrent",
        "adminConsoleTimeout",
        "adminForticloudSsoDefaultProfile",
        "adminForticloudSsoLogin",
        "adminHost",
        "adminHstsMaxAge",
        "adminHttpsPkiRequired",
        "adminHttpsRedirect",
        "adminHttpsSslBannedCiphers",
        "adminHttpsSslCiphersuites",
        "adminHttpsSslVersions",
        "adminLockoutDuration",
        "adminLockoutThreshold",
        "adminLoginMax",
        "adminMaintainer",
        "adminPort",
        "adminRestrictLocal",
        "adminScp",
        "adminServerCert",
        "adminSport",
        "adminSshGraceTime",
        "adminSshPassword",
        "adminSshPort",
        "adminSshV1",
        "adminTelnet",
        "adminTelnetPort",
        "admintimeout",
        "alias",
        "allowTrafficRedirect",
        "antiReplay",
        "arpMaxEntry",
        "asymroute",
        "authCert",
        "authHttpPort",
        "authHttpsPort",
        "authIkeSamlPort",
        "authKeepalive",
        "authSessionLimit",
        "autoAuthExtensionDevice",
        "autorunLogFsck",
        "avAffinity",
        "avFailopen",
        "avFailopenSession",
        "batchCmdb",
        "bfdAffinity",
        "blockSessionTimer",
        "brFdbMaxEntry",
        "certChainMax",
        "cfgRevertTimeout",
        "cfgSave",
        "checkProtocolHeader",
        "checkResetRange",
        "cliAuditLog",
        "cloudCommunication",
        "cltCertReq",
        "cmdbsvrAffinity",
        "complianceCheck",
        "complianceCheckTime",
        "cpuUseThreshold",
        "csrCaAttribute",
        "dailyRestart",
        "defaultServiceSourcePort",
        "deviceIdentificationActiveScanDelay",
        "deviceIdleTimeout",
        "dhParams",
        "dhcpLeaseBackupInterval",
        "dnsproxyWorkerCount",
        "dst",
        "earlyTcpNpuSession",
        "editVdomPrompt",
        "endpointControlFdsAccess",
        "endpointControlPortalPort",
        "extenderControllerReservedNetwork",
        "failtime",
        "fazDiskBufferSize",
        "fdsStatistics",
        "fdsStatisticsPeriod",
        "fecPort",
        "fgdAlertSubscription",
        "forticonverterConfigUpload",
        "forticonverterIntegration",
        "fortiextender",
        "fortiextenderDataPort",
        "fortiextenderDiscoveryLockdown",
        "fortiextenderProvisionOnAuthorization",
        "fortiextenderVlanMode",
        "fortigslbIntegration",
        "fortiipamIntegration",
        "fortiservicePort",
        "fortitokenCloud",
        "fortitokenCloudPushStatus",
        "fortitokenCloudSyncInterval",
        "guiAllowDefaultHostname",
        "guiAllowIncompatibleFabricFgt",
        "guiAppDetectionSdwan",
        "guiAutoUpgradeSetupWarning",
        "guiCdnDomainOverride",
        "guiCdnUsage",
        "guiCertificates",
        "guiCustomLanguage",
        "guiDateFormat",
        "guiDateTimeSource",
        "guiDeviceLatitude",
        "guiDeviceLongitude",
        "guiDisplayHostname",
        "guiFirmwareUpgradeSetupWarning",
        "guiFirmwareUpgradeWarning",
        "guiForticareRegistrationSetupWarning",
        "guiFortigateCloudSandbox",
        "guiFortiguardResourceFetch",
        "guiFortisandboxCloud",
        "guiIpv6",
        "guiLinesPerPage",
        "guiLocalOut",
        "guiReplacementMessageGroups",
        "guiRestApiCache",
        "guiTheme",
        "guiWirelessOpensecurity",
        "guiWorkflowManagement",
        "haAffinity",
        "honorDf",
        "hostname",
        "igmpStateLimit",
        "ikeEmbryonicLimit",
        "interfaceSubnetUsage",
        "internetServiceDatabase",
        "interval",
        "ipFragmentMemThresholds",
        "ipSrcPortRange",
        "ipsAffinity",
        "ipsecAsicOffload",
        "ipsecHaSeqjumpRate",
        "ipsecHmacOffload",
        "ipsecQatOffload",
        "ipsecRoundRobin",
        "ipsecSoftDecAsync",
        "ipv6AcceptDad",
        "ipv6AllowAnycastProbe",
        "ipv6AllowLocalInSilentDrop",
        "ipv6AllowLocalInSlientDrop",
        "ipv6AllowMulticastProbe",
        "ipv6AllowTrafficRedirect",
        "irqTimeAccounting",
        "language",
        "ldapconntimeout",
        "lldpReception",
        "lldpTransmission",
        "logSingleCpuHigh",
        "logSslConnection",
        "logUuidAddress",
        "logUuidPolicy",
        "loginTimestamp",
        "longVdomName",
        "managementIp",
        "managementPort",
        "managementPortUseAdminSport",
        "managementVdom",
        "maxDlpstatMemory",
        "maxRouteCacheSize",
        "mcTtlNotchange",
        "memoryUseThresholdExtreme",
        "memoryUseThresholdGreen",
        "memoryUseThresholdRed",
        "miglogAffinity",
        "miglogdChildren",
        "multiFactorAuthentication",
        "multicastForward",
        "ndpMaxEntry",
        "npuNeighborUpdate",
        "perUserBal",
        "perUserBwl",
        "pmtuDiscovery",
        "policyAuthConcurrent",
        "postLoginBanner",
        "preLoginBanner",
        "privateDataEncryption",
        "proxyAuthLifetime",
        "proxyAuthLifetimeTimeout",
        "proxyAuthTimeout",
        "proxyCertUseMgmtVdom",
        "proxyCipherHardwareAcceleration",
        "proxyHardwareAcceleration",
        "proxyKeepAliveMode",
        "proxyKxpHardwareAcceleration",
        "proxyReAuthenticationMode",
        "proxyReAuthenticationTime",
        "proxyResourceMode",
        "proxyWorkerCount",
        "purdueLevel",
        "quicAckThresold",
        "quicCongestionControlAlgo",
        "quicMaxDatagramSize",
        "quicPmtud",
        "quicTlsHandshakeTimeout",
        "quicUdpPayloadSizeShapingPerCid",
        "radiusPort",
        "rebootUponConfigRestore",
        "refresh",
        "remoteauthtimeout",
        "resetSessionlessTcp",
        "restartTime",
        "revisionBackupOnLogout",
        "revisionImageAutoBackup",
        "scanunitCount",
        "securityRatingResultSubmission",
        "securityRatingRunOnSchedule",
        "sendPmtuIcmp",
        "sflowdMaxChildrenNum",
        "snatRouteChange",
        "specialFile23Support",
        "speedtestServer",
        "speedtestdCtrlPort",
        "speedtestdServerPort",
        "splitPort",
        "ssdTrimDate",
        "ssdTrimFreq",
        "ssdTrimHour",
        "ssdTrimMin",
        "ssdTrimWeekday",
        "sshCbcCipher",
        "sshEncAlgo",
        "sshHmacMd5",
        "sshHostkey",
        "sshHostkeyAlgo",
        "sshHostkeyOverride",
        "sshKexAlgo",
        "sshKexSha1",
        "sshMacAlgo",
        "sshMacWeak",
        "sslMinProtoVersion",
        "sslStaticKeyCiphers",
        "sslvpnCipherHardwareAcceleration",
        "sslvpnEmsSnCheck",
        "sslvpnKxpHardwareAcceleration",
        "sslvpnMaxWorkerCount",
        "sslvpnPluginVersionCheck",
        "sslvpnWebMode",
        "strictDirtySessionCheck",
        "strongCrypto",
        "switchController",
        "switchControllerReservedNetwork",
        "sysPerfLogInterval",
        "syslogAffinity",
        "tcpHalfcloseTimer",
        "tcpHalfopenTimer",
        "tcpOption",
        "tcpRstTimer",
        "tcpTimewaitTimer",
        "tftp",
        "timezone",
        "tpMcSkipPolicy",
        "trafficPriority",
        "trafficPriorityLevel",
        "twoFactorEmailExpiry",
        "twoFactorFacExpiry",
        "twoFactorFtkExpiry",
        "twoFactorFtmExpiry",
        "twoFactorSmsExpiry",
        "udpIdleTimer",
        "urlFilterAffinity",
        "urlFilterCount",
        "userDeviceStoreMaxDevices",
        "userDeviceStoreMaxUnifiedMem",
        "userDeviceStoreMaxUsers",
        "userServerCert",
        "vdomAdmin",
        "vdomMode",
        "vdomparam",
        "vipArpRange",
        "virtualServerCount",
        "virtualServerHardwareAcceleration",
        "virtualSwitchVlan",
        "vpnEmsSnCheck",
        "wadAffinity",
        "wadCsvcCsCount",
        "wadCsvcDbCount",
        "wadMemoryChangeGranularity",
        "wadRestartEndTime",
        "wadRestartMode",
        "wadRestartStartTime",
        "wadSourceAffinity",
        "wadWorkerCount",
        "wifiCaCertificate",
        "wifiCertificate",
        "wimax4gUsb",
        "wirelessController",
        "wirelessControllerPort"
      ],
      "inputProperties": {
        "adminConcurrent": {
          "type": "string",
          "description": "Enable/disable concurrent administrator logins. Use policy-auth-concurrent for firewall authenticated users. Valid values: `enable`, `disable`.\n"
        },
        "adminConsoleTimeout": {
          "type": "integer",
          "description": "Console login timeout that overrides the admin timeout value (15 - 300 seconds, default = 0, which disables the timeout).\n"
        },
        "adminForticloudSsoDefaultProfile": {
          "type": "string",
          "description": "Override access profile.\n"
        },
        "adminForticloudSsoLogin": {
          "type": "string",
          "description": "Enable/disable FortiCloud admin login via SSO. Valid values: `enable`, `disable`.\n"
        },
        "adminHost": {
          "type": "string",
          "description": "Administrative host for HTTP and HTTPS. When set, will be used in lieu of the client's Host header for any redirection.\n"
        },
        "adminHstsMaxAge": {
          "type": "integer",
          "description": "HTTPS Strict-Transport-Security header max-age in seconds. A value of 0 will reset any HSTS records in the browser.When admin-https-redirect is disabled the header max-age will be 0.\n"
        },
        "adminHttpsPkiRequired": {
          "type": "string",
          "description": "Enable/disable admin login method. Enable to force administrators to provide a valid certificate to log in if PKI is enabled. Disable to allow administrators to log in with a certificate or password. Valid values: `enable`, `disable`.\n"
        },
        "adminHttpsRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP administration access to HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "adminHttpsSslBannedCiphers": {
          "type": "string",
          "description": "Select one or more cipher technologies that cannot be used in GUI HTTPS negotiations. Only applies to TLS 1.2 and below. Valid values: `RSA`, `DHE`, `ECDHE`, `DSS`, `ECDSA`, `AES`, `AESGCM`, `CAMELLIA`, `3DES`, `SHA1`, `SHA256`, `SHA384`, `STATIC`, `CHACHA20`, `ARIA`, `AESCCM`.\n"
        },
        "adminHttpsSslCiphersuites": {
          "type": "string",
          "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, remove TLS1.3 from admin-https-ssl-versions. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
        },
        "adminHttpsSslVersions": {
          "type": "string",
          "description": "Allowed TLS versions for web administration.\n"
        },
        "adminLockoutDuration": {
          "type": "integer",
          "description": "Amount of time in seconds that an administrator account is locked out after reaching the admin-lockout-threshold for repeated failed login attempts.\n"
        },
        "adminLockoutThreshold": {
          "type": "integer",
          "description": "Number of failed login attempts before an administrator account is locked out for the admin-lockout-duration.\n"
        },
        "adminLoginMax": {
          "type": "integer",
          "description": "Maximum number of administrators who can be logged in at the same time (1 - 100, default = 100)\n"
        },
        "adminMaintainer": {
          "type": "string",
          "description": "Enable/disable maintainer administrator login. When enabled, the maintainer account can be used to log in from the console after a hard reboot. The password is \"bcpb\" followed by the FortiGate unit serial number. You have limited time to complete this login. Valid values: `enable`, `disable`.\n"
        },
        "adminPort": {
          "type": "integer",
          "description": "Administrative access port for HTTP. (1 - 65535, default = 80).\n"
        },
        "adminRestrictLocal": {
          "type": "string",
          "description": "Enable/disable local admin authentication restriction when remote authenticator is up and running. (default = disable) Valid values: `enable`, `disable`.\n"
        },
        "adminScp": {
          "type": "string",
          "description": "Enable/disable using SCP to download the system configuration. You can use SCP as an alternative method for backing up the configuration. Valid values: `enable`, `disable`.\n"
        },
        "adminServerCert": {
          "type": "string",
          "description": "Server certificate that the FortiGate uses for HTTPS administrative connections.\n"
        },
        "adminSport": {
          "type": "integer",
          "description": "Administrative access port for HTTPS. (1 - 65535, default = 443).\n"
        },
        "adminSshGraceTime": {
          "type": "integer",
          "description": "Maximum time in seconds permitted between making an SSH connection to the FortiGate unit and authenticating (10 - 3600 sec (1 hour), default 120).\n"
        },
        "adminSshPassword": {
          "type": "string",
          "description": "Enable/disable password authentication for SSH admin access. Valid values: `enable`, `disable`.\n"
        },
        "adminSshPort": {
          "type": "integer",
          "description": "Administrative access port for SSH. (1 - 65535, default = 22).\n"
        },
        "adminSshV1": {
          "type": "string",
          "description": "Enable/disable SSH v1 compatibility. Valid values: `enable`, `disable`.\n"
        },
        "adminTelnet": {
          "type": "string",
          "description": "Enable/disable TELNET service. Valid values: `enable`, `disable`.\n"
        },
        "adminTelnetPort": {
          "type": "integer",
          "description": "Administrative access port for TELNET. (1 - 65535, default = 23).\n"
        },
        "admintimeout": {
          "type": "integer",
          "description": "Number of minutes before an idle administrator session times out (default = 5). A shorter idle timeout is more secure. On FortiOS versions 6.2.0-6.2.6: 5 - 480 minutes (8 hours). On FortiOS versions >= 6.4.0: 1 - 480 minutes (8 hours).\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias for your FortiGate unit.\n"
        },
        "allowTrafficRedirect": {
          "type": "string",
          "description": "Disable to allow traffic to be routed back on a different interface. Valid values: `enable`, `disable`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Level of checking for packet replay and TCP sequence checking. Valid values: `disable`, `loose`, `strict`.\n"
        },
        "arpMaxEntry": {
          "type": "integer",
          "description": "Maximum number of dynamically learned MAC addresses that can be added to the ARP table (131072 - 2147483647, default = 131072).\n"
        },
        "asymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric route. Valid values: `enable`, `disable`.\n"
        },
        "authCert": {
          "type": "string",
          "description": "Server certificate that the FortiGate uses for HTTPS firewall authentication connections.\n"
        },
        "authHttpPort": {
          "type": "integer",
          "description": "User authentication HTTP port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 80. On FortiOS versions >= 6.4.0: default = 1000.\n"
        },
        "authHttpsPort": {
          "type": "integer",
          "description": "User authentication HTTPS port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 443. On FortiOS versions >= 6.4.0: default = 1003.\n"
        },
        "authIkeSamlPort": {
          "type": "integer",
          "description": "User IKE SAML authentication port (0 - 65535, default = 1001).\n"
        },
        "authKeepalive": {
          "type": "string",
          "description": "Enable to prevent user authentication sessions from timing out when idle. Valid values: `enable`, `disable`.\n"
        },
        "authSessionLimit": {
          "type": "string",
          "description": "Action to take when the number of allowed user authenticated sessions is reached. Valid values: `block-new`, `logout-inactive`.\n"
        },
        "autoAuthExtensionDevice": {
          "type": "string",
          "description": "Enable/disable automatic authorization of dedicated Fortinet extension devices. Valid values: `enable`, `disable`.\n"
        },
        "autorunLogFsck": {
          "type": "string",
          "description": "Enable/disable automatic log partition check after ungraceful shutdown. Valid values: `enable`, `disable`.\n"
        },
        "avAffinity": {
          "type": "string",
          "description": "Affinity setting for AV scanning (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "avFailopen": {
          "type": "string",
          "description": "Set the action to take if the FortiGate is running low on memory or the proxy connection limit has been reached. Valid values: `pass`, `off`, `one-shot`.\n"
        },
        "avFailopenSession": {
          "type": "string",
          "description": "When enabled and a proxy for a protocol runs out of room in its session table, that protocol goes into failopen mode and enacts the action specified by av-failopen. Valid values: `enable`, `disable`.\n"
        },
        "batchCmdb": {
          "type": "string",
          "description": "Enable/disable batch mode, allowing you to enter a series of CLI commands that will execute as a group once they are loaded. Valid values: `enable`, `disable`.\n"
        },
        "bfdAffinity": {
          "type": "string",
          "description": "Affinity setting for BFD daemon (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "blockSessionTimer": {
          "type": "integer",
          "description": "Duration in seconds for blocked sessions (1 - 300 sec  (5 minutes), default = 30).\n"
        },
        "brFdbMaxEntry": {
          "type": "integer",
          "description": "Maximum number of bridge forwarding database (FDB) entries.\n"
        },
        "certChainMax": {
          "type": "integer",
          "description": "Maximum number of certificates that can be traversed in a certificate chain.\n"
        },
        "cfgRevertTimeout": {
          "type": "integer",
          "description": "Time-out for reverting to the last saved configuration. (10 - 4294967295 seconds, default = 600).\n"
        },
        "cfgSave": {
          "type": "string",
          "description": "Configuration file save mode for CLI changes. Valid values: `automatic`, `manual`, `revert`.\n"
        },
        "checkProtocolHeader": {
          "type": "string",
          "description": "Level of checking performed on protocol headers. Strict checking is more thorough but may affect performance. Loose checking is ok in most cases. Valid values: `loose`, `strict`.\n"
        },
        "checkResetRange": {
          "type": "string",
          "description": "Configure ICMP error message verification. You can either apply strict RST range checking or disable it. Valid values: `strict`, `disable`.\n"
        },
        "cliAuditLog": {
          "type": "string",
          "description": "Enable/disable CLI audit log. Valid values: `enable`, `disable`.\n"
        },
        "cloudCommunication": {
          "type": "string",
          "description": "Enable/disable all cloud communication. Valid values: `enable`, `disable`.\n"
        },
        "cltCertReq": {
          "type": "string",
          "description": "Enable/disable requiring administrators to have a client certificate to log into the GUI using HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "cmdbsvrAffinity": {
          "type": "string",
          "description": "Affinity setting for cmdbsvr (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable global PCI DSS compliance check. Valid values: `enable`, `disable`.\n"
        },
        "complianceCheckTime": {
          "type": "string",
          "description": "Time of day to run scheduled PCI DSS compliance checks.\n"
        },
        "cpuUseThreshold": {
          "type": "integer",
          "description": "Threshold at which CPU usage is reported. (% of total CPU, default = 90).\n"
        },
        "csrCaAttribute": {
          "type": "string",
          "description": "Enable/disable the CA attribute in certificates. Some CA servers reject CSRs that have the CA attribute. Valid values: `enable`, `disable`.\n"
        },
        "dailyRestart": {
          "type": "string",
          "description": "Enable/disable daily restart of FortiGate unit. Use the restart-time option to set the time of day for the restart. Valid values: `enable`, `disable`.\n"
        },
        "defaultServiceSourcePort": {
          "type": "string",
          "description": "Default service source port range. (default=1-65535)\n"
        },
        "deviceIdentificationActiveScanDelay": {
          "type": "integer",
          "description": "Number of seconds to passively scan a device before performing an active scan. (20 - 3600 sec, (20 sec to 1 hour), default = 90).\n"
        },
        "deviceIdleTimeout": {
          "type": "integer",
          "description": "Time in seconds that a device must be idle to automatically log the device user out. (30 - 31536000 sec (30 sec to 1 year), default = 300).\n"
        },
        "dhParams": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for HTTPS/SSH protocols. Valid values: `1024`, `1536`, `2048`, `3072`, `4096`, `6144`, `8192`.\n"
        },
        "dhcpLeaseBackupInterval": {
          "type": "integer",
          "description": "DHCP leases backup interval in seconds (10 - 3600, default = 60).\n"
        },
        "dnsproxyWorkerCount": {
          "type": "integer",
          "description": "DNS proxy worker count.\n"
        },
        "dst": {
          "type": "string",
          "description": "Enable/disable daylight saving time. 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"
        },
        "earlyTcpNpuSession": {
          "type": "string",
          "description": "Enable/disable early TCP NPU session. Valid values: `enable`, `disable`.\n"
        },
        "editVdomPrompt": {
          "type": "string",
          "description": "Enable/disable edit new VDOM prompt. Valid values: `enable`, `disable`.\n"
        },
        "endpointControlFdsAccess": {
          "type": "string",
          "description": "Enable/disable access to the FortiGuard network for non-compliant endpoints. Valid values: `enable`, `disable`.\n"
        },
        "endpointControlPortalPort": {
          "type": "integer",
          "description": "Endpoint control portal port (1 - 65535).\n"
        },
        "extenderControllerReservedNetwork": {
          "type": "string",
          "description": "Configure reserved network subnet for managed LAN extension FortiExtenders. This is available when the extender daemon is running.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Fail-time for server lost.\n"
        },
        "fazDiskBufferSize": {
          "type": "integer",
          "description": "Maximum disk buffer size to temporarily store logs destined for FortiAnalyzer. To be used in the event that FortiAnalyzer is unavailalble.\n"
        },
        "fdsStatistics": {
          "type": "string",
          "description": "Enable/disable sending IPS, Application Control, and AntiVirus data to FortiGuard. This data is used to improve FortiGuard services and is not shared with external parties and is protected by Fortinet's privacy policy. Valid values: `enable`, `disable`.\n"
        },
        "fdsStatisticsPeriod": {
          "type": "integer",
          "description": "FortiGuard statistics collection period in minutes. (1 - 1440 min (1 min to 24 hours), default = 60).\n"
        },
        "fecPort": {
          "type": "integer",
          "description": "Local UDP port for Forward Error Correction (49152 - 65535).\n"
        },
        "fgdAlertSubscription": {
          "type": "string",
          "description": "Type of alert to retrieve from FortiGuard. Valid values: `advisory`, `latest-threat`, `latest-virus`, `latest-attack`, `new-antivirus-db`, `new-attack-db`.\n"
        },
        "forticonverterConfigUpload": {
          "type": "string",
          "description": "Enable/disable config upload to FortiConverter. Valid values: `once`, `disable`.\n"
        },
        "forticonverterIntegration": {
          "type": "string",
          "description": "Enable/disable FortiConverter integration service. Valid values: `enable`, `disable`.\n"
        },
        "fortiextender": {
          "type": "string",
          "description": "Enable/disable FortiExtender. Valid values: `enable`, `disable`.\n"
        },
        "fortiextenderDataPort": {
          "type": "integer",
          "description": "FortiExtender data port (1024 - 49150, default = 25246).\n"
        },
        "fortiextenderDiscoveryLockdown": {
          "type": "string",
          "description": "Enable/disable FortiExtender CAPWAP lockdown. Valid values: `disable`, `enable`.\n"
        },
        "fortiextenderProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest FortiExtender firmware on authorization. Valid values: `enable`, `disable`.\n"
        },
        "fortiextenderVlanMode": {
          "type": "string",
          "description": "Enable/disable FortiExtender VLAN mode. Valid values: `enable`, `disable`.\n"
        },
        "fortigslbIntegration": {
          "type": "string",
          "description": "Enable/disable integration with the FortiGSLB cloud service. Valid values: `disable`, `enable`.\n"
        },
        "fortiipamIntegration": {
          "type": "string",
          "description": "Enable/disable integration with the FortiIPAM cloud service. Valid values: `enable`, `disable`.\n"
        },
        "fortiservicePort": {
          "type": "integer",
          "description": "FortiService port (1 - 65535, default = 8013). Used by FortiClient endpoint compliance. Older versions of FortiClient used a different port.\n"
        },
        "fortitokenCloud": {
          "type": "string",
          "description": "Enable/disable FortiToken Cloud service. Valid values: `enable`, `disable`.\n"
        },
        "fortitokenCloudPushStatus": {
          "type": "string",
          "description": "Enable/disable FTM push service of FortiToken Cloud. Valid values: `enable`, `disable`.\n"
        },
        "fortitokenCloudSyncInterval": {
          "type": "integer",
          "description": "Interval in which to clean up remote users in FortiToken Cloud (0 - 336 hours (14 days), default = 24, disable = 0).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "guiAllowDefaultHostname": {
          "type": "string",
          "description": "Enable/disable the GUI warning about using a default hostname Valid values: `enable`, `disable`.\n"
        },
        "guiAllowIncompatibleFabricFgt": {
          "type": "string",
          "description": "Enable/disable Allow FGT with incompatible firmware to be treated as compatible in security fabric on the GUI. May cause unexpected error. Valid values: `enable`, `disable`.\n"
        },
        "guiAppDetectionSdwan": {
          "type": "string",
          "description": "Enable/disable Allow app-detection based SD-WAN. Valid values: `enable`, `disable`.\n"
        },
        "guiAutoUpgradeSetupWarning": {
          "type": "string",
          "description": "Enable/disable the automatic patch upgrade setup prompt on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCdnDomainOverride": {
          "type": "string",
          "description": "Domain of CDN server.\n"
        },
        "guiCdnUsage": {
          "type": "string",
          "description": "Enable/disable Load GUI static files from a CDN. Valid values: `enable`, `disable`.\n"
        },
        "guiCertificates": {
          "type": "string",
          "description": "Enable/disable the System > Certificate GUI page, allowing you to add and configure certificates from the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCustomLanguage": {
          "type": "string",
          "description": "Enable/disable custom languages in GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDateFormat": {
          "type": "string",
          "description": "Default date format used throughout GUI. Valid values: `yyyy/MM/dd`, `dd/MM/yyyy`, `MM/dd/yyyy`, `yyyy-MM-dd`, `dd-MM-yyyy`, `MM-dd-yyyy`.\n"
        },
        "guiDateTimeSource": {
          "type": "string",
          "description": "Source from which the FortiGate GUI uses to display date and time entries. Valid values: `system`, `browser`.\n"
        },
        "guiDeviceLatitude": {
          "type": "string",
          "description": "Add the latitude of the location of this FortiGate to position it on the Threat Map.\n"
        },
        "guiDeviceLongitude": {
          "type": "string",
          "description": "Add the longitude of the location of this FortiGate to position it on the Threat Map.\n"
        },
        "guiDisplayHostname": {
          "type": "string",
          "description": "Enable/disable displaying the FortiGate's hostname on the GUI login page. Valid values: `enable`, `disable`.\n"
        },
        "guiFirmwareUpgradeSetupWarning": {
          "type": "string",
          "description": "Enable/disable the firmware upgrade warning on GUI setup wizard. Valid values: `enable`, `disable`.\n"
        },
        "guiFirmwareUpgradeWarning": {
          "type": "string",
          "description": "Enable/disable the firmware upgrade warning on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiForticareRegistrationSetupWarning": {
          "type": "string",
          "description": "Enable/disable the FortiCare registration setup warning on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortigateCloudSandbox": {
          "type": "string",
          "description": "Enable/disable displaying FortiGate Cloud Sandbox on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiguardResourceFetch": {
          "type": "string",
          "description": "Enable/disable retrieving static GUI resources from FortiGuard. Disabling it will improve GUI load time for air-gapped environments. Valid values: `enable`, `disable`.\n"
        },
        "guiFortisandboxCloud": {
          "type": "string",
          "description": "Enable/disable displaying FortiSandbox Cloud on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIpv6": {
          "type": "string",
          "description": "Enable/disable IPv6 settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLinesPerPage": {
          "type": "integer",
          "description": "Number of lines to display per page for web administration.\n"
        },
        "guiLocalOut": {
          "type": "string",
          "description": "Enable/disable Local-out traffic on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiReplacementMessageGroups": {
          "type": "string",
          "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiRestApiCache": {
          "type": "string",
          "description": "Enable/disable REST API result caching on FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "guiTheme": {
          "type": "string",
          "description": "Color scheme for the administration GUI.\n"
        },
        "guiWirelessOpensecurity": {
          "type": "string",
          "description": "Enable/disable wireless open security option on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWorkflowManagement": {
          "type": "string",
          "description": "Enable/disable Workflow management features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "haAffinity": {
          "type": "string",
          "description": "Affinity setting for HA daemons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "honorDf": {
          "type": "string",
          "description": "Enable/disable honoring of Don't-Fragment (DF) flag. Valid values: `enable`, `disable`.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate unit's hostname. Most models will truncate names longer than 24 characters. Some models support hostnames up to 35 characters.\n"
        },
        "igmpStateLimit": {
          "type": "integer",
          "description": "Maximum number of IGMP memberships (96 - 64000, default = 3200).\n"
        },
        "ikeEmbryonicLimit": {
          "type": "integer",
          "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
        },
        "interfaceSubnetUsage": {
          "type": "string",
          "description": "Enable/disable allowing use of interface-subnet setting in firewall addresses (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "internetServiceDatabase": {
          "type": "string",
          "description": "Configure which Internet Service database size to download from FortiGuard and use.\n"
        },
        "internetServiceDownloadLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FGlobalInternetServiceDownloadList:GlobalInternetServiceDownloadList"
          },
          "description": "Configure which on-demand Internet Service IDs are to be downloaded. The structure of `internet_service_download_list` block is documented below.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Dead gateway detection interval.\n"
        },
        "ipFragmentMemThresholds": {
          "type": "integer",
          "description": "Maximum memory (MB) used to reassemble IPv4/IPv6 fragments.\n"
        },
        "ipSrcPortRange": {
          "type": "string",
          "description": "IP source port range used for traffic originating from the FortiGate unit.\n"
        },
        "ipsAffinity": {
          "type": "string",
          "description": "Affinity setting for IPS (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx; allowed CPUs must be less than total number of IPS engine daemons).\n"
        },
        "ipsecAsicOffload": {
          "type": "string",
          "description": "Enable/disable ASIC offloading (hardware acceleration) for IPsec VPN traffic. Hardware acceleration can offload IPsec VPN sessions and accelerate encryption and decryption. Valid values: `enable`, `disable`.\n"
        },
        "ipsecHaSeqjumpRate": {
          "type": "integer",
          "description": "ESP jump ahead rate (1G - 10G pps equivalent).\n"
        },
        "ipsecHmacOffload": {
          "type": "string",
          "description": "Enable/disable offloading (hardware acceleration) of HMAC processing for IPsec VPN. Valid values: `enable`, `disable`.\n"
        },
        "ipsecQatOffload": {
          "type": "string",
          "description": "Enable/disable QAT offloading (Intel QuickAssist) for IPsec VPN traffic. QuickAssist can accelerate IPsec encryption and decryption. Valid values: `enable`, `disable`.\n"
        },
        "ipsecRoundRobin": {
          "type": "string",
          "description": "Enable/disable round-robin redistribution to multiple CPUs for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipsecSoftDecAsync": {
          "type": "string",
          "description": "Enable/disable software decryption asynchronization (using multiple CPUs to do decryption) for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AcceptDad": {
          "type": "integer",
          "description": "Enable/disable acceptance of IPv6 Duplicate Address Detection (DAD).\n"
        },
        "ipv6AllowAnycastProbe": {
          "type": "string",
          "description": "Enable/disable IPv6 address probe through Anycast. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowLocalInSilentDrop": {
          "type": "string",
          "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowLocalInSlientDrop": {
          "type": "string",
          "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowMulticastProbe": {
          "type": "string",
          "description": "Enable/disable IPv6 address probe through Multicast. Valid values: `enable`, `disable`.\n"
        },
        "ipv6AllowTrafficRedirect": {
          "type": "string",
          "description": "Disable to prevent IPv6 traffic with same local ingress and egress interface from being forwarded without policy check. Valid values: `enable`, `disable`.\n"
        },
        "irqTimeAccounting": {
          "type": "string",
          "description": "Configure CPU IRQ time accounting mode. Valid values: `auto`, `force`.\n"
        },
        "language": {
          "type": "string",
          "description": "GUI display language. Valid values: `english`, `french`, `spanish`, `portuguese`, `japanese`, `trach`, `simch`, `korean`.\n"
        },
        "ldapconntimeout": {
          "type": "integer",
          "description": "Global timeout for connections with remote LDAP servers in milliseconds (1 - 300000, default 500).\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`.\n"
        },
        "logSingleCpuHigh": {
          "type": "string",
          "description": "Enable/disable logging the event of a single CPU core reaching CPU usage threshold. Valid values: `enable`, `disable`.\n"
        },
        "logSslConnection": {
          "type": "string",
          "description": "Enable/disable logging of SSL connection events. Valid values: `enable`, `disable`.\n"
        },
        "logUuidAddress": {
          "type": "string",
          "description": "Enable/disable insertion of address UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "logUuidPolicy": {
          "type": "string",
          "description": "Enable/disable insertion of policy UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
        },
        "loginTimestamp": {
          "type": "string",
          "description": "Enable/disable login time recording. Valid values: `enable`, `disable`.\n"
        },
        "longVdomName": {
          "type": "string",
          "description": "Enable/disable long VDOM name support. Valid values: `enable`, `disable`.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
        },
        "managementPort": {
          "type": "integer",
          "description": "Overriding port for management connection (Overrides admin port).\n"
        },
        "managementPortUseAdminSport": {
          "type": "string",
          "description": "Enable/disable use of the admin-sport setting for the management port. If disabled, FortiGate will allow user to specify management-port. Valid values: `enable`, `disable`.\n"
        },
        "managementVdom": {
          "type": "string",
          "description": "Management virtual domain name.\n"
        },
        "maxDlpstatMemory": {
          "type": "integer",
          "description": "Maximum DLP stat memory (0 - 4294967295).\n"
        },
        "maxRouteCacheSize": {
          "type": "integer",
          "description": "Maximum number of IP route cache entries (0 - 2147483647).\n"
        },
        "mcTtlNotchange": {
          "type": "string",
          "description": "Enable/disable no modification of multicast TTL. Valid values: `enable`, `disable`.\n"
        },
        "memoryUseThresholdExtreme": {
          "type": "integer",
          "description": "Threshold at which memory usage is considered extreme (new sessions are dropped) (% of total RAM, default = 95).\n"
        },
        "memoryUseThresholdGreen": {
          "type": "integer",
          "description": "Threshold at which memory usage forces the FortiGate to exit conserve mode (% of total RAM, default = 82).\n"
        },
        "memoryUseThresholdRed": {
          "type": "integer",
          "description": "Threshold at which memory usage forces the FortiGate to enter conserve mode (% of total RAM, default = 88).\n"
        },
        "miglogAffinity": {
          "type": "string",
          "description": "Affinity setting for logging. On FortiOS versions 6.2.0-7.2.3: 64-bit hexadecimal value in the format of xxxxxxxxxxxxxxxx. On FortiOS versions >= 7.2.4: hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx.\n"
        },
        "miglogdChildren": {
          "type": "integer",
          "description": "Number of logging (miglogd) processes to be allowed to run. Higher number can reduce performance; lower number can slow log processing time.\n"
        },
        "multiFactorAuthentication": {
          "type": "string",
          "description": "Enforce all login methods to require an additional authentication factor (default = optional). Valid values: `optional`, `mandatory`.\n"
        },
        "multicastForward": {
          "type": "string",
          "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "ndpMaxEntry": {
          "type": "integer",
          "description": "Maximum number of NDP table entries (set to 65,536 or higher; if set to 0, kernel holds 65,536 entries).\n"
        },
        "npuNeighborUpdate": {
          "type": "string",
          "description": "Enable/disable sending of probing packets to update neighbors for offloaded sessions. Valid values: `enable`, `disable`.\n"
        },
        "perUserBal": {
          "type": "string",
          "description": "Enable/disable per-user block/allow list filter. Valid values: `enable`, `disable`.\n"
        },
        "perUserBwl": {
          "type": "string",
          "description": "Enable/disable per-user black/white list filter. Valid values: `enable`, `disable`.\n"
        },
        "pmtuDiscovery": {
          "type": "string",
          "description": "Enable/disable path MTU discovery. Valid values: `enable`, `disable`.\n"
        },
        "policyAuthConcurrent": {
          "type": "integer",
          "description": "Number of concurrent firewall use logins from the same user (1 - 100, default = 0 means no limit).\n"
        },
        "postLoginBanner": {
          "type": "string",
          "description": "Enable/disable displaying the administrator access disclaimer message after an administrator successfully logs in. Valid values: `disable`, `enable`.\n"
        },
        "preLoginBanner": {
          "type": "string",
          "description": "Enable/disable displaying the administrator access disclaimer message on the login page before an administrator logs in. Valid values: `enable`, `disable`.\n"
        },
        "privateDataEncryption": {
          "type": "string",
          "description": "Enable/disable private data encryption using an AES 128-bit key. Valid values: `disable`, `enable`.\n"
        },
        "proxyAuthLifetime": {
          "type": "string",
          "description": "Enable/disable authenticated users lifetime control.  This is a cap on the total time a proxy user can be authenticated for after which re-authentication will take place. Valid values: `enable`, `disable`.\n"
        },
        "proxyAuthLifetimeTimeout": {
          "type": "integer",
          "description": "Lifetime timeout in minutes for authenticated users (5  - 65535 min, default=480 (8 hours)).\n"
        },
        "proxyAuthTimeout": {
          "type": "integer",
          "description": "Authentication timeout in minutes for authenticated users (1 - 300 min, default = 10).\n"
        },
        "proxyCertUseMgmtVdom": {
          "type": "string",
          "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
        },
        "proxyCipherHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable using content processor (CP8 or CP9) hardware acceleration to encrypt and decrypt IPsec and SSL traffic. Valid values: `disable`, `enable`.\n"
        },
        "proxyHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable email proxy hardware acceleration. Valid values: `disable`, `enable`.\n"
        },
        "proxyKeepAliveMode": {
          "type": "string",
          "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was authenticated. Valid values: `session`, `traffic`, `re-authentication`.\n"
        },
        "proxyKxpHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable using the content processor to accelerate KXP traffic. Valid values: `disable`, `enable`.\n"
        },
        "proxyReAuthenticationMode": {
          "type": "string",
          "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was first created. Valid values: `session`, `traffic`, `absolute`.\n"
        },
        "proxyReAuthenticationTime": {
          "type": "integer",
          "description": "The time limit that users must re-authenticate if proxy-keep-alive-mode is set to re-authenticate (1  - 86400 sec, default=30s.\n"
        },
        "proxyResourceMode": {
          "type": "string",
          "description": "Enable/disable use of the maximum memory usage on the FortiGate unit's proxy processing of resources, such as block lists, allow lists, and external resources. Valid values: `enable`, `disable`.\n"
        },
        "proxyWorkerCount": {
          "type": "integer",
          "description": "Proxy worker count.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this FortiGate. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "quicAckThresold": {
          "type": "integer",
          "description": "Maximum number of unacknowledged packets before sending ACK (2 - 5, default = 3).\n"
        },
        "quicCongestionControlAlgo": {
          "type": "string",
          "description": "QUIC congestion control algorithm (default = cubic). Valid values: `cubic`, `bbr`, `bbr2`, `reno`.\n"
        },
        "quicMaxDatagramSize": {
          "type": "integer",
          "description": "Maximum transmit datagram size (1200 - 1500, default = 1500).\n"
        },
        "quicPmtud": {
          "type": "string",
          "description": "Enable/disable path MTU discovery (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "quicTlsHandshakeTimeout": {
          "type": "integer",
          "description": "Time-to-live (TTL) for TLS handshake in seconds (1 - 60, default = 5).\n"
        },
        "quicUdpPayloadSizeShapingPerCid": {
          "type": "string",
          "description": "Enable/disable UDP payload size shaping per connection ID (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number.\n"
        },
        "rebootUponConfigRestore": {
          "type": "string",
          "description": "Enable/disable reboot of system upon restoring configuration. Valid values: `enable`, `disable`.\n"
        },
        "refresh": {
          "type": "integer",
          "description": "Statistics refresh interval second(s) in GUI.\n"
        },
        "remoteauthtimeout": {
          "type": "integer",
          "description": "Number of seconds that the FortiGate waits for responses from remote RADIUS, LDAP, or TACACS+ authentication servers. (default = 5). On FortiOS versions 6.2.0-6.2.6: 0-300 sec, 0 means no timeout. On FortiOS versions >= 6.4.0: 1-300 sec.\n"
        },
        "resetSessionlessTcp": {
          "type": "string",
          "description": "Action to perform if the FortiGate receives a TCP packet but cannot find a corresponding session in its session table. NAT/Route mode only. Valid values: `enable`, `disable`.\n"
        },
        "restartTime": {
          "type": "string",
          "description": "Daily restart time (hh:mm).\n"
        },
        "revisionBackupOnLogout": {
          "type": "string",
          "description": "Enable/disable back-up of the latest configuration revision when an administrator logs out of the CLI or GUI. Valid values: `enable`, `disable`.\n"
        },
        "revisionImageAutoBackup": {
          "type": "string",
          "description": "Enable/disable back-up of the latest configuration revision after the firmware is upgraded. Valid values: `enable`, `disable`.\n"
        },
        "scanunitCount": {
          "type": "integer",
          "description": "Number of scanunits. The range and the default depend on the number of CPUs. Only available on FortiGate units with multiple CPUs.\n"
        },
        "securityRatingResultSubmission": {
          "type": "string",
          "description": "Enable/disable the submission of Security Rating results to FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "securityRatingRunOnSchedule": {
          "type": "string",
          "description": "Enable/disable scheduled runs of Security Rating. Valid values: `enable`, `disable`.\n"
        },
        "sendPmtuIcmp": {
          "type": "string",
          "description": "Enable/disable sending of path maximum transmission unit (PMTU) - ICMP destination unreachable packet and to support PMTUD protocol on your network to reduce fragmentation of packets. Valid values: `enable`, `disable`.\n"
        },
        "sflowdMaxChildrenNum": {
          "type": "integer",
          "description": "Maximum number of sflowd child processes allowed to run.\n"
        },
        "snatRouteChange": {
          "type": "string",
          "description": "Enable/disable the ability to change the static NAT route. Valid values: `enable`, `disable`.\n"
        },
        "specialFile23Support": {
          "type": "string",
          "description": "Enable/disable IPS detection of HIBUN format files when using Data Leak Protection. Valid values: `disable`, `enable`.\n"
        },
        "speedtestServer": {
          "type": "string",
          "description": "Enable/disable speed test server. Valid values: `enable`, `disable`.\n"
        },
        "speedtestdCtrlPort": {
          "type": "integer",
          "description": "Speedtest server controller port number.\n"
        },
        "speedtestdServerPort": {
          "type": "integer",
          "description": "Speedtest server port number.\n"
        },
        "splitPort": {
          "type": "string",
          "description": "Split port(s) to multiple 10Gbps ports.\n"
        },
        "ssdTrimDate": {
          "type": "integer",
          "description": "Date within a month to run ssd trim.\n"
        },
        "ssdTrimFreq": {
          "type": "string",
          "description": "How often to run SSD Trim (default = weekly). SSD Trim prevents SSD drive data loss by finding and isolating errors. Valid values: `never`, `hourly`, `daily`, `weekly`, `monthly`.\n"
        },
        "ssdTrimHour": {
          "type": "integer",
          "description": "Hour of the day on which to run SSD Trim (0 - 23, default = 1).\n"
        },
        "ssdTrimMin": {
          "type": "integer",
          "description": "Minute of the hour on which to run SSD Trim (0 - 59, 60 for random).\n"
        },
        "ssdTrimWeekday": {
          "type": "string",
          "description": "Day of week to run SSD Trim. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "sshCbcCipher": {
          "type": "string",
          "description": "Enable/disable CBC cipher for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshEncAlgo": {
          "type": "string",
          "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
        },
        "sshHmacMd5": {
          "type": "string",
          "description": "Enable/disable HMAC-MD5 for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshHostkey": {
          "type": "string",
          "description": "Config SSH host key.\n"
        },
        "sshHostkeyAlgo": {
          "type": "string",
          "description": "Select one or more SSH hostkey algorithms.\n"
        },
        "sshHostkeyOverride": {
          "type": "string",
          "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
        },
        "sshHostkeyPassword": {
          "type": "string",
          "description": "Password for ssh-hostkey.\n"
        },
        "sshKexAlgo": {
          "type": "string",
          "description": "Select one or more SSH kex algorithms.\n"
        },
        "sshKexSha1": {
          "type": "string",
          "description": "Enable/disable SHA1 key exchange for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sshMacAlgo": {
          "type": "string",
          "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
        },
        "sshMacWeak": {
          "type": "string",
          "description": "Enable/disable HMAC-SHA1 and UMAC-64-ETM for SSH access. Valid values: `enable`, `disable`.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default = TLSv1.2).\n"
        },
        "sslStaticKeyCiphers": {
          "type": "string",
          "description": "Enable/disable static key ciphers in SSL/TLS connections (e.g. AES128-SHA, AES256-SHA, AES128-SHA256, AES256-SHA256). Valid values: `enable`, `disable`.\n"
        },
        "sslvpnCipherHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable SSL VPN hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnEmsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number in SSL-VPN connection. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnKxpHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable SSL VPN KXP hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnMaxWorkerCount": {
          "type": "integer",
          "description": "Maximum number of SSL VPN processes. Upper limit for this value is the number of CPUs and depends on the model.\n"
        },
        "sslvpnPluginVersionCheck": {
          "type": "string",
          "description": "Enable/disable checking browser's plugin version by SSL VPN. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnWebMode": {
          "type": "string",
          "description": "Enable/disable SSL-VPN web mode. Valid values: `enable`, `disable`.\n"
        },
        "strictDirtySessionCheck": {
          "type": "string",
          "description": "Enable to check the session against the original policy when revalidating. This can prevent dropping of redirected sessions when web-filtering and authentication are enabled together. If this option is enabled, the FortiGate unit deletes a session if a routing or policy change causes the session to no longer match the policy that originally allowed the session. Valid values: `enable`, `disable`.\n"
        },
        "strongCrypto": {
          "type": "string",
          "description": "Enable to use strong encryption and only allow strong ciphers and digest for HTTPS/SSH/TLS/SSL functions. Valid values: `enable`, `disable`.\n"
        },
        "switchController": {
          "type": "string",
          "description": "Enable/disable switch controller feature. Switch controller allows you to manage FortiSwitch from the FortiGate itself. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerReservedNetwork": {
          "type": "string",
          "description": "Enable reserved network subnet for controlled switches. This is available when the switch controller is enabled.\n"
        },
        "sysPerfLogInterval": {
          "type": "integer",
          "description": "Time in minutes between updates of performance statistics logging. (1 - 15 min, default = 5, 0 = disabled).\n"
        },
        "syslogAffinity": {
          "type": "string",
          "description": "Affinity setting for syslog (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "tcpHalfcloseTimer": {
          "type": "integer",
          "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent a FIN packet but the other has not responded (1 - 86400 sec (1 day), default = 120).\n"
        },
        "tcpHalfopenTimer": {
          "type": "integer",
          "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent an open session packet but the other has not responded (1 - 86400 sec (1 day), default = 10).\n"
        },
        "tcpOption": {
          "type": "string",
          "description": "Enable SACK, timestamp and MSS TCP options. Valid values: `enable`, `disable`.\n"
        },
        "tcpRstTimer": {
          "type": "integer",
          "description": "Length of the TCP CLOSE state in seconds (5 - 300 sec, default = 5).\n"
        },
        "tcpTimewaitTimer": {
          "type": "integer",
          "description": "Length of the TCP TIME-WAIT state in seconds (1 - 300 sec, default = 1).\n"
        },
        "tftp": {
          "type": "string",
          "description": "Enable/disable TFTP. Valid values: `enable`, `disable`.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Number corresponding to your time zone from 00 to 86. Enter set timezone ? to view the list of time zones and the numbers that represent them.\n"
        },
        "tpMcSkipPolicy": {
          "type": "string",
          "description": "Enable/disable skip policy check and allow multicast through. Valid values: `enable`, `disable`.\n"
        },
        "trafficPriority": {
          "type": "string",
          "description": "Choose Type of Service (ToS) or Differentiated Services Code Point (DSCP) for traffic prioritization in traffic shaping. Valid values: `tos`, `dscp`.\n"
        },
        "trafficPriorityLevel": {
          "type": "string",
          "description": "Default system-wide level of priority for traffic prioritization. Valid values: `low`, `medium`, `high`.\n"
        },
        "twoFactorEmailExpiry": {
          "type": "integer",
          "description": "Email-based two-factor authentication session timeout (30 - 300 seconds (5 minutes), default = 60).\n"
        },
        "twoFactorFacExpiry": {
          "type": "integer",
          "description": "FortiAuthenticator token authentication session timeout (10 - 3600 seconds (1 hour), default = 60).\n"
        },
        "twoFactorFtkExpiry": {
          "type": "integer",
          "description": "FortiToken authentication session timeout (60 - 600 sec (10 minutes), default = 60).\n"
        },
        "twoFactorFtmExpiry": {
          "type": "integer",
          "description": "FortiToken Mobile session timeout (1 - 168 hours (7 days), default = 72).\n"
        },
        "twoFactorSmsExpiry": {
          "type": "integer",
          "description": "SMS-based two-factor authentication session timeout (30 - 300 sec, default = 60).\n"
        },
        "udpIdleTimer": {
          "type": "integer",
          "description": "UDP connection session timeout. This command can be useful in managing CPU and memory resources (1 - 86400 seconds (1 day), default = 60).\n"
        },
        "urlFilterAffinity": {
          "type": "string",
          "description": "URL filter CPU affinity.\n"
        },
        "urlFilterCount": {
          "type": "integer",
          "description": "URL filter daemon count.\n"
        },
        "userDeviceStoreMaxDevices": {
          "type": "integer",
          "description": "Maximum number of devices allowed in user device store.\n"
        },
        "userDeviceStoreMaxUnifiedMem": {
          "type": "integer",
          "description": "Maximum unified memory allowed in user device store.\n"
        },
        "userDeviceStoreMaxUsers": {
          "type": "integer",
          "description": "Maximum number of users allowed in user device store.\n"
        },
        "userServerCert": {
          "type": "string",
          "description": "Certificate to use for https user authentication.\n"
        },
        "vdomAdmin": {
          "type": "string",
          "description": "Enable/disable support for multiple virtual domains (VDOMs). Valid values: `enable`, `disable`.\n"
        },
        "vdomMode": {
          "type": "string",
          "description": "Enable/disable support for split/multiple virtual domains (VDOMs). Valid values: `no-vdom`, `split-vdom`, `multi-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
        },
        "vipArpRange": {
          "type": "string",
          "description": "Controls the number of ARPs that the FortiGate sends for a Virtual IP (VIP) address range. Valid values: `unlimited`, `restricted`.\n"
        },
        "virtualServerCount": {
          "type": "integer",
          "description": "Maximum number of virtual server processes to create. The maximum is the number of CPU cores. This is not available on single-core CPUs.\n"
        },
        "virtualServerHardwareAcceleration": {
          "type": "string",
          "description": "Enable/disable virtual server hardware acceleration. Valid values: `disable`, `enable`.\n"
        },
        "virtualSwitchVlan": {
          "type": "string",
          "description": "Enable/disable virtual switch VLAN. Valid values: `enable`, `disable`.\n"
        },
        "vpnEmsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number in SSL-VPN and IPsec VPN connection. Valid values: `enable`, `disable`.\n"
        },
        "wadAffinity": {
          "type": "string",
          "description": "Affinity setting for wad (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "wadCsvcCsCount": {
          "type": "integer",
          "description": "Number of concurrent WAD-cache-service object-cache processes.\n"
        },
        "wadCsvcDbCount": {
          "type": "integer",
          "description": "Number of concurrent WAD-cache-service byte-cache processes.\n"
        },
        "wadMemoryChangeGranularity": {
          "type": "integer",
          "description": "Minimum percentage change in system memory usage detected by the wad daemon prior to adjusting TCP window size for any active connection.\n"
        },
        "wadRestartEndTime": {
          "type": "string",
          "description": "WAD workers daily restart end time (hh:mm).\n"
        },
        "wadRestartMode": {
          "type": "string",
          "description": "WAD worker restart mode (default = none). Valid values: `none`, `time`, `memory`.\n"
        },
        "wadRestartStartTime": {
          "type": "string",
          "description": "WAD workers daily restart time (hh:mm).\n"
        },
        "wadSourceAffinity": {
          "type": "string",
          "description": "Enable/disable dispatching traffic to WAD workers based on source affinity. Valid values: `disable`, `enable`.\n"
        },
        "wadWorkerCount": {
          "type": "integer",
          "description": "Number of explicit proxy WAN optimization daemon (WAD) processes. By default WAN optimization, explicit proxy, and web caching is handled by all of the CPU cores in a FortiGate unit.\n"
        },
        "wifiCaCertificate": {
          "type": "string",
          "description": "CA certificate that verifies the WiFi certificate.\n"
        },
        "wifiCertificate": {
          "type": "string",
          "description": "Certificate to use for WiFi authentication.\n"
        },
        "wimax4gUsb": {
          "type": "string",
          "description": "Enable/disable comparability with WiMAX 4G USB devices. Valid values: `enable`, `disable`.\n"
        },
        "wirelessController": {
          "type": "string",
          "description": "Enable/disable the wireless controller feature to use the FortiGate unit to manage FortiAPs. Valid values: `enable`, `disable`.\n"
        },
        "wirelessControllerPort": {
          "type": "integer",
          "description": "Port used for the control channel in wireless controller mode (wireless-mode is ac). The data channel port is the control channel port number plus one (1024 - 49150, default = 5246).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "adminConcurrent": {
            "type": "string",
            "description": "Enable/disable concurrent administrator logins. Use policy-auth-concurrent for firewall authenticated users. Valid values: `enable`, `disable`.\n"
          },
          "adminConsoleTimeout": {
            "type": "integer",
            "description": "Console login timeout that overrides the admin timeout value (15 - 300 seconds, default = 0, which disables the timeout).\n"
          },
          "adminForticloudSsoDefaultProfile": {
            "type": "string",
            "description": "Override access profile.\n"
          },
          "adminForticloudSsoLogin": {
            "type": "string",
            "description": "Enable/disable FortiCloud admin login via SSO. Valid values: `enable`, `disable`.\n"
          },
          "adminHost": {
            "type": "string",
            "description": "Administrative host for HTTP and HTTPS. When set, will be used in lieu of the client's Host header for any redirection.\n"
          },
          "adminHstsMaxAge": {
            "type": "integer",
            "description": "HTTPS Strict-Transport-Security header max-age in seconds. A value of 0 will reset any HSTS records in the browser.When admin-https-redirect is disabled the header max-age will be 0.\n"
          },
          "adminHttpsPkiRequired": {
            "type": "string",
            "description": "Enable/disable admin login method. Enable to force administrators to provide a valid certificate to log in if PKI is enabled. Disable to allow administrators to log in with a certificate or password. Valid values: `enable`, `disable`.\n"
          },
          "adminHttpsRedirect": {
            "type": "string",
            "description": "Enable/disable redirection of HTTP administration access to HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "adminHttpsSslBannedCiphers": {
            "type": "string",
            "description": "Select one or more cipher technologies that cannot be used in GUI HTTPS negotiations. Only applies to TLS 1.2 and below. Valid values: `RSA`, `DHE`, `ECDHE`, `DSS`, `ECDSA`, `AES`, `AESGCM`, `CAMELLIA`, `3DES`, `SHA1`, `SHA256`, `SHA384`, `STATIC`, `CHACHA20`, `ARIA`, `AESCCM`.\n"
          },
          "adminHttpsSslCiphersuites": {
            "type": "string",
            "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, remove TLS1.3 from admin-https-ssl-versions. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
          },
          "adminHttpsSslVersions": {
            "type": "string",
            "description": "Allowed TLS versions for web administration.\n"
          },
          "adminLockoutDuration": {
            "type": "integer",
            "description": "Amount of time in seconds that an administrator account is locked out after reaching the admin-lockout-threshold for repeated failed login attempts.\n"
          },
          "adminLockoutThreshold": {
            "type": "integer",
            "description": "Number of failed login attempts before an administrator account is locked out for the admin-lockout-duration.\n"
          },
          "adminLoginMax": {
            "type": "integer",
            "description": "Maximum number of administrators who can be logged in at the same time (1 - 100, default = 100)\n"
          },
          "adminMaintainer": {
            "type": "string",
            "description": "Enable/disable maintainer administrator login. When enabled, the maintainer account can be used to log in from the console after a hard reboot. The password is \"bcpb\" followed by the FortiGate unit serial number. You have limited time to complete this login. Valid values: `enable`, `disable`.\n"
          },
          "adminPort": {
            "type": "integer",
            "description": "Administrative access port for HTTP. (1 - 65535, default = 80).\n"
          },
          "adminRestrictLocal": {
            "type": "string",
            "description": "Enable/disable local admin authentication restriction when remote authenticator is up and running. (default = disable) Valid values: `enable`, `disable`.\n"
          },
          "adminScp": {
            "type": "string",
            "description": "Enable/disable using SCP to download the system configuration. You can use SCP as an alternative method for backing up the configuration. Valid values: `enable`, `disable`.\n"
          },
          "adminServerCert": {
            "type": "string",
            "description": "Server certificate that the FortiGate uses for HTTPS administrative connections.\n"
          },
          "adminSport": {
            "type": "integer",
            "description": "Administrative access port for HTTPS. (1 - 65535, default = 443).\n"
          },
          "adminSshGraceTime": {
            "type": "integer",
            "description": "Maximum time in seconds permitted between making an SSH connection to the FortiGate unit and authenticating (10 - 3600 sec (1 hour), default 120).\n"
          },
          "adminSshPassword": {
            "type": "string",
            "description": "Enable/disable password authentication for SSH admin access. Valid values: `enable`, `disable`.\n"
          },
          "adminSshPort": {
            "type": "integer",
            "description": "Administrative access port for SSH. (1 - 65535, default = 22).\n"
          },
          "adminSshV1": {
            "type": "string",
            "description": "Enable/disable SSH v1 compatibility. Valid values: `enable`, `disable`.\n"
          },
          "adminTelnet": {
            "type": "string",
            "description": "Enable/disable TELNET service. Valid values: `enable`, `disable`.\n"
          },
          "adminTelnetPort": {
            "type": "integer",
            "description": "Administrative access port for TELNET. (1 - 65535, default = 23).\n"
          },
          "admintimeout": {
            "type": "integer",
            "description": "Number of minutes before an idle administrator session times out (default = 5). A shorter idle timeout is more secure. On FortiOS versions 6.2.0-6.2.6: 5 - 480 minutes (8 hours). On FortiOS versions >= 6.4.0: 1 - 480 minutes (8 hours).\n"
          },
          "alias": {
            "type": "string",
            "description": "Alias for your FortiGate unit.\n"
          },
          "allowTrafficRedirect": {
            "type": "string",
            "description": "Disable to allow traffic to be routed back on a different interface. Valid values: `enable`, `disable`.\n"
          },
          "antiReplay": {
            "type": "string",
            "description": "Level of checking for packet replay and TCP sequence checking. Valid values: `disable`, `loose`, `strict`.\n"
          },
          "arpMaxEntry": {
            "type": "integer",
            "description": "Maximum number of dynamically learned MAC addresses that can be added to the ARP table (131072 - 2147483647, default = 131072).\n"
          },
          "asymroute": {
            "type": "string",
            "description": "Enable/disable asymmetric route. Valid values: `enable`, `disable`.\n"
          },
          "authCert": {
            "type": "string",
            "description": "Server certificate that the FortiGate uses for HTTPS firewall authentication connections.\n"
          },
          "authHttpPort": {
            "type": "integer",
            "description": "User authentication HTTP port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 80. On FortiOS versions >= 6.4.0: default = 1000.\n"
          },
          "authHttpsPort": {
            "type": "integer",
            "description": "User authentication HTTPS port. (1 - 65535). On FortiOS versions 6.2.0-6.2.6: default = 443. On FortiOS versions >= 6.4.0: default = 1003.\n"
          },
          "authIkeSamlPort": {
            "type": "integer",
            "description": "User IKE SAML authentication port (0 - 65535, default = 1001).\n"
          },
          "authKeepalive": {
            "type": "string",
            "description": "Enable to prevent user authentication sessions from timing out when idle. Valid values: `enable`, `disable`.\n"
          },
          "authSessionLimit": {
            "type": "string",
            "description": "Action to take when the number of allowed user authenticated sessions is reached. Valid values: `block-new`, `logout-inactive`.\n"
          },
          "autoAuthExtensionDevice": {
            "type": "string",
            "description": "Enable/disable automatic authorization of dedicated Fortinet extension devices. Valid values: `enable`, `disable`.\n"
          },
          "autorunLogFsck": {
            "type": "string",
            "description": "Enable/disable automatic log partition check after ungraceful shutdown. Valid values: `enable`, `disable`.\n"
          },
          "avAffinity": {
            "type": "string",
            "description": "Affinity setting for AV scanning (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "avFailopen": {
            "type": "string",
            "description": "Set the action to take if the FortiGate is running low on memory or the proxy connection limit has been reached. Valid values: `pass`, `off`, `one-shot`.\n"
          },
          "avFailopenSession": {
            "type": "string",
            "description": "When enabled and a proxy for a protocol runs out of room in its session table, that protocol goes into failopen mode and enacts the action specified by av-failopen. Valid values: `enable`, `disable`.\n"
          },
          "batchCmdb": {
            "type": "string",
            "description": "Enable/disable batch mode, allowing you to enter a series of CLI commands that will execute as a group once they are loaded. Valid values: `enable`, `disable`.\n"
          },
          "bfdAffinity": {
            "type": "string",
            "description": "Affinity setting for BFD daemon (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "blockSessionTimer": {
            "type": "integer",
            "description": "Duration in seconds for blocked sessions (1 - 300 sec  (5 minutes), default = 30).\n"
          },
          "brFdbMaxEntry": {
            "type": "integer",
            "description": "Maximum number of bridge forwarding database (FDB) entries.\n"
          },
          "certChainMax": {
            "type": "integer",
            "description": "Maximum number of certificates that can be traversed in a certificate chain.\n"
          },
          "cfgRevertTimeout": {
            "type": "integer",
            "description": "Time-out for reverting to the last saved configuration. (10 - 4294967295 seconds, default = 600).\n"
          },
          "cfgSave": {
            "type": "string",
            "description": "Configuration file save mode for CLI changes. Valid values: `automatic`, `manual`, `revert`.\n"
          },
          "checkProtocolHeader": {
            "type": "string",
            "description": "Level of checking performed on protocol headers. Strict checking is more thorough but may affect performance. Loose checking is ok in most cases. Valid values: `loose`, `strict`.\n"
          },
          "checkResetRange": {
            "type": "string",
            "description": "Configure ICMP error message verification. You can either apply strict RST range checking or disable it. Valid values: `strict`, `disable`.\n"
          },
          "cliAuditLog": {
            "type": "string",
            "description": "Enable/disable CLI audit log. Valid values: `enable`, `disable`.\n"
          },
          "cloudCommunication": {
            "type": "string",
            "description": "Enable/disable all cloud communication. Valid values: `enable`, `disable`.\n"
          },
          "cltCertReq": {
            "type": "string",
            "description": "Enable/disable requiring administrators to have a client certificate to log into the GUI using HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "cmdbsvrAffinity": {
            "type": "string",
            "description": "Affinity setting for cmdbsvr (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "complianceCheck": {
            "type": "string",
            "description": "Enable/disable global PCI DSS compliance check. Valid values: `enable`, `disable`.\n"
          },
          "complianceCheckTime": {
            "type": "string",
            "description": "Time of day to run scheduled PCI DSS compliance checks.\n"
          },
          "cpuUseThreshold": {
            "type": "integer",
            "description": "Threshold at which CPU usage is reported. (% of total CPU, default = 90).\n"
          },
          "csrCaAttribute": {
            "type": "string",
            "description": "Enable/disable the CA attribute in certificates. Some CA servers reject CSRs that have the CA attribute. Valid values: `enable`, `disable`.\n"
          },
          "dailyRestart": {
            "type": "string",
            "description": "Enable/disable daily restart of FortiGate unit. Use the restart-time option to set the time of day for the restart. Valid values: `enable`, `disable`.\n"
          },
          "defaultServiceSourcePort": {
            "type": "string",
            "description": "Default service source port range. (default=1-65535)\n"
          },
          "deviceIdentificationActiveScanDelay": {
            "type": "integer",
            "description": "Number of seconds to passively scan a device before performing an active scan. (20 - 3600 sec, (20 sec to 1 hour), default = 90).\n"
          },
          "deviceIdleTimeout": {
            "type": "integer",
            "description": "Time in seconds that a device must be idle to automatically log the device user out. (30 - 31536000 sec (30 sec to 1 year), default = 300).\n"
          },
          "dhParams": {
            "type": "string",
            "description": "Number of bits to use in the Diffie-Hellman exchange for HTTPS/SSH protocols. Valid values: `1024`, `1536`, `2048`, `3072`, `4096`, `6144`, `8192`.\n"
          },
          "dhcpLeaseBackupInterval": {
            "type": "integer",
            "description": "DHCP leases backup interval in seconds (10 - 3600, default = 60).\n"
          },
          "dnsproxyWorkerCount": {
            "type": "integer",
            "description": "DNS proxy worker count.\n"
          },
          "dst": {
            "type": "string",
            "description": "Enable/disable daylight saving time. 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"
          },
          "earlyTcpNpuSession": {
            "type": "string",
            "description": "Enable/disable early TCP NPU session. Valid values: `enable`, `disable`.\n"
          },
          "editVdomPrompt": {
            "type": "string",
            "description": "Enable/disable edit new VDOM prompt. Valid values: `enable`, `disable`.\n"
          },
          "endpointControlFdsAccess": {
            "type": "string",
            "description": "Enable/disable access to the FortiGuard network for non-compliant endpoints. Valid values: `enable`, `disable`.\n"
          },
          "endpointControlPortalPort": {
            "type": "integer",
            "description": "Endpoint control portal port (1 - 65535).\n"
          },
          "extenderControllerReservedNetwork": {
            "type": "string",
            "description": "Configure reserved network subnet for managed LAN extension FortiExtenders. This is available when the extender daemon is running.\n"
          },
          "failtime": {
            "type": "integer",
            "description": "Fail-time for server lost.\n"
          },
          "fazDiskBufferSize": {
            "type": "integer",
            "description": "Maximum disk buffer size to temporarily store logs destined for FortiAnalyzer. To be used in the event that FortiAnalyzer is unavailalble.\n"
          },
          "fdsStatistics": {
            "type": "string",
            "description": "Enable/disable sending IPS, Application Control, and AntiVirus data to FortiGuard. This data is used to improve FortiGuard services and is not shared with external parties and is protected by Fortinet's privacy policy. Valid values: `enable`, `disable`.\n"
          },
          "fdsStatisticsPeriod": {
            "type": "integer",
            "description": "FortiGuard statistics collection period in minutes. (1 - 1440 min (1 min to 24 hours), default = 60).\n"
          },
          "fecPort": {
            "type": "integer",
            "description": "Local UDP port for Forward Error Correction (49152 - 65535).\n"
          },
          "fgdAlertSubscription": {
            "type": "string",
            "description": "Type of alert to retrieve from FortiGuard. Valid values: `advisory`, `latest-threat`, `latest-virus`, `latest-attack`, `new-antivirus-db`, `new-attack-db`.\n"
          },
          "forticonverterConfigUpload": {
            "type": "string",
            "description": "Enable/disable config upload to FortiConverter. Valid values: `once`, `disable`.\n"
          },
          "forticonverterIntegration": {
            "type": "string",
            "description": "Enable/disable FortiConverter integration service. Valid values: `enable`, `disable`.\n"
          },
          "fortiextender": {
            "type": "string",
            "description": "Enable/disable FortiExtender. Valid values: `enable`, `disable`.\n"
          },
          "fortiextenderDataPort": {
            "type": "integer",
            "description": "FortiExtender data port (1024 - 49150, default = 25246).\n"
          },
          "fortiextenderDiscoveryLockdown": {
            "type": "string",
            "description": "Enable/disable FortiExtender CAPWAP lockdown. Valid values: `disable`, `enable`.\n"
          },
          "fortiextenderProvisionOnAuthorization": {
            "type": "string",
            "description": "Enable/disable automatic provisioning of latest FortiExtender firmware on authorization. Valid values: `enable`, `disable`.\n"
          },
          "fortiextenderVlanMode": {
            "type": "string",
            "description": "Enable/disable FortiExtender VLAN mode. Valid values: `enable`, `disable`.\n"
          },
          "fortigslbIntegration": {
            "type": "string",
            "description": "Enable/disable integration with the FortiGSLB cloud service. Valid values: `disable`, `enable`.\n"
          },
          "fortiipamIntegration": {
            "type": "string",
            "description": "Enable/disable integration with the FortiIPAM cloud service. Valid values: `enable`, `disable`.\n"
          },
          "fortiservicePort": {
            "type": "integer",
            "description": "FortiService port (1 - 65535, default = 8013). Used by FortiClient endpoint compliance. Older versions of FortiClient used a different port.\n"
          },
          "fortitokenCloud": {
            "type": "string",
            "description": "Enable/disable FortiToken Cloud service. Valid values: `enable`, `disable`.\n"
          },
          "fortitokenCloudPushStatus": {
            "type": "string",
            "description": "Enable/disable FTM push service of FortiToken Cloud. Valid values: `enable`, `disable`.\n"
          },
          "fortitokenCloudSyncInterval": {
            "type": "integer",
            "description": "Interval in which to clean up remote users in FortiToken Cloud (0 - 336 hours (14 days), default = 24, disable = 0).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "guiAllowDefaultHostname": {
            "type": "string",
            "description": "Enable/disable the GUI warning about using a default hostname Valid values: `enable`, `disable`.\n"
          },
          "guiAllowIncompatibleFabricFgt": {
            "type": "string",
            "description": "Enable/disable Allow FGT with incompatible firmware to be treated as compatible in security fabric on the GUI. May cause unexpected error. Valid values: `enable`, `disable`.\n"
          },
          "guiAppDetectionSdwan": {
            "type": "string",
            "description": "Enable/disable Allow app-detection based SD-WAN. Valid values: `enable`, `disable`.\n"
          },
          "guiAutoUpgradeSetupWarning": {
            "type": "string",
            "description": "Enable/disable the automatic patch upgrade setup prompt on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiCdnDomainOverride": {
            "type": "string",
            "description": "Domain of CDN server.\n"
          },
          "guiCdnUsage": {
            "type": "string",
            "description": "Enable/disable Load GUI static files from a CDN. Valid values: `enable`, `disable`.\n"
          },
          "guiCertificates": {
            "type": "string",
            "description": "Enable/disable the System > Certificate GUI page, allowing you to add and configure certificates from the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiCustomLanguage": {
            "type": "string",
            "description": "Enable/disable custom languages in GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDateFormat": {
            "type": "string",
            "description": "Default date format used throughout GUI. Valid values: `yyyy/MM/dd`, `dd/MM/yyyy`, `MM/dd/yyyy`, `yyyy-MM-dd`, `dd-MM-yyyy`, `MM-dd-yyyy`.\n"
          },
          "guiDateTimeSource": {
            "type": "string",
            "description": "Source from which the FortiGate GUI uses to display date and time entries. Valid values: `system`, `browser`.\n"
          },
          "guiDeviceLatitude": {
            "type": "string",
            "description": "Add the latitude of the location of this FortiGate to position it on the Threat Map.\n"
          },
          "guiDeviceLongitude": {
            "type": "string",
            "description": "Add the longitude of the location of this FortiGate to position it on the Threat Map.\n"
          },
          "guiDisplayHostname": {
            "type": "string",
            "description": "Enable/disable displaying the FortiGate's hostname on the GUI login page. Valid values: `enable`, `disable`.\n"
          },
          "guiFirmwareUpgradeSetupWarning": {
            "type": "string",
            "description": "Enable/disable the firmware upgrade warning on GUI setup wizard. Valid values: `enable`, `disable`.\n"
          },
          "guiFirmwareUpgradeWarning": {
            "type": "string",
            "description": "Enable/disable the firmware upgrade warning on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiForticareRegistrationSetupWarning": {
            "type": "string",
            "description": "Enable/disable the FortiCare registration setup warning on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiFortigateCloudSandbox": {
            "type": "string",
            "description": "Enable/disable displaying FortiGate Cloud Sandbox on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiFortiguardResourceFetch": {
            "type": "string",
            "description": "Enable/disable retrieving static GUI resources from FortiGuard. Disabling it will improve GUI load time for air-gapped environments. Valid values: `enable`, `disable`.\n"
          },
          "guiFortisandboxCloud": {
            "type": "string",
            "description": "Enable/disable displaying FortiSandbox Cloud on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiIpv6": {
            "type": "string",
            "description": "Enable/disable IPv6 settings on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiLinesPerPage": {
            "type": "integer",
            "description": "Number of lines to display per page for web administration.\n"
          },
          "guiLocalOut": {
            "type": "string",
            "description": "Enable/disable Local-out traffic on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiReplacementMessageGroups": {
            "type": "string",
            "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiRestApiCache": {
            "type": "string",
            "description": "Enable/disable REST API result caching on FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "guiTheme": {
            "type": "string",
            "description": "Color scheme for the administration GUI.\n"
          },
          "guiWirelessOpensecurity": {
            "type": "string",
            "description": "Enable/disable wireless open security option on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWorkflowManagement": {
            "type": "string",
            "description": "Enable/disable Workflow management features on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "haAffinity": {
            "type": "string",
            "description": "Affinity setting for HA daemons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "honorDf": {
            "type": "string",
            "description": "Enable/disable honoring of Don't-Fragment (DF) flag. Valid values: `enable`, `disable`.\n"
          },
          "hostname": {
            "type": "string",
            "description": "FortiGate unit's hostname. Most models will truncate names longer than 24 characters. Some models support hostnames up to 35 characters.\n"
          },
          "igmpStateLimit": {
            "type": "integer",
            "description": "Maximum number of IGMP memberships (96 - 64000, default = 3200).\n"
          },
          "ikeEmbryonicLimit": {
            "type": "integer",
            "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
          },
          "interfaceSubnetUsage": {
            "type": "string",
            "description": "Enable/disable allowing use of interface-subnet setting in firewall addresses (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "internetServiceDatabase": {
            "type": "string",
            "description": "Configure which Internet Service database size to download from FortiGuard and use.\n"
          },
          "internetServiceDownloadLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FGlobalInternetServiceDownloadList:GlobalInternetServiceDownloadList"
            },
            "description": "Configure which on-demand Internet Service IDs are to be downloaded. The structure of `internet_service_download_list` block is documented below.\n"
          },
          "interval": {
            "type": "integer",
            "description": "Dead gateway detection interval.\n"
          },
          "ipFragmentMemThresholds": {
            "type": "integer",
            "description": "Maximum memory (MB) used to reassemble IPv4/IPv6 fragments.\n"
          },
          "ipSrcPortRange": {
            "type": "string",
            "description": "IP source port range used for traffic originating from the FortiGate unit.\n"
          },
          "ipsAffinity": {
            "type": "string",
            "description": "Affinity setting for IPS (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx; allowed CPUs must be less than total number of IPS engine daemons).\n"
          },
          "ipsecAsicOffload": {
            "type": "string",
            "description": "Enable/disable ASIC offloading (hardware acceleration) for IPsec VPN traffic. Hardware acceleration can offload IPsec VPN sessions and accelerate encryption and decryption. Valid values: `enable`, `disable`.\n"
          },
          "ipsecHaSeqjumpRate": {
            "type": "integer",
            "description": "ESP jump ahead rate (1G - 10G pps equivalent).\n"
          },
          "ipsecHmacOffload": {
            "type": "string",
            "description": "Enable/disable offloading (hardware acceleration) of HMAC processing for IPsec VPN. Valid values: `enable`, `disable`.\n"
          },
          "ipsecQatOffload": {
            "type": "string",
            "description": "Enable/disable QAT offloading (Intel QuickAssist) for IPsec VPN traffic. QuickAssist can accelerate IPsec encryption and decryption. Valid values: `enable`, `disable`.\n"
          },
          "ipsecRoundRobin": {
            "type": "string",
            "description": "Enable/disable round-robin redistribution to multiple CPUs for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
          },
          "ipsecSoftDecAsync": {
            "type": "string",
            "description": "Enable/disable software decryption asynchronization (using multiple CPUs to do decryption) for IPsec VPN traffic. Valid values: `enable`, `disable`.\n"
          },
          "ipv6AcceptDad": {
            "type": "integer",
            "description": "Enable/disable acceptance of IPv6 Duplicate Address Detection (DAD).\n"
          },
          "ipv6AllowAnycastProbe": {
            "type": "string",
            "description": "Enable/disable IPv6 address probe through Anycast. Valid values: `enable`, `disable`.\n"
          },
          "ipv6AllowLocalInSilentDrop": {
            "type": "string",
            "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
          },
          "ipv6AllowLocalInSlientDrop": {
            "type": "string",
            "description": "Enable/disable silent drop of IPv6 local-in traffic. Valid values: `enable`, `disable`.\n"
          },
          "ipv6AllowMulticastProbe": {
            "type": "string",
            "description": "Enable/disable IPv6 address probe through Multicast. Valid values: `enable`, `disable`.\n"
          },
          "ipv6AllowTrafficRedirect": {
            "type": "string",
            "description": "Disable to prevent IPv6 traffic with same local ingress and egress interface from being forwarded without policy check. Valid values: `enable`, `disable`.\n"
          },
          "irqTimeAccounting": {
            "type": "string",
            "description": "Configure CPU IRQ time accounting mode. Valid values: `auto`, `force`.\n"
          },
          "language": {
            "type": "string",
            "description": "GUI display language. Valid values: `english`, `french`, `spanish`, `portuguese`, `japanese`, `trach`, `simch`, `korean`.\n"
          },
          "ldapconntimeout": {
            "type": "integer",
            "description": "Global timeout for connections with remote LDAP servers in milliseconds (1 - 300000, default 500).\n"
          },
          "lldpReception": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`.\n"
          },
          "lldpTransmission": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`.\n"
          },
          "logSingleCpuHigh": {
            "type": "string",
            "description": "Enable/disable logging the event of a single CPU core reaching CPU usage threshold. Valid values: `enable`, `disable`.\n"
          },
          "logSslConnection": {
            "type": "string",
            "description": "Enable/disable logging of SSL connection events. Valid values: `enable`, `disable`.\n"
          },
          "logUuidAddress": {
            "type": "string",
            "description": "Enable/disable insertion of address UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
          },
          "logUuidPolicy": {
            "type": "string",
            "description": "Enable/disable insertion of policy UUIDs to traffic logs. Valid values: `enable`, `disable`.\n"
          },
          "loginTimestamp": {
            "type": "string",
            "description": "Enable/disable login time recording. Valid values: `enable`, `disable`.\n"
          },
          "longVdomName": {
            "type": "string",
            "description": "Enable/disable long VDOM name support. Valid values: `enable`, `disable`.\n"
          },
          "managementIp": {
            "type": "string",
            "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n"
          },
          "managementPort": {
            "type": "integer",
            "description": "Overriding port for management connection (Overrides admin port).\n"
          },
          "managementPortUseAdminSport": {
            "type": "string",
            "description": "Enable/disable use of the admin-sport setting for the management port. If disabled, FortiGate will allow user to specify management-port. Valid values: `enable`, `disable`.\n"
          },
          "managementVdom": {
            "type": "string",
            "description": "Management virtual domain name.\n"
          },
          "maxDlpstatMemory": {
            "type": "integer",
            "description": "Maximum DLP stat memory (0 - 4294967295).\n"
          },
          "maxRouteCacheSize": {
            "type": "integer",
            "description": "Maximum number of IP route cache entries (0 - 2147483647).\n"
          },
          "mcTtlNotchange": {
            "type": "string",
            "description": "Enable/disable no modification of multicast TTL. Valid values: `enable`, `disable`.\n"
          },
          "memoryUseThresholdExtreme": {
            "type": "integer",
            "description": "Threshold at which memory usage is considered extreme (new sessions are dropped) (% of total RAM, default = 95).\n"
          },
          "memoryUseThresholdGreen": {
            "type": "integer",
            "description": "Threshold at which memory usage forces the FortiGate to exit conserve mode (% of total RAM, default = 82).\n"
          },
          "memoryUseThresholdRed": {
            "type": "integer",
            "description": "Threshold at which memory usage forces the FortiGate to enter conserve mode (% of total RAM, default = 88).\n"
          },
          "miglogAffinity": {
            "type": "string",
            "description": "Affinity setting for logging. On FortiOS versions 6.2.0-7.2.3: 64-bit hexadecimal value in the format of xxxxxxxxxxxxxxxx. On FortiOS versions >= 7.2.4: hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx.\n"
          },
          "miglogdChildren": {
            "type": "integer",
            "description": "Number of logging (miglogd) processes to be allowed to run. Higher number can reduce performance; lower number can slow log processing time.\n"
          },
          "multiFactorAuthentication": {
            "type": "string",
            "description": "Enforce all login methods to require an additional authentication factor (default = optional). Valid values: `optional`, `mandatory`.\n"
          },
          "multicastForward": {
            "type": "string",
            "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
          },
          "ndpMaxEntry": {
            "type": "integer",
            "description": "Maximum number of NDP table entries (set to 65,536 or higher; if set to 0, kernel holds 65,536 entries).\n"
          },
          "npuNeighborUpdate": {
            "type": "string",
            "description": "Enable/disable sending of probing packets to update neighbors for offloaded sessions. Valid values: `enable`, `disable`.\n"
          },
          "perUserBal": {
            "type": "string",
            "description": "Enable/disable per-user block/allow list filter. Valid values: `enable`, `disable`.\n"
          },
          "perUserBwl": {
            "type": "string",
            "description": "Enable/disable per-user black/white list filter. Valid values: `enable`, `disable`.\n"
          },
          "pmtuDiscovery": {
            "type": "string",
            "description": "Enable/disable path MTU discovery. Valid values: `enable`, `disable`.\n"
          },
          "policyAuthConcurrent": {
            "type": "integer",
            "description": "Number of concurrent firewall use logins from the same user (1 - 100, default = 0 means no limit).\n"
          },
          "postLoginBanner": {
            "type": "string",
            "description": "Enable/disable displaying the administrator access disclaimer message after an administrator successfully logs in. Valid values: `disable`, `enable`.\n"
          },
          "preLoginBanner": {
            "type": "string",
            "description": "Enable/disable displaying the administrator access disclaimer message on the login page before an administrator logs in. Valid values: `enable`, `disable`.\n"
          },
          "privateDataEncryption": {
            "type": "string",
            "description": "Enable/disable private data encryption using an AES 128-bit key. Valid values: `disable`, `enable`.\n"
          },
          "proxyAuthLifetime": {
            "type": "string",
            "description": "Enable/disable authenticated users lifetime control.  This is a cap on the total time a proxy user can be authenticated for after which re-authentication will take place. Valid values: `enable`, `disable`.\n"
          },
          "proxyAuthLifetimeTimeout": {
            "type": "integer",
            "description": "Lifetime timeout in minutes for authenticated users (5  - 65535 min, default=480 (8 hours)).\n"
          },
          "proxyAuthTimeout": {
            "type": "integer",
            "description": "Authentication timeout in minutes for authenticated users (1 - 300 min, default = 10).\n"
          },
          "proxyCertUseMgmtVdom": {
            "type": "string",
            "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
          },
          "proxyCipherHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable using content processor (CP8 or CP9) hardware acceleration to encrypt and decrypt IPsec and SSL traffic. Valid values: `disable`, `enable`.\n"
          },
          "proxyHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable email proxy hardware acceleration. Valid values: `disable`, `enable`.\n"
          },
          "proxyKeepAliveMode": {
            "type": "string",
            "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was authenticated. Valid values: `session`, `traffic`, `re-authentication`.\n"
          },
          "proxyKxpHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable using the content processor to accelerate KXP traffic. Valid values: `disable`, `enable`.\n"
          },
          "proxyReAuthenticationMode": {
            "type": "string",
            "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was first created. Valid values: `session`, `traffic`, `absolute`.\n"
          },
          "proxyReAuthenticationTime": {
            "type": "integer",
            "description": "The time limit that users must re-authenticate if proxy-keep-alive-mode is set to re-authenticate (1  - 86400 sec, default=30s.\n"
          },
          "proxyResourceMode": {
            "type": "string",
            "description": "Enable/disable use of the maximum memory usage on the FortiGate unit's proxy processing of resources, such as block lists, allow lists, and external resources. Valid values: `enable`, `disable`.\n"
          },
          "proxyWorkerCount": {
            "type": "integer",
            "description": "Proxy worker count.\n"
          },
          "purdueLevel": {
            "type": "string",
            "description": "Purdue Level of this FortiGate. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
          },
          "quicAckThresold": {
            "type": "integer",
            "description": "Maximum number of unacknowledged packets before sending ACK (2 - 5, default = 3).\n"
          },
          "quicCongestionControlAlgo": {
            "type": "string",
            "description": "QUIC congestion control algorithm (default = cubic). Valid values: `cubic`, `bbr`, `bbr2`, `reno`.\n"
          },
          "quicMaxDatagramSize": {
            "type": "integer",
            "description": "Maximum transmit datagram size (1200 - 1500, default = 1500).\n"
          },
          "quicPmtud": {
            "type": "string",
            "description": "Enable/disable path MTU discovery (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "quicTlsHandshakeTimeout": {
            "type": "integer",
            "description": "Time-to-live (TTL) for TLS handshake in seconds (1 - 60, default = 5).\n"
          },
          "quicUdpPayloadSizeShapingPerCid": {
            "type": "string",
            "description": "Enable/disable UDP payload size shaping per connection ID (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "radiusPort": {
            "type": "integer",
            "description": "RADIUS service port number.\n"
          },
          "rebootUponConfigRestore": {
            "type": "string",
            "description": "Enable/disable reboot of system upon restoring configuration. Valid values: `enable`, `disable`.\n"
          },
          "refresh": {
            "type": "integer",
            "description": "Statistics refresh interval second(s) in GUI.\n"
          },
          "remoteauthtimeout": {
            "type": "integer",
            "description": "Number of seconds that the FortiGate waits for responses from remote RADIUS, LDAP, or TACACS+ authentication servers. (default = 5). On FortiOS versions 6.2.0-6.2.6: 0-300 sec, 0 means no timeout. On FortiOS versions >= 6.4.0: 1-300 sec.\n"
          },
          "resetSessionlessTcp": {
            "type": "string",
            "description": "Action to perform if the FortiGate receives a TCP packet but cannot find a corresponding session in its session table. NAT/Route mode only. Valid values: `enable`, `disable`.\n"
          },
          "restartTime": {
            "type": "string",
            "description": "Daily restart time (hh:mm).\n"
          },
          "revisionBackupOnLogout": {
            "type": "string",
            "description": "Enable/disable back-up of the latest configuration revision when an administrator logs out of the CLI or GUI. Valid values: `enable`, `disable`.\n"
          },
          "revisionImageAutoBackup": {
            "type": "string",
            "description": "Enable/disable back-up of the latest configuration revision after the firmware is upgraded. Valid values: `enable`, `disable`.\n"
          },
          "scanunitCount": {
            "type": "integer",
            "description": "Number of scanunits. The range and the default depend on the number of CPUs. Only available on FortiGate units with multiple CPUs.\n"
          },
          "securityRatingResultSubmission": {
            "type": "string",
            "description": "Enable/disable the submission of Security Rating results to FortiGuard. Valid values: `enable`, `disable`.\n"
          },
          "securityRatingRunOnSchedule": {
            "type": "string",
            "description": "Enable/disable scheduled runs of Security Rating. Valid values: `enable`, `disable`.\n"
          },
          "sendPmtuIcmp": {
            "type": "string",
            "description": "Enable/disable sending of path maximum transmission unit (PMTU) - ICMP destination unreachable packet and to support PMTUD protocol on your network to reduce fragmentation of packets. Valid values: `enable`, `disable`.\n"
          },
          "sflowdMaxChildrenNum": {
            "type": "integer",
            "description": "Maximum number of sflowd child processes allowed to run.\n"
          },
          "snatRouteChange": {
            "type": "string",
            "description": "Enable/disable the ability to change the static NAT route. Valid values: `enable`, `disable`.\n"
          },
          "specialFile23Support": {
            "type": "string",
            "description": "Enable/disable IPS detection of HIBUN format files when using Data Leak Protection. Valid values: `disable`, `enable`.\n"
          },
          "speedtestServer": {
            "type": "string",
            "description": "Enable/disable speed test server. Valid values: `enable`, `disable`.\n"
          },
          "speedtestdCtrlPort": {
            "type": "integer",
            "description": "Speedtest server controller port number.\n"
          },
          "speedtestdServerPort": {
            "type": "integer",
            "description": "Speedtest server port number.\n"
          },
          "splitPort": {
            "type": "string",
            "description": "Split port(s) to multiple 10Gbps ports.\n"
          },
          "ssdTrimDate": {
            "type": "integer",
            "description": "Date within a month to run ssd trim.\n"
          },
          "ssdTrimFreq": {
            "type": "string",
            "description": "How often to run SSD Trim (default = weekly). SSD Trim prevents SSD drive data loss by finding and isolating errors. Valid values: `never`, `hourly`, `daily`, `weekly`, `monthly`.\n"
          },
          "ssdTrimHour": {
            "type": "integer",
            "description": "Hour of the day on which to run SSD Trim (0 - 23, default = 1).\n"
          },
          "ssdTrimMin": {
            "type": "integer",
            "description": "Minute of the hour on which to run SSD Trim (0 - 59, 60 for random).\n"
          },
          "ssdTrimWeekday": {
            "type": "string",
            "description": "Day of week to run SSD Trim. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "sshCbcCipher": {
            "type": "string",
            "description": "Enable/disable CBC cipher for SSH access. Valid values: `enable`, `disable`.\n"
          },
          "sshEncAlgo": {
            "type": "string",
            "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
          },
          "sshHmacMd5": {
            "type": "string",
            "description": "Enable/disable HMAC-MD5 for SSH access. Valid values: `enable`, `disable`.\n"
          },
          "sshHostkey": {
            "type": "string",
            "description": "Config SSH host key.\n"
          },
          "sshHostkeyAlgo": {
            "type": "string",
            "description": "Select one or more SSH hostkey algorithms.\n"
          },
          "sshHostkeyOverride": {
            "type": "string",
            "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
          },
          "sshHostkeyPassword": {
            "type": "string",
            "description": "Password for ssh-hostkey.\n"
          },
          "sshKexAlgo": {
            "type": "string",
            "description": "Select one or more SSH kex algorithms.\n"
          },
          "sshKexSha1": {
            "type": "string",
            "description": "Enable/disable SHA1 key exchange for SSH access. Valid values: `enable`, `disable`.\n"
          },
          "sshMacAlgo": {
            "type": "string",
            "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
          },
          "sshMacWeak": {
            "type": "string",
            "description": "Enable/disable HMAC-SHA1 and UMAC-64-ETM for SSH access. Valid values: `enable`, `disable`.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default = TLSv1.2).\n"
          },
          "sslStaticKeyCiphers": {
            "type": "string",
            "description": "Enable/disable static key ciphers in SSL/TLS connections (e.g. AES128-SHA, AES256-SHA, AES128-SHA256, AES256-SHA256). Valid values: `enable`, `disable`.\n"
          },
          "sslvpnCipherHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable SSL VPN hardware acceleration. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnEmsSnCheck": {
            "type": "string",
            "description": "Enable/disable verification of EMS serial number in SSL-VPN connection. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnKxpHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable SSL VPN KXP hardware acceleration. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnMaxWorkerCount": {
            "type": "integer",
            "description": "Maximum number of SSL VPN processes. Upper limit for this value is the number of CPUs and depends on the model.\n"
          },
          "sslvpnPluginVersionCheck": {
            "type": "string",
            "description": "Enable/disable checking browser's plugin version by SSL VPN. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnWebMode": {
            "type": "string",
            "description": "Enable/disable SSL-VPN web mode. Valid values: `enable`, `disable`.\n"
          },
          "strictDirtySessionCheck": {
            "type": "string",
            "description": "Enable to check the session against the original policy when revalidating. This can prevent dropping of redirected sessions when web-filtering and authentication are enabled together. If this option is enabled, the FortiGate unit deletes a session if a routing or policy change causes the session to no longer match the policy that originally allowed the session. Valid values: `enable`, `disable`.\n"
          },
          "strongCrypto": {
            "type": "string",
            "description": "Enable to use strong encryption and only allow strong ciphers and digest for HTTPS/SSH/TLS/SSL functions. Valid values: `enable`, `disable`.\n"
          },
          "switchController": {
            "type": "string",
            "description": "Enable/disable switch controller feature. Switch controller allows you to manage FortiSwitch from the FortiGate itself. Valid values: `disable`, `enable`.\n"
          },
          "switchControllerReservedNetwork": {
            "type": "string",
            "description": "Enable reserved network subnet for controlled switches. This is available when the switch controller is enabled.\n"
          },
          "sysPerfLogInterval": {
            "type": "integer",
            "description": "Time in minutes between updates of performance statistics logging. (1 - 15 min, default = 5, 0 = disabled).\n"
          },
          "syslogAffinity": {
            "type": "string",
            "description": "Affinity setting for syslog (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "tcpHalfcloseTimer": {
            "type": "integer",
            "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent a FIN packet but the other has not responded (1 - 86400 sec (1 day), default = 120).\n"
          },
          "tcpHalfopenTimer": {
            "type": "integer",
            "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent an open session packet but the other has not responded (1 - 86400 sec (1 day), default = 10).\n"
          },
          "tcpOption": {
            "type": "string",
            "description": "Enable SACK, timestamp and MSS TCP options. Valid values: `enable`, `disable`.\n"
          },
          "tcpRstTimer": {
            "type": "integer",
            "description": "Length of the TCP CLOSE state in seconds (5 - 300 sec, default = 5).\n"
          },
          "tcpTimewaitTimer": {
            "type": "integer",
            "description": "Length of the TCP TIME-WAIT state in seconds (1 - 300 sec, default = 1).\n"
          },
          "tftp": {
            "type": "string",
            "description": "Enable/disable TFTP. Valid values: `enable`, `disable`.\n"
          },
          "timezone": {
            "type": "string",
            "description": "Number corresponding to your time zone from 00 to 86. Enter set timezone ? to view the list of time zones and the numbers that represent them.\n"
          },
          "tpMcSkipPolicy": {
            "type": "string",
            "description": "Enable/disable skip policy check and allow multicast through. Valid values: `enable`, `disable`.\n"
          },
          "trafficPriority": {
            "type": "string",
            "description": "Choose Type of Service (ToS) or Differentiated Services Code Point (DSCP) for traffic prioritization in traffic shaping. Valid values: `tos`, `dscp`.\n"
          },
          "trafficPriorityLevel": {
            "type": "string",
            "description": "Default system-wide level of priority for traffic prioritization. Valid values: `low`, `medium`, `high`.\n"
          },
          "twoFactorEmailExpiry": {
            "type": "integer",
            "description": "Email-based two-factor authentication session timeout (30 - 300 seconds (5 minutes), default = 60).\n"
          },
          "twoFactorFacExpiry": {
            "type": "integer",
            "description": "FortiAuthenticator token authentication session timeout (10 - 3600 seconds (1 hour), default = 60).\n"
          },
          "twoFactorFtkExpiry": {
            "type": "integer",
            "description": "FortiToken authentication session timeout (60 - 600 sec (10 minutes), default = 60).\n"
          },
          "twoFactorFtmExpiry": {
            "type": "integer",
            "description": "FortiToken Mobile session timeout (1 - 168 hours (7 days), default = 72).\n"
          },
          "twoFactorSmsExpiry": {
            "type": "integer",
            "description": "SMS-based two-factor authentication session timeout (30 - 300 sec, default = 60).\n"
          },
          "udpIdleTimer": {
            "type": "integer",
            "description": "UDP connection session timeout. This command can be useful in managing CPU and memory resources (1 - 86400 seconds (1 day), default = 60).\n"
          },
          "urlFilterAffinity": {
            "type": "string",
            "description": "URL filter CPU affinity.\n"
          },
          "urlFilterCount": {
            "type": "integer",
            "description": "URL filter daemon count.\n"
          },
          "userDeviceStoreMaxDevices": {
            "type": "integer",
            "description": "Maximum number of devices allowed in user device store.\n"
          },
          "userDeviceStoreMaxUnifiedMem": {
            "type": "integer",
            "description": "Maximum unified memory allowed in user device store.\n"
          },
          "userDeviceStoreMaxUsers": {
            "type": "integer",
            "description": "Maximum number of users allowed in user device store.\n"
          },
          "userServerCert": {
            "type": "string",
            "description": "Certificate to use for https user authentication.\n"
          },
          "vdomAdmin": {
            "type": "string",
            "description": "Enable/disable support for multiple virtual domains (VDOMs). Valid values: `enable`, `disable`.\n"
          },
          "vdomMode": {
            "type": "string",
            "description": "Enable/disable support for split/multiple virtual domains (VDOMs). Valid values: `no-vdom`, `split-vdom`, `multi-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
          },
          "vipArpRange": {
            "type": "string",
            "description": "Controls the number of ARPs that the FortiGate sends for a Virtual IP (VIP) address range. Valid values: `unlimited`, `restricted`.\n"
          },
          "virtualServerCount": {
            "type": "integer",
            "description": "Maximum number of virtual server processes to create. The maximum is the number of CPU cores. This is not available on single-core CPUs.\n"
          },
          "virtualServerHardwareAcceleration": {
            "type": "string",
            "description": "Enable/disable virtual server hardware acceleration. Valid values: `disable`, `enable`.\n"
          },
          "virtualSwitchVlan": {
            "type": "string",
            "description": "Enable/disable virtual switch VLAN. Valid values: `enable`, `disable`.\n"
          },
          "vpnEmsSnCheck": {
            "type": "string",
            "description": "Enable/disable verification of EMS serial number in SSL-VPN and IPsec VPN connection. Valid values: `enable`, `disable`.\n"
          },
          "wadAffinity": {
            "type": "string",
            "description": "Affinity setting for wad (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "wadCsvcCsCount": {
            "type": "integer",
            "description": "Number of concurrent WAD-cache-service object-cache processes.\n"
          },
          "wadCsvcDbCount": {
            "type": "integer",
            "description": "Number of concurrent WAD-cache-service byte-cache processes.\n"
          },
          "wadMemoryChangeGranularity": {
            "type": "integer",
            "description": "Minimum percentage change in system memory usage detected by the wad daemon prior to adjusting TCP window size for any active connection.\n"
          },
          "wadRestartEndTime": {
            "type": "string",
            "description": "WAD workers daily restart end time (hh:mm).\n"
          },
          "wadRestartMode": {
            "type": "string",
            "description": "WAD worker restart mode (default = none). Valid values: `none`, `time`, `memory`.\n"
          },
          "wadRestartStartTime": {
            "type": "string",
            "description": "WAD workers daily restart time (hh:mm).\n"
          },
          "wadSourceAffinity": {
            "type": "string",
            "description": "Enable/disable dispatching traffic to WAD workers based on source affinity. Valid values: `disable`, `enable`.\n"
          },
          "wadWorkerCount": {
            "type": "integer",
            "description": "Number of explicit proxy WAN optimization daemon (WAD) processes. By default WAN optimization, explicit proxy, and web caching is handled by all of the CPU cores in a FortiGate unit.\n"
          },
          "wifiCaCertificate": {
            "type": "string",
            "description": "CA certificate that verifies the WiFi certificate.\n"
          },
          "wifiCertificate": {
            "type": "string",
            "description": "Certificate to use for WiFi authentication.\n"
          },
          "wimax4gUsb": {
            "type": "string",
            "description": "Enable/disable comparability with WiMAX 4G USB devices. Valid values: `enable`, `disable`.\n"
          },
          "wirelessController": {
            "type": "string",
            "description": "Enable/disable the wireless controller feature to use the FortiGate unit to manage FortiAPs. Valid values: `enable`, `disable`.\n"
          },
          "wirelessControllerPort": {
            "type": "integer",
            "description": "Port used for the control channel in wireless controller mode (wireless-mode is ac). The data channel port is the control channel port number plus one (1024 - 49150, default = 5246).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/gretunnel:Gretunnel": {
      "description": "Configure GRE tunnel.\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.system.Gretunnel(\"trname\", {\n    checksumReception: \"disable\",\n    checksumTransmission: \"disable\",\n    dscpCopying: \"disable\",\n    \"interface\": \"port3\",\n    ipVersion: \"4\",\n    keepaliveFailtimes: 10,\n    keepaliveInterval: 0,\n    keyInbound: 0,\n    keyOutbound: 0,\n    localGw: \"3.3.3.3\",\n    localGw6: \"::\",\n    remoteGw: \"1.1.1.1\",\n    remoteGw6: \"::\",\n    sequenceNumberReception: \"disable\",\n    sequenceNumberTransmission: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Gretunnel(\"trname\",\n    checksum_reception=\"disable\",\n    checksum_transmission=\"disable\",\n    dscp_copying=\"disable\",\n    interface=\"port3\",\n    ip_version=\"4\",\n    keepalive_failtimes=10,\n    keepalive_interval=0,\n    key_inbound=0,\n    key_outbound=0,\n    local_gw=\"3.3.3.3\",\n    local_gw6=\"::\",\n    remote_gw=\"1.1.1.1\",\n    remote_gw6=\"::\",\n    sequence_number_reception=\"disable\",\n    sequence_number_transmission=\"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.System.Gretunnel(\"trname\", new()\n    {\n        ChecksumReception = \"disable\",\n        ChecksumTransmission = \"disable\",\n        DscpCopying = \"disable\",\n        Interface = \"port3\",\n        IpVersion = \"4\",\n        KeepaliveFailtimes = 10,\n        KeepaliveInterval = 0,\n        KeyInbound = 0,\n        KeyOutbound = 0,\n        LocalGw = \"3.3.3.3\",\n        LocalGw6 = \"::\",\n        RemoteGw = \"1.1.1.1\",\n        RemoteGw6 = \"::\",\n        SequenceNumberReception = \"disable\",\n        SequenceNumberTransmission = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewGretunnel(ctx, \"trname\", &system.GretunnelArgs{\n\t\t\tChecksumReception:          pulumi.String(\"disable\"),\n\t\t\tChecksumTransmission:       pulumi.String(\"disable\"),\n\t\t\tDscpCopying:                pulumi.String(\"disable\"),\n\t\t\tInterface:                  pulumi.String(\"port3\"),\n\t\t\tIpVersion:                  pulumi.String(\"4\"),\n\t\t\tKeepaliveFailtimes:         pulumi.Int(10),\n\t\t\tKeepaliveInterval:          pulumi.Int(0),\n\t\t\tKeyInbound:                 pulumi.Int(0),\n\t\t\tKeyOutbound:                pulumi.Int(0),\n\t\t\tLocalGw:                    pulumi.String(\"3.3.3.3\"),\n\t\t\tLocalGw6:                   pulumi.String(\"::\"),\n\t\t\tRemoteGw:                   pulumi.String(\"1.1.1.1\"),\n\t\t\tRemoteGw6:                  pulumi.String(\"::\"),\n\t\t\tSequenceNumberReception:    pulumi.String(\"disable\"),\n\t\t\tSequenceNumberTransmission: 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.system.Gretunnel;\nimport com.pulumi.fortios.system.GretunnelArgs;\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 Gretunnel(\"trname\", GretunnelArgs.builder()\n            .checksumReception(\"disable\")\n            .checksumTransmission(\"disable\")\n            .dscpCopying(\"disable\")\n            .interface_(\"port3\")\n            .ipVersion(\"4\")\n            .keepaliveFailtimes(10)\n            .keepaliveInterval(0)\n            .keyInbound(0)\n            .keyOutbound(0)\n            .localGw(\"3.3.3.3\")\n            .localGw6(\"::\")\n            .remoteGw(\"1.1.1.1\")\n            .remoteGw6(\"::\")\n            .sequenceNumberReception(\"disable\")\n            .sequenceNumberTransmission(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Gretunnel\n    properties:\n      checksumReception: disable\n      checksumTransmission: disable\n      dscpCopying: disable\n      interface: port3\n      ipVersion: '4'\n      keepaliveFailtimes: 10\n      keepaliveInterval: 0\n      keyInbound: 0\n      keyOutbound: 0\n      localGw: 3.3.3.3\n      localGw6: '::'\n      remoteGw: 1.1.1.1\n      remoteGw6: '::'\n      sequenceNumberReception: disable\n      sequenceNumberTransmission: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem GreTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/gretunnel:Gretunnel 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:system/gretunnel:Gretunnel labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "checksumReception": {
          "type": "string",
          "description": "Enable/disable validating checksums in received GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "checksumTransmission": {
          "type": "string",
          "description": "Enable/disable including checksums in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DiffServ setting to be applied to GRE tunnel outer IP header.\n"
        },
        "dscpCopying": {
          "type": "string",
          "description": "Enable/disable DSCP copying. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "keepaliveFailtimes": {
          "type": "integer",
          "description": "Number of consecutive unreturned keepalive messages before a GRE connection is considered down (1 - 255).\n"
        },
        "keepaliveInterval": {
          "type": "integer",
          "description": "Keepalive message interval (0 - 32767, 0 = disabled).\n"
        },
        "keyInbound": {
          "type": "integer",
          "description": "Require received GRE packets contain this key (0 - 4294967295).\n"
        },
        "keyOutbound": {
          "type": "integer",
          "description": "Include this key in transmitted GRE packets (0 - 4294967295).\n"
        },
        "localGw": {
          "type": "string",
          "description": "IP address of the local gateway.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "IPv6 address of the local gateway.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IP address of the remote gateway.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "IPv6 address of the remote gateway.\n"
        },
        "sequenceNumberReception": {
          "type": "string",
          "description": "Enable/disable validating sequence numbers in received GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "sequenceNumberTransmission": {
          "type": "string",
          "description": "Enable/disable including of sequence numbers in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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": [
        "checksumReception",
        "checksumTransmission",
        "diffservcode",
        "dscpCopying",
        "interface",
        "ipVersion",
        "keepaliveFailtimes",
        "keepaliveInterval",
        "keyInbound",
        "keyOutbound",
        "localGw",
        "localGw6",
        "name",
        "remoteGw",
        "remoteGw6",
        "sequenceNumberReception",
        "sequenceNumberTransmission",
        "useSdwan",
        "vdomparam"
      ],
      "inputProperties": {
        "checksumReception": {
          "type": "string",
          "description": "Enable/disable validating checksums in received GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "checksumTransmission": {
          "type": "string",
          "description": "Enable/disable including checksums in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DiffServ setting to be applied to GRE tunnel outer IP header.\n"
        },
        "dscpCopying": {
          "type": "string",
          "description": "Enable/disable DSCP copying. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "keepaliveFailtimes": {
          "type": "integer",
          "description": "Number of consecutive unreturned keepalive messages before a GRE connection is considered down (1 - 255).\n"
        },
        "keepaliveInterval": {
          "type": "integer",
          "description": "Keepalive message interval (0 - 32767, 0 = disabled).\n"
        },
        "keyInbound": {
          "type": "integer",
          "description": "Require received GRE packets contain this key (0 - 4294967295).\n"
        },
        "keyOutbound": {
          "type": "integer",
          "description": "Include this key in transmitted GRE packets (0 - 4294967295).\n"
        },
        "localGw": {
          "type": "string",
          "description": "IP address of the local gateway.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "IPv6 address of the local gateway.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "remoteGw": {
          "type": "string",
          "description": "IP address of the remote gateway.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "IPv6 address of the remote gateway.\n"
        },
        "sequenceNumberReception": {
          "type": "string",
          "description": "Enable/disable validating sequence numbers in received GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "sequenceNumberTransmission": {
          "type": "string",
          "description": "Enable/disable including of sequence numbers in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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
        }
      },
      "requiredInputs": [
        "localGw",
        "remoteGw"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Gretunnel resources.\n",
        "properties": {
          "checksumReception": {
            "type": "string",
            "description": "Enable/disable validating checksums in received GRE packets. Valid values: `disable`, `enable`.\n"
          },
          "checksumTransmission": {
            "type": "string",
            "description": "Enable/disable including checksums in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
          },
          "diffservcode": {
            "type": "string",
            "description": "DiffServ setting to be applied to GRE tunnel outer IP header.\n"
          },
          "dscpCopying": {
            "type": "string",
            "description": "Enable/disable DSCP copying. Valid values: `disable`, `enable`.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
          },
          "keepaliveFailtimes": {
            "type": "integer",
            "description": "Number of consecutive unreturned keepalive messages before a GRE connection is considered down (1 - 255).\n"
          },
          "keepaliveInterval": {
            "type": "integer",
            "description": "Keepalive message interval (0 - 32767, 0 = disabled).\n"
          },
          "keyInbound": {
            "type": "integer",
            "description": "Require received GRE packets contain this key (0 - 4294967295).\n"
          },
          "keyOutbound": {
            "type": "integer",
            "description": "Include this key in transmitted GRE packets (0 - 4294967295).\n"
          },
          "localGw": {
            "type": "string",
            "description": "IP address of the local gateway.\n"
          },
          "localGw6": {
            "type": "string",
            "description": "IPv6 address of the local gateway.\n"
          },
          "name": {
            "type": "string",
            "description": "Tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "remoteGw": {
            "type": "string",
            "description": "IP address of the remote gateway.\n"
          },
          "remoteGw6": {
            "type": "string",
            "description": "IPv6 address of the remote gateway.\n"
          },
          "sequenceNumberReception": {
            "type": "string",
            "description": "Enable/disable validating sequence numbers in received GRE packets. Valid values: `disable`, `enable`.\n"
          },
          "sequenceNumberTransmission": {
            "type": "string",
            "description": "Enable/disable including of sequence numbers in transmitted GRE packets. Valid values: `disable`, `enable`.\n"
          },
          "useSdwan": {
            "type": "string",
            "description": "Enable/disable use of SD-WAN to reach remote gateway. 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:system/ha:Ha": {
      "description": "Configure HA.\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.system.Ha(\"trname\", {\n    cpuThreshold: \"5 0 0\",\n    encryption: \"disable\",\n    ftpProxyThreshold: \"5 0 0\",\n    gratuitousArps: \"enable\",\n    groupId: 0,\n    haDirect: \"disable\",\n    haEthType: \"8890\",\n    haMgmtStatus: \"disable\",\n    haUptimeDiffMargin: 300,\n    hbInterval: 2,\n    hbLostThreshold: 20,\n    hcEthType: \"8891\",\n    helloHolddown: 20,\n    httpProxyThreshold: \"5 0 0\",\n    imapProxyThreshold: \"5 0 0\",\n    interClusterSessionSync: \"disable\",\n    l2epEthType: \"8893\",\n    linkFailedSignal: \"disable\",\n    loadBalanceAll: \"disable\",\n    memoryCompatibleMode: \"disable\",\n    memoryThreshold: \"5 0 0\",\n    mode: \"standalone\",\n    multicastTtl: 600,\n    nntpProxyThreshold: \"5 0 0\",\n    override: \"disable\",\n    overrideWaitTime: 0,\n    secondaryVcluster: {\n        override: \"enable\",\n        overrideWaitTime: 0,\n        pingserverFailoverThreshold: 0,\n        pingserverSlaveForceReset: \"enable\",\n        priority: 128,\n        vclusterId: 1,\n    },\n    weight: \"40 \",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ha(\"trname\",\n    cpu_threshold=\"5 0 0\",\n    encryption=\"disable\",\n    ftp_proxy_threshold=\"5 0 0\",\n    gratuitous_arps=\"enable\",\n    group_id=0,\n    ha_direct=\"disable\",\n    ha_eth_type=\"8890\",\n    ha_mgmt_status=\"disable\",\n    ha_uptime_diff_margin=300,\n    hb_interval=2,\n    hb_lost_threshold=20,\n    hc_eth_type=\"8891\",\n    hello_holddown=20,\n    http_proxy_threshold=\"5 0 0\",\n    imap_proxy_threshold=\"5 0 0\",\n    inter_cluster_session_sync=\"disable\",\n    l2ep_eth_type=\"8893\",\n    link_failed_signal=\"disable\",\n    load_balance_all=\"disable\",\n    memory_compatible_mode=\"disable\",\n    memory_threshold=\"5 0 0\",\n    mode=\"standalone\",\n    multicast_ttl=600,\n    nntp_proxy_threshold=\"5 0 0\",\n    override=\"disable\",\n    override_wait_time=0,\n    secondary_vcluster=fortios.system.HaSecondaryVclusterArgs(\n        override=\"enable\",\n        override_wait_time=0,\n        pingserver_failover_threshold=0,\n        pingserver_slave_force_reset=\"enable\",\n        priority=128,\n        vcluster_id=1,\n    ),\n    weight=\"40 \")\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.System.Ha(\"trname\", new()\n    {\n        CpuThreshold = \"5 0 0\",\n        Encryption = \"disable\",\n        FtpProxyThreshold = \"5 0 0\",\n        GratuitousArps = \"enable\",\n        GroupId = 0,\n        HaDirect = \"disable\",\n        HaEthType = \"8890\",\n        HaMgmtStatus = \"disable\",\n        HaUptimeDiffMargin = 300,\n        HbInterval = 2,\n        HbLostThreshold = 20,\n        HcEthType = \"8891\",\n        HelloHolddown = 20,\n        HttpProxyThreshold = \"5 0 0\",\n        ImapProxyThreshold = \"5 0 0\",\n        InterClusterSessionSync = \"disable\",\n        L2epEthType = \"8893\",\n        LinkFailedSignal = \"disable\",\n        LoadBalanceAll = \"disable\",\n        MemoryCompatibleMode = \"disable\",\n        MemoryThreshold = \"5 0 0\",\n        Mode = \"standalone\",\n        MulticastTtl = 600,\n        NntpProxyThreshold = \"5 0 0\",\n        Override = \"disable\",\n        OverrideWaitTime = 0,\n        SecondaryVcluster = new Fortios.System.Inputs.HaSecondaryVclusterArgs\n        {\n            Override = \"enable\",\n            OverrideWaitTime = 0,\n            PingserverFailoverThreshold = 0,\n            PingserverSlaveForceReset = \"enable\",\n            Priority = 128,\n            VclusterId = 1,\n        },\n        Weight = \"40 \",\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.NewHa(ctx, \"trname\", &system.HaArgs{\n\t\t\tCpuThreshold:            pulumi.String(\"5 0 0\"),\n\t\t\tEncryption:              pulumi.String(\"disable\"),\n\t\t\tFtpProxyThreshold:       pulumi.String(\"5 0 0\"),\n\t\t\tGratuitousArps:          pulumi.String(\"enable\"),\n\t\t\tGroupId:                 pulumi.Int(0),\n\t\t\tHaDirect:                pulumi.String(\"disable\"),\n\t\t\tHaEthType:               pulumi.String(\"8890\"),\n\t\t\tHaMgmtStatus:            pulumi.String(\"disable\"),\n\t\t\tHaUptimeDiffMargin:      pulumi.Int(300),\n\t\t\tHbInterval:              pulumi.Int(2),\n\t\t\tHbLostThreshold:         pulumi.Int(20),\n\t\t\tHcEthType:               pulumi.String(\"8891\"),\n\t\t\tHelloHolddown:           pulumi.Int(20),\n\t\t\tHttpProxyThreshold:      pulumi.String(\"5 0 0\"),\n\t\t\tImapProxyThreshold:      pulumi.String(\"5 0 0\"),\n\t\t\tInterClusterSessionSync: pulumi.String(\"disable\"),\n\t\t\tL2epEthType:             pulumi.String(\"8893\"),\n\t\t\tLinkFailedSignal:        pulumi.String(\"disable\"),\n\t\t\tLoadBalanceAll:          pulumi.String(\"disable\"),\n\t\t\tMemoryCompatibleMode:    pulumi.String(\"disable\"),\n\t\t\tMemoryThreshold:         pulumi.String(\"5 0 0\"),\n\t\t\tMode:                    pulumi.String(\"standalone\"),\n\t\t\tMulticastTtl:            pulumi.Int(600),\n\t\t\tNntpProxyThreshold:      pulumi.String(\"5 0 0\"),\n\t\t\tOverride:                pulumi.String(\"disable\"),\n\t\t\tOverrideWaitTime:        pulumi.Int(0),\n\t\t\tSecondaryVcluster: &system.HaSecondaryVclusterArgs{\n\t\t\t\tOverride:                    pulumi.String(\"enable\"),\n\t\t\t\tOverrideWaitTime:            pulumi.Int(0),\n\t\t\t\tPingserverFailoverThreshold: pulumi.Int(0),\n\t\t\t\tPingserverSlaveForceReset:   pulumi.String(\"enable\"),\n\t\t\t\tPriority:                    pulumi.Int(128),\n\t\t\t\tVclusterId:                  pulumi.Int(1),\n\t\t\t},\n\t\t\tWeight: pulumi.String(\"40 \"),\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.Ha;\nimport com.pulumi.fortios.system.HaArgs;\nimport com.pulumi.fortios.system.inputs.HaSecondaryVclusterArgs;\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 Ha(\"trname\", HaArgs.builder()\n            .cpuThreshold(\"5 0 0\")\n            .encryption(\"disable\")\n            .ftpProxyThreshold(\"5 0 0\")\n            .gratuitousArps(\"enable\")\n            .groupId(0)\n            .haDirect(\"disable\")\n            .haEthType(\"8890\")\n            .haMgmtStatus(\"disable\")\n            .haUptimeDiffMargin(300)\n            .hbInterval(2)\n            .hbLostThreshold(20)\n            .hcEthType(\"8891\")\n            .helloHolddown(20)\n            .httpProxyThreshold(\"5 0 0\")\n            .imapProxyThreshold(\"5 0 0\")\n            .interClusterSessionSync(\"disable\")\n            .l2epEthType(\"8893\")\n            .linkFailedSignal(\"disable\")\n            .loadBalanceAll(\"disable\")\n            .memoryCompatibleMode(\"disable\")\n            .memoryThreshold(\"5 0 0\")\n            .mode(\"standalone\")\n            .multicastTtl(600)\n            .nntpProxyThreshold(\"5 0 0\")\n            .override(\"disable\")\n            .overrideWaitTime(0)\n            .secondaryVcluster(HaSecondaryVclusterArgs.builder()\n                .override(\"enable\")\n                .overrideWaitTime(0)\n                .pingserverFailoverThreshold(0)\n                .pingserverSlaveForceReset(\"enable\")\n                .priority(128)\n                .vclusterId(1)\n                .build())\n            .weight(\"40 \")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ha\n    properties:\n      cpuThreshold: 5 0 0\n      encryption: disable\n      ftpProxyThreshold: 5 0 0\n      gratuitousArps: enable\n      groupId: 0\n      haDirect: disable\n      haEthType: '8890'\n      haMgmtStatus: disable\n      haUptimeDiffMargin: 300\n      hbInterval: 2\n      hbLostThreshold: 20\n      hcEthType: '8891'\n      helloHolddown: 20\n      httpProxyThreshold: 5 0 0\n      imapProxyThreshold: 5 0 0\n      interClusterSessionSync: disable\n      l2epEthType: '8893'\n      linkFailedSignal: disable\n      loadBalanceAll: disable\n      memoryCompatibleMode: disable\n      memoryThreshold: 5 0 0\n      mode: standalone\n      multicastTtl: 600\n      nntpProxyThreshold: 5 0 0\n      override: disable\n      overrideWaitTime: 0\n      secondaryVcluster:\n        override: enable\n        overrideWaitTime: 0\n        pingserverFailoverThreshold: 0\n        pingserverSlaveForceReset: enable\n        priority: 128\n        vclusterId: 1\n      weight: '40 '\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ha can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ha:Ha labelname SystemHa\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:system/ha:Ha labelname SystemHa\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "arps": {
          "type": "integer",
          "description": "Number of gratuitous ARPs (1 - 60). Lower to reduce traffic. Higher to reduce failover time.\n"
        },
        "arpsInterval": {
          "type": "integer",
          "description": "Time between gratuitous ARPs  (1 - 20 sec). Lower to reduce failover time. Higher to reduce traffic.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable heartbeat message authentication. Valid values: `enable`, `disable`.\n"
        },
        "cpuThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing CPU usage weight and high and low thresholds.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encryption": {
          "type": "string",
          "description": "Enable/disable heartbeat message encryption. Valid values: `enable`, `disable`.\n"
        },
        "evpnTtl": {
          "type": "integer",
          "description": "HA EVPN FDB TTL on primary box (5 - 3600 sec).\n"
        },
        "failoverHoldTime": {
          "type": "integer",
          "description": "Time to wait before failover (0 - 300 sec, default = 0), to avoid flip.\n"
        },
        "ftpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of FTP proxy sessions.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gratuitousArps": {
          "type": "string",
          "description": "Enable/disable gratuitous ARPs. Disable if link-failed-signal enabled. Valid values: `enable`, `disable`.\n"
        },
        "groupId": {
          "type": "integer",
          "description": "HA group ID. Must be the same for all members. On FortiOS versions 6.2.0-6.2.6: 0 - 255. On FortiOS versions 7.0.2-7.0.15: 0 - 1023. On FortiOS versions 7.2.0: 0 - 1023;  or 0 - 7 when there are more than 2 vclusters.\n"
        },
        "groupName": {
          "type": "string",
          "description": "Cluster group name. Must be the same for all members.\n"
        },
        "haDirect": {
          "type": "string",
          "description": "Enable/disable using ha-mgmt interface for syslog, SNMP, remote authentication (RADIUS), FortiAnalyzer, FortiSandbox, sFlow, and Netflow. Valid values: `enable`, `disable`.\n"
        },
        "haEthType": {
          "type": "string",
          "description": "HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "haMgmtInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaHaMgmtInterface:HaHaMgmtInterface"
          },
          "description": "Reserve interfaces to manage individual cluster units. The structure of `ha_mgmt_interfaces` block is documented below.\n"
        },
        "haMgmtStatus": {
          "type": "string",
          "description": "Enable to reserve interfaces to manage individual cluster units. Valid values: `enable`, `disable`.\n"
        },
        "haUptimeDiffMargin": {
          "type": "integer",
          "description": "Normally you would only reduce this value for failover testing.\n"
        },
        "hbInterval": {
          "type": "integer",
          "description": "Time between sending heartbeat packets (1 - 20). Increase to reduce false positives.\n"
        },
        "hbIntervalInMilliseconds": {
          "type": "string",
          "description": "Number of milliseconds for each heartbeat interval: 100ms or 10ms. Valid values: `100ms`, `10ms`.\n"
        },
        "hbLostThreshold": {
          "type": "integer",
          "description": "Number of lost heartbeats to signal a failure (1 - 60). Increase to reduce false positives.\n"
        },
        "hbdev": {
          "type": "string",
          "description": "Heartbeat interfaces. Must be the same for all members.\n"
        },
        "hcEthType": {
          "type": "string",
          "description": "Transparent mode HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "helloHolddown": {
          "type": "integer",
          "description": "Time to wait before changing from hello to work state (5 - 300 sec).\n"
        },
        "httpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of HTTP proxy sessions.\n"
        },
        "imapProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of IMAP proxy sessions.\n"
        },
        "interClusterSessionSync": {
          "type": "string",
          "description": "Enable/disable synchronization of sessions among HA clusters. Valid values: `enable`, `disable`.\n"
        },
        "ipsecPhase2Proposal": {
          "type": "string",
          "description": "IPsec phase2 proposal. Valid values: `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes128gcm`, `aes256gcm`, `chacha20poly1305`.\n"
        },
        "key": {
          "type": "string",
          "description": "key\n",
          "secret": true
        },
        "l2epEthType": {
          "type": "string",
          "description": "Telnet session HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "linkFailedSignal": {
          "type": "string",
          "description": "Enable to shut down all interfaces for 1 sec after a failover. Use if gratuitous ARPs do not update network. Valid values: `enable`, `disable`.\n"
        },
        "loadBalanceAll": {
          "type": "string",
          "description": "Enable to load balance TCP sessions. Disable to load balance proxy sessions only. Valid values: `enable`, `disable`.\n"
        },
        "logicalSn": {
          "type": "string",
          "description": "Enable/disable usage of the logical serial number. Valid values: `enable`, `disable`.\n"
        },
        "memoryBasedFailover": {
          "type": "string",
          "description": "Enable/disable memory based failover. Valid values: `enable`, `disable`.\n"
        },
        "memoryCompatibleMode": {
          "type": "string",
          "description": "Enable/disable memory compatible mode. Valid values: `enable`, `disable`.\n"
        },
        "memoryFailoverFlipTimeout": {
          "type": "integer",
          "description": "Time to wait between subsequent memory based failovers in minutes (6 - 2147483647, default = 6).\n"
        },
        "memoryFailoverMonitorPeriod": {
          "type": "integer",
          "description": "Duration of high memory usage before memory based failover is triggered in seconds (1 - 300, default = 60).\n"
        },
        "memoryFailoverSampleRate": {
          "type": "integer",
          "description": "Rate at which memory usage is sampled in order to measure memory usage in seconds (1 - 60, default = 1).\n"
        },
        "memoryFailoverThreshold": {
          "type": "integer",
          "description": "Memory usage threshold to trigger memory based failover (0 means using conserve mode threshold in system.global).\n"
        },
        "memoryThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing memory usage weight and high and low thresholds.\n"
        },
        "mode": {
          "type": "string",
          "description": "HA mode. Must be the same for all members. FGSP requires standalone. Valid values: `standalone`, `a-a`, `a-p`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "multicastTtl": {
          "type": "integer",
          "description": "HA multicast TTL on primary (5 - 3600 sec).\n"
        },
        "nntpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of NNTP proxy sessions.\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"
        },
        "password": {
          "type": "string",
          "description": "Cluster password. Must be the same for all members.\n",
          "secret": true
        },
        "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"
        },
        "pop3ProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of POP3 proxy sessions.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "routeHold": {
          "type": "integer",
          "description": "Time to wait between routing table updates to the cluster (0 - 3600 sec).\n"
        },
        "routeTtl": {
          "type": "integer",
          "description": "TTL for primary unit routes (5 - 3600 sec). Increase to maintain active routes during failover.\n"
        },
        "routeWait": {
          "type": "integer",
          "description": "Time to wait before sending new routes to the cluster (0 - 3600 sec).\n"
        },
        "schedule": {
          "type": "string",
          "description": "Type of A-A load balancing. Use none if you have external load balancers.\n"
        },
        "secondaryVcluster": {
          "$ref": "#/types/fortios:system%2FHaSecondaryVcluster:HaSecondaryVcluster",
          "description": "Configure virtual cluster 2. The structure of `secondary_vcluster` block is documented below.\n"
        },
        "sessionPickup": {
          "type": "string",
          "description": "Enable/disable session pickup. Enabling it can reduce session down time when fail over happens. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupConnectionless": {
          "type": "string",
          "description": "Enable/disable UDP and ICMP session sync. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupDelay": {
          "type": "string",
          "description": "Enable to sync sessions longer than 30 sec. Only longer lived sessions need to be synced. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupExpectation": {
          "type": "string",
          "description": "Enable/disable session helper expectation session sync for FGSP. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupNat": {
          "type": "string",
          "description": "Enable/disable NAT session sync for FGSP. Valid values: `enable`, `disable`.\n"
        },
        "sessionSyncDev": {
          "type": "string",
          "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
        },
        "smtpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of SMTP proxy sessions.\n"
        },
        "ssdFailover": {
          "type": "string",
          "description": "Enable/disable automatic HA failover on SSD disk failure. Valid values: `enable`, `disable`.\n"
        },
        "standaloneConfigSync": {
          "type": "string",
          "description": "Enable/disable FGSP configuration synchronization. Valid values: `enable`, `disable`.\n"
        },
        "standaloneMgmtVdom": {
          "type": "string",
          "description": "Enable/disable standalone management VDOM. Valid values: `enable`, `disable`.\n"
        },
        "syncConfig": {
          "type": "string",
          "description": "Enable/disable configuration synchronization. Valid values: `enable`, `disable`.\n"
        },
        "syncPacketBalance": {
          "type": "string",
          "description": "Enable/disable HA packet distribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
        },
        "unicastGateway": {
          "type": "string",
          "description": "Default route gateway for unicast interface.\n"
        },
        "unicastHb": {
          "type": "string",
          "description": "Enable/disable unicast heartbeat. Valid values: `enable`, `disable`.\n"
        },
        "unicastHbNetmask": {
          "type": "string",
          "description": "Unicast heartbeat netmask.\n"
        },
        "unicastHbPeerip": {
          "type": "string",
          "description": "Unicast heartbeat peer IP.\n"
        },
        "unicastPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaUnicastPeer:HaUnicastPeer"
          },
          "description": "Number of unicast peers. The structure of `unicast_peers` block is documented below.\n"
        },
        "unicastStatus": {
          "type": "string",
          "description": "Enable/disable unicast connection. Valid values: `enable`, `disable`.\n"
        },
        "uninterruptiblePrimaryWait": {
          "type": "integer",
          "description": "Number of minutes the primary HA unit waits before the secondary HA unit is considered upgraded and the system is started before starting its own upgrade (default = 30). On FortiOS versions 6.4.10-6.4.15, 7.0.2-7.0.5: 1 - 300. On FortiOS versions >= 7.0.6: 15 - 300.\n"
        },
        "uninterruptibleUpgrade": {
          "type": "string",
          "description": "Enable to upgrade a cluster without blocking network traffic. Valid values: `enable`, `disable`.\n"
        },
        "upgradeMode": {
          "type": "string",
          "description": "The mode to upgrade a cluster. Valid values: `simultaneous`, `uninterruptible`, `local-only`, `secondary-only`.\n"
        },
        "vcluster2": {
          "type": "string",
          "description": "Enable/disable virtual cluster 2 for virtual clustering. Valid values: `enable`, `disable`.\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Cluster ID.\n"
        },
        "vclusterStatus": {
          "type": "string",
          "description": "Enable/disable virtual cluster for virtual clustering. Valid values: `enable`, `disable`.\n"
        },
        "vclusters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaVcluster:HaVcluster"
          },
          "description": "Virtual cluster table. The structure of `vcluster` block is documented below.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOMs in virtual cluster 1.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "weight": {
          "type": "string",
          "description": "Weight-round-robin weight for each cluster unit. Syntax <priority> <weight>.\n"
        }
      },
      "type": "object",
      "required": [
        "arps",
        "arpsInterval",
        "authentication",
        "cpuThreshold",
        "encryption",
        "evpnTtl",
        "failoverHoldTime",
        "ftpProxyThreshold",
        "gratuitousArps",
        "groupId",
        "groupName",
        "haDirect",
        "haEthType",
        "haMgmtStatus",
        "haUptimeDiffMargin",
        "hbInterval",
        "hbIntervalInMilliseconds",
        "hbLostThreshold",
        "hbdev",
        "hcEthType",
        "helloHolddown",
        "httpProxyThreshold",
        "imapProxyThreshold",
        "interClusterSessionSync",
        "ipsecPhase2Proposal",
        "l2epEthType",
        "linkFailedSignal",
        "loadBalanceAll",
        "logicalSn",
        "memoryBasedFailover",
        "memoryCompatibleMode",
        "memoryFailoverFlipTimeout",
        "memoryFailoverMonitorPeriod",
        "memoryFailoverSampleRate",
        "memoryFailoverThreshold",
        "memoryThreshold",
        "mode",
        "monitor",
        "multicastTtl",
        "nntpProxyThreshold",
        "override",
        "overrideWaitTime",
        "pingserverFailoverThreshold",
        "pingserverFlipTimeout",
        "pingserverMonitorInterface",
        "pingserverSecondaryForceReset",
        "pingserverSlaveForceReset",
        "pop3ProxyThreshold",
        "priority",
        "routeHold",
        "routeTtl",
        "routeWait",
        "schedule",
        "secondaryVcluster",
        "sessionPickup",
        "sessionPickupConnectionless",
        "sessionPickupDelay",
        "sessionPickupExpectation",
        "sessionPickupNat",
        "sessionSyncDev",
        "smtpProxyThreshold",
        "ssdFailover",
        "standaloneConfigSync",
        "standaloneMgmtVdom",
        "syncConfig",
        "syncPacketBalance",
        "unicastGateway",
        "unicastHb",
        "unicastHbNetmask",
        "unicastHbPeerip",
        "unicastStatus",
        "uninterruptiblePrimaryWait",
        "uninterruptibleUpgrade",
        "upgradeMode",
        "vcluster2",
        "vclusterId",
        "vclusterStatus",
        "vdom",
        "vdomparam",
        "weight"
      ],
      "inputProperties": {
        "arps": {
          "type": "integer",
          "description": "Number of gratuitous ARPs (1 - 60). Lower to reduce traffic. Higher to reduce failover time.\n"
        },
        "arpsInterval": {
          "type": "integer",
          "description": "Time between gratuitous ARPs  (1 - 20 sec). Lower to reduce failover time. Higher to reduce traffic.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable heartbeat message authentication. Valid values: `enable`, `disable`.\n"
        },
        "cpuThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing CPU usage weight and high and low thresholds.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encryption": {
          "type": "string",
          "description": "Enable/disable heartbeat message encryption. Valid values: `enable`, `disable`.\n"
        },
        "evpnTtl": {
          "type": "integer",
          "description": "HA EVPN FDB TTL on primary box (5 - 3600 sec).\n"
        },
        "failoverHoldTime": {
          "type": "integer",
          "description": "Time to wait before failover (0 - 300 sec, default = 0), to avoid flip.\n"
        },
        "ftpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of FTP proxy sessions.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gratuitousArps": {
          "type": "string",
          "description": "Enable/disable gratuitous ARPs. Disable if link-failed-signal enabled. Valid values: `enable`, `disable`.\n"
        },
        "groupId": {
          "type": "integer",
          "description": "HA group ID. Must be the same for all members. On FortiOS versions 6.2.0-6.2.6: 0 - 255. On FortiOS versions 7.0.2-7.0.15: 0 - 1023. On FortiOS versions 7.2.0: 0 - 1023;  or 0 - 7 when there are more than 2 vclusters.\n"
        },
        "groupName": {
          "type": "string",
          "description": "Cluster group name. Must be the same for all members.\n"
        },
        "haDirect": {
          "type": "string",
          "description": "Enable/disable using ha-mgmt interface for syslog, SNMP, remote authentication (RADIUS), FortiAnalyzer, FortiSandbox, sFlow, and Netflow. Valid values: `enable`, `disable`.\n"
        },
        "haEthType": {
          "type": "string",
          "description": "HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "haMgmtInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaHaMgmtInterface:HaHaMgmtInterface"
          },
          "description": "Reserve interfaces to manage individual cluster units. The structure of `ha_mgmt_interfaces` block is documented below.\n"
        },
        "haMgmtStatus": {
          "type": "string",
          "description": "Enable to reserve interfaces to manage individual cluster units. Valid values: `enable`, `disable`.\n"
        },
        "haUptimeDiffMargin": {
          "type": "integer",
          "description": "Normally you would only reduce this value for failover testing.\n"
        },
        "hbInterval": {
          "type": "integer",
          "description": "Time between sending heartbeat packets (1 - 20). Increase to reduce false positives.\n"
        },
        "hbIntervalInMilliseconds": {
          "type": "string",
          "description": "Number of milliseconds for each heartbeat interval: 100ms or 10ms. Valid values: `100ms`, `10ms`.\n"
        },
        "hbLostThreshold": {
          "type": "integer",
          "description": "Number of lost heartbeats to signal a failure (1 - 60). Increase to reduce false positives.\n"
        },
        "hbdev": {
          "type": "string",
          "description": "Heartbeat interfaces. Must be the same for all members.\n"
        },
        "hcEthType": {
          "type": "string",
          "description": "Transparent mode HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "helloHolddown": {
          "type": "integer",
          "description": "Time to wait before changing from hello to work state (5 - 300 sec).\n"
        },
        "httpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of HTTP proxy sessions.\n"
        },
        "imapProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of IMAP proxy sessions.\n"
        },
        "interClusterSessionSync": {
          "type": "string",
          "description": "Enable/disable synchronization of sessions among HA clusters. Valid values: `enable`, `disable`.\n"
        },
        "ipsecPhase2Proposal": {
          "type": "string",
          "description": "IPsec phase2 proposal. Valid values: `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes128gcm`, `aes256gcm`, `chacha20poly1305`.\n"
        },
        "key": {
          "type": "string",
          "description": "key\n",
          "secret": true
        },
        "l2epEthType": {
          "type": "string",
          "description": "Telnet session HA heartbeat packet Ethertype (4-digit hex).\n"
        },
        "linkFailedSignal": {
          "type": "string",
          "description": "Enable to shut down all interfaces for 1 sec after a failover. Use if gratuitous ARPs do not update network. Valid values: `enable`, `disable`.\n"
        },
        "loadBalanceAll": {
          "type": "string",
          "description": "Enable to load balance TCP sessions. Disable to load balance proxy sessions only. Valid values: `enable`, `disable`.\n"
        },
        "logicalSn": {
          "type": "string",
          "description": "Enable/disable usage of the logical serial number. Valid values: `enable`, `disable`.\n"
        },
        "memoryBasedFailover": {
          "type": "string",
          "description": "Enable/disable memory based failover. Valid values: `enable`, `disable`.\n"
        },
        "memoryCompatibleMode": {
          "type": "string",
          "description": "Enable/disable memory compatible mode. Valid values: `enable`, `disable`.\n"
        },
        "memoryFailoverFlipTimeout": {
          "type": "integer",
          "description": "Time to wait between subsequent memory based failovers in minutes (6 - 2147483647, default = 6).\n"
        },
        "memoryFailoverMonitorPeriod": {
          "type": "integer",
          "description": "Duration of high memory usage before memory based failover is triggered in seconds (1 - 300, default = 60).\n"
        },
        "memoryFailoverSampleRate": {
          "type": "integer",
          "description": "Rate at which memory usage is sampled in order to measure memory usage in seconds (1 - 60, default = 1).\n"
        },
        "memoryFailoverThreshold": {
          "type": "integer",
          "description": "Memory usage threshold to trigger memory based failover (0 means using conserve mode threshold in system.global).\n"
        },
        "memoryThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing memory usage weight and high and low thresholds.\n"
        },
        "mode": {
          "type": "string",
          "description": "HA mode. Must be the same for all members. FGSP requires standalone. Valid values: `standalone`, `a-a`, `a-p`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "multicastTtl": {
          "type": "integer",
          "description": "HA multicast TTL on primary (5 - 3600 sec).\n"
        },
        "nntpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of NNTP proxy sessions.\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"
        },
        "password": {
          "type": "string",
          "description": "Cluster password. Must be the same for all members.\n",
          "secret": true
        },
        "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"
        },
        "pop3ProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of POP3 proxy sessions.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "routeHold": {
          "type": "integer",
          "description": "Time to wait between routing table updates to the cluster (0 - 3600 sec).\n"
        },
        "routeTtl": {
          "type": "integer",
          "description": "TTL for primary unit routes (5 - 3600 sec). Increase to maintain active routes during failover.\n"
        },
        "routeWait": {
          "type": "integer",
          "description": "Time to wait before sending new routes to the cluster (0 - 3600 sec).\n"
        },
        "schedule": {
          "type": "string",
          "description": "Type of A-A load balancing. Use none if you have external load balancers.\n"
        },
        "secondaryVcluster": {
          "$ref": "#/types/fortios:system%2FHaSecondaryVcluster:HaSecondaryVcluster",
          "description": "Configure virtual cluster 2. The structure of `secondary_vcluster` block is documented below.\n"
        },
        "sessionPickup": {
          "type": "string",
          "description": "Enable/disable session pickup. Enabling it can reduce session down time when fail over happens. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupConnectionless": {
          "type": "string",
          "description": "Enable/disable UDP and ICMP session sync. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupDelay": {
          "type": "string",
          "description": "Enable to sync sessions longer than 30 sec. Only longer lived sessions need to be synced. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupExpectation": {
          "type": "string",
          "description": "Enable/disable session helper expectation session sync for FGSP. Valid values: `enable`, `disable`.\n"
        },
        "sessionPickupNat": {
          "type": "string",
          "description": "Enable/disable NAT session sync for FGSP. Valid values: `enable`, `disable`.\n"
        },
        "sessionSyncDev": {
          "type": "string",
          "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
        },
        "smtpProxyThreshold": {
          "type": "string",
          "description": "Dynamic weighted load balancing weight and high and low number of SMTP proxy sessions.\n"
        },
        "ssdFailover": {
          "type": "string",
          "description": "Enable/disable automatic HA failover on SSD disk failure. Valid values: `enable`, `disable`.\n"
        },
        "standaloneConfigSync": {
          "type": "string",
          "description": "Enable/disable FGSP configuration synchronization. Valid values: `enable`, `disable`.\n"
        },
        "standaloneMgmtVdom": {
          "type": "string",
          "description": "Enable/disable standalone management VDOM. Valid values: `enable`, `disable`.\n"
        },
        "syncConfig": {
          "type": "string",
          "description": "Enable/disable configuration synchronization. Valid values: `enable`, `disable`.\n"
        },
        "syncPacketBalance": {
          "type": "string",
          "description": "Enable/disable HA packet distribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
        },
        "unicastGateway": {
          "type": "string",
          "description": "Default route gateway for unicast interface.\n"
        },
        "unicastHb": {
          "type": "string",
          "description": "Enable/disable unicast heartbeat. Valid values: `enable`, `disable`.\n"
        },
        "unicastHbNetmask": {
          "type": "string",
          "description": "Unicast heartbeat netmask.\n"
        },
        "unicastHbPeerip": {
          "type": "string",
          "description": "Unicast heartbeat peer IP.\n"
        },
        "unicastPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaUnicastPeer:HaUnicastPeer"
          },
          "description": "Number of unicast peers. The structure of `unicast_peers` block is documented below.\n"
        },
        "unicastStatus": {
          "type": "string",
          "description": "Enable/disable unicast connection. Valid values: `enable`, `disable`.\n"
        },
        "uninterruptiblePrimaryWait": {
          "type": "integer",
          "description": "Number of minutes the primary HA unit waits before the secondary HA unit is considered upgraded and the system is started before starting its own upgrade (default = 30). On FortiOS versions 6.4.10-6.4.15, 7.0.2-7.0.5: 1 - 300. On FortiOS versions >= 7.0.6: 15 - 300.\n"
        },
        "uninterruptibleUpgrade": {
          "type": "string",
          "description": "Enable to upgrade a cluster without blocking network traffic. Valid values: `enable`, `disable`.\n"
        },
        "upgradeMode": {
          "type": "string",
          "description": "The mode to upgrade a cluster. Valid values: `simultaneous`, `uninterruptible`, `local-only`, `secondary-only`.\n"
        },
        "vcluster2": {
          "type": "string",
          "description": "Enable/disable virtual cluster 2 for virtual clustering. Valid values: `enable`, `disable`.\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Cluster ID.\n"
        },
        "vclusterStatus": {
          "type": "string",
          "description": "Enable/disable virtual cluster for virtual clustering. Valid values: `enable`, `disable`.\n"
        },
        "vclusters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaVcluster:HaVcluster"
          },
          "description": "Virtual cluster table. The structure of `vcluster` block is documented below.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOMs in virtual cluster 1.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weight": {
          "type": "string",
          "description": "Weight-round-robin weight for each cluster unit. Syntax <priority> <weight>.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ha resources.\n",
        "properties": {
          "arps": {
            "type": "integer",
            "description": "Number of gratuitous ARPs (1 - 60). Lower to reduce traffic. Higher to reduce failover time.\n"
          },
          "arpsInterval": {
            "type": "integer",
            "description": "Time between gratuitous ARPs  (1 - 20 sec). Lower to reduce failover time. Higher to reduce traffic.\n"
          },
          "authentication": {
            "type": "string",
            "description": "Enable/disable heartbeat message authentication. Valid values: `enable`, `disable`.\n"
          },
          "cpuThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing CPU usage weight and high and low thresholds.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encryption": {
            "type": "string",
            "description": "Enable/disable heartbeat message encryption. Valid values: `enable`, `disable`.\n"
          },
          "evpnTtl": {
            "type": "integer",
            "description": "HA EVPN FDB TTL on primary box (5 - 3600 sec).\n"
          },
          "failoverHoldTime": {
            "type": "integer",
            "description": "Time to wait before failover (0 - 300 sec, default = 0), to avoid flip.\n"
          },
          "ftpProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of FTP proxy sessions.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gratuitousArps": {
            "type": "string",
            "description": "Enable/disable gratuitous ARPs. Disable if link-failed-signal enabled. Valid values: `enable`, `disable`.\n"
          },
          "groupId": {
            "type": "integer",
            "description": "HA group ID. Must be the same for all members. On FortiOS versions 6.2.0-6.2.6: 0 - 255. On FortiOS versions 7.0.2-7.0.15: 0 - 1023. On FortiOS versions 7.2.0: 0 - 1023;  or 0 - 7 when there are more than 2 vclusters.\n"
          },
          "groupName": {
            "type": "string",
            "description": "Cluster group name. Must be the same for all members.\n"
          },
          "haDirect": {
            "type": "string",
            "description": "Enable/disable using ha-mgmt interface for syslog, SNMP, remote authentication (RADIUS), FortiAnalyzer, FortiSandbox, sFlow, and Netflow. Valid values: `enable`, `disable`.\n"
          },
          "haEthType": {
            "type": "string",
            "description": "HA heartbeat packet Ethertype (4-digit hex).\n"
          },
          "haMgmtInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FHaHaMgmtInterface:HaHaMgmtInterface"
            },
            "description": "Reserve interfaces to manage individual cluster units. The structure of `ha_mgmt_interfaces` block is documented below.\n"
          },
          "haMgmtStatus": {
            "type": "string",
            "description": "Enable to reserve interfaces to manage individual cluster units. Valid values: `enable`, `disable`.\n"
          },
          "haUptimeDiffMargin": {
            "type": "integer",
            "description": "Normally you would only reduce this value for failover testing.\n"
          },
          "hbInterval": {
            "type": "integer",
            "description": "Time between sending heartbeat packets (1 - 20). Increase to reduce false positives.\n"
          },
          "hbIntervalInMilliseconds": {
            "type": "string",
            "description": "Number of milliseconds for each heartbeat interval: 100ms or 10ms. Valid values: `100ms`, `10ms`.\n"
          },
          "hbLostThreshold": {
            "type": "integer",
            "description": "Number of lost heartbeats to signal a failure (1 - 60). Increase to reduce false positives.\n"
          },
          "hbdev": {
            "type": "string",
            "description": "Heartbeat interfaces. Must be the same for all members.\n"
          },
          "hcEthType": {
            "type": "string",
            "description": "Transparent mode HA heartbeat packet Ethertype (4-digit hex).\n"
          },
          "helloHolddown": {
            "type": "integer",
            "description": "Time to wait before changing from hello to work state (5 - 300 sec).\n"
          },
          "httpProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of HTTP proxy sessions.\n"
          },
          "imapProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of IMAP proxy sessions.\n"
          },
          "interClusterSessionSync": {
            "type": "string",
            "description": "Enable/disable synchronization of sessions among HA clusters. Valid values: `enable`, `disable`.\n"
          },
          "ipsecPhase2Proposal": {
            "type": "string",
            "description": "IPsec phase2 proposal. Valid values: `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes128gcm`, `aes256gcm`, `chacha20poly1305`.\n"
          },
          "key": {
            "type": "string",
            "description": "key\n",
            "secret": true
          },
          "l2epEthType": {
            "type": "string",
            "description": "Telnet session HA heartbeat packet Ethertype (4-digit hex).\n"
          },
          "linkFailedSignal": {
            "type": "string",
            "description": "Enable to shut down all interfaces for 1 sec after a failover. Use if gratuitous ARPs do not update network. Valid values: `enable`, `disable`.\n"
          },
          "loadBalanceAll": {
            "type": "string",
            "description": "Enable to load balance TCP sessions. Disable to load balance proxy sessions only. Valid values: `enable`, `disable`.\n"
          },
          "logicalSn": {
            "type": "string",
            "description": "Enable/disable usage of the logical serial number. Valid values: `enable`, `disable`.\n"
          },
          "memoryBasedFailover": {
            "type": "string",
            "description": "Enable/disable memory based failover. Valid values: `enable`, `disable`.\n"
          },
          "memoryCompatibleMode": {
            "type": "string",
            "description": "Enable/disable memory compatible mode. Valid values: `enable`, `disable`.\n"
          },
          "memoryFailoverFlipTimeout": {
            "type": "integer",
            "description": "Time to wait between subsequent memory based failovers in minutes (6 - 2147483647, default = 6).\n"
          },
          "memoryFailoverMonitorPeriod": {
            "type": "integer",
            "description": "Duration of high memory usage before memory based failover is triggered in seconds (1 - 300, default = 60).\n"
          },
          "memoryFailoverSampleRate": {
            "type": "integer",
            "description": "Rate at which memory usage is sampled in order to measure memory usage in seconds (1 - 60, default = 1).\n"
          },
          "memoryFailoverThreshold": {
            "type": "integer",
            "description": "Memory usage threshold to trigger memory based failover (0 means using conserve mode threshold in system.global).\n"
          },
          "memoryThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing memory usage weight and high and low thresholds.\n"
          },
          "mode": {
            "type": "string",
            "description": "HA mode. Must be the same for all members. FGSP requires standalone. Valid values: `standalone`, `a-a`, `a-p`.\n"
          },
          "monitor": {
            "type": "string",
            "description": "Interfaces to check for port monitoring (or link failure).\n"
          },
          "multicastTtl": {
            "type": "integer",
            "description": "HA multicast TTL on primary (5 - 3600 sec).\n"
          },
          "nntpProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of NNTP proxy sessions.\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"
          },
          "password": {
            "type": "string",
            "description": "Cluster password. Must be the same for all members.\n",
            "secret": true
          },
          "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"
          },
          "pop3ProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of POP3 proxy sessions.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Increase the priority to select the primary unit (0 - 255).\n"
          },
          "routeHold": {
            "type": "integer",
            "description": "Time to wait between routing table updates to the cluster (0 - 3600 sec).\n"
          },
          "routeTtl": {
            "type": "integer",
            "description": "TTL for primary unit routes (5 - 3600 sec). Increase to maintain active routes during failover.\n"
          },
          "routeWait": {
            "type": "integer",
            "description": "Time to wait before sending new routes to the cluster (0 - 3600 sec).\n"
          },
          "schedule": {
            "type": "string",
            "description": "Type of A-A load balancing. Use none if you have external load balancers.\n"
          },
          "secondaryVcluster": {
            "$ref": "#/types/fortios:system%2FHaSecondaryVcluster:HaSecondaryVcluster",
            "description": "Configure virtual cluster 2. The structure of `secondary_vcluster` block is documented below.\n"
          },
          "sessionPickup": {
            "type": "string",
            "description": "Enable/disable session pickup. Enabling it can reduce session down time when fail over happens. Valid values: `enable`, `disable`.\n"
          },
          "sessionPickupConnectionless": {
            "type": "string",
            "description": "Enable/disable UDP and ICMP session sync. Valid values: `enable`, `disable`.\n"
          },
          "sessionPickupDelay": {
            "type": "string",
            "description": "Enable to sync sessions longer than 30 sec. Only longer lived sessions need to be synced. Valid values: `enable`, `disable`.\n"
          },
          "sessionPickupExpectation": {
            "type": "string",
            "description": "Enable/disable session helper expectation session sync for FGSP. Valid values: `enable`, `disable`.\n"
          },
          "sessionPickupNat": {
            "type": "string",
            "description": "Enable/disable NAT session sync for FGSP. Valid values: `enable`, `disable`.\n"
          },
          "sessionSyncDev": {
            "type": "string",
            "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
          },
          "smtpProxyThreshold": {
            "type": "string",
            "description": "Dynamic weighted load balancing weight and high and low number of SMTP proxy sessions.\n"
          },
          "ssdFailover": {
            "type": "string",
            "description": "Enable/disable automatic HA failover on SSD disk failure. Valid values: `enable`, `disable`.\n"
          },
          "standaloneConfigSync": {
            "type": "string",
            "description": "Enable/disable FGSP configuration synchronization. Valid values: `enable`, `disable`.\n"
          },
          "standaloneMgmtVdom": {
            "type": "string",
            "description": "Enable/disable standalone management VDOM. Valid values: `enable`, `disable`.\n"
          },
          "syncConfig": {
            "type": "string",
            "description": "Enable/disable configuration synchronization. Valid values: `enable`, `disable`.\n"
          },
          "syncPacketBalance": {
            "type": "string",
            "description": "Enable/disable HA packet distribution to multiple CPUs. Valid values: `enable`, `disable`.\n"
          },
          "unicastGateway": {
            "type": "string",
            "description": "Default route gateway for unicast interface.\n"
          },
          "unicastHb": {
            "type": "string",
            "description": "Enable/disable unicast heartbeat. Valid values: `enable`, `disable`.\n"
          },
          "unicastHbNetmask": {
            "type": "string",
            "description": "Unicast heartbeat netmask.\n"
          },
          "unicastHbPeerip": {
            "type": "string",
            "description": "Unicast heartbeat peer IP.\n"
          },
          "unicastPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FHaUnicastPeer:HaUnicastPeer"
            },
            "description": "Number of unicast peers. The structure of `unicast_peers` block is documented below.\n"
          },
          "unicastStatus": {
            "type": "string",
            "description": "Enable/disable unicast connection. Valid values: `enable`, `disable`.\n"
          },
          "uninterruptiblePrimaryWait": {
            "type": "integer",
            "description": "Number of minutes the primary HA unit waits before the secondary HA unit is considered upgraded and the system is started before starting its own upgrade (default = 30). On FortiOS versions 6.4.10-6.4.15, 7.0.2-7.0.5: 1 - 300. On FortiOS versions >= 7.0.6: 15 - 300.\n"
          },
          "uninterruptibleUpgrade": {
            "type": "string",
            "description": "Enable to upgrade a cluster without blocking network traffic. Valid values: `enable`, `disable`.\n"
          },
          "upgradeMode": {
            "type": "string",
            "description": "The mode to upgrade a cluster. Valid values: `simultaneous`, `uninterruptible`, `local-only`, `secondary-only`.\n"
          },
          "vcluster2": {
            "type": "string",
            "description": "Enable/disable virtual cluster 2 for virtual clustering. Valid values: `enable`, `disable`.\n"
          },
          "vclusterId": {
            "type": "integer",
            "description": "Cluster ID.\n"
          },
          "vclusterStatus": {
            "type": "string",
            "description": "Enable/disable virtual cluster for virtual clustering. Valid values: `enable`, `disable`.\n"
          },
          "vclusters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FHaVcluster:HaVcluster"
            },
            "description": "Virtual cluster table. The structure of `vcluster` block is documented below.\n"
          },
          "vdom": {
            "type": "string",
            "description": "VDOMs in virtual cluster 1.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weight": {
            "type": "string",
            "description": "Weight-round-robin weight for each cluster unit. Syntax <priority> <weight>.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/hamonitor:Hamonitor": {
      "description": "Configure HA monitor.\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.system.Hamonitor(\"trname\", {\n    monitorVlan: \"disable\",\n    vlanHbInterval: 5,\n    vlanHbLostThreshold: 3,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Hamonitor(\"trname\",\n    monitor_vlan=\"disable\",\n    vlan_hb_interval=5,\n    vlan_hb_lost_threshold=3)\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.System.Hamonitor(\"trname\", new()\n    {\n        MonitorVlan = \"disable\",\n        VlanHbInterval = 5,\n        VlanHbLostThreshold = 3,\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.NewHamonitor(ctx, \"trname\", &system.HamonitorArgs{\n\t\t\tMonitorVlan:         pulumi.String(\"disable\"),\n\t\t\tVlanHbInterval:      pulumi.Int(5),\n\t\t\tVlanHbLostThreshold: pulumi.Int(3),\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.Hamonitor;\nimport com.pulumi.fortios.system.HamonitorArgs;\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 Hamonitor(\"trname\", HamonitorArgs.builder()\n            .monitorVlan(\"disable\")\n            .vlanHbInterval(5)\n            .vlanHbLostThreshold(3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Hamonitor\n    properties:\n      monitorVlan: disable\n      vlanHbInterval: 5\n      vlanHbLostThreshold: 3\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem HaMonitor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/hamonitor:Hamonitor labelname SystemHaMonitor\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:system/hamonitor:Hamonitor labelname SystemHaMonitor\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "monitorVlan": {
          "type": "string",
          "description": "Enable/disable monitor VLAN interfaces. 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"
        },
        "vlanHbInterval": {
          "type": "integer",
          "description": "Configure heartbeat interval (seconds).\n"
        },
        "vlanHbLostThreshold": {
          "type": "integer",
          "description": "VLAN lost heartbeat threshold (1 - 60).\n"
        }
      },
      "type": "object",
      "required": [
        "monitorVlan",
        "vdomparam",
        "vlanHbInterval",
        "vlanHbLostThreshold"
      ],
      "inputProperties": {
        "monitorVlan": {
          "type": "string",
          "description": "Enable/disable monitor VLAN interfaces. 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
        },
        "vlanHbInterval": {
          "type": "integer",
          "description": "Configure heartbeat interval (seconds).\n"
        },
        "vlanHbLostThreshold": {
          "type": "integer",
          "description": "VLAN lost heartbeat threshold (1 - 60).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hamonitor resources.\n",
        "properties": {
          "monitorVlan": {
            "type": "string",
            "description": "Enable/disable monitor VLAN interfaces. 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
          },
          "vlanHbInterval": {
            "type": "integer",
            "description": "Configure heartbeat interval (seconds).\n"
          },
          "vlanHbLostThreshold": {
            "type": "integer",
            "description": "VLAN lost heartbeat threshold (1 - 60).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/ike:Ike": {
      "description": "Configure IKE global attributes. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSystem Ike can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ike:Ike labelname SystemIke\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:system/ike:Ike labelname SystemIke\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dhGroup1": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup1:IkeDhGroup1",
          "description": "Diffie-Hellman group 1 (MODP-768). The structure of `dh_group_1` block is documented below.\n"
        },
        "dhGroup14": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup14:IkeDhGroup14",
          "description": "Diffie-Hellman group 14 (MODP-2048). The structure of `dh_group_14` block is documented below.\n"
        },
        "dhGroup15": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup15:IkeDhGroup15",
          "description": "Diffie-Hellman group 15 (MODP-3072). The structure of `dh_group_15` block is documented below.\n"
        },
        "dhGroup16": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup16:IkeDhGroup16",
          "description": "Diffie-Hellman group 16 (MODP-4096). The structure of `dh_group_16` block is documented below.\n"
        },
        "dhGroup17": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup17:IkeDhGroup17",
          "description": "Diffie-Hellman group 17 (MODP-6144). The structure of `dh_group_17` block is documented below.\n"
        },
        "dhGroup18": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup18:IkeDhGroup18",
          "description": "Diffie-Hellman group 18 (MODP-8192). The structure of `dh_group_18` block is documented below.\n"
        },
        "dhGroup19": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup19:IkeDhGroup19",
          "description": "Diffie-Hellman group 19 (EC-P256). The structure of `dh_group_19` block is documented below.\n"
        },
        "dhGroup2": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup2:IkeDhGroup2",
          "description": "Diffie-Hellman group 2 (MODP-1024). The structure of `dh_group_2` block is documented below.\n"
        },
        "dhGroup20": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup20:IkeDhGroup20",
          "description": "Diffie-Hellman group 20 (EC-P384). The structure of `dh_group_20` block is documented below.\n"
        },
        "dhGroup21": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup21:IkeDhGroup21",
          "description": "Diffie-Hellman group 21 (EC-P521). The structure of `dh_group_21` block is documented below.\n"
        },
        "dhGroup27": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup27:IkeDhGroup27",
          "description": "Diffie-Hellman group 27 (EC-P224BP). The structure of `dh_group_27` block is documented below.\n"
        },
        "dhGroup28": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup28:IkeDhGroup28",
          "description": "Diffie-Hellman group 28 (EC-P256BP). The structure of `dh_group_28` block is documented below.\n"
        },
        "dhGroup29": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup29:IkeDhGroup29",
          "description": "Diffie-Hellman group 29 (EC-P384BP). The structure of `dh_group_29` block is documented below.\n"
        },
        "dhGroup30": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup30:IkeDhGroup30",
          "description": "Diffie-Hellman group 30 (EC-P512BP). The structure of `dh_group_30` block is documented below.\n"
        },
        "dhGroup31": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup31:IkeDhGroup31",
          "description": "Diffie-Hellman group 31 (EC-X25519). The structure of `dh_group_31` block is documented below.\n"
        },
        "dhGroup32": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup32:IkeDhGroup32",
          "description": "Diffie-Hellman group 32 (EC-X448). The structure of `dh_group_32` block is documented below.\n"
        },
        "dhGroup5": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup5:IkeDhGroup5",
          "description": "Diffie-Hellman group 5 (MODP-1536). The structure of `dh_group_5` block is documented below.\n"
        },
        "dhKeypairCache": {
          "type": "string",
          "description": "Enable/disable Diffie-Hellman key pair cache. Valid values: `enable`, `disable`.\n"
        },
        "dhKeypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for each Diffie-Hellman group (per-worker).\n"
        },
        "dhKeypairThrottle": {
          "type": "string",
          "description": "Enable/disable Diffie-Hellman key pair cache CPU throttling. Valid values: `enable`, `disable`.\n"
        },
        "dhMode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform Diffie-Hellman calculations. Valid values: `software`, `hardware`.\n"
        },
        "dhMultiprocess": {
          "type": "string",
          "description": "Enable/disable multiprocess Diffie-Hellman daemon for IKE. Valid values: `enable`, `disable`.\n"
        },
        "dhWorkerCount": {
          "type": "integer",
          "description": "Number of Diffie-Hellman workers to start.\n"
        },
        "embryonicLimit": {
          "type": "integer",
          "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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\nThe `dh_group_1` block supports:\n"
        }
      },
      "type": "object",
      "required": [
        "dhGroup1",
        "dhGroup14",
        "dhGroup15",
        "dhGroup16",
        "dhGroup17",
        "dhGroup18",
        "dhGroup19",
        "dhGroup2",
        "dhGroup20",
        "dhGroup21",
        "dhGroup27",
        "dhGroup28",
        "dhGroup29",
        "dhGroup30",
        "dhGroup31",
        "dhGroup32",
        "dhGroup5",
        "dhKeypairCache",
        "dhKeypairCount",
        "dhKeypairThrottle",
        "dhMode",
        "dhMultiprocess",
        "dhWorkerCount",
        "embryonicLimit",
        "vdomparam"
      ],
      "inputProperties": {
        "dhGroup1": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup1:IkeDhGroup1",
          "description": "Diffie-Hellman group 1 (MODP-768). The structure of `dh_group_1` block is documented below.\n"
        },
        "dhGroup14": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup14:IkeDhGroup14",
          "description": "Diffie-Hellman group 14 (MODP-2048). The structure of `dh_group_14` block is documented below.\n"
        },
        "dhGroup15": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup15:IkeDhGroup15",
          "description": "Diffie-Hellman group 15 (MODP-3072). The structure of `dh_group_15` block is documented below.\n"
        },
        "dhGroup16": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup16:IkeDhGroup16",
          "description": "Diffie-Hellman group 16 (MODP-4096). The structure of `dh_group_16` block is documented below.\n"
        },
        "dhGroup17": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup17:IkeDhGroup17",
          "description": "Diffie-Hellman group 17 (MODP-6144). The structure of `dh_group_17` block is documented below.\n"
        },
        "dhGroup18": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup18:IkeDhGroup18",
          "description": "Diffie-Hellman group 18 (MODP-8192). The structure of `dh_group_18` block is documented below.\n"
        },
        "dhGroup19": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup19:IkeDhGroup19",
          "description": "Diffie-Hellman group 19 (EC-P256). The structure of `dh_group_19` block is documented below.\n"
        },
        "dhGroup2": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup2:IkeDhGroup2",
          "description": "Diffie-Hellman group 2 (MODP-1024). The structure of `dh_group_2` block is documented below.\n"
        },
        "dhGroup20": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup20:IkeDhGroup20",
          "description": "Diffie-Hellman group 20 (EC-P384). The structure of `dh_group_20` block is documented below.\n"
        },
        "dhGroup21": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup21:IkeDhGroup21",
          "description": "Diffie-Hellman group 21 (EC-P521). The structure of `dh_group_21` block is documented below.\n"
        },
        "dhGroup27": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup27:IkeDhGroup27",
          "description": "Diffie-Hellman group 27 (EC-P224BP). The structure of `dh_group_27` block is documented below.\n"
        },
        "dhGroup28": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup28:IkeDhGroup28",
          "description": "Diffie-Hellman group 28 (EC-P256BP). The structure of `dh_group_28` block is documented below.\n"
        },
        "dhGroup29": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup29:IkeDhGroup29",
          "description": "Diffie-Hellman group 29 (EC-P384BP). The structure of `dh_group_29` block is documented below.\n"
        },
        "dhGroup30": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup30:IkeDhGroup30",
          "description": "Diffie-Hellman group 30 (EC-P512BP). The structure of `dh_group_30` block is documented below.\n"
        },
        "dhGroup31": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup31:IkeDhGroup31",
          "description": "Diffie-Hellman group 31 (EC-X25519). The structure of `dh_group_31` block is documented below.\n"
        },
        "dhGroup32": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup32:IkeDhGroup32",
          "description": "Diffie-Hellman group 32 (EC-X448). The structure of `dh_group_32` block is documented below.\n"
        },
        "dhGroup5": {
          "$ref": "#/types/fortios:system%2FIkeDhGroup5:IkeDhGroup5",
          "description": "Diffie-Hellman group 5 (MODP-1536). The structure of `dh_group_5` block is documented below.\n"
        },
        "dhKeypairCache": {
          "type": "string",
          "description": "Enable/disable Diffie-Hellman key pair cache. Valid values: `enable`, `disable`.\n"
        },
        "dhKeypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for each Diffie-Hellman group (per-worker).\n"
        },
        "dhKeypairThrottle": {
          "type": "string",
          "description": "Enable/disable Diffie-Hellman key pair cache CPU throttling. Valid values: `enable`, `disable`.\n"
        },
        "dhMode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform Diffie-Hellman calculations. Valid values: `software`, `hardware`.\n"
        },
        "dhMultiprocess": {
          "type": "string",
          "description": "Enable/disable multiprocess Diffie-Hellman daemon for IKE. Valid values: `enable`, `disable`.\n"
        },
        "dhWorkerCount": {
          "type": "integer",
          "description": "Number of Diffie-Hellman workers to start.\n"
        },
        "embryonicLimit": {
          "type": "integer",
          "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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\nThe `dh_group_1` block supports:\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ike resources.\n",
        "properties": {
          "dhGroup1": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup1:IkeDhGroup1",
            "description": "Diffie-Hellman group 1 (MODP-768). The structure of `dh_group_1` block is documented below.\n"
          },
          "dhGroup14": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup14:IkeDhGroup14",
            "description": "Diffie-Hellman group 14 (MODP-2048). The structure of `dh_group_14` block is documented below.\n"
          },
          "dhGroup15": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup15:IkeDhGroup15",
            "description": "Diffie-Hellman group 15 (MODP-3072). The structure of `dh_group_15` block is documented below.\n"
          },
          "dhGroup16": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup16:IkeDhGroup16",
            "description": "Diffie-Hellman group 16 (MODP-4096). The structure of `dh_group_16` block is documented below.\n"
          },
          "dhGroup17": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup17:IkeDhGroup17",
            "description": "Diffie-Hellman group 17 (MODP-6144). The structure of `dh_group_17` block is documented below.\n"
          },
          "dhGroup18": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup18:IkeDhGroup18",
            "description": "Diffie-Hellman group 18 (MODP-8192). The structure of `dh_group_18` block is documented below.\n"
          },
          "dhGroup19": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup19:IkeDhGroup19",
            "description": "Diffie-Hellman group 19 (EC-P256). The structure of `dh_group_19` block is documented below.\n"
          },
          "dhGroup2": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup2:IkeDhGroup2",
            "description": "Diffie-Hellman group 2 (MODP-1024). The structure of `dh_group_2` block is documented below.\n"
          },
          "dhGroup20": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup20:IkeDhGroup20",
            "description": "Diffie-Hellman group 20 (EC-P384). The structure of `dh_group_20` block is documented below.\n"
          },
          "dhGroup21": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup21:IkeDhGroup21",
            "description": "Diffie-Hellman group 21 (EC-P521). The structure of `dh_group_21` block is documented below.\n"
          },
          "dhGroup27": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup27:IkeDhGroup27",
            "description": "Diffie-Hellman group 27 (EC-P224BP). The structure of `dh_group_27` block is documented below.\n"
          },
          "dhGroup28": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup28:IkeDhGroup28",
            "description": "Diffie-Hellman group 28 (EC-P256BP). The structure of `dh_group_28` block is documented below.\n"
          },
          "dhGroup29": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup29:IkeDhGroup29",
            "description": "Diffie-Hellman group 29 (EC-P384BP). The structure of `dh_group_29` block is documented below.\n"
          },
          "dhGroup30": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup30:IkeDhGroup30",
            "description": "Diffie-Hellman group 30 (EC-P512BP). The structure of `dh_group_30` block is documented below.\n"
          },
          "dhGroup31": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup31:IkeDhGroup31",
            "description": "Diffie-Hellman group 31 (EC-X25519). The structure of `dh_group_31` block is documented below.\n"
          },
          "dhGroup32": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup32:IkeDhGroup32",
            "description": "Diffie-Hellman group 32 (EC-X448). The structure of `dh_group_32` block is documented below.\n"
          },
          "dhGroup5": {
            "$ref": "#/types/fortios:system%2FIkeDhGroup5:IkeDhGroup5",
            "description": "Diffie-Hellman group 5 (MODP-1536). The structure of `dh_group_5` block is documented below.\n"
          },
          "dhKeypairCache": {
            "type": "string",
            "description": "Enable/disable Diffie-Hellman key pair cache. Valid values: `enable`, `disable`.\n"
          },
          "dhKeypairCount": {
            "type": "integer",
            "description": "Number of key pairs to pre-generate for each Diffie-Hellman group (per-worker).\n"
          },
          "dhKeypairThrottle": {
            "type": "string",
            "description": "Enable/disable Diffie-Hellman key pair cache CPU throttling. Valid values: `enable`, `disable`.\n"
          },
          "dhMode": {
            "type": "string",
            "description": "Use software (CPU) or hardware (CPX) to perform Diffie-Hellman calculations. Valid values: `software`, `hardware`.\n"
          },
          "dhMultiprocess": {
            "type": "string",
            "description": "Enable/disable multiprocess Diffie-Hellman daemon for IKE. Valid values: `enable`, `disable`.\n"
          },
          "dhWorkerCount": {
            "type": "integer",
            "description": "Number of Diffie-Hellman workers to start.\n"
          },
          "embryonicLimit": {
            "type": "integer",
            "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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\nThe `dh_group_1` block supports:\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:system/interface:Interface": {
      "description": "Configure interfaces.\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.system.Interface(\"trname\", {\n    algorithm: \"L4\",\n    defaultgw: \"enable\",\n    description: \"Created by Terraform Provider for FortiOS\",\n    distance: 5,\n    ip: \"0.0.0.0 0.0.0.0\",\n    ipv6: {\n        ndMode: \"basic\",\n    },\n    mode: \"dhcp\",\n    mtu: 1500,\n    mtuOverride: \"disable\",\n    snmpIndex: 3,\n    type: \"physical\",\n    vdom: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Interface(\"trname\",\n    algorithm=\"L4\",\n    defaultgw=\"enable\",\n    description=\"Created by Terraform Provider for FortiOS\",\n    distance=5,\n    ip=\"0.0.0.0 0.0.0.0\",\n    ipv6=fortios.system.InterfaceIpv6Args(\n        nd_mode=\"basic\",\n    ),\n    mode=\"dhcp\",\n    mtu=1500,\n    mtu_override=\"disable\",\n    snmp_index=3,\n    type=\"physical\",\n    vdom=\"root\")\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.System.Interface(\"trname\", new()\n    {\n        Algorithm = \"L4\",\n        Defaultgw = \"enable\",\n        Description = \"Created by Terraform Provider for FortiOS\",\n        Distance = 5,\n        Ip = \"0.0.0.0 0.0.0.0\",\n        Ipv6 = new Fortios.System.Inputs.InterfaceIpv6Args\n        {\n            NdMode = \"basic\",\n        },\n        Mode = \"dhcp\",\n        Mtu = 1500,\n        MtuOverride = \"disable\",\n        SnmpIndex = 3,\n        Type = \"physical\",\n        Vdom = \"root\",\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.NewInterface(ctx, \"trname\", &system.InterfaceArgs{\n\t\t\tAlgorithm:   pulumi.String(\"L4\"),\n\t\t\tDefaultgw:   pulumi.String(\"enable\"),\n\t\t\tDescription: pulumi.String(\"Created by Terraform Provider for FortiOS\"),\n\t\t\tDistance:    pulumi.Int(5),\n\t\t\tIp:          pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tIpv6: &system.InterfaceIpv6Args{\n\t\t\t\tNdMode: pulumi.String(\"basic\"),\n\t\t\t},\n\t\t\tMode:        pulumi.String(\"dhcp\"),\n\t\t\tMtu:         pulumi.Int(1500),\n\t\t\tMtuOverride: pulumi.String(\"disable\"),\n\t\t\tSnmpIndex:   pulumi.Int(3),\n\t\t\tType:        pulumi.String(\"physical\"),\n\t\t\tVdom:        pulumi.String(\"root\"),\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.Interface;\nimport com.pulumi.fortios.system.InterfaceArgs;\nimport com.pulumi.fortios.system.inputs.InterfaceIpv6Args;\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 Interface(\"trname\", InterfaceArgs.builder()\n            .algorithm(\"L4\")\n            .defaultgw(\"enable\")\n            .description(\"Created by Terraform Provider for FortiOS\")\n            .distance(5)\n            .ip(\"0.0.0.0 0.0.0.0\")\n            .ipv6(InterfaceIpv6Args.builder()\n                .ndMode(\"basic\")\n                .build())\n            .mode(\"dhcp\")\n            .mtu(1500)\n            .mtuOverride(\"disable\")\n            .snmpIndex(3)\n            .type(\"physical\")\n            .vdom(\"root\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Interface\n    properties:\n      algorithm: L4\n      defaultgw: enable\n      description: Created by Terraform Provider for FortiOS\n      distance: 5\n      ip: 0.0.0.0 0.0.0.0\n      ipv6:\n        ndMode: basic\n      mode: dhcp\n      mtu: 1500\n      mtuOverride: disable\n      snmpIndex: 3\n      type: physical\n      vdom: root\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Interface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/interface:Interface 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:system/interface:Interface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acName": {
          "type": "string",
          "description": "PPPoE server name.\n"
        },
        "aggregate": {
          "type": "string",
          "description": "Aggregate interface.\n"
        },
        "aggregateType": {
          "type": "string",
          "description": "Type of aggregation. Valid values: `physical`, `vxlan`.\n"
        },
        "algorithm": {
          "type": "string",
          "description": "Frame distribution algorithm.\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface.\n"
        },
        "apDiscover": {
          "type": "string",
          "description": "Enable/disable automatic registration of unknown FortiAP devices. Valid values: `enable`, `disable`.\n"
        },
        "arpforward": {
          "type": "string",
          "description": "Enable/disable ARP forwarding. Valid values: `enable`, `disable`.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate.\n"
        },
        "authPortalAddr": {
          "type": "string",
          "description": "Address of captive portal.\n"
        },
        "authType": {
          "type": "string",
          "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "autoAuthExtensionDevice": {
          "type": "string",
          "description": "Enable/disable automatic authorization of dedicated Fortinet extension device on this interface. Valid values: `enable`, `disable`.\n"
        },
        "autogenerated": {
          "type": "string",
          "description": "Indicates whether the interface is automatically created by FortiGate, for example, created during the VPN creation process. If it is, set it to \"auto\", else keep it empty.\n"
        },
        "bandwidthMeasureTime": {
          "type": "integer",
          "description": "Bandwidth measure time\n"
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD) settings. Valid values: `global`, `enable`, `disable`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval.\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval.\n"
        },
        "broadcastForticlientDiscovery": {
          "type": "string",
          "description": "Enable/disable broadcasting FortiClient discovery messages. Valid values: `enable`, `disable`.\n"
        },
        "broadcastForward": {
          "type": "string",
          "description": "Enable/disable broadcast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "captivePortal": {
          "type": "integer",
          "description": "Enable/disable captive portal.\n"
        },
        "cliConnStatus": {
          "type": "integer",
          "description": "CLI connection status.\n"
        },
        "clientOptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceClientOption:InterfaceClientOption"
          },
          "description": "DHCP client options. The structure of `client_options` block is documented below.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "dedicatedTo": {
          "type": "string",
          "description": "Configure interface for single purpose. Valid values: `none`, `management`.\n"
        },
        "defaultPurdueLevel": {
          "type": "string",
          "description": "default purdue level of device detected on this interface. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "defaultgw": {
          "type": "string",
          "description": "Enable to get the gateway IP from the DHCP or PPPoE server. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "detectedPeerMtu": {
          "type": "integer",
          "description": "MTU of detected peer (0 - 4294967295).\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"
        },
        "deviceAccessList": {
          "type": "string",
          "description": "Device access list.\n"
        },
        "deviceIdentification": {
          "type": "string",
          "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
        },
        "deviceIdentificationActiveScan": {
          "type": "string",
          "description": "Enable/disable active gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
        },
        "deviceNetscan": {
          "type": "string",
          "description": "Enable/disable inclusion of devices detected on this interface in network vulnerability scans. Valid values: `disable`, `enable`.\n"
        },
        "deviceUserIdentification": {
          "type": "string",
          "description": "Enable/disable passive gathering of user identity information about users on this interface. Valid values: `enable`, `disable`.\n"
        },
        "devindex": {
          "type": "integer",
          "description": "Device Index.\n"
        },
        "dhcpBroadcastFlag": {
          "type": "string",
          "description": "Enable/disable setting of the broadcast flag in messages sent by the DHCP client (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "dhcpClasslessRouteAddition": {
          "type": "string",
          "description": "Enable/disable addition of classless static routes retrieved from DHCP server. Valid values: `enable`, `disable`.\n"
        },
        "dhcpClientIdentifier": {
          "type": "string",
          "description": "DHCP client identifier.\n"
        },
        "dhcpRelayAgentOption": {
          "type": "string",
          "description": "Enable/disable DHCP relay agent option. Valid values: `enable`, `disable`.\n"
        },
        "dhcpRelayAllowNoEndOption": {
          "type": "string",
          "description": "Enable/disable relaying DHCP messages with no end option. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelayCircuitId": {
          "type": "string",
          "description": "DHCP relay circuit ID.\n"
        },
        "dhcpRelayInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "dhcpRelayInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "dhcpRelayIp": {
          "type": "string",
          "description": "DHCP relay IP address.\n"
        },
        "dhcpRelayLinkSelection": {
          "type": "string",
          "description": "DHCP relay link selection.\n"
        },
        "dhcpRelayRequestAllServer": {
          "type": "string",
          "description": "Enable/disable sending DHCP request to all servers. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelayService": {
          "type": "string",
          "description": "Enable/disable allowing this interface to act as a DHCP relay. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelaySourceIp": {
          "type": "string",
          "description": "IP address used by the DHCP relay as its source IP.\n"
        },
        "dhcpRelayType": {
          "type": "string",
          "description": "DHCP relay type (regular or IPsec). Valid values: `regular`, `ipsec`.\n"
        },
        "dhcpRenewTime": {
          "type": "integer",
          "description": "DHCP renew time in seconds (300-604800), 0 means use the renew time provided by the server.\n"
        },
        "dhcpSmartRelay": {
          "type": "string",
          "description": "Enable/disable DHCP smart relay. Valid values: `disable`, `enable`.\n"
        },
        "dhcpSnoopingServerLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceDhcpSnoopingServerList:InterfaceDhcpSnoopingServerList"
          },
          "description": "Configure DHCP server access list. The structure of `dhcp_snooping_server_list` block is documented below.\n"
        },
        "discRetryTimeout": {
          "type": "integer",
          "description": "Time in seconds to wait before retrying to start a PPPoE discovery, 0 means no timeout.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Time in milliseconds to wait before sending a notification that this interface is down or disconnected.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
        },
        "dnsServerOverride": {
          "type": "string",
          "description": "Enable/disable use DNS acquired by DHCP or PPPoE. Valid values: `enable`, `disable`.\n"
        },
        "dnsServerProtocol": {
          "type": "string",
          "description": "DNS transport protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "dropFragment": {
          "type": "string",
          "description": "Enable/disable drop fragment packets. Valid values: `enable`, `disable`.\n"
        },
        "dropOverlappedFragment": {
          "type": "string",
          "description": "Enable/disable drop overlapped fragment packets. 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"
        },
        "eapCaCert": {
          "type": "string",
          "description": "EAP CA certificate name.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "EAP identity.\n"
        },
        "eapMethod": {
          "type": "string",
          "description": "EAP method. Valid values: `tls`, `peap`.\n"
        },
        "eapPassword": {
          "type": "string",
          "description": "EAP password.\n",
          "secret": true
        },
        "eapSupplicant": {
          "type": "string",
          "description": "Enable/disable EAP-Supplicant. Valid values: `enable`, `disable`.\n"
        },
        "eapUserCert": {
          "type": "string",
          "description": "EAP user certificate name.\n"
        },
        "egressShapingProfile": {
          "type": "string",
          "description": "Outgoing traffic shaping profile.\n"
        },
        "endpointCompliance": {
          "type": "string",
          "description": "Enable/disable endpoint compliance enforcement. Valid values: `enable`, `disable`.\n"
        },
        "estimatedDownstreamBandwidth": {
          "type": "integer",
          "description": "Estimated maximum downstream bandwidth (kbps). Used to estimate link utilization.\n"
        },
        "estimatedUpstreamBandwidth": {
          "type": "integer",
          "description": "Estimated maximum upstream bandwidth (kbps). Used to estimate link utilization.\n"
        },
        "explicitFtpProxy": {
          "type": "string",
          "description": "Enable/disable the explicit FTP proxy on this interface. Valid values: `enable`, `disable`.\n"
        },
        "explicitWebProxy": {
          "type": "string",
          "description": "Enable/disable the explicit web proxy on this interface. Valid values: `enable`, `disable`.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable identifying the interface as an external interface (which usually means it's connected to the Internet). Valid values: `enable`, `disable`.\n"
        },
        "failActionOnExtender": {
          "type": "string",
          "description": "Action on extender when interface fail . Valid values: `soft-restart`, `hard-restart`, `reboot`.\n"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceFailAlertInterface:InterfaceFailAlertInterface"
          },
          "description": "Names of the FortiGate interfaces from which the link failure alert is sent for this interface. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failAlertMethod": {
          "type": "string",
          "description": "Select link-failed-signal or link-down method to alert about a failed link. Valid values: `link-failed-signal`, `link-down`.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable fail detection features for this interface. Valid values: `enable`, `disable`.\n"
        },
        "failDetectOption": {
          "type": "string",
          "description": "Options for detecting that this interface has failed. Valid values: `detectserver`, `link-down`.\n"
        },
        "fortiheartbeat": {
          "type": "string",
          "description": "Enable/disable FortiHeartBeat (FortiTelemetry on GUI). Valid values: `enable`, `disable`.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "Enable FortiLink to dedicate this interface to manage other Fortinet devices. Valid values: `enable`, `disable`.\n"
        },
        "fortilinkBackupLink": {
          "type": "integer",
          "description": "fortilink split interface backup link.\n"
        },
        "fortilinkNeighborDetect": {
          "type": "string",
          "description": "Protocol for FortiGate neighbor discovery. Valid values: `lldp`, `fortilink`.\n"
        },
        "fortilinkSplitInterface": {
          "type": "string",
          "description": "Enable/disable FortiLink split interface to connect member link to different FortiSwitch in stack for uplink redundancy. Valid values: `enable`, `disable`.\n"
        },
        "fortilinkStacking": {
          "type": "string",
          "description": "Enable/disable FortiLink switch-stacking on this interface. Valid values: `enable`, `disable`.\n"
        },
        "forwardDomain": {
          "type": "integer",
          "description": "Transparent mode forward domain.\n"
        },
        "forwardErrorCorrection": {
          "type": "string",
          "description": "Configure forward error correction (FEC). Valid values: `none`, `disable`, `cl91-rs-fec`, `cl74-fc-fec`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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"
        },
        "icmpAcceptRedirect": {
          "type": "string",
          "description": "Enable/disable ICMP accept redirect. Valid values: `enable`, `disable`.\n"
        },
        "icmpSendRedirect": {
          "type": "string",
          "description": "Enable/disable ICMP send redirect. Valid values: `enable`, `disable`.\n"
        },
        "identAccept": {
          "type": "string",
          "description": "Enable/disable authentication for this interface. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "PPPoE auto disconnect after idle timeout seconds, 0 means no timeout.\n"
        },
        "ikeSamlServer": {
          "type": "string",
          "description": "Configure IKE authentication SAML server.\n"
        },
        "inbandwidth": {
          "type": "integer",
          "description": "Bandwidth limit for incoming traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
        },
        "ingressShapingProfile": {
          "type": "string",
          "description": "Incoming traffic shaping profile.\n"
        },
        "ingressSpilloverThreshold": {
          "type": "integer",
          "description": "Ingress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "internal": {
          "type": "integer",
          "description": "Implicitly created.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask, syntax: X.X.X.X/24.\n"
        },
        "ipManagedByFortiipam": {
          "type": "string",
          "description": "Enable/disable automatic IP address assignment of this interface by FortiIPAM.\n"
        },
        "ipmac": {
          "type": "string",
          "description": "Enable/disable IP/MAC binding. Valid values: `enable`, `disable`.\n"
        },
        "ipsSnifferMode": {
          "type": "string",
          "description": "Enable/disable the use of this interface as a one-armed sniffer. Valid values: `enable`, `disable`.\n"
        },
        "ipunnumbered": {
          "type": "string",
          "description": "Unnumbered IP used for PPPoE interfaces for which no unique local address is provided.\n"
        },
        "ipv6": {
          "$ref": "#/types/fortios:system%2FInterfaceIpv6:InterfaceIpv6",
          "description": "IPv6 of interface. The structure of `ipv6` block is documented below.\n"
        },
        "l2forward": {
          "type": "string",
          "description": "Enable/disable l2 forwarding. Valid values: `enable`, `disable`.\n"
        },
        "lacpHaSecondary": {
          "type": "string",
          "description": "LACP HA secondary member. Valid values: `enable`, `disable`.\n"
        },
        "lacpHaSlave": {
          "type": "string",
          "description": "LACP HA slave. Valid values: `enable`, `disable`.\n"
        },
        "lacpMode": {
          "type": "string",
          "description": "LACP mode. Valid values: `static`, `passive`, `active`.\n"
        },
        "lacpSpeed": {
          "type": "string",
          "description": "How often the interface sends LACP messages. Valid values: `slow`, `fast`.\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum missed LCP echo messages before disconnect.\n"
        },
        "linkUpDelay": {
          "type": "integer",
          "description": "Number of milliseconds to wait before considering a link is up.\n"
        },
        "lldpNetworkPolicy": {
          "type": "string",
          "description": "LLDP-MED network policy profile.\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`, `vdom`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`, `vdom`.\n"
        },
        "macaddr": {
          "type": "string",
          "description": "Change the interface's MAC address.\n"
        },
        "managedDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceManagedDevice:InterfaceManagedDevice"
          },
          "description": "Available when FortiLink is enabled, used for managed devices through FortiLink interface. The structure of `managed_device` block is documented below.\n"
        },
        "managedSubnetworkSize": {
          "type": "string",
          "description": "Number of IP addresses to be allocated by FortiIPAM and used by this FortiGate unit's DHCP server settings.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "High Availability in-band management IP address of this interface.\n"
        },
        "measuredDownstreamBandwidth": {
          "type": "integer",
          "description": "Measured downstream bandwidth (kbps).\n"
        },
        "measuredUpstreamBandwidth": {
          "type": "integer",
          "description": "Measured upstream bandwidth (kbps).\n"
        },
        "mediatype": {
          "type": "string",
          "description": "Select SFP media interface type Valid values: `none`, `gmii`, `sgmii`, `sr`, `lr`, `cr`, `sr4`, `lr4`, `cr4`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceMember:InterfaceMember"
          },
          "description": "Physical interfaces that belong to the aggregate or redundant interface. The structure of `member` block is documented below.\n"
        },
        "minLinks": {
          "type": "integer",
          "description": "Minimum number of aggregated ports that must be up.\n"
        },
        "minLinksDown": {
          "type": "string",
          "description": "Action to take when less than the configured minimum number of links are active. Valid values: `operational`, `administrative`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Addressing mode (static, DHCP, PPPoE). Valid values: `static`, `dhcp`, `pppoe`.\n"
        },
        "monitorBandwidth": {
          "type": "string",
          "description": "Enable monitoring bandwidth on this interface. Valid values: `enable`, `disable`.\n"
        },
        "mtu": {
          "type": "integer",
          "description": "MTU value for this interface.\n"
        },
        "mtuOverride": {
          "type": "string",
          "description": "Enable to set a custom MTU for this interface. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "ndiscforward": {
          "type": "string",
          "description": "Enable/disable NDISC forwarding. Valid values: `enable`, `disable`.\n"
        },
        "netbiosForward": {
          "type": "string",
          "description": "Enable/disable NETBIOS forwarding. Valid values: `disable`, `enable`.\n"
        },
        "netflowSampler": {
          "type": "string",
          "description": "Enable/disable NetFlow on this interface and set the data that NetFlow collects (rx, tx, or both). Valid values: `disable`, `tx`, `rx`, `both`.\n"
        },
        "outbandwidth": {
          "type": "integer",
          "description": "Bandwidth limit for outgoing traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.2.6: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
        },
        "padtRetryTimeout": {
          "type": "integer",
          "description": "PPPoE Active Discovery Terminate (PADT) used to terminate sessions after an idle time.\n"
        },
        "password": {
          "type": "string",
          "description": "PPPoE account's password.\n",
          "secret": true
        },
        "pingServStatus": {
          "type": "integer",
          "description": "PING server status.\n"
        },
        "pollingInterval": {
          "type": "integer",
          "description": "sFlow polling interval in seconds (1 - 255).\n"
        },
        "pppoeUnnumberedNegotiate": {
          "type": "string",
          "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
        },
        "pptpAuthType": {
          "type": "string",
          "description": "PPTP authentication type. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "pptpClient": {
          "type": "string",
          "description": "Enable/disable PPTP client. Valid values: `enable`, `disable`.\n"
        },
        "pptpPassword": {
          "type": "string",
          "description": "PPTP password.\n",
          "secret": true
        },
        "pptpServerIp": {
          "type": "string",
          "description": "PPTP server IP address.\n"
        },
        "pptpTimeout": {
          "type": "integer",
          "description": "Idle timer in minutes (0 for disabled).\n"
        },
        "pptpUser": {
          "type": "string",
          "description": "PPTP user name.\n"
        },
        "preserveSessionRoute": {
          "type": "string",
          "description": "Enable/disable preservation of session route when dirty. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of learned routes.\n"
        },
        "priorityOverride": {
          "type": "string",
          "description": "Enable/disable fail back to higher priority port once recovered. Valid values: `enable`, `disable`.\n"
        },
        "proxyCaptivePortal": {
          "type": "string",
          "description": "Enable/disable proxy captive portal on this interface. Valid values: `enable`, `disable`.\n"
        },
        "reachableTime": {
          "type": "integer",
          "description": "IPv4 reachable time in milliseconds (30000 - 3600000, default = 30000).\n"
        },
        "redundantInterface": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "remoteIp": {
          "type": "string",
          "description": "Remote IP address of tunnel.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Replacement message override group.\n"
        },
        "ringRx": {
          "type": "integer",
          "description": "RX ring size.\n"
        },
        "ringTx": {
          "type": "integer",
          "description": "TX ring size.\n"
        },
        "role": {
          "type": "string",
          "description": "Interface role. Valid values: `lan`, `wan`, `dmz`, `undefined`.\n"
        },
        "sampleDirection": {
          "type": "string",
          "description": "Data that NetFlow collects (rx, tx, or both). Valid values: `tx`, `rx`, `both`.\n"
        },
        "sampleRate": {
          "type": "integer",
          "description": "sFlow sample rate (10 - 99999).\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable monitoring or blocking connections to Botnet servers through this interface. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "secondaryIp": {
          "type": "string",
          "description": "Enable/disable adding a secondary IP to this interface. Valid values: `enable`, `disable`.\n"
        },
        "secondaryips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceSecondaryip:InterfaceSecondaryip"
          },
          "description": "Second IP address of interface. The structure of `secondaryip` block is documented below.\n"
        },
        "securityExemptList": {
          "type": "string",
          "description": "Name of security-exempt-list.\n"
        },
        "securityExternalLogout": {
          "type": "string",
          "description": "URL of external authentication logout server.\n"
        },
        "securityExternalWeb": {
          "type": "string",
          "description": "URL of external authentication web server.\n"
        },
        "securityGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceSecurityGroup:InterfaceSecurityGroup"
          },
          "description": "User groups that can authenticate with the captive portal. The structure of `security_groups` block is documented below.\n"
        },
        "securityMacAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAC authentication bypass. Valid values: `mac-auth-only`, `enable`, `disable`.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Turn on captive portal authentication for this interface. Valid values: `none`, `captive-portal`, `802.1X`.\n"
        },
        "securityRedirectUrl": {
          "type": "string",
          "description": "URL redirection after disclaimer/authentication.\n"
        },
        "serviceName": {
          "type": "string",
          "description": "PPPoE service name.\n"
        },
        "sflowSampler": {
          "type": "string",
          "description": "Enable/disable sFlow on this interface. Valid values: `enable`, `disable`.\n"
        },
        "snmpIndex": {
          "type": "integer",
          "description": "Permanent SNMP Index of the interface.\n"
        },
        "speed": {
          "type": "string",
          "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
        },
        "spilloverThreshold": {
          "type": "integer",
          "description": "Egress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
        },
        "srcCheck": {
          "type": "string",
          "description": "Enable/disable source IP check. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Bring the interface up or shut the interface down. Valid values: `up`, `down`.\n"
        },
        "stp": {
          "type": "string",
          "description": "Enable/disable STP. Valid values: `disable`, `enable`.\n"
        },
        "stpHaSecondary": {
          "type": "string",
          "description": "Control STP behaviour on HA secondary. Valid values: `disable`, `enable`, `priority-adjust`.\n"
        },
        "stpforward": {
          "type": "string",
          "description": "Enable/disable STP forwarding. Valid values: `enable`, `disable`.\n"
        },
        "stpforwardMode": {
          "type": "string",
          "description": "Configure STP forwarding mode. Valid values: `rpl-all-ext-id`, `rpl-bridge-ext-id`, `rpl-nothing`.\n"
        },
        "subst": {
          "type": "string",
          "description": "Enable to always send packets from this interface to a destination MAC address. Valid values: `enable`, `disable`.\n"
        },
        "substituteDstMac": {
          "type": "string",
          "description": "Destination MAC address that all packets are sent to from this interface.\n"
        },
        "swcFirstCreate": {
          "type": "integer",
          "description": "Initial create for switch-controller VLANs.\n"
        },
        "swcVlan": {
          "type": "integer",
          "description": "Creation status for switch-controller VLANs.\n"
        },
        "switch": {
          "type": "string",
          "description": "Contained in switch.\n"
        },
        "switchControllerAccessVlan": {
          "type": "string",
          "description": "Block FortiSwitch port-to-port traffic. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerArpInspection": {
          "type": "string",
          "description": "Enable/disable FortiSwitch ARP inspection.\n"
        },
        "switchControllerDhcpSnooping": {
          "type": "string",
          "description": "Switch controller DHCP snooping. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDhcpSnoopingOption82": {
          "type": "string",
          "description": "Switch controller DHCP snooping option82. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDhcpSnoopingVerifyMac": {
          "type": "string",
          "description": "Switch controller DHCP snooping verify MAC. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDynamic": {
          "type": "string",
          "description": "Integrated FortiLink settings for managed FortiSwitch.\n"
        },
        "switchControllerFeature": {
          "type": "string",
          "description": "Interface's purpose when assigning traffic (read only).\n"
        },
        "switchControllerIgmpSnooping": {
          "type": "string",
          "description": "Switch controller IGMP snooping. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIgmpSnoopingFastLeave": {
          "type": "string",
          "description": "Switch controller IGMP snooping fast-leave. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIgmpSnoopingProxy": {
          "type": "string",
          "description": "Switch controller IGMP snooping proxy. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIotScanning": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch IoT scanning. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerLearningLimit": {
          "type": "integer",
          "description": "Limit the number of dynamic MAC addresses on this VLAN (1 - 128, 0 = no limit, default).\n"
        },
        "switchControllerMgmtVlan": {
          "type": "integer",
          "description": "VLAN to use for FortiLink management purposes.\n"
        },
        "switchControllerNac": {
          "type": "string",
          "description": "Integrated NAC settings for managed FortiSwitch.\n"
        },
        "switchControllerNetflowCollect": {
          "type": "string",
          "description": "NetFlow collection and processing. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerOffload": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch routing offload. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerOffloadGw": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch routing offload gateway. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerOffloadIp": {
          "type": "string",
          "description": "IP for routing offload on FortiSwitch.\n"
        },
        "switchControllerRspanMode": {
          "type": "string",
          "description": "Stop Layer2 MAC learning and interception of BPDUs and other packets on this interface. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerSourceIp": {
          "type": "string",
          "description": "Source IP address used in FortiLink over L3 connections. Valid values: `outbound`, `fixed`.\n"
        },
        "switchControllerTrafficPolicy": {
          "type": "string",
          "description": "Switch controller traffic policy for the VLAN.\n"
        },
        "systemId": {
          "type": "string",
          "description": "Define a system ID for the aggregate interface.\n"
        },
        "systemIdType": {
          "type": "string",
          "description": "Method in which system ID is generated. Valid values: `auto`, `user`.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceTagging:InterfaceTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "tcpMss": {
          "type": "integer",
          "description": "TCP maximum segment size. 0 means do not change segment size.\n"
        },
        "trunk": {
          "type": "string",
          "description": "Enable/disable VLAN trunk. Valid values: `enable`, `disable`.\n"
        },
        "trustIp1": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp2": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp3": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp61": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "trustIp62": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "trustIp63": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "type": {
          "type": "string",
          "description": "Interface type.\n"
        },
        "username": {
          "type": "string",
          "description": "Username of the PPPoE account, provided by your ISP.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Interface is in this virtual domain (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"
        },
        "vindex": {
          "type": "integer",
          "description": "Switch control interface VLAN ID.\n"
        },
        "vlanProtocol": {
          "type": "string",
          "description": "Ethernet protocol of VLAN. Valid values: `8021q`, `8021ad`.\n"
        },
        "vlanforward": {
          "type": "string",
          "description": "Enable/disable traffic forwarding between VLANs on this interface. Valid values: `enable`, `disable`.\n"
        },
        "vlanid": {
          "type": "integer",
          "description": "VLAN ID (1 - 4094).\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "vrrpVirtualMac": {
          "type": "string",
          "description": "Enable/disable use of virtual MAC for VRRP. Valid values: `enable`, `disable`.\n"
        },
        "vrrps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceVrrp:InterfaceVrrp"
          },
          "description": "VRRP configuration. The structure of `vrrp` block is documented below.\n"
        },
        "wccp": {
          "type": "string",
          "description": "Enable/disable WCCP on this interface. Used for encapsulated WCCP communication between WCCP clients and servers. Valid values: `enable`, `disable`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Default weight for static routes (if route has no weight configured).\n"
        },
        "winsIp": {
          "type": "string",
          "description": "WINS server IP.\n"
        }
      },
      "type": "object",
      "required": [
        "acName",
        "aggregate",
        "aggregateType",
        "algorithm",
        "alias",
        "allowaccess",
        "apDiscover",
        "arpforward",
        "authCert",
        "authPortalAddr",
        "authType",
        "autoAuthExtensionDevice",
        "autogenerated",
        "bandwidthMeasureTime",
        "bfd",
        "bfdDesiredMinTx",
        "bfdDetectMult",
        "bfdRequiredMinRx",
        "broadcastForticlientDiscovery",
        "broadcastForward",
        "captivePortal",
        "cliConnStatus",
        "color",
        "dedicatedTo",
        "defaultPurdueLevel",
        "defaultgw",
        "detectedPeerMtu",
        "detectprotocol",
        "detectserver",
        "deviceAccessList",
        "deviceIdentification",
        "deviceIdentificationActiveScan",
        "deviceNetscan",
        "deviceUserIdentification",
        "devindex",
        "dhcpBroadcastFlag",
        "dhcpClasslessRouteAddition",
        "dhcpClientIdentifier",
        "dhcpRelayAgentOption",
        "dhcpRelayAllowNoEndOption",
        "dhcpRelayCircuitId",
        "dhcpRelayInterface",
        "dhcpRelayInterfaceSelectMethod",
        "dhcpRelayIp",
        "dhcpRelayLinkSelection",
        "dhcpRelayRequestAllServer",
        "dhcpRelayService",
        "dhcpRelaySourceIp",
        "dhcpRelayType",
        "dhcpRenewTime",
        "dhcpSmartRelay",
        "discRetryTimeout",
        "disconnectThreshold",
        "distance",
        "dnsServerOverride",
        "dnsServerProtocol",
        "dropFragment",
        "dropOverlappedFragment",
        "eapCaCert",
        "eapIdentity",
        "eapMethod",
        "eapSupplicant",
        "eapUserCert",
        "egressShapingProfile",
        "endpointCompliance",
        "estimatedDownstreamBandwidth",
        "estimatedUpstreamBandwidth",
        "explicitFtpProxy",
        "explicitWebProxy",
        "external",
        "failActionOnExtender",
        "failAlertMethod",
        "failDetect",
        "failDetectOption",
        "fortiheartbeat",
        "fortilink",
        "fortilinkBackupLink",
        "fortilinkNeighborDetect",
        "fortilinkSplitInterface",
        "fortilinkStacking",
        "forwardDomain",
        "forwardErrorCorrection",
        "gwdetect",
        "haPriority",
        "icmpAcceptRedirect",
        "icmpSendRedirect",
        "identAccept",
        "idleTimeout",
        "ikeSamlServer",
        "inbandwidth",
        "ingressShapingProfile",
        "ingressSpilloverThreshold",
        "interface",
        "internal",
        "ip",
        "ipManagedByFortiipam",
        "ipmac",
        "ipsSnifferMode",
        "ipunnumbered",
        "ipv6",
        "l2forward",
        "lacpHaSecondary",
        "lacpHaSlave",
        "lacpMode",
        "lacpSpeed",
        "lcpEchoInterval",
        "lcpMaxEchoFails",
        "linkUpDelay",
        "lldpNetworkPolicy",
        "lldpReception",
        "lldpTransmission",
        "macaddr",
        "managedSubnetworkSize",
        "managementIp",
        "measuredDownstreamBandwidth",
        "measuredUpstreamBandwidth",
        "mediatype",
        "minLinks",
        "minLinksDown",
        "mode",
        "monitorBandwidth",
        "mtu",
        "mtuOverride",
        "name",
        "ndiscforward",
        "netbiosForward",
        "netflowSampler",
        "outbandwidth",
        "padtRetryTimeout",
        "pingServStatus",
        "pollingInterval",
        "pppoeUnnumberedNegotiate",
        "pptpAuthType",
        "pptpClient",
        "pptpServerIp",
        "pptpTimeout",
        "pptpUser",
        "preserveSessionRoute",
        "priority",
        "priorityOverride",
        "proxyCaptivePortal",
        "reachableTime",
        "redundantInterface",
        "remoteIp",
        "replacemsgOverrideGroup",
        "ringRx",
        "ringTx",
        "role",
        "sampleDirection",
        "sampleRate",
        "scanBotnetConnections",
        "secondaryIp",
        "securityExemptList",
        "securityExternalLogout",
        "securityExternalWeb",
        "securityMacAuthBypass",
        "securityMode",
        "securityRedirectUrl",
        "serviceName",
        "sflowSampler",
        "snmpIndex",
        "speed",
        "spilloverThreshold",
        "srcCheck",
        "status",
        "stp",
        "stpHaSecondary",
        "stpforward",
        "stpforwardMode",
        "subst",
        "substituteDstMac",
        "swcFirstCreate",
        "swcVlan",
        "switch",
        "switchControllerAccessVlan",
        "switchControllerArpInspection",
        "switchControllerDhcpSnooping",
        "switchControllerDhcpSnoopingOption82",
        "switchControllerDhcpSnoopingVerifyMac",
        "switchControllerDynamic",
        "switchControllerFeature",
        "switchControllerIgmpSnooping",
        "switchControllerIgmpSnoopingFastLeave",
        "switchControllerIgmpSnoopingProxy",
        "switchControllerIotScanning",
        "switchControllerLearningLimit",
        "switchControllerMgmtVlan",
        "switchControllerNac",
        "switchControllerNetflowCollect",
        "switchControllerOffload",
        "switchControllerOffloadGw",
        "switchControllerOffloadIp",
        "switchControllerRspanMode",
        "switchControllerSourceIp",
        "switchControllerTrafficPolicy",
        "systemId",
        "systemIdType",
        "tcpMss",
        "trunk",
        "trustIp1",
        "trustIp2",
        "trustIp3",
        "trustIp61",
        "trustIp62",
        "trustIp63",
        "type",
        "username",
        "vdom",
        "vdomparam",
        "vindex",
        "vlanProtocol",
        "vlanforward",
        "vlanid",
        "vrf",
        "vrrpVirtualMac",
        "wccp",
        "weight",
        "winsIp"
      ],
      "inputProperties": {
        "acName": {
          "type": "string",
          "description": "PPPoE server name.\n"
        },
        "aggregate": {
          "type": "string",
          "description": "Aggregate interface.\n"
        },
        "aggregateType": {
          "type": "string",
          "description": "Type of aggregation. Valid values: `physical`, `vxlan`.\n"
        },
        "algorithm": {
          "type": "string",
          "description": "Frame distribution algorithm.\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Permitted types of management access to this interface.\n"
        },
        "apDiscover": {
          "type": "string",
          "description": "Enable/disable automatic registration of unknown FortiAP devices. Valid values: `enable`, `disable`.\n"
        },
        "arpforward": {
          "type": "string",
          "description": "Enable/disable ARP forwarding. Valid values: `enable`, `disable`.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate.\n"
        },
        "authPortalAddr": {
          "type": "string",
          "description": "Address of captive portal.\n"
        },
        "authType": {
          "type": "string",
          "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "autoAuthExtensionDevice": {
          "type": "string",
          "description": "Enable/disable automatic authorization of dedicated Fortinet extension device on this interface. Valid values: `enable`, `disable`.\n"
        },
        "autogenerated": {
          "type": "string",
          "description": "Indicates whether the interface is automatically created by FortiGate, for example, created during the VPN creation process. If it is, set it to \"auto\", else keep it empty.\n"
        },
        "bandwidthMeasureTime": {
          "type": "integer",
          "description": "Bandwidth measure time\n"
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD) settings. Valid values: `global`, `enable`, `disable`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval.\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval.\n"
        },
        "broadcastForticlientDiscovery": {
          "type": "string",
          "description": "Enable/disable broadcasting FortiClient discovery messages. Valid values: `enable`, `disable`.\n"
        },
        "broadcastForward": {
          "type": "string",
          "description": "Enable/disable broadcast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "captivePortal": {
          "type": "integer",
          "description": "Enable/disable captive portal.\n"
        },
        "cliConnStatus": {
          "type": "integer",
          "description": "CLI connection status.\n"
        },
        "clientOptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceClientOption:InterfaceClientOption"
          },
          "description": "DHCP client options. The structure of `client_options` block is documented below.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "dedicatedTo": {
          "type": "string",
          "description": "Configure interface for single purpose. Valid values: `none`, `management`.\n"
        },
        "defaultPurdueLevel": {
          "type": "string",
          "description": "default purdue level of device detected on this interface. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "defaultgw": {
          "type": "string",
          "description": "Enable to get the gateway IP from the DHCP or PPPoE server. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "detectedPeerMtu": {
          "type": "integer",
          "description": "MTU of detected peer (0 - 4294967295).\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"
        },
        "deviceAccessList": {
          "type": "string",
          "description": "Device access list.\n"
        },
        "deviceIdentification": {
          "type": "string",
          "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
        },
        "deviceIdentificationActiveScan": {
          "type": "string",
          "description": "Enable/disable active gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
        },
        "deviceNetscan": {
          "type": "string",
          "description": "Enable/disable inclusion of devices detected on this interface in network vulnerability scans. Valid values: `disable`, `enable`.\n"
        },
        "deviceUserIdentification": {
          "type": "string",
          "description": "Enable/disable passive gathering of user identity information about users on this interface. Valid values: `enable`, `disable`.\n"
        },
        "devindex": {
          "type": "integer",
          "description": "Device Index.\n"
        },
        "dhcpBroadcastFlag": {
          "type": "string",
          "description": "Enable/disable setting of the broadcast flag in messages sent by the DHCP client (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "dhcpClasslessRouteAddition": {
          "type": "string",
          "description": "Enable/disable addition of classless static routes retrieved from DHCP server. Valid values: `enable`, `disable`.\n"
        },
        "dhcpClientIdentifier": {
          "type": "string",
          "description": "DHCP client identifier.\n"
        },
        "dhcpRelayAgentOption": {
          "type": "string",
          "description": "Enable/disable DHCP relay agent option. Valid values: `enable`, `disable`.\n"
        },
        "dhcpRelayAllowNoEndOption": {
          "type": "string",
          "description": "Enable/disable relaying DHCP messages with no end option. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelayCircuitId": {
          "type": "string",
          "description": "DHCP relay circuit ID.\n"
        },
        "dhcpRelayInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "dhcpRelayInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "dhcpRelayIp": {
          "type": "string",
          "description": "DHCP relay IP address.\n"
        },
        "dhcpRelayLinkSelection": {
          "type": "string",
          "description": "DHCP relay link selection.\n"
        },
        "dhcpRelayRequestAllServer": {
          "type": "string",
          "description": "Enable/disable sending DHCP request to all servers. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelayService": {
          "type": "string",
          "description": "Enable/disable allowing this interface to act as a DHCP relay. Valid values: `disable`, `enable`.\n"
        },
        "dhcpRelaySourceIp": {
          "type": "string",
          "description": "IP address used by the DHCP relay as its source IP.\n"
        },
        "dhcpRelayType": {
          "type": "string",
          "description": "DHCP relay type (regular or IPsec). Valid values: `regular`, `ipsec`.\n"
        },
        "dhcpRenewTime": {
          "type": "integer",
          "description": "DHCP renew time in seconds (300-604800), 0 means use the renew time provided by the server.\n"
        },
        "dhcpSmartRelay": {
          "type": "string",
          "description": "Enable/disable DHCP smart relay. Valid values: `disable`, `enable`.\n"
        },
        "dhcpSnoopingServerLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceDhcpSnoopingServerList:InterfaceDhcpSnoopingServerList"
          },
          "description": "Configure DHCP server access list. The structure of `dhcp_snooping_server_list` block is documented below.\n"
        },
        "discRetryTimeout": {
          "type": "integer",
          "description": "Time in seconds to wait before retrying to start a PPPoE discovery, 0 means no timeout.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Time in milliseconds to wait before sending a notification that this interface is down or disconnected.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
        },
        "dnsServerOverride": {
          "type": "string",
          "description": "Enable/disable use DNS acquired by DHCP or PPPoE. Valid values: `enable`, `disable`.\n"
        },
        "dnsServerProtocol": {
          "type": "string",
          "description": "DNS transport protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "dropFragment": {
          "type": "string",
          "description": "Enable/disable drop fragment packets. Valid values: `enable`, `disable`.\n"
        },
        "dropOverlappedFragment": {
          "type": "string",
          "description": "Enable/disable drop overlapped fragment packets. 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"
        },
        "eapCaCert": {
          "type": "string",
          "description": "EAP CA certificate name.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "EAP identity.\n"
        },
        "eapMethod": {
          "type": "string",
          "description": "EAP method. Valid values: `tls`, `peap`.\n"
        },
        "eapPassword": {
          "type": "string",
          "description": "EAP password.\n",
          "secret": true
        },
        "eapSupplicant": {
          "type": "string",
          "description": "Enable/disable EAP-Supplicant. Valid values: `enable`, `disable`.\n"
        },
        "eapUserCert": {
          "type": "string",
          "description": "EAP user certificate name.\n"
        },
        "egressShapingProfile": {
          "type": "string",
          "description": "Outgoing traffic shaping profile.\n"
        },
        "endpointCompliance": {
          "type": "string",
          "description": "Enable/disable endpoint compliance enforcement. Valid values: `enable`, `disable`.\n"
        },
        "estimatedDownstreamBandwidth": {
          "type": "integer",
          "description": "Estimated maximum downstream bandwidth (kbps). Used to estimate link utilization.\n"
        },
        "estimatedUpstreamBandwidth": {
          "type": "integer",
          "description": "Estimated maximum upstream bandwidth (kbps). Used to estimate link utilization.\n"
        },
        "explicitFtpProxy": {
          "type": "string",
          "description": "Enable/disable the explicit FTP proxy on this interface. Valid values: `enable`, `disable`.\n"
        },
        "explicitWebProxy": {
          "type": "string",
          "description": "Enable/disable the explicit web proxy on this interface. Valid values: `enable`, `disable`.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable identifying the interface as an external interface (which usually means it's connected to the Internet). Valid values: `enable`, `disable`.\n"
        },
        "failActionOnExtender": {
          "type": "string",
          "description": "Action on extender when interface fail . Valid values: `soft-restart`, `hard-restart`, `reboot`.\n"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceFailAlertInterface:InterfaceFailAlertInterface"
          },
          "description": "Names of the FortiGate interfaces from which the link failure alert is sent for this interface. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failAlertMethod": {
          "type": "string",
          "description": "Select link-failed-signal or link-down method to alert about a failed link. Valid values: `link-failed-signal`, `link-down`.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable fail detection features for this interface. Valid values: `enable`, `disable`.\n"
        },
        "failDetectOption": {
          "type": "string",
          "description": "Options for detecting that this interface has failed. Valid values: `detectserver`, `link-down`.\n"
        },
        "fortiheartbeat": {
          "type": "string",
          "description": "Enable/disable FortiHeartBeat (FortiTelemetry on GUI). Valid values: `enable`, `disable`.\n"
        },
        "fortilink": {
          "type": "string",
          "description": "Enable FortiLink to dedicate this interface to manage other Fortinet devices. Valid values: `enable`, `disable`.\n"
        },
        "fortilinkBackupLink": {
          "type": "integer",
          "description": "fortilink split interface backup link.\n"
        },
        "fortilinkNeighborDetect": {
          "type": "string",
          "description": "Protocol for FortiGate neighbor discovery. Valid values: `lldp`, `fortilink`.\n"
        },
        "fortilinkSplitInterface": {
          "type": "string",
          "description": "Enable/disable FortiLink split interface to connect member link to different FortiSwitch in stack for uplink redundancy. Valid values: `enable`, `disable`.\n"
        },
        "fortilinkStacking": {
          "type": "string",
          "description": "Enable/disable FortiLink switch-stacking on this interface. Valid values: `enable`, `disable`.\n"
        },
        "forwardDomain": {
          "type": "integer",
          "description": "Transparent mode forward domain.\n"
        },
        "forwardErrorCorrection": {
          "type": "string",
          "description": "Configure forward error correction (FEC). Valid values: `none`, `disable`, `cl91-rs-fec`, `cl74-fc-fec`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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"
        },
        "icmpAcceptRedirect": {
          "type": "string",
          "description": "Enable/disable ICMP accept redirect. Valid values: `enable`, `disable`.\n"
        },
        "icmpSendRedirect": {
          "type": "string",
          "description": "Enable/disable ICMP send redirect. Valid values: `enable`, `disable`.\n"
        },
        "identAccept": {
          "type": "string",
          "description": "Enable/disable authentication for this interface. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "PPPoE auto disconnect after idle timeout seconds, 0 means no timeout.\n"
        },
        "ikeSamlServer": {
          "type": "string",
          "description": "Configure IKE authentication SAML server.\n"
        },
        "inbandwidth": {
          "type": "integer",
          "description": "Bandwidth limit for incoming traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
        },
        "ingressShapingProfile": {
          "type": "string",
          "description": "Incoming traffic shaping profile.\n"
        },
        "ingressSpilloverThreshold": {
          "type": "integer",
          "description": "Ingress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "internal": {
          "type": "integer",
          "description": "Implicitly created.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IPv4 address and subnet mask, syntax: X.X.X.X/24.\n"
        },
        "ipManagedByFortiipam": {
          "type": "string",
          "description": "Enable/disable automatic IP address assignment of this interface by FortiIPAM.\n"
        },
        "ipmac": {
          "type": "string",
          "description": "Enable/disable IP/MAC binding. Valid values: `enable`, `disable`.\n"
        },
        "ipsSnifferMode": {
          "type": "string",
          "description": "Enable/disable the use of this interface as a one-armed sniffer. Valid values: `enable`, `disable`.\n"
        },
        "ipunnumbered": {
          "type": "string",
          "description": "Unnumbered IP used for PPPoE interfaces for which no unique local address is provided.\n"
        },
        "ipv6": {
          "$ref": "#/types/fortios:system%2FInterfaceIpv6:InterfaceIpv6",
          "description": "IPv6 of interface. The structure of `ipv6` block is documented below.\n"
        },
        "l2forward": {
          "type": "string",
          "description": "Enable/disable l2 forwarding. Valid values: `enable`, `disable`.\n"
        },
        "lacpHaSecondary": {
          "type": "string",
          "description": "LACP HA secondary member. Valid values: `enable`, `disable`.\n"
        },
        "lacpHaSlave": {
          "type": "string",
          "description": "LACP HA slave. Valid values: `enable`, `disable`.\n"
        },
        "lacpMode": {
          "type": "string",
          "description": "LACP mode. Valid values: `static`, `passive`, `active`.\n"
        },
        "lacpSpeed": {
          "type": "string",
          "description": "How often the interface sends LACP messages. Valid values: `slow`, `fast`.\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum missed LCP echo messages before disconnect.\n"
        },
        "linkUpDelay": {
          "type": "integer",
          "description": "Number of milliseconds to wait before considering a link is up.\n"
        },
        "lldpNetworkPolicy": {
          "type": "string",
          "description": "LLDP-MED network policy profile.\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`, `vdom`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`, `vdom`.\n"
        },
        "macaddr": {
          "type": "string",
          "description": "Change the interface's MAC address.\n"
        },
        "managedDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceManagedDevice:InterfaceManagedDevice"
          },
          "description": "Available when FortiLink is enabled, used for managed devices through FortiLink interface. The structure of `managed_device` block is documented below.\n"
        },
        "managedSubnetworkSize": {
          "type": "string",
          "description": "Number of IP addresses to be allocated by FortiIPAM and used by this FortiGate unit's DHCP server settings.\n"
        },
        "managementIp": {
          "type": "string",
          "description": "High Availability in-band management IP address of this interface.\n"
        },
        "measuredDownstreamBandwidth": {
          "type": "integer",
          "description": "Measured downstream bandwidth (kbps).\n"
        },
        "measuredUpstreamBandwidth": {
          "type": "integer",
          "description": "Measured upstream bandwidth (kbps).\n"
        },
        "mediatype": {
          "type": "string",
          "description": "Select SFP media interface type Valid values: `none`, `gmii`, `sgmii`, `sr`, `lr`, `cr`, `sr4`, `lr4`, `cr4`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceMember:InterfaceMember"
          },
          "description": "Physical interfaces that belong to the aggregate or redundant interface. The structure of `member` block is documented below.\n"
        },
        "minLinks": {
          "type": "integer",
          "description": "Minimum number of aggregated ports that must be up.\n"
        },
        "minLinksDown": {
          "type": "string",
          "description": "Action to take when less than the configured minimum number of links are active. Valid values: `operational`, `administrative`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Addressing mode (static, DHCP, PPPoE). Valid values: `static`, `dhcp`, `pppoe`.\n"
        },
        "monitorBandwidth": {
          "type": "string",
          "description": "Enable monitoring bandwidth on this interface. Valid values: `enable`, `disable`.\n"
        },
        "mtu": {
          "type": "integer",
          "description": "MTU value for this interface.\n"
        },
        "mtuOverride": {
          "type": "string",
          "description": "Enable to set a custom MTU for this interface. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "ndiscforward": {
          "type": "string",
          "description": "Enable/disable NDISC forwarding. Valid values: `enable`, `disable`.\n"
        },
        "netbiosForward": {
          "type": "string",
          "description": "Enable/disable NETBIOS forwarding. Valid values: `disable`, `enable`.\n"
        },
        "netflowSampler": {
          "type": "string",
          "description": "Enable/disable NetFlow on this interface and set the data that NetFlow collects (rx, tx, or both). Valid values: `disable`, `tx`, `rx`, `both`.\n"
        },
        "outbandwidth": {
          "type": "integer",
          "description": "Bandwidth limit for outgoing traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.2.6: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
        },
        "padtRetryTimeout": {
          "type": "integer",
          "description": "PPPoE Active Discovery Terminate (PADT) used to terminate sessions after an idle time.\n"
        },
        "password": {
          "type": "string",
          "description": "PPPoE account's password.\n",
          "secret": true
        },
        "pingServStatus": {
          "type": "integer",
          "description": "PING server status.\n"
        },
        "pollingInterval": {
          "type": "integer",
          "description": "sFlow polling interval in seconds (1 - 255).\n"
        },
        "pppoeUnnumberedNegotiate": {
          "type": "string",
          "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
        },
        "pptpAuthType": {
          "type": "string",
          "description": "PPTP authentication type. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "pptpClient": {
          "type": "string",
          "description": "Enable/disable PPTP client. Valid values: `enable`, `disable`.\n"
        },
        "pptpPassword": {
          "type": "string",
          "description": "PPTP password.\n",
          "secret": true
        },
        "pptpServerIp": {
          "type": "string",
          "description": "PPTP server IP address.\n"
        },
        "pptpTimeout": {
          "type": "integer",
          "description": "Idle timer in minutes (0 for disabled).\n"
        },
        "pptpUser": {
          "type": "string",
          "description": "PPTP user name.\n"
        },
        "preserveSessionRoute": {
          "type": "string",
          "description": "Enable/disable preservation of session route when dirty. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of learned routes.\n"
        },
        "priorityOverride": {
          "type": "string",
          "description": "Enable/disable fail back to higher priority port once recovered. Valid values: `enable`, `disable`.\n"
        },
        "proxyCaptivePortal": {
          "type": "string",
          "description": "Enable/disable proxy captive portal on this interface. Valid values: `enable`, `disable`.\n"
        },
        "reachableTime": {
          "type": "integer",
          "description": "IPv4 reachable time in milliseconds (30000 - 3600000, default = 30000).\n"
        },
        "redundantInterface": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "remoteIp": {
          "type": "string",
          "description": "Remote IP address of tunnel.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Replacement message override group.\n"
        },
        "ringRx": {
          "type": "integer",
          "description": "RX ring size.\n"
        },
        "ringTx": {
          "type": "integer",
          "description": "TX ring size.\n"
        },
        "role": {
          "type": "string",
          "description": "Interface role. Valid values: `lan`, `wan`, `dmz`, `undefined`.\n"
        },
        "sampleDirection": {
          "type": "string",
          "description": "Data that NetFlow collects (rx, tx, or both). Valid values: `tx`, `rx`, `both`.\n"
        },
        "sampleRate": {
          "type": "integer",
          "description": "sFlow sample rate (10 - 99999).\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable monitoring or blocking connections to Botnet servers through this interface. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "secondaryIp": {
          "type": "string",
          "description": "Enable/disable adding a secondary IP to this interface. Valid values: `enable`, `disable`.\n"
        },
        "secondaryips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceSecondaryip:InterfaceSecondaryip"
          },
          "description": "Second IP address of interface. The structure of `secondaryip` block is documented below.\n"
        },
        "securityExemptList": {
          "type": "string",
          "description": "Name of security-exempt-list.\n"
        },
        "securityExternalLogout": {
          "type": "string",
          "description": "URL of external authentication logout server.\n"
        },
        "securityExternalWeb": {
          "type": "string",
          "description": "URL of external authentication web server.\n"
        },
        "securityGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceSecurityGroup:InterfaceSecurityGroup"
          },
          "description": "User groups that can authenticate with the captive portal. The structure of `security_groups` block is documented below.\n"
        },
        "securityMacAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAC authentication bypass. Valid values: `mac-auth-only`, `enable`, `disable`.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Turn on captive portal authentication for this interface. Valid values: `none`, `captive-portal`, `802.1X`.\n"
        },
        "securityRedirectUrl": {
          "type": "string",
          "description": "URL redirection after disclaimer/authentication.\n"
        },
        "serviceName": {
          "type": "string",
          "description": "PPPoE service name.\n"
        },
        "sflowSampler": {
          "type": "string",
          "description": "Enable/disable sFlow on this interface. Valid values: `enable`, `disable`.\n"
        },
        "snmpIndex": {
          "type": "integer",
          "description": "Permanent SNMP Index of the interface.\n"
        },
        "speed": {
          "type": "string",
          "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
        },
        "spilloverThreshold": {
          "type": "integer",
          "description": "Egress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
        },
        "srcCheck": {
          "type": "string",
          "description": "Enable/disable source IP check. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Bring the interface up or shut the interface down. Valid values: `up`, `down`.\n"
        },
        "stp": {
          "type": "string",
          "description": "Enable/disable STP. Valid values: `disable`, `enable`.\n"
        },
        "stpHaSecondary": {
          "type": "string",
          "description": "Control STP behaviour on HA secondary. Valid values: `disable`, `enable`, `priority-adjust`.\n"
        },
        "stpforward": {
          "type": "string",
          "description": "Enable/disable STP forwarding. Valid values: `enable`, `disable`.\n"
        },
        "stpforwardMode": {
          "type": "string",
          "description": "Configure STP forwarding mode. Valid values: `rpl-all-ext-id`, `rpl-bridge-ext-id`, `rpl-nothing`.\n"
        },
        "subst": {
          "type": "string",
          "description": "Enable to always send packets from this interface to a destination MAC address. Valid values: `enable`, `disable`.\n"
        },
        "substituteDstMac": {
          "type": "string",
          "description": "Destination MAC address that all packets are sent to from this interface.\n"
        },
        "swcFirstCreate": {
          "type": "integer",
          "description": "Initial create for switch-controller VLANs.\n"
        },
        "swcVlan": {
          "type": "integer",
          "description": "Creation status for switch-controller VLANs.\n"
        },
        "switch": {
          "type": "string",
          "description": "Contained in switch.\n"
        },
        "switchControllerAccessVlan": {
          "type": "string",
          "description": "Block FortiSwitch port-to-port traffic. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerArpInspection": {
          "type": "string",
          "description": "Enable/disable FortiSwitch ARP inspection.\n"
        },
        "switchControllerDhcpSnooping": {
          "type": "string",
          "description": "Switch controller DHCP snooping. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDhcpSnoopingOption82": {
          "type": "string",
          "description": "Switch controller DHCP snooping option82. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDhcpSnoopingVerifyMac": {
          "type": "string",
          "description": "Switch controller DHCP snooping verify MAC. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerDynamic": {
          "type": "string",
          "description": "Integrated FortiLink settings for managed FortiSwitch.\n"
        },
        "switchControllerFeature": {
          "type": "string",
          "description": "Interface's purpose when assigning traffic (read only).\n"
        },
        "switchControllerIgmpSnooping": {
          "type": "string",
          "description": "Switch controller IGMP snooping. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIgmpSnoopingFastLeave": {
          "type": "string",
          "description": "Switch controller IGMP snooping fast-leave. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIgmpSnoopingProxy": {
          "type": "string",
          "description": "Switch controller IGMP snooping proxy. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerIotScanning": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch IoT scanning. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerLearningLimit": {
          "type": "integer",
          "description": "Limit the number of dynamic MAC addresses on this VLAN (1 - 128, 0 = no limit, default).\n"
        },
        "switchControllerMgmtVlan": {
          "type": "integer",
          "description": "VLAN to use for FortiLink management purposes.\n"
        },
        "switchControllerNac": {
          "type": "string",
          "description": "Integrated NAC settings for managed FortiSwitch.\n"
        },
        "switchControllerNetflowCollect": {
          "type": "string",
          "description": "NetFlow collection and processing. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerOffload": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch routing offload. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerOffloadGw": {
          "type": "string",
          "description": "Enable/disable managed FortiSwitch routing offload gateway. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerOffloadIp": {
          "type": "string",
          "description": "IP for routing offload on FortiSwitch.\n"
        },
        "switchControllerRspanMode": {
          "type": "string",
          "description": "Stop Layer2 MAC learning and interception of BPDUs and other packets on this interface. Valid values: `disable`, `enable`.\n"
        },
        "switchControllerSourceIp": {
          "type": "string",
          "description": "Source IP address used in FortiLink over L3 connections. Valid values: `outbound`, `fixed`.\n"
        },
        "switchControllerTrafficPolicy": {
          "type": "string",
          "description": "Switch controller traffic policy for the VLAN.\n"
        },
        "systemId": {
          "type": "string",
          "description": "Define a system ID for the aggregate interface.\n"
        },
        "systemIdType": {
          "type": "string",
          "description": "Method in which system ID is generated. Valid values: `auto`, `user`.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceTagging:InterfaceTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "tcpMss": {
          "type": "integer",
          "description": "TCP maximum segment size. 0 means do not change segment size.\n"
        },
        "trunk": {
          "type": "string",
          "description": "Enable/disable VLAN trunk. Valid values: `enable`, `disable`.\n"
        },
        "trustIp1": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp2": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp3": {
          "type": "string",
          "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
        },
        "trustIp61": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "trustIp62": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "trustIp63": {
          "type": "string",
          "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
        },
        "type": {
          "type": "string",
          "description": "Interface type.\n"
        },
        "username": {
          "type": "string",
          "description": "Username of the PPPoE account, provided by your ISP.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Interface is in this virtual domain (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
        },
        "vindex": {
          "type": "integer",
          "description": "Switch control interface VLAN ID.\n"
        },
        "vlanProtocol": {
          "type": "string",
          "description": "Ethernet protocol of VLAN. Valid values: `8021q`, `8021ad`.\n"
        },
        "vlanforward": {
          "type": "string",
          "description": "Enable/disable traffic forwarding between VLANs on this interface. Valid values: `enable`, `disable`.\n"
        },
        "vlanid": {
          "type": "integer",
          "description": "VLAN ID (1 - 4094).\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        },
        "vrrpVirtualMac": {
          "type": "string",
          "description": "Enable/disable use of virtual MAC for VRRP. Valid values: `enable`, `disable`.\n"
        },
        "vrrps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceVrrp:InterfaceVrrp"
          },
          "description": "VRRP configuration. The structure of `vrrp` block is documented below.\n"
        },
        "wccp": {
          "type": "string",
          "description": "Enable/disable WCCP on this interface. Used for encapsulated WCCP communication between WCCP clients and servers. Valid values: `enable`, `disable`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Default weight for static routes (if route has no weight configured).\n"
        },
        "winsIp": {
          "type": "string",
          "description": "WINS server IP.\n"
        }
      },
      "requiredInputs": [
        "vdom"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Interface resources.\n",
        "properties": {
          "acName": {
            "type": "string",
            "description": "PPPoE server name.\n"
          },
          "aggregate": {
            "type": "string",
            "description": "Aggregate interface.\n"
          },
          "aggregateType": {
            "type": "string",
            "description": "Type of aggregation. Valid values: `physical`, `vxlan`.\n"
          },
          "algorithm": {
            "type": "string",
            "description": "Frame distribution algorithm.\n"
          },
          "alias": {
            "type": "string",
            "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n"
          },
          "allowaccess": {
            "type": "string",
            "description": "Permitted types of management access to this interface.\n"
          },
          "apDiscover": {
            "type": "string",
            "description": "Enable/disable automatic registration of unknown FortiAP devices. Valid values: `enable`, `disable`.\n"
          },
          "arpforward": {
            "type": "string",
            "description": "Enable/disable ARP forwarding. Valid values: `enable`, `disable`.\n"
          },
          "authCert": {
            "type": "string",
            "description": "HTTPS server certificate.\n"
          },
          "authPortalAddr": {
            "type": "string",
            "description": "Address of captive portal.\n"
          },
          "authType": {
            "type": "string",
            "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
          },
          "autoAuthExtensionDevice": {
            "type": "string",
            "description": "Enable/disable automatic authorization of dedicated Fortinet extension device on this interface. Valid values: `enable`, `disable`.\n"
          },
          "autogenerated": {
            "type": "string",
            "description": "Indicates whether the interface is automatically created by FortiGate, for example, created during the VPN creation process. If it is, set it to \"auto\", else keep it empty.\n"
          },
          "bandwidthMeasureTime": {
            "type": "integer",
            "description": "Bandwidth measure time\n"
          },
          "bfd": {
            "type": "string",
            "description": "Bidirectional Forwarding Detection (BFD) settings. Valid values: `global`, `enable`, `disable`.\n"
          },
          "bfdDesiredMinTx": {
            "type": "integer",
            "description": "BFD desired minimal transmit interval.\n"
          },
          "bfdDetectMult": {
            "type": "integer",
            "description": "BFD detection multiplier.\n"
          },
          "bfdRequiredMinRx": {
            "type": "integer",
            "description": "BFD required minimal receive interval.\n"
          },
          "broadcastForticlientDiscovery": {
            "type": "string",
            "description": "Enable/disable broadcasting FortiClient discovery messages. Valid values: `enable`, `disable`.\n"
          },
          "broadcastForward": {
            "type": "string",
            "description": "Enable/disable broadcast forwarding. Valid values: `enable`, `disable`.\n"
          },
          "captivePortal": {
            "type": "integer",
            "description": "Enable/disable captive portal.\n"
          },
          "cliConnStatus": {
            "type": "integer",
            "description": "CLI connection status.\n"
          },
          "clientOptions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceClientOption:InterfaceClientOption"
            },
            "description": "DHCP client options. The structure of `client_options` block is documented below.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "dedicatedTo": {
            "type": "string",
            "description": "Configure interface for single purpose. Valid values: `none`, `management`.\n"
          },
          "defaultPurdueLevel": {
            "type": "string",
            "description": "default purdue level of device detected on this interface. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
          },
          "defaultgw": {
            "type": "string",
            "description": "Enable to get the gateway IP from the DHCP or PPPoE server. Valid values: `enable`, `disable`.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "detectedPeerMtu": {
            "type": "integer",
            "description": "MTU of detected peer (0 - 4294967295).\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"
          },
          "deviceAccessList": {
            "type": "string",
            "description": "Device access list.\n"
          },
          "deviceIdentification": {
            "type": "string",
            "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
          },
          "deviceIdentificationActiveScan": {
            "type": "string",
            "description": "Enable/disable active gathering of device identity information about the devices on the network connected to this interface. Valid values: `enable`, `disable`.\n"
          },
          "deviceNetscan": {
            "type": "string",
            "description": "Enable/disable inclusion of devices detected on this interface in network vulnerability scans. Valid values: `disable`, `enable`.\n"
          },
          "deviceUserIdentification": {
            "type": "string",
            "description": "Enable/disable passive gathering of user identity information about users on this interface. Valid values: `enable`, `disable`.\n"
          },
          "devindex": {
            "type": "integer",
            "description": "Device Index.\n"
          },
          "dhcpBroadcastFlag": {
            "type": "string",
            "description": "Enable/disable setting of the broadcast flag in messages sent by the DHCP client (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "dhcpClasslessRouteAddition": {
            "type": "string",
            "description": "Enable/disable addition of classless static routes retrieved from DHCP server. Valid values: `enable`, `disable`.\n"
          },
          "dhcpClientIdentifier": {
            "type": "string",
            "description": "DHCP client identifier.\n"
          },
          "dhcpRelayAgentOption": {
            "type": "string",
            "description": "Enable/disable DHCP relay agent option. Valid values: `enable`, `disable`.\n"
          },
          "dhcpRelayAllowNoEndOption": {
            "type": "string",
            "description": "Enable/disable relaying DHCP messages with no end option. Valid values: `disable`, `enable`.\n"
          },
          "dhcpRelayCircuitId": {
            "type": "string",
            "description": "DHCP relay circuit ID.\n"
          },
          "dhcpRelayInterface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "dhcpRelayInterfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "dhcpRelayIp": {
            "type": "string",
            "description": "DHCP relay IP address.\n"
          },
          "dhcpRelayLinkSelection": {
            "type": "string",
            "description": "DHCP relay link selection.\n"
          },
          "dhcpRelayRequestAllServer": {
            "type": "string",
            "description": "Enable/disable sending DHCP request to all servers. Valid values: `disable`, `enable`.\n"
          },
          "dhcpRelayService": {
            "type": "string",
            "description": "Enable/disable allowing this interface to act as a DHCP relay. Valid values: `disable`, `enable`.\n"
          },
          "dhcpRelaySourceIp": {
            "type": "string",
            "description": "IP address used by the DHCP relay as its source IP.\n"
          },
          "dhcpRelayType": {
            "type": "string",
            "description": "DHCP relay type (regular or IPsec). Valid values: `regular`, `ipsec`.\n"
          },
          "dhcpRenewTime": {
            "type": "integer",
            "description": "DHCP renew time in seconds (300-604800), 0 means use the renew time provided by the server.\n"
          },
          "dhcpSmartRelay": {
            "type": "string",
            "description": "Enable/disable DHCP smart relay. Valid values: `disable`, `enable`.\n"
          },
          "dhcpSnoopingServerLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceDhcpSnoopingServerList:InterfaceDhcpSnoopingServerList"
            },
            "description": "Configure DHCP server access list. The structure of `dhcp_snooping_server_list` block is documented below.\n"
          },
          "discRetryTimeout": {
            "type": "integer",
            "description": "Time in seconds to wait before retrying to start a PPPoE discovery, 0 means no timeout.\n"
          },
          "disconnectThreshold": {
            "type": "integer",
            "description": "Time in milliseconds to wait before sending a notification that this interface is down or disconnected.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n"
          },
          "dnsServerOverride": {
            "type": "string",
            "description": "Enable/disable use DNS acquired by DHCP or PPPoE. Valid values: `enable`, `disable`.\n"
          },
          "dnsServerProtocol": {
            "type": "string",
            "description": "DNS transport protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
          },
          "dropFragment": {
            "type": "string",
            "description": "Enable/disable drop fragment packets. Valid values: `enable`, `disable`.\n"
          },
          "dropOverlappedFragment": {
            "type": "string",
            "description": "Enable/disable drop overlapped fragment packets. 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"
          },
          "eapCaCert": {
            "type": "string",
            "description": "EAP CA certificate name.\n"
          },
          "eapIdentity": {
            "type": "string",
            "description": "EAP identity.\n"
          },
          "eapMethod": {
            "type": "string",
            "description": "EAP method. Valid values: `tls`, `peap`.\n"
          },
          "eapPassword": {
            "type": "string",
            "description": "EAP password.\n",
            "secret": true
          },
          "eapSupplicant": {
            "type": "string",
            "description": "Enable/disable EAP-Supplicant. Valid values: `enable`, `disable`.\n"
          },
          "eapUserCert": {
            "type": "string",
            "description": "EAP user certificate name.\n"
          },
          "egressShapingProfile": {
            "type": "string",
            "description": "Outgoing traffic shaping profile.\n"
          },
          "endpointCompliance": {
            "type": "string",
            "description": "Enable/disable endpoint compliance enforcement. Valid values: `enable`, `disable`.\n"
          },
          "estimatedDownstreamBandwidth": {
            "type": "integer",
            "description": "Estimated maximum downstream bandwidth (kbps). Used to estimate link utilization.\n"
          },
          "estimatedUpstreamBandwidth": {
            "type": "integer",
            "description": "Estimated maximum upstream bandwidth (kbps). Used to estimate link utilization.\n"
          },
          "explicitFtpProxy": {
            "type": "string",
            "description": "Enable/disable the explicit FTP proxy on this interface. Valid values: `enable`, `disable`.\n"
          },
          "explicitWebProxy": {
            "type": "string",
            "description": "Enable/disable the explicit web proxy on this interface. Valid values: `enable`, `disable`.\n"
          },
          "external": {
            "type": "string",
            "description": "Enable/disable identifying the interface as an external interface (which usually means it's connected to the Internet). Valid values: `enable`, `disable`.\n"
          },
          "failActionOnExtender": {
            "type": "string",
            "description": "Action on extender when interface fail . Valid values: `soft-restart`, `hard-restart`, `reboot`.\n"
          },
          "failAlertInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceFailAlertInterface:InterfaceFailAlertInterface"
            },
            "description": "Names of the FortiGate interfaces from which the link failure alert is sent for this interface. The structure of `fail_alert_interfaces` block is documented below.\n"
          },
          "failAlertMethod": {
            "type": "string",
            "description": "Select link-failed-signal or link-down method to alert about a failed link. Valid values: `link-failed-signal`, `link-down`.\n"
          },
          "failDetect": {
            "type": "string",
            "description": "Enable/disable fail detection features for this interface. Valid values: `enable`, `disable`.\n"
          },
          "failDetectOption": {
            "type": "string",
            "description": "Options for detecting that this interface has failed. Valid values: `detectserver`, `link-down`.\n"
          },
          "fortiheartbeat": {
            "type": "string",
            "description": "Enable/disable FortiHeartBeat (FortiTelemetry on GUI). Valid values: `enable`, `disable`.\n"
          },
          "fortilink": {
            "type": "string",
            "description": "Enable FortiLink to dedicate this interface to manage other Fortinet devices. Valid values: `enable`, `disable`.\n"
          },
          "fortilinkBackupLink": {
            "type": "integer",
            "description": "fortilink split interface backup link.\n"
          },
          "fortilinkNeighborDetect": {
            "type": "string",
            "description": "Protocol for FortiGate neighbor discovery. Valid values: `lldp`, `fortilink`.\n"
          },
          "fortilinkSplitInterface": {
            "type": "string",
            "description": "Enable/disable FortiLink split interface to connect member link to different FortiSwitch in stack for uplink redundancy. Valid values: `enable`, `disable`.\n"
          },
          "fortilinkStacking": {
            "type": "string",
            "description": "Enable/disable FortiLink switch-stacking on this interface. Valid values: `enable`, `disable`.\n"
          },
          "forwardDomain": {
            "type": "integer",
            "description": "Transparent mode forward domain.\n"
          },
          "forwardErrorCorrection": {
            "type": "string",
            "description": "Configure forward error correction (FEC). Valid values: `none`, `disable`, `cl91-rs-fec`, `cl74-fc-fec`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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"
          },
          "icmpAcceptRedirect": {
            "type": "string",
            "description": "Enable/disable ICMP accept redirect. Valid values: `enable`, `disable`.\n"
          },
          "icmpSendRedirect": {
            "type": "string",
            "description": "Enable/disable ICMP send redirect. Valid values: `enable`, `disable`.\n"
          },
          "identAccept": {
            "type": "string",
            "description": "Enable/disable authentication for this interface. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeout": {
            "type": "integer",
            "description": "PPPoE auto disconnect after idle timeout seconds, 0 means no timeout.\n"
          },
          "ikeSamlServer": {
            "type": "string",
            "description": "Configure IKE authentication SAML server.\n"
          },
          "inbandwidth": {
            "type": "integer",
            "description": "Bandwidth limit for incoming traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
          },
          "ingressShapingProfile": {
            "type": "string",
            "description": "Incoming traffic shaping profile.\n"
          },
          "ingressSpilloverThreshold": {
            "type": "integer",
            "description": "Ingress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n",
            "language": {
              "csharp": {
                "name": "Data"
              }
            }
          },
          "internal": {
            "type": "integer",
            "description": "Implicitly created.\n"
          },
          "ip": {
            "type": "string",
            "description": "Interface IPv4 address and subnet mask, syntax: X.X.X.X/24.\n"
          },
          "ipManagedByFortiipam": {
            "type": "string",
            "description": "Enable/disable automatic IP address assignment of this interface by FortiIPAM.\n"
          },
          "ipmac": {
            "type": "string",
            "description": "Enable/disable IP/MAC binding. Valid values: `enable`, `disable`.\n"
          },
          "ipsSnifferMode": {
            "type": "string",
            "description": "Enable/disable the use of this interface as a one-armed sniffer. Valid values: `enable`, `disable`.\n"
          },
          "ipunnumbered": {
            "type": "string",
            "description": "Unnumbered IP used for PPPoE interfaces for which no unique local address is provided.\n"
          },
          "ipv6": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6:InterfaceIpv6",
            "description": "IPv6 of interface. The structure of `ipv6` block is documented below.\n"
          },
          "l2forward": {
            "type": "string",
            "description": "Enable/disable l2 forwarding. Valid values: `enable`, `disable`.\n"
          },
          "lacpHaSecondary": {
            "type": "string",
            "description": "LACP HA secondary member. Valid values: `enable`, `disable`.\n"
          },
          "lacpHaSlave": {
            "type": "string",
            "description": "LACP HA slave. Valid values: `enable`, `disable`.\n"
          },
          "lacpMode": {
            "type": "string",
            "description": "LACP mode. Valid values: `static`, `passive`, `active`.\n"
          },
          "lacpSpeed": {
            "type": "string",
            "description": "How often the interface sends LACP messages. Valid values: `slow`, `fast`.\n"
          },
          "lcpEchoInterval": {
            "type": "integer",
            "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
          },
          "lcpMaxEchoFails": {
            "type": "integer",
            "description": "Maximum missed LCP echo messages before disconnect.\n"
          },
          "linkUpDelay": {
            "type": "integer",
            "description": "Number of milliseconds to wait before considering a link is up.\n"
          },
          "lldpNetworkPolicy": {
            "type": "string",
            "description": "LLDP-MED network policy profile.\n"
          },
          "lldpReception": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception. Valid values: `enable`, `disable`, `vdom`.\n"
          },
          "lldpTransmission": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission. Valid values: `enable`, `disable`, `vdom`.\n"
          },
          "macaddr": {
            "type": "string",
            "description": "Change the interface's MAC address.\n"
          },
          "managedDevices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceManagedDevice:InterfaceManagedDevice"
            },
            "description": "Available when FortiLink is enabled, used for managed devices through FortiLink interface. The structure of `managed_device` block is documented below.\n"
          },
          "managedSubnetworkSize": {
            "type": "string",
            "description": "Number of IP addresses to be allocated by FortiIPAM and used by this FortiGate unit's DHCP server settings.\n"
          },
          "managementIp": {
            "type": "string",
            "description": "High Availability in-band management IP address of this interface.\n"
          },
          "measuredDownstreamBandwidth": {
            "type": "integer",
            "description": "Measured downstream bandwidth (kbps).\n"
          },
          "measuredUpstreamBandwidth": {
            "type": "integer",
            "description": "Measured upstream bandwidth (kbps).\n"
          },
          "mediatype": {
            "type": "string",
            "description": "Select SFP media interface type Valid values: `none`, `gmii`, `sgmii`, `sr`, `lr`, `cr`, `sr4`, `lr4`, `cr4`.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceMember:InterfaceMember"
            },
            "description": "Physical interfaces that belong to the aggregate or redundant interface. The structure of `member` block is documented below.\n"
          },
          "minLinks": {
            "type": "integer",
            "description": "Minimum number of aggregated ports that must be up.\n"
          },
          "minLinksDown": {
            "type": "string",
            "description": "Action to take when less than the configured minimum number of links are active. Valid values: `operational`, `administrative`.\n"
          },
          "mode": {
            "type": "string",
            "description": "Addressing mode (static, DHCP, PPPoE). Valid values: `static`, `dhcp`, `pppoe`.\n"
          },
          "monitorBandwidth": {
            "type": "string",
            "description": "Enable monitoring bandwidth on this interface. Valid values: `enable`, `disable`.\n"
          },
          "mtu": {
            "type": "integer",
            "description": "MTU value for this interface.\n"
          },
          "mtuOverride": {
            "type": "string",
            "description": "Enable to set a custom MTU for this interface. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "ndiscforward": {
            "type": "string",
            "description": "Enable/disable NDISC forwarding. Valid values: `enable`, `disable`.\n"
          },
          "netbiosForward": {
            "type": "string",
            "description": "Enable/disable NETBIOS forwarding. Valid values: `disable`, `enable`.\n"
          },
          "netflowSampler": {
            "type": "string",
            "description": "Enable/disable NetFlow on this interface and set the data that NetFlow collects (rx, tx, or both). Valid values: `disable`, `tx`, `rx`, `both`.\n"
          },
          "outbandwidth": {
            "type": "integer",
            "description": "Bandwidth limit for outgoing traffic, 0 means unlimited. On FortiOS versions 6.2.0-6.2.6: 0 - 16776000 kbps. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000 kbps.\n"
          },
          "padtRetryTimeout": {
            "type": "integer",
            "description": "PPPoE Active Discovery Terminate (PADT) used to terminate sessions after an idle time.\n"
          },
          "password": {
            "type": "string",
            "description": "PPPoE account's password.\n",
            "secret": true
          },
          "pingServStatus": {
            "type": "integer",
            "description": "PING server status.\n"
          },
          "pollingInterval": {
            "type": "integer",
            "description": "sFlow polling interval in seconds (1 - 255).\n"
          },
          "pppoeUnnumberedNegotiate": {
            "type": "string",
            "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
          },
          "pptpAuthType": {
            "type": "string",
            "description": "PPTP authentication type. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
          },
          "pptpClient": {
            "type": "string",
            "description": "Enable/disable PPTP client. Valid values: `enable`, `disable`.\n"
          },
          "pptpPassword": {
            "type": "string",
            "description": "PPTP password.\n",
            "secret": true
          },
          "pptpServerIp": {
            "type": "string",
            "description": "PPTP server IP address.\n"
          },
          "pptpTimeout": {
            "type": "integer",
            "description": "Idle timer in minutes (0 for disabled).\n"
          },
          "pptpUser": {
            "type": "string",
            "description": "PPTP user name.\n"
          },
          "preserveSessionRoute": {
            "type": "string",
            "description": "Enable/disable preservation of session route when dirty. Valid values: `enable`, `disable`.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of learned routes.\n"
          },
          "priorityOverride": {
            "type": "string",
            "description": "Enable/disable fail back to higher priority port once recovered. Valid values: `enable`, `disable`.\n"
          },
          "proxyCaptivePortal": {
            "type": "string",
            "description": "Enable/disable proxy captive portal on this interface. Valid values: `enable`, `disable`.\n"
          },
          "reachableTime": {
            "type": "integer",
            "description": "IPv4 reachable time in milliseconds (30000 - 3600000, default = 30000).\n"
          },
          "redundantInterface": {
            "type": "string",
            "description": "Redundant interface.\n"
          },
          "remoteIp": {
            "type": "string",
            "description": "Remote IP address of tunnel.\n"
          },
          "replacemsgOverrideGroup": {
            "type": "string",
            "description": "Replacement message override group.\n"
          },
          "ringRx": {
            "type": "integer",
            "description": "RX ring size.\n"
          },
          "ringTx": {
            "type": "integer",
            "description": "TX ring size.\n"
          },
          "role": {
            "type": "string",
            "description": "Interface role. Valid values: `lan`, `wan`, `dmz`, `undefined`.\n"
          },
          "sampleDirection": {
            "type": "string",
            "description": "Data that NetFlow collects (rx, tx, or both). Valid values: `tx`, `rx`, `both`.\n"
          },
          "sampleRate": {
            "type": "integer",
            "description": "sFlow sample rate (10 - 99999).\n"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Enable monitoring or blocking connections to Botnet servers through this interface. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "secondaryIp": {
            "type": "string",
            "description": "Enable/disable adding a secondary IP to this interface. Valid values: `enable`, `disable`.\n"
          },
          "secondaryips": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceSecondaryip:InterfaceSecondaryip"
            },
            "description": "Second IP address of interface. The structure of `secondaryip` block is documented below.\n"
          },
          "securityExemptList": {
            "type": "string",
            "description": "Name of security-exempt-list.\n"
          },
          "securityExternalLogout": {
            "type": "string",
            "description": "URL of external authentication logout server.\n"
          },
          "securityExternalWeb": {
            "type": "string",
            "description": "URL of external authentication web server.\n"
          },
          "securityGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceSecurityGroup:InterfaceSecurityGroup"
            },
            "description": "User groups that can authenticate with the captive portal. The structure of `security_groups` block is documented below.\n"
          },
          "securityMacAuthBypass": {
            "type": "string",
            "description": "Enable/disable MAC authentication bypass. Valid values: `mac-auth-only`, `enable`, `disable`.\n"
          },
          "securityMode": {
            "type": "string",
            "description": "Turn on captive portal authentication for this interface. Valid values: `none`, `captive-portal`, `802.1X`.\n"
          },
          "securityRedirectUrl": {
            "type": "string",
            "description": "URL redirection after disclaimer/authentication.\n"
          },
          "serviceName": {
            "type": "string",
            "description": "PPPoE service name.\n"
          },
          "sflowSampler": {
            "type": "string",
            "description": "Enable/disable sFlow on this interface. Valid values: `enable`, `disable`.\n"
          },
          "snmpIndex": {
            "type": "integer",
            "description": "Permanent SNMP Index of the interface.\n"
          },
          "speed": {
            "type": "string",
            "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n"
          },
          "spilloverThreshold": {
            "type": "integer",
            "description": "Egress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n"
          },
          "srcCheck": {
            "type": "string",
            "description": "Enable/disable source IP check. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Bring the interface up or shut the interface down. Valid values: `up`, `down`.\n"
          },
          "stp": {
            "type": "string",
            "description": "Enable/disable STP. Valid values: `disable`, `enable`.\n"
          },
          "stpHaSecondary": {
            "type": "string",
            "description": "Control STP behaviour on HA secondary. Valid values: `disable`, `enable`, `priority-adjust`.\n"
          },
          "stpforward": {
            "type": "string",
            "description": "Enable/disable STP forwarding. Valid values: `enable`, `disable`.\n"
          },
          "stpforwardMode": {
            "type": "string",
            "description": "Configure STP forwarding mode. Valid values: `rpl-all-ext-id`, `rpl-bridge-ext-id`, `rpl-nothing`.\n"
          },
          "subst": {
            "type": "string",
            "description": "Enable to always send packets from this interface to a destination MAC address. Valid values: `enable`, `disable`.\n"
          },
          "substituteDstMac": {
            "type": "string",
            "description": "Destination MAC address that all packets are sent to from this interface.\n"
          },
          "swcFirstCreate": {
            "type": "integer",
            "description": "Initial create for switch-controller VLANs.\n"
          },
          "swcVlan": {
            "type": "integer",
            "description": "Creation status for switch-controller VLANs.\n"
          },
          "switch": {
            "type": "string",
            "description": "Contained in switch.\n"
          },
          "switchControllerAccessVlan": {
            "type": "string",
            "description": "Block FortiSwitch port-to-port traffic. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerArpInspection": {
            "type": "string",
            "description": "Enable/disable FortiSwitch ARP inspection.\n"
          },
          "switchControllerDhcpSnooping": {
            "type": "string",
            "description": "Switch controller DHCP snooping. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerDhcpSnoopingOption82": {
            "type": "string",
            "description": "Switch controller DHCP snooping option82. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerDhcpSnoopingVerifyMac": {
            "type": "string",
            "description": "Switch controller DHCP snooping verify MAC. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerDynamic": {
            "type": "string",
            "description": "Integrated FortiLink settings for managed FortiSwitch.\n"
          },
          "switchControllerFeature": {
            "type": "string",
            "description": "Interface's purpose when assigning traffic (read only).\n"
          },
          "switchControllerIgmpSnooping": {
            "type": "string",
            "description": "Switch controller IGMP snooping. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerIgmpSnoopingFastLeave": {
            "type": "string",
            "description": "Switch controller IGMP snooping fast-leave. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerIgmpSnoopingProxy": {
            "type": "string",
            "description": "Switch controller IGMP snooping proxy. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerIotScanning": {
            "type": "string",
            "description": "Enable/disable managed FortiSwitch IoT scanning. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerLearningLimit": {
            "type": "integer",
            "description": "Limit the number of dynamic MAC addresses on this VLAN (1 - 128, 0 = no limit, default).\n"
          },
          "switchControllerMgmtVlan": {
            "type": "integer",
            "description": "VLAN to use for FortiLink management purposes.\n"
          },
          "switchControllerNac": {
            "type": "string",
            "description": "Integrated NAC settings for managed FortiSwitch.\n"
          },
          "switchControllerNetflowCollect": {
            "type": "string",
            "description": "NetFlow collection and processing. Valid values: `disable`, `enable`.\n"
          },
          "switchControllerOffload": {
            "type": "string",
            "description": "Enable/disable managed FortiSwitch routing offload. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerOffloadGw": {
            "type": "string",
            "description": "Enable/disable managed FortiSwitch routing offload gateway. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerOffloadIp": {
            "type": "string",
            "description": "IP for routing offload on FortiSwitch.\n"
          },
          "switchControllerRspanMode": {
            "type": "string",
            "description": "Stop Layer2 MAC learning and interception of BPDUs and other packets on this interface. Valid values: `disable`, `enable`.\n"
          },
          "switchControllerSourceIp": {
            "type": "string",
            "description": "Source IP address used in FortiLink over L3 connections. Valid values: `outbound`, `fixed`.\n"
          },
          "switchControllerTrafficPolicy": {
            "type": "string",
            "description": "Switch controller traffic policy for the VLAN.\n"
          },
          "systemId": {
            "type": "string",
            "description": "Define a system ID for the aggregate interface.\n"
          },
          "systemIdType": {
            "type": "string",
            "description": "Method in which system ID is generated. Valid values: `auto`, `user`.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceTagging:InterfaceTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "tcpMss": {
            "type": "integer",
            "description": "TCP maximum segment size. 0 means do not change segment size.\n"
          },
          "trunk": {
            "type": "string",
            "description": "Enable/disable VLAN trunk. Valid values: `enable`, `disable`.\n"
          },
          "trustIp1": {
            "type": "string",
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
          },
          "trustIp2": {
            "type": "string",
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
          },
          "trustIp3": {
            "type": "string",
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n"
          },
          "trustIp61": {
            "type": "string",
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
          },
          "trustIp62": {
            "type": "string",
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
          },
          "trustIp63": {
            "type": "string",
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n"
          },
          "type": {
            "type": "string",
            "description": "Interface type.\n"
          },
          "username": {
            "type": "string",
            "description": "Username of the PPPoE account, provided by your ISP.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Interface is in this virtual domain (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
          },
          "vindex": {
            "type": "integer",
            "description": "Switch control interface VLAN ID.\n"
          },
          "vlanProtocol": {
            "type": "string",
            "description": "Ethernet protocol of VLAN. Valid values: `8021q`, `8021ad`.\n"
          },
          "vlanforward": {
            "type": "string",
            "description": "Enable/disable traffic forwarding between VLANs on this interface. Valid values: `enable`, `disable`.\n"
          },
          "vlanid": {
            "type": "integer",
            "description": "VLAN ID (1 - 4094).\n"
          },
          "vrf": {
            "type": "integer",
            "description": "Virtual Routing Forwarding ID.\n"
          },
          "vrrpVirtualMac": {
            "type": "string",
            "description": "Enable/disable use of virtual MAC for VRRP. Valid values: `enable`, `disable`.\n"
          },
          "vrrps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FInterfaceVrrp:InterfaceVrrp"
            },
            "description": "VRRP configuration. The structure of `vrrp` block is documented below.\n"
          },
          "wccp": {
            "type": "string",
            "description": "Enable/disable WCCP on this interface. Used for encapsulated WCCP communication between WCCP clients and servers. Valid values: `enable`, `disable`.\n"
          },
          "weight": {
            "type": "integer",
            "description": "Default weight for static routes (if route has no weight configured).\n"
          },
          "winsIp": {
            "type": "string",
            "description": "WINS server IP.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/ipam:Ipam": {
      "description": "Configure IP address management services. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nSystem Ipam can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipam:Ipam labelname SystemIpam\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:system/ipam:Ipam labelname SystemIpam\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "automaticConflictResolution": {
          "type": "string",
          "description": "Enable/disable automatic conflict resolution. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "manageLanAddresses": {
          "type": "string",
          "description": "Enable/disable default management of LAN interface addresses. Valid values: `disable`, `enable`.\n"
        },
        "manageLanExtensionAddresses": {
          "type": "string",
          "description": "Enable/disable default management of FortiExtender LAN extension interface addresses. Valid values: `disable`, `enable`.\n"
        },
        "manageSsidAddresses": {
          "type": "string",
          "description": "Enable/disable default management of FortiAP SSID addresses. Valid values: `disable`, `enable`.\n"
        },
        "poolSubnet": {
          "type": "string",
          "description": "Configure IPAM pool subnet, Class A - Class B subnet.\n"
        },
        "pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamPool:IpamPool"
          },
          "description": "Configure IPAM pools. The structure of `pools` block is documented below.\n"
        },
        "requireSubnetSizeMatch": {
          "type": "string",
          "description": "Enable/disable reassignment of subnets to make requested and actual sizes match. Valid values: `disable`, `enable`.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamRule:IpamRule"
          },
          "description": "Configure IPAM allocation rules. The structure of `rules` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Configure the type of IPAM server to use.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable IP address management services. 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": [
        "automaticConflictResolution",
        "manageLanAddresses",
        "manageLanExtensionAddresses",
        "manageSsidAddresses",
        "poolSubnet",
        "requireSubnetSizeMatch",
        "serverType",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "automaticConflictResolution": {
          "type": "string",
          "description": "Enable/disable automatic conflict resolution. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "manageLanAddresses": {
          "type": "string",
          "description": "Enable/disable default management of LAN interface addresses. Valid values: `disable`, `enable`.\n"
        },
        "manageLanExtensionAddresses": {
          "type": "string",
          "description": "Enable/disable default management of FortiExtender LAN extension interface addresses. Valid values: `disable`, `enable`.\n"
        },
        "manageSsidAddresses": {
          "type": "string",
          "description": "Enable/disable default management of FortiAP SSID addresses. Valid values: `disable`, `enable`.\n"
        },
        "poolSubnet": {
          "type": "string",
          "description": "Configure IPAM pool subnet, Class A - Class B subnet.\n"
        },
        "pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamPool:IpamPool"
          },
          "description": "Configure IPAM pools. The structure of `pools` block is documented below.\n"
        },
        "requireSubnetSizeMatch": {
          "type": "string",
          "description": "Enable/disable reassignment of subnets to make requested and actual sizes match. Valid values: `disable`, `enable`.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamRule:IpamRule"
          },
          "description": "Configure IPAM allocation rules. The structure of `rules` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Configure the type of IPAM server to use.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable IP address management services. 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 Ipam resources.\n",
        "properties": {
          "automaticConflictResolution": {
            "type": "string",
            "description": "Enable/disable automatic conflict resolution. Valid values: `disable`, `enable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "manageLanAddresses": {
            "type": "string",
            "description": "Enable/disable default management of LAN interface addresses. Valid values: `disable`, `enable`.\n"
          },
          "manageLanExtensionAddresses": {
            "type": "string",
            "description": "Enable/disable default management of FortiExtender LAN extension interface addresses. Valid values: `disable`, `enable`.\n"
          },
          "manageSsidAddresses": {
            "type": "string",
            "description": "Enable/disable default management of FortiAP SSID addresses. Valid values: `disable`, `enable`.\n"
          },
          "poolSubnet": {
            "type": "string",
            "description": "Configure IPAM pool subnet, Class A - Class B subnet.\n"
          },
          "pools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FIpamPool:IpamPool"
            },
            "description": "Configure IPAM pools. The structure of `pools` block is documented below.\n"
          },
          "requireSubnetSizeMatch": {
            "type": "string",
            "description": "Enable/disable reassignment of subnets to make requested and actual sizes match. Valid values: `disable`, `enable`.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FIpamRule:IpamRule"
            },
            "description": "Configure IPAM allocation rules. The structure of `rules` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Configure the type of IPAM server to use.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable IP address management services. 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:system/ipiptunnel:Ipiptunnel": {
      "description": "Configure IP in IP Tunneling.\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.system.Ipiptunnel(\"trname\", {\n    \"interface\": \"port3\",\n    localGw: \"1.1.1.1\",\n    remoteGw: \"2.2.2.2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ipiptunnel(\"trname\",\n    interface=\"port3\",\n    local_gw=\"1.1.1.1\",\n    remote_gw=\"2.2.2.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.System.Ipiptunnel(\"trname\", new()\n    {\n        Interface = \"port3\",\n        LocalGw = \"1.1.1.1\",\n        RemoteGw = \"2.2.2.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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewIpiptunnel(ctx, \"trname\", &system.IpiptunnelArgs{\n\t\t\tInterface: pulumi.String(\"port3\"),\n\t\t\tLocalGw:   pulumi.String(\"1.1.1.1\"),\n\t\t\tRemoteGw:  pulumi.String(\"2.2.2.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.system.Ipiptunnel;\nimport com.pulumi.fortios.system.IpiptunnelArgs;\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 Ipiptunnel(\"trname\", IpiptunnelArgs.builder()\n            .interface_(\"port3\")\n            .localGw(\"1.1.1.1\")\n            .remoteGw(\"2.2.2.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ipiptunnel\n    properties:\n      interface: port3\n      localGw: 1.1.1.1\n      remoteGw: 2.2.2.2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem IpipTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipiptunnel:Ipiptunnel 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:system/ipiptunnel:Ipiptunnel labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that is associated with the incoming traffic from available options.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address for the local gateway.\n"
        },
        "name": {
          "type": "string",
          "description": "IPIP Tunnel name.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address for the remote gateway.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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": [
        "autoAsicOffload",
        "interface",
        "localGw",
        "name",
        "remoteGw",
        "useSdwan",
        "vdomparam"
      ],
      "inputProperties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that is associated with the incoming traffic from available options.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address for the local gateway.\n"
        },
        "name": {
          "type": "string",
          "description": "IPIP Tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address for the remote gateway.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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
        }
      },
      "requiredInputs": [
        "interface",
        "localGw",
        "remoteGw"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipiptunnel resources.\n",
        "properties": {
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name that is associated with the incoming traffic from available options.\n"
          },
          "localGw": {
            "type": "string",
            "description": "IPv4 address for the local gateway.\n"
          },
          "name": {
            "type": "string",
            "description": "IPIP Tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "remoteGw": {
            "type": "string",
            "description": "IPv4 address for the remote gateway.\n"
          },
          "useSdwan": {
            "type": "string",
            "description": "Enable/disable use of SD-WAN to reach remote gateway. 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:system/ips:Ips": {
      "description": "Configure IPS system settings. Applies to FortiOS Version `>= 6.4.2`.\n\n## Import\n\nSystem Ips can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ips:Ips labelname SystemIps\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:system/ips:Ips labelname SystemIps\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "overrideSignatureHoldById": {
          "type": "string",
          "description": "Enable/disable override of hold of triggering signatures that are specified by IDs regardless of hold. Valid values: `enable`, `disable`.\n"
        },
        "signatureHoldTime": {
          "type": "string",
          "description": "Time to hold and monitor IPS signatures. Format <#d##h> (day range: 0 - 7, hour range: 0 - 23, max hold time: 7d0h, default hold time: 0d0h).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "overrideSignatureHoldById",
        "signatureHoldTime",
        "vdomparam"
      ],
      "inputProperties": {
        "overrideSignatureHoldById": {
          "type": "string",
          "description": "Enable/disable override of hold of triggering signatures that are specified by IDs regardless of hold. Valid values: `enable`, `disable`.\n"
        },
        "signatureHoldTime": {
          "type": "string",
          "description": "Time to hold and monitor IPS signatures. Format <#d##h> (day range: 0 - 7, hour range: 0 - 23, max hold time: 7d0h, default hold time: 0d0h).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ips resources.\n",
        "properties": {
          "overrideSignatureHoldById": {
            "type": "string",
            "description": "Enable/disable override of hold of triggering signatures that are specified by IDs regardless of hold. Valid values: `enable`, `disable`.\n"
          },
          "signatureHoldTime": {
            "type": "string",
            "description": "Time to hold and monitor IPS signatures. Format <#d##h> (day range: 0 - 7, hour range: 0 - 23, max hold time: 7d0h, default hold time: 0d0h).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/ipsecaggregate:Ipsecaggregate": {
      "description": "Configure an aggregate of IPsec tunnels.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1Phase1interface = new fortios.vpn.ipsec.Phase1interface(\"trname1Phase1interface\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"enable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    autoDiscoveryForwarder: \"disable\",\n    autoDiscoveryPsk: \"disable\",\n    autoDiscoveryReceiver: \"disable\",\n    autoDiscoverySender: \"disable\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    defaultGw: \"0.0.0.0\",\n    defaultGwPriority: 0,\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"manual\",\n    dpd: \"on-demand\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"20\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    encapLocalGw4: \"0.0.0.0\",\n    encapLocalGw6: \"::\",\n    encapRemoteGw4: \"0.0.0.0\",\n    encapRemoteGw6: \"::\",\n    encapsulation: \"none\",\n    encapsulationAddress: \"ike\",\n    enforceUniqueId: \"disable\",\n    exchangeInterfaceIp: \"disable\",\n    exchangeIpAddr4: \"0.0.0.0\",\n    exchangeIpAddr6: \"::\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port3\",\n    ipVersion: \"4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"0.0.0.0\",\n    ipv4Netmask: \"255.255.255.255\",\n    ipv4StartIp: \"0.0.0.0\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localGw6: \"::\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"main\",\n    modeCfg: \"disable\",\n    monitorHoldDownDelay: 0,\n    monitorHoldDownTime: \"00:00\",\n    monitorHoldDownType: \"immediate\",\n    monitorHoldDownWeekday: \"sunday\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    netDevice: \"disable\",\n    passiveMode: \"disable\",\n    peertype: \"any\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret: \"eweeeeeeeecee\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"2.2.2.2\",\n    remoteGw6: \"::\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"disable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    tunnelSearch: \"selectors\",\n    type: \"static\",\n    unitySupport: \"enable\",\n    wizardType: \"custom\",\n    xauthtype: \"disable\",\n});\nconst trname1Phase2interface = new fortios.vpn.ipsec.Phase2interface(\"trname1Phase2interface\", {\n    addRoute: \"phase1\",\n    autoDiscoveryForwarder: \"phase1\",\n    autoDiscoverySender: \"phase1\",\n    autoNegotiate: \"disable\",\n    dhcpIpsec: \"disable\",\n    dhgrp: \"14 5\",\n    dstAddrType: \"subnet\",\n    dstEndIp6: \"::\",\n    dstPort: 0,\n    dstSubnet: \"0.0.0.0 0.0.0.0\",\n    encapsulation: \"tunnel-mode\",\n    keepalive: \"disable\",\n    keylifeType: \"seconds\",\n    keylifekbs: 5120,\n    keylifeseconds: 43200,\n    l2tp: \"disable\",\n    pfs: \"enable\",\n    phase1name: trname1Phase1interface.name,\n    proposal: \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol: 0,\n    replay: \"enable\",\n    routeOverlap: \"use-new\",\n    singleSource: \"disable\",\n    srcAddrType: \"subnet\",\n    srcEndIp6: \"::\",\n    srcPort: 0,\n    srcSubnet: \"0.0.0.0 0.0.0.0\",\n});\nconst trname = new fortios.system.Ipsecaggregate(\"trname\", {\n    algorithm: \"round-robin\",\n    members: [{\n        tunnelName: trname1Phase1interface.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1_phase1interface = fortios.vpn.ipsec.Phase1interface(\"trname1Phase1interface\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"enable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    auto_discovery_forwarder=\"disable\",\n    auto_discovery_psk=\"disable\",\n    auto_discovery_receiver=\"disable\",\n    auto_discovery_sender=\"disable\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    default_gw=\"0.0.0.0\",\n    default_gw_priority=0,\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"manual\",\n    dpd=\"on-demand\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"20\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    encap_local_gw4=\"0.0.0.0\",\n    encap_local_gw6=\"::\",\n    encap_remote_gw4=\"0.0.0.0\",\n    encap_remote_gw6=\"::\",\n    encapsulation=\"none\",\n    encapsulation_address=\"ike\",\n    enforce_unique_id=\"disable\",\n    exchange_interface_ip=\"disable\",\n    exchange_ip_addr4=\"0.0.0.0\",\n    exchange_ip_addr6=\"::\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port3\",\n    ip_version=\"4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"0.0.0.0\",\n    ipv4_netmask=\"255.255.255.255\",\n    ipv4_start_ip=\"0.0.0.0\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    local_gw6=\"::\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"main\",\n    mode_cfg=\"disable\",\n    monitor_hold_down_delay=0,\n    monitor_hold_down_time=\"00:00\",\n    monitor_hold_down_type=\"immediate\",\n    monitor_hold_down_weekday=\"sunday\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    net_device=\"disable\",\n    passive_mode=\"disable\",\n    peertype=\"any\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret=\"eweeeeeeeecee\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"2.2.2.2\",\n    remote_gw6=\"::\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"disable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    tunnel_search=\"selectors\",\n    type=\"static\",\n    unity_support=\"enable\",\n    wizard_type=\"custom\",\n    xauthtype=\"disable\")\ntrname1_phase2interface = fortios.vpn.ipsec.Phase2interface(\"trname1Phase2interface\",\n    add_route=\"phase1\",\n    auto_discovery_forwarder=\"phase1\",\n    auto_discovery_sender=\"phase1\",\n    auto_negotiate=\"disable\",\n    dhcp_ipsec=\"disable\",\n    dhgrp=\"14 5\",\n    dst_addr_type=\"subnet\",\n    dst_end_ip6=\"::\",\n    dst_port=0,\n    dst_subnet=\"0.0.0.0 0.0.0.0\",\n    encapsulation=\"tunnel-mode\",\n    keepalive=\"disable\",\n    keylife_type=\"seconds\",\n    keylifekbs=5120,\n    keylifeseconds=43200,\n    l2tp=\"disable\",\n    pfs=\"enable\",\n    phase1name=trname1_phase1interface.name,\n    proposal=\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol=0,\n    replay=\"enable\",\n    route_overlap=\"use-new\",\n    single_source=\"disable\",\n    src_addr_type=\"subnet\",\n    src_end_ip6=\"::\",\n    src_port=0,\n    src_subnet=\"0.0.0.0 0.0.0.0\")\ntrname = fortios.system.Ipsecaggregate(\"trname\",\n    algorithm=\"round-robin\",\n    members=[fortios.system.IpsecaggregateMemberArgs(\n        tunnel_name=trname1_phase1interface.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 trname1Phase1interface = new Fortios.Vpn.Ipsec.Phase1interface(\"trname1Phase1interface\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"enable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        AutoDiscoveryForwarder = \"disable\",\n        AutoDiscoveryPsk = \"disable\",\n        AutoDiscoveryReceiver = \"disable\",\n        AutoDiscoverySender = \"disable\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        DefaultGw = \"0.0.0.0\",\n        DefaultGwPriority = 0,\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"manual\",\n        Dpd = \"on-demand\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"20\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EncapLocalGw4 = \"0.0.0.0\",\n        EncapLocalGw6 = \"::\",\n        EncapRemoteGw4 = \"0.0.0.0\",\n        EncapRemoteGw6 = \"::\",\n        Encapsulation = \"none\",\n        EncapsulationAddress = \"ike\",\n        EnforceUniqueId = \"disable\",\n        ExchangeInterfaceIp = \"disable\",\n        ExchangeIpAddr4 = \"0.0.0.0\",\n        ExchangeIpAddr6 = \"::\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port3\",\n        IpVersion = \"4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"0.0.0.0\",\n        Ipv4Netmask = \"255.255.255.255\",\n        Ipv4StartIp = \"0.0.0.0\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalGw6 = \"::\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"main\",\n        ModeCfg = \"disable\",\n        MonitorHoldDownDelay = 0,\n        MonitorHoldDownTime = \"00:00\",\n        MonitorHoldDownType = \"immediate\",\n        MonitorHoldDownWeekday = \"sunday\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        NetDevice = \"disable\",\n        PassiveMode = \"disable\",\n        Peertype = \"any\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Psksecret = \"eweeeeeeeecee\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"2.2.2.2\",\n        RemoteGw6 = \"::\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"disable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        TunnelSearch = \"selectors\",\n        Type = \"static\",\n        UnitySupport = \"enable\",\n        WizardType = \"custom\",\n        Xauthtype = \"disable\",\n    });\n\n    var trname1Phase2interface = new Fortios.Vpn.Ipsec.Phase2interface(\"trname1Phase2interface\", new()\n    {\n        AddRoute = \"phase1\",\n        AutoDiscoveryForwarder = \"phase1\",\n        AutoDiscoverySender = \"phase1\",\n        AutoNegotiate = \"disable\",\n        DhcpIpsec = \"disable\",\n        Dhgrp = \"14 5\",\n        DstAddrType = \"subnet\",\n        DstEndIp6 = \"::\",\n        DstPort = 0,\n        DstSubnet = \"0.0.0.0 0.0.0.0\",\n        Encapsulation = \"tunnel-mode\",\n        Keepalive = \"disable\",\n        KeylifeType = \"seconds\",\n        Keylifekbs = 5120,\n        Keylifeseconds = 43200,\n        L2tp = \"disable\",\n        Pfs = \"enable\",\n        Phase1name = trname1Phase1interface.Name,\n        Proposal = \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n        Protocol = 0,\n        Replay = \"enable\",\n        RouteOverlap = \"use-new\",\n        SingleSource = \"disable\",\n        SrcAddrType = \"subnet\",\n        SrcEndIp6 = \"::\",\n        SrcPort = 0,\n        SrcSubnet = \"0.0.0.0 0.0.0.0\",\n    });\n\n    var trname = new Fortios.System.Ipsecaggregate(\"trname\", new()\n    {\n        Algorithm = \"round-robin\",\n        Members = new[]\n        {\n            new Fortios.System.Inputs.IpsecaggregateMemberArgs\n            {\n                TunnelName = trname1Phase1interface.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/system\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1Phase1interface, err := vpn.NewPhase1interface(ctx, \"trname1Phase1interface\", &vpn.Phase1interfaceArgs{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"enable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryPsk:       pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryReceiver:  pulumi.String(\"disable\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"disable\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tDefaultGw:              pulumi.String(\"0.0.0.0\"),\n\t\t\tDefaultGwPriority:      pulumi.Int(0),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"manual\"),\n\t\t\tDpd:                    pulumi.String(\"on-demand\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"20\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEncapLocalGw4:          pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapLocalGw6:          pulumi.String(\"::\"),\n\t\t\tEncapRemoteGw4:         pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapRemoteGw6:         pulumi.String(\"::\"),\n\t\t\tEncapsulation:          pulumi.String(\"none\"),\n\t\t\tEncapsulationAddress:   pulumi.String(\"ike\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tExchangeInterfaceIp:    pulumi.String(\"disable\"),\n\t\t\tExchangeIpAddr4:        pulumi.String(\"0.0.0.0\"),\n\t\t\tExchangeIpAddr6:        pulumi.String(\"::\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port3\"),\n\t\t\tIpVersion:              pulumi.String(\"4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.255\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalGw6:               pulumi.String(\"::\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"main\"),\n\t\t\tModeCfg:                pulumi.String(\"disable\"),\n\t\t\tMonitorHoldDownDelay:   pulumi.Int(0),\n\t\t\tMonitorHoldDownTime:    pulumi.String(\"00:00\"),\n\t\t\tMonitorHoldDownType:    pulumi.String(\"immediate\"),\n\t\t\tMonitorHoldDownWeekday: pulumi.String(\"sunday\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tNetDevice:              pulumi.String(\"disable\"),\n\t\t\tPassiveMode:            pulumi.String(\"disable\"),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tPsksecret:              pulumi.String(\"eweeeeeeeecee\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"2.2.2.2\"),\n\t\t\tRemoteGw6:              pulumi.String(\"::\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"disable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tTunnelSearch:           pulumi.String(\"selectors\"),\n\t\t\tType:                   pulumi.String(\"static\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"custom\"),\n\t\t\tXauthtype:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewPhase2interface(ctx, \"trname1Phase2interface\", &vpn.Phase2interfaceArgs{\n\t\t\tAddRoute:               pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"phase1\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"disable\"),\n\t\t\tDhcpIpsec:              pulumi.String(\"disable\"),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDstAddrType:            pulumi.String(\"subnet\"),\n\t\t\tDstEndIp6:              pulumi.String(\"::\"),\n\t\t\tDstPort:                pulumi.Int(0),\n\t\t\tDstSubnet:              pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tEncapsulation:          pulumi.String(\"tunnel-mode\"),\n\t\t\tKeepalive:              pulumi.String(\"disable\"),\n\t\t\tKeylifeType:            pulumi.String(\"seconds\"),\n\t\t\tKeylifekbs:             pulumi.Int(5120),\n\t\t\tKeylifeseconds:         pulumi.Int(43200),\n\t\t\tL2tp:                   pulumi.String(\"disable\"),\n\t\t\tPfs:                    pulumi.String(\"enable\"),\n\t\t\tPhase1name:             trname1Phase1interface.Name,\n\t\t\tProposal:               pulumi.String(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\"),\n\t\t\tProtocol:               pulumi.Int(0),\n\t\t\tReplay:                 pulumi.String(\"enable\"),\n\t\t\tRouteOverlap:           pulumi.String(\"use-new\"),\n\t\t\tSingleSource:           pulumi.String(\"disable\"),\n\t\t\tSrcAddrType:            pulumi.String(\"subnet\"),\n\t\t\tSrcEndIp6:              pulumi.String(\"::\"),\n\t\t\tSrcPort:                pulumi.Int(0),\n\t\t\tSrcSubnet:              pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = system.NewIpsecaggregate(ctx, \"trname\", &system.IpsecaggregateArgs{\n\t\t\tAlgorithm: pulumi.String(\"round-robin\"),\n\t\t\tMembers: system.IpsecaggregateMemberArray{\n\t\t\t\t&system.IpsecaggregateMemberArgs{\n\t\t\t\t\tTunnelName: trname1Phase1interface.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.vpn.Phase1interface;\nimport com.pulumi.fortios.vpn.Phase1interfaceArgs;\nimport com.pulumi.fortios.vpn.Phase2interface;\nimport com.pulumi.fortios.vpn.Phase2interfaceArgs;\nimport com.pulumi.fortios.system.Ipsecaggregate;\nimport com.pulumi.fortios.system.IpsecaggregateArgs;\nimport com.pulumi.fortios.system.inputs.IpsecaggregateMemberArgs;\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 trname1Phase1interface = new Phase1interface(\"trname1Phase1interface\", Phase1interfaceArgs.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"enable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .autoDiscoveryForwarder(\"disable\")\n            .autoDiscoveryPsk(\"disable\")\n            .autoDiscoveryReceiver(\"disable\")\n            .autoDiscoverySender(\"disable\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .defaultGw(\"0.0.0.0\")\n            .defaultGwPriority(0)\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"manual\")\n            .dpd(\"on-demand\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"20\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .encapLocalGw4(\"0.0.0.0\")\n            .encapLocalGw6(\"::\")\n            .encapRemoteGw4(\"0.0.0.0\")\n            .encapRemoteGw6(\"::\")\n            .encapsulation(\"none\")\n            .encapsulationAddress(\"ike\")\n            .enforceUniqueId(\"disable\")\n            .exchangeInterfaceIp(\"disable\")\n            .exchangeIpAddr4(\"0.0.0.0\")\n            .exchangeIpAddr6(\"::\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port3\")\n            .ipVersion(\"4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"0.0.0.0\")\n            .ipv4Netmask(\"255.255.255.255\")\n            .ipv4StartIp(\"0.0.0.0\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localGw6(\"::\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"main\")\n            .modeCfg(\"disable\")\n            .monitorHoldDownDelay(0)\n            .monitorHoldDownTime(\"00:00\")\n            .monitorHoldDownType(\"immediate\")\n            .monitorHoldDownWeekday(\"sunday\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .netDevice(\"disable\")\n            .passiveMode(\"disable\")\n            .peertype(\"any\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .psksecret(\"eweeeeeeeecee\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"2.2.2.2\")\n            .remoteGw6(\"::\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"disable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .tunnelSearch(\"selectors\")\n            .type(\"static\")\n            .unitySupport(\"enable\")\n            .wizardType(\"custom\")\n            .xauthtype(\"disable\")\n            .build());\n\n        var trname1Phase2interface = new Phase2interface(\"trname1Phase2interface\", Phase2interfaceArgs.builder()\n            .addRoute(\"phase1\")\n            .autoDiscoveryForwarder(\"phase1\")\n            .autoDiscoverySender(\"phase1\")\n            .autoNegotiate(\"disable\")\n            .dhcpIpsec(\"disable\")\n            .dhgrp(\"14 5\")\n            .dstAddrType(\"subnet\")\n            .dstEndIp6(\"::\")\n            .dstPort(0)\n            .dstSubnet(\"0.0.0.0 0.0.0.0\")\n            .encapsulation(\"tunnel-mode\")\n            .keepalive(\"disable\")\n            .keylifeType(\"seconds\")\n            .keylifekbs(5120)\n            .keylifeseconds(43200)\n            .l2tp(\"disable\")\n            .pfs(\"enable\")\n            .phase1name(trname1Phase1interface.name())\n            .proposal(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\")\n            .protocol(0)\n            .replay(\"enable\")\n            .routeOverlap(\"use-new\")\n            .singleSource(\"disable\")\n            .srcAddrType(\"subnet\")\n            .srcEndIp6(\"::\")\n            .srcPort(0)\n            .srcSubnet(\"0.0.0.0 0.0.0.0\")\n            .build());\n\n        var trname = new Ipsecaggregate(\"trname\", IpsecaggregateArgs.builder()\n            .algorithm(\"round-robin\")\n            .members(IpsecaggregateMemberArgs.builder()\n                .tunnelName(trname1Phase1interface.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1Phase1interface:\n    type: fortios:vpn/ipsec:Phase1interface\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: enable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      autoDiscoveryForwarder: disable\n      autoDiscoveryPsk: disable\n      autoDiscoveryReceiver: disable\n      autoDiscoverySender: disable\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      defaultGw: 0.0.0.0\n      defaultGwPriority: 0\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: manual\n      dpd: on-demand\n      dpdRetrycount: 3\n      dpdRetryinterval: '20'\n      eap: disable\n      eapIdentity: use-id-payload\n      encapLocalGw4: 0.0.0.0\n      encapLocalGw6: '::'\n      encapRemoteGw4: 0.0.0.0\n      encapRemoteGw6: '::'\n      encapsulation: none\n      encapsulationAddress: ike\n      enforceUniqueId: disable\n      exchangeInterfaceIp: disable\n      exchangeIpAddr4: 0.0.0.0\n      exchangeIpAddr6: '::'\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port3\n      ipVersion: '4'\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 0.0.0.0\n      ipv4Netmask: 255.255.255.255\n      ipv4StartIp: 0.0.0.0\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localGw6: '::'\n      localidType: auto\n      meshSelectorType: disable\n      mode: main\n      modeCfg: disable\n      monitorHoldDownDelay: 0\n      monitorHoldDownTime: 00:00\n      monitorHoldDownType: immediate\n      monitorHoldDownWeekday: sunday\n      nattraversal: enable\n      negotiateTimeout: 30\n      netDevice: disable\n      passiveMode: disable\n      peertype: any\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      psksecret: eweeeeeeeecee\n      reauth: disable\n      rekey: enable\n      remoteGw: 2.2.2.2\n      remoteGw6: '::'\n      rsaSignatureFormat: pkcs1\n      savePassword: disable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      tunnelSearch: selectors\n      type: static\n      unitySupport: enable\n      wizardType: custom\n      xauthtype: disable\n  trname1Phase2interface:\n    type: fortios:vpn/ipsec:Phase2interface\n    properties:\n      addRoute: phase1\n      autoDiscoveryForwarder: phase1\n      autoDiscoverySender: phase1\n      autoNegotiate: disable\n      dhcpIpsec: disable\n      dhgrp: 14 5\n      dstAddrType: subnet\n      dstEndIp6: '::'\n      dstPort: 0\n      dstSubnet: 0.0.0.0 0.0.0.0\n      encapsulation: tunnel-mode\n      keepalive: disable\n      keylifeType: seconds\n      keylifekbs: 5120\n      keylifeseconds: 43200\n      l2tp: disable\n      pfs: enable\n      phase1name: ${trname1Phase1interface.name}\n      proposal: aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\n      protocol: 0\n      replay: enable\n      routeOverlap: use-new\n      singleSource: disable\n      srcAddrType: subnet\n      srcEndIp6: '::'\n      srcPort: 0\n      srcSubnet: 0.0.0.0 0.0.0.0\n  trname:\n    type: fortios:system:Ipsecaggregate\n    properties:\n      algorithm: round-robin\n      members:\n        - tunnelName: ${trname1Phase1interface.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem IpsecAggregate can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipsecaggregate:Ipsecaggregate 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:system/ipsecaggregate:Ipsecaggregate labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "algorithm": {
          "type": "string",
          "description": "Frame distribution algorithm.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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:system%2FIpsecaggregateMember:IpsecaggregateMember"
          },
          "description": "Member tunnels of the aggregate. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec aggregate 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": [
        "algorithm",
        "members",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "algorithm": {
          "type": "string",
          "description": "Frame distribution algorithm.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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:system%2FIpsecaggregateMember:IpsecaggregateMember"
          },
          "description": "Member tunnels of the aggregate. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec aggregate 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": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipsecaggregate resources.\n",
        "properties": {
          "algorithm": {
            "type": "string",
            "description": "Frame distribution algorithm.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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:system%2FIpsecaggregateMember:IpsecaggregateMember"
            },
            "description": "Member tunnels of the aggregate. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec aggregate 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:system/ipsurlfilterdns6:Ipsurlfilterdns6": {
      "description": "Configure IPS URL filter IPv6 DNS servers.\n\n## Import\n\nSystem IpsUrlfilterDns6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipsurlfilterdns6:Ipsurlfilterdns6 labelname {{address6}}\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:system/ipsurlfilterdns6:Ipsurlfilterdns6 labelname {{address6}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address6": {
          "type": "string",
          "description": "IPv6 address of DNS server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this server for IPv6 DNS queries. 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": [
        "address6",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "address6": {
          "type": "string",
          "description": "IPv6 address of DNS server.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this server for IPv6 DNS queries. 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 Ipsurlfilterdns6 resources.\n",
        "properties": {
          "address6": {
            "type": "string",
            "description": "IPv6 address of DNS server.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this server for IPv6 DNS queries. 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:system/ipsurlfilterdns:Ipsurlfilterdns": {
      "description": "Configure IPS URL filter DNS servers.\n\n## Import\n\nSystem IpsUrlfilterDns can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipsurlfilterdns:Ipsurlfilterdns labelname {{address}}\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:system/ipsurlfilterdns:Ipsurlfilterdns labelname {{address}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address": {
          "type": "string",
          "description": "DNS server IP address.\n"
        },
        "ipv6Capability": {
          "type": "string",
          "description": "Enable/disable this server for IPv6 queries. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable using this DNS server for IPS URL filter DNS queries. 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": [
        "address",
        "ipv6Capability",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "address": {
          "type": "string",
          "description": "DNS server IP address.\n",
          "willReplaceOnChanges": true
        },
        "ipv6Capability": {
          "type": "string",
          "description": "Enable/disable this server for IPv6 queries. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable using this DNS server for IPS URL filter DNS queries. 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 Ipsurlfilterdns resources.\n",
        "properties": {
          "address": {
            "type": "string",
            "description": "DNS server IP address.\n",
            "willReplaceOnChanges": true
          },
          "ipv6Capability": {
            "type": "string",
            "description": "Enable/disable this server for IPv6 queries. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable using this DNS server for IPS URL filter DNS queries. 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:system/ipv6neighborcache:Ipv6neighborcache": {
      "description": "Configure IPv6 neighbor cache 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.system.Ipv6neighborcache(\"trname\", {\n    fosid: 1,\n    \"interface\": \"port2\",\n    ipv6: \"fe80::b11a:5ae3:198:ba1c\",\n    mac: \"00:00:00:00:00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ipv6neighborcache(\"trname\",\n    fosid=1,\n    interface=\"port2\",\n    ipv6=\"fe80::b11a:5ae3:198:ba1c\",\n    mac=\"00:00:00:00: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.System.Ipv6neighborcache(\"trname\", new()\n    {\n        Fosid = 1,\n        Interface = \"port2\",\n        Ipv6 = \"fe80::b11a:5ae3:198:ba1c\",\n        Mac = \"00:00:00:00: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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewIpv6neighborcache(ctx, \"trname\", &system.Ipv6neighborcacheArgs{\n\t\t\tFosid:     pulumi.Int(1),\n\t\t\tInterface: pulumi.String(\"port2\"),\n\t\t\tIpv6:      pulumi.String(\"fe80::b11a:5ae3:198:ba1c\"),\n\t\t\tMac:       pulumi.String(\"00:00:00:00: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.system.Ipv6neighborcache;\nimport com.pulumi.fortios.system.Ipv6neighborcacheArgs;\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 Ipv6neighborcache(\"trname\", Ipv6neighborcacheArgs.builder()\n            .fosid(1)\n            .interface_(\"port2\")\n            .ipv6(\"fe80::b11a:5ae3:198:ba1c\")\n            .mac(\"00:00:00:00:00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ipv6neighborcache\n    properties:\n      fosid: 1\n      interface: port2\n      ipv6: fe80::b11a:5ae3:198:ba1c\n      mac: 00:00:00:00:00:00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ipv6NeighborCache can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipv6neighborcache:Ipv6neighborcache 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:system/ipv6neighborcache:Ipv6neighborcache labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n"
        },
        "interface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "IPv6 address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address (format: xx:xx:xx:xx:xx:xx).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "interface",
        "ipv6",
        "mac",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n",
          "willReplaceOnChanges": true
        },
        "interface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "IPv6 address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address (format: xx:xx:xx:xx:xx:xx).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "interface",
        "ipv6",
        "mac"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipv6neighborcache resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Unique integer ID of the entry.\n",
            "willReplaceOnChanges": true
          },
          "interface": {
            "type": "string",
            "description": "Select the associated interface name from available options.\n"
          },
          "ipv6": {
            "type": "string",
            "description": "IPv6 address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
          },
          "mac": {
            "type": "string",
            "description": "MAC address (format: xx:xx:xx:xx:xx:xx).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/ipv6tunnel:Ipv6tunnel": {
      "description": "Configure IPv6/IPv4 in IPv6 tunnel.\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.system.Ipv6tunnel(\"trname\", {\n    destination: \"2001:db8:85a3::8a2e:370:7324\",\n    \"interface\": \"port3\",\n    source: \"2001:db8:85a3::8a2e:370:7334\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ipv6tunnel(\"trname\",\n    destination=\"2001:db8:85a3::8a2e:370:7324\",\n    interface=\"port3\",\n    source=\"2001:db8:85a3::8a2e:370:7334\")\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.System.Ipv6tunnel(\"trname\", new()\n    {\n        Destination = \"2001:db8:85a3::8a2e:370:7324\",\n        Interface = \"port3\",\n        Source = \"2001:db8:85a3::8a2e:370:7334\",\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.NewIpv6tunnel(ctx, \"trname\", &system.Ipv6tunnelArgs{\n\t\t\tDestination: pulumi.String(\"2001:db8:85a3::8a2e:370:7324\"),\n\t\t\tInterface:   pulumi.String(\"port3\"),\n\t\t\tSource:      pulumi.String(\"2001:db8:85a3::8a2e:370:7334\"),\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.Ipv6tunnel;\nimport com.pulumi.fortios.system.Ipv6tunnelArgs;\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 Ipv6tunnel(\"trname\", Ipv6tunnelArgs.builder()\n            .destination(\"2001:db8:85a3::8a2e:370:7324\")\n            .interface_(\"port3\")\n            .source(\"2001:db8:85a3::8a2e:370:7334\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ipv6tunnel\n    properties:\n      destination: 2001:db8:85a3::8a2e:370:7324\n      interface: port3\n      source: 2001:db8:85a3::8a2e:370:7334\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ipv6Tunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ipv6tunnel:Ipv6tunnel 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:system/ipv6tunnel:Ipv6tunnel labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "destination": {
          "type": "string",
          "description": "Remote IPv6 address of the tunnel.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 tunnel name.\n"
        },
        "source": {
          "type": "string",
          "description": "Local IPv6 address of the tunnel.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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": [
        "autoAsicOffload",
        "destination",
        "interface",
        "name",
        "source",
        "useSdwan",
        "vdomparam"
      ],
      "inputProperties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "destination": {
          "type": "string",
          "description": "Remote IPv6 address of the tunnel.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "source": {
          "type": "string",
          "description": "Local IPv6 address of the tunnel.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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
        }
      },
      "requiredInputs": [
        "destination"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipv6tunnel resources.\n",
        "properties": {
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "destination": {
            "type": "string",
            "description": "Remote IPv6 address of the tunnel.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "source": {
            "type": "string",
            "description": "Local IPv6 address of the tunnel.\n"
          },
          "useSdwan": {
            "type": "string",
            "description": "Enable/disable use of SD-WAN to reach remote gateway. 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:system/licenseForticare:LicenseForticare": {
      "description": "Provides a resource to add a FortiCare license for FortiOS.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test2 = new fortios.system.LicenseForticare(\"test2\", {registrationCode: \"license\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.LicenseForticare(\"test2\", registration_code=\"license\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test2 = new Fortios.System.LicenseForticare(\"test2\", new()\n    {\n        RegistrationCode = \"license\",\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.NewLicenseForticare(ctx, \"test2\", &system.LicenseForticareArgs{\n\t\t\tRegistrationCode: pulumi.String(\"license\"),\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.LicenseForticare;\nimport com.pulumi.fortios.system.LicenseForticareArgs;\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 test2 = new LicenseForticare(\"test2\", LicenseForticareArgs.builder()\n            .registrationCode(\"license\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:LicenseForticare\n    properties:\n      registrationCode: license\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "registrationCode": {
          "type": "string",
          "description": "Registration code.\n"
        }
      },
      "type": "object",
      "required": [
        "registrationCode"
      ],
      "inputProperties": {
        "registrationCode": {
          "type": "string",
          "description": "Registration code.\n"
        }
      },
      "requiredInputs": [
        "registrationCode"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LicenseForticare resources.\n",
        "properties": {
          "registrationCode": {
            "type": "string",
            "description": "Registration code.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/licenseFortiflex:LicenseFortiflex": {
      "description": "Provides a resource to download VM license using uploaded FortiFlex token for FortiOS. Reboots immediately if successful.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test = new fortios.system.LicenseFortiflex(\"test\", {token: \"5FE7B3CE6B606DEB20E3\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest = fortios.system.LicenseFortiflex(\"test\", token=\"5FE7B3CE6B606DEB20E3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test = new Fortios.System.LicenseFortiflex(\"test\", new()\n    {\n        Token = \"5FE7B3CE6B606DEB20E3\",\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.NewLicenseFortiflex(ctx, \"test\", &system.LicenseFortiflexArgs{\n\t\t\tToken: pulumi.String(\"5FE7B3CE6B606DEB20E3\"),\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.LicenseFortiflex;\nimport com.pulumi.fortios.system.LicenseFortiflexArgs;\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 test = new LicenseFortiflex(\"test\", LicenseFortiflexArgs.builder()\n            .token(\"5FE7B3CE6B606DEB20E3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: fortios:system:LicenseFortiflex\n    properties:\n      token: 5FE7B3CE6B606DEB20E3\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "proxyUrl": {
          "type": "string",
          "description": "HTTP proxy URL in the form: http://user:pass@proxyip:proxyport.\n"
        },
        "token": {
          "type": "string",
          "description": "FortiFlex VM license token.\n"
        }
      },
      "type": "object",
      "required": [
        "token"
      ],
      "inputProperties": {
        "proxyUrl": {
          "type": "string",
          "description": "HTTP proxy URL in the form: http://user:pass@proxyip:proxyport.\n"
        },
        "token": {
          "type": "string",
          "description": "FortiFlex VM license token.\n"
        }
      },
      "requiredInputs": [
        "token"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LicenseFortiflex resources.\n",
        "properties": {
          "proxyUrl": {
            "type": "string",
            "description": "HTTP proxy URL in the form: http://user:pass@proxyip:proxyport.\n"
          },
          "token": {
            "type": "string",
            "description": "FortiFlex VM license token.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/licenseVdom:LicenseVdom": {
      "description": "Provides a resource to add a VDOM license for FortiOS.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test2 = new fortios.system.LicenseVdom(\"test2\", {license: \"license\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.LicenseVdom(\"test2\", license=\"license\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test2 = new Fortios.System.LicenseVdom(\"test2\", new()\n    {\n        License = \"license\",\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.NewLicenseVdom(ctx, \"test2\", &system.LicenseVdomArgs{\n\t\t\tLicense: pulumi.String(\"license\"),\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.LicenseVdom;\nimport com.pulumi.fortios.system.LicenseVdomArgs;\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 test2 = new LicenseVdom(\"test2\", LicenseVdomArgs.builder()\n            .license(\"license\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:LicenseVdom\n    properties:\n      license: license\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "license": {
          "type": "string",
          "description": "Registration code.\n"
        }
      },
      "type": "object",
      "required": [
        "license"
      ],
      "inputProperties": {
        "license": {
          "type": "string",
          "description": "Registration code.\n"
        }
      },
      "requiredInputs": [
        "license"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LicenseVdom resources.\n",
        "properties": {
          "license": {
            "type": "string",
            "description": "Registration code.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/licenseVm:LicenseVm": {
      "description": "Provides a resource to update VM license using uploaded file for FortiOS. Reboots immediately if successful.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test2 = new fortios.system.LicenseVm(\"test2\", {fileContent: \"LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.LicenseVm(\"test2\", file_content=\"LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test2 = new Fortios.System.LicenseVm(\"test2\", new()\n    {\n        FileContent = \"LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\",\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.NewLicenseVm(ctx, \"test2\", &system.LicenseVmArgs{\n\t\t\tFileContent: pulumi.String(\"LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\"),\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.LicenseVm;\nimport com.pulumi.fortios.system.LicenseVmArgs;\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 test2 = new LicenseVm(\"test2\", LicenseVmArgs.builder()\n            .fileContent(\"LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:LicenseVm\n    properties:\n      fileContent: LS0tLS1CRUdJTiBGR1QgVk0gTElDRU5TRS0tLS0tDQpRQUFBQUxXaTdCVnVkV2x3QXJZcC92S2J2Yk5zME5YNWluUW9sVldmcFoxWldJQi9pL2g4c01oR0psWWc5Vkl1DQorSlBJRis1aFphMWwyNm9yNHdiEQE3RnJDeVZnQUFBQWhxWjliWHFLK1hGN2o3dnB3WTB6QXRTaTdOMVM1ZWNxDQpWYmRRREZyYklUdnRvUWNyRU1jV0ltQzFqWWs5dmVoeGlYTG1OV0MwN25BSitYTTJFNmh2b29DMjE1YUwxK2wrDQovUHl5M0VLVnNTNjJDT2hMZHc3UndXajB3V3RqMmZiWg0KLS0tLS1FTkQgRkdUIFZNIExJQ0VOU0UtLS0tLQ0K\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "fileContent": {
          "type": "string",
          "description": "The license file, it needs to be base64 encoded, must not contain whitespace or other invalid base64 characters, and must be included in HTTP body.\n"
        }
      },
      "type": "object",
      "required": [
        "fileContent"
      ],
      "inputProperties": {
        "fileContent": {
          "type": "string",
          "description": "The license file, it needs to be base64 encoded, must not contain whitespace or other invalid base64 characters, and must be included in HTTP body.\n"
        }
      },
      "requiredInputs": [
        "fileContent"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LicenseVm resources.\n",
        "properties": {
          "fileContent": {
            "type": "string",
            "description": "The license file, it needs to be base64 encoded, must not contain whitespace or other invalid base64 characters, and must be included in HTTP body.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/linkmonitor:Linkmonitor": {
      "description": "Configure Link Health Monitor.\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.system.Linkmonitor(\"trname\", {\n    addrMode: \"ipv4\",\n    failtime: 5,\n    gatewayIp: \"2.2.2.2\",\n    gatewayIp6: \"::\",\n    haPriority: 1,\n    httpAgent: \"Chrome/ Safari/\",\n    httpGet: \"/\",\n    interval: 1,\n    packetSize: 64,\n    port: 80,\n    protocol: \"ping\",\n    recoverytime: 5,\n    securityMode: \"none\",\n    servers: [{\n        address: \"3.3.3.3\",\n    }],\n    sourceIp: \"0.0.0.0\",\n    sourceIp6: \"::\",\n    srcintf: \"port4\",\n    status: \"enable\",\n    updateCascadeInterface: \"enable\",\n    updateStaticRoute: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Linkmonitor(\"trname\",\n    addr_mode=\"ipv4\",\n    failtime=5,\n    gateway_ip=\"2.2.2.2\",\n    gateway_ip6=\"::\",\n    ha_priority=1,\n    http_agent=\"Chrome/ Safari/\",\n    http_get=\"/\",\n    interval=1,\n    packet_size=64,\n    port=80,\n    protocol=\"ping\",\n    recoverytime=5,\n    security_mode=\"none\",\n    servers=[fortios.system.LinkmonitorServerArgs(\n        address=\"3.3.3.3\",\n    )],\n    source_ip=\"0.0.0.0\",\n    source_ip6=\"::\",\n    srcintf=\"port4\",\n    status=\"enable\",\n    update_cascade_interface=\"enable\",\n    update_static_route=\"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.System.Linkmonitor(\"trname\", new()\n    {\n        AddrMode = \"ipv4\",\n        Failtime = 5,\n        GatewayIp = \"2.2.2.2\",\n        GatewayIp6 = \"::\",\n        HaPriority = 1,\n        HttpAgent = \"Chrome/ Safari/\",\n        HttpGet = \"/\",\n        Interval = 1,\n        PacketSize = 64,\n        Port = 80,\n        Protocol = \"ping\",\n        Recoverytime = 5,\n        SecurityMode = \"none\",\n        Servers = new[]\n        {\n            new Fortios.System.Inputs.LinkmonitorServerArgs\n            {\n                Address = \"3.3.3.3\",\n            },\n        },\n        SourceIp = \"0.0.0.0\",\n        SourceIp6 = \"::\",\n        Srcintf = \"port4\",\n        Status = \"enable\",\n        UpdateCascadeInterface = \"enable\",\n        UpdateStaticRoute = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewLinkmonitor(ctx, \"trname\", &system.LinkmonitorArgs{\n\t\t\tAddrMode:     pulumi.String(\"ipv4\"),\n\t\t\tFailtime:     pulumi.Int(5),\n\t\t\tGatewayIp:    pulumi.String(\"2.2.2.2\"),\n\t\t\tGatewayIp6:   pulumi.String(\"::\"),\n\t\t\tHaPriority:   pulumi.Int(1),\n\t\t\tHttpAgent:    pulumi.String(\"Chrome/ Safari/\"),\n\t\t\tHttpGet:      pulumi.String(\"/\"),\n\t\t\tInterval:     pulumi.Int(1),\n\t\t\tPacketSize:   pulumi.Int(64),\n\t\t\tPort:         pulumi.Int(80),\n\t\t\tProtocol:     pulumi.String(\"ping\"),\n\t\t\tRecoverytime: pulumi.Int(5),\n\t\t\tSecurityMode: pulumi.String(\"none\"),\n\t\t\tServers: system.LinkmonitorServerArray{\n\t\t\t\t&system.LinkmonitorServerArgs{\n\t\t\t\t\tAddress: pulumi.String(\"3.3.3.3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIp6:              pulumi.String(\"::\"),\n\t\t\tSrcintf:                pulumi.String(\"port4\"),\n\t\t\tStatus:                 pulumi.String(\"enable\"),\n\t\t\tUpdateCascadeInterface: pulumi.String(\"enable\"),\n\t\t\tUpdateStaticRoute:      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.system.Linkmonitor;\nimport com.pulumi.fortios.system.LinkmonitorArgs;\nimport com.pulumi.fortios.system.inputs.LinkmonitorServerArgs;\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 Linkmonitor(\"trname\", LinkmonitorArgs.builder()\n            .addrMode(\"ipv4\")\n            .failtime(5)\n            .gatewayIp(\"2.2.2.2\")\n            .gatewayIp6(\"::\")\n            .haPriority(1)\n            .httpAgent(\"Chrome/ Safari/\")\n            .httpGet(\"/\")\n            .interval(1)\n            .packetSize(64)\n            .port(80)\n            .protocol(\"ping\")\n            .recoverytime(5)\n            .securityMode(\"none\")\n            .servers(LinkmonitorServerArgs.builder()\n                .address(\"3.3.3.3\")\n                .build())\n            .sourceIp(\"0.0.0.0\")\n            .sourceIp6(\"::\")\n            .srcintf(\"port4\")\n            .status(\"enable\")\n            .updateCascadeInterface(\"enable\")\n            .updateStaticRoute(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Linkmonitor\n    properties:\n      addrMode: ipv4\n      failtime: 5\n      gatewayIp: 2.2.2.2\n      gatewayIp6: '::'\n      haPriority: 1\n      httpAgent: Chrome/ Safari/\n      httpGet: /\n      interval: 1\n      packetSize: 64\n      port: 80\n      protocol: ping\n      recoverytime: 5\n      securityMode: none\n      servers:\n        - address: 3.3.3.3\n      sourceIp: 0.0.0.0\n      sourceIp6: '::'\n      srcintf: port4\n      status: enable\n      updateCascadeInterface: enable\n      updateStaticRoute: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem LinkMonitor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/linkmonitor:Linkmonitor 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:system/linkmonitor:Linkmonitor labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failWeight": {
          "type": "integer",
          "description": "Threshold weight to trigger link failure alert.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
        },
        "gatewayIp": {
          "type": "string",
          "description": "Gateway IP address used to probe the server.\n"
        },
        "gatewayIp6": {
          "type": "string",
          "description": "Gateway IPv6 address used to probe the server.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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": "If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "String that you expect to see in the HTTP-GET requests of the traffic to be monitored.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500.\n"
        },
        "name": {
          "type": "string",
          "description": "Link monitor 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 of the traffic to be used to monitor the server.\n"
        },
        "probeCount": {
          "type": "integer",
          "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
        },
        "probeTimeout": {
          "type": "integer",
          "description": "Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols used to monitor the server.\n"
        },
        "recoverytime": {
          "type": "integer",
          "description": "Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorRoute:LinkmonitorRoute"
          },
          "description": "Subnet to monitor. The structure of `route` block is documented below.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp controller security mode. Valid values: `none`, `authentication`.\n"
        },
        "serverConfig": {
          "type": "string",
          "description": "Mode of server configuration. Valid values: `default`, `individual`.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorServerList:LinkmonitorServerList"
          },
          "description": "Servers for link-monitor to monitor. The structure of `server_list` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type (static or dynamic). Valid values: `static`, `dynamic`.\n"
        },
        "servers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorServer:LinkmonitorServer"
          },
          "description": "IP address of the server(s) to be monitored. The structure of `server` block is documented below.\n"
        },
        "serviceDetection": {
          "type": "string",
          "description": "Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address used in packet to the server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used in packet to the server.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Interface that receives the traffic to be monitored.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this link monitor. Valid values: `enable`, `disable`.\n"
        },
        "updateCascadeInterface": {
          "type": "string",
          "description": "Enable/disable update cascade interface. Valid values: `enable`, `disable`.\n"
        },
        "updatePolicyRoute": {
          "type": "string",
          "description": "Enable/disable updating the policy route. Valid values: `enable`, `disable`.\n"
        },
        "updateStaticRoute": {
          "type": "string",
          "description": "Enable/disable updating the static route. 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": [
        "addrMode",
        "classId",
        "diffservcode",
        "failWeight",
        "failtime",
        "gatewayIp",
        "gatewayIp6",
        "haPriority",
        "httpAgent",
        "httpGet",
        "httpMatch",
        "interval",
        "name",
        "packetSize",
        "port",
        "probeCount",
        "probeTimeout",
        "protocol",
        "recoverytime",
        "securityMode",
        "serverConfig",
        "serverType",
        "servers",
        "serviceDetection",
        "sourceIp",
        "sourceIp6",
        "srcintf",
        "status",
        "updateCascadeInterface",
        "updatePolicyRoute",
        "updateStaticRoute",
        "vdomparam"
      ],
      "inputProperties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "failWeight": {
          "type": "integer",
          "description": "Threshold weight to trigger link failure alert.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
        },
        "gatewayIp": {
          "type": "string",
          "description": "Gateway IP address used to probe the server.\n"
        },
        "gatewayIp6": {
          "type": "string",
          "description": "Gateway IPv6 address used to probe the server.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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": "If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "String that you expect to see in the HTTP-GET requests of the traffic to be monitored.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500.\n"
        },
        "name": {
          "type": "string",
          "description": "Link monitor name.\n",
          "willReplaceOnChanges": true
        },
        "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 of the traffic to be used to monitor the server.\n"
        },
        "probeCount": {
          "type": "integer",
          "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
        },
        "probeTimeout": {
          "type": "integer",
          "description": "Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols used to monitor the server.\n"
        },
        "recoverytime": {
          "type": "integer",
          "description": "Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorRoute:LinkmonitorRoute"
          },
          "description": "Subnet to monitor. The structure of `route` block is documented below.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp controller security mode. Valid values: `none`, `authentication`.\n"
        },
        "serverConfig": {
          "type": "string",
          "description": "Mode of server configuration. Valid values: `default`, `individual`.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorServerList:LinkmonitorServerList"
          },
          "description": "Servers for link-monitor to monitor. The structure of `server_list` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type (static or dynamic). Valid values: `static`, `dynamic`.\n"
        },
        "servers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FLinkmonitorServer:LinkmonitorServer"
          },
          "description": "IP address of the server(s) to be monitored. The structure of `server` block is documented below.\n"
        },
        "serviceDetection": {
          "type": "string",
          "description": "Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address used in packet to the server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used in packet to the server.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Interface that receives the traffic to be monitored.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this link monitor. Valid values: `enable`, `disable`.\n"
        },
        "updateCascadeInterface": {
          "type": "string",
          "description": "Enable/disable update cascade interface. Valid values: `enable`, `disable`.\n"
        },
        "updatePolicyRoute": {
          "type": "string",
          "description": "Enable/disable updating the policy route. Valid values: `enable`, `disable`.\n"
        },
        "updateStaticRoute": {
          "type": "string",
          "description": "Enable/disable updating the static route. 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": [
        "servers"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Linkmonitor resources.\n",
        "properties": {
          "addrMode": {
            "type": "string",
            "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
          },
          "classId": {
            "type": "integer",
            "description": "Traffic class ID.\n"
          },
          "diffservcode": {
            "type": "string",
            "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "failWeight": {
            "type": "integer",
            "description": "Threshold weight to trigger link failure alert.\n"
          },
          "failtime": {
            "type": "integer",
            "description": "Number of retry attempts before the server is considered down (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
          },
          "gatewayIp": {
            "type": "string",
            "description": "Gateway IP address used to probe the server.\n"
          },
          "gatewayIp6": {
            "type": "string",
            "description": "Gateway IPv6 address used to probe the server.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\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": "If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string.\n"
          },
          "httpMatch": {
            "type": "string",
            "description": "String that you expect to see in the HTTP-GET requests of the traffic to be monitored.\n"
          },
          "interval": {
            "type": "integer",
            "description": "Detection interval. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 3600 * 1000 msec, default = 500. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600 * 1000 msec, default = 500.\n"
          },
          "name": {
            "type": "string",
            "description": "Link monitor name.\n",
            "willReplaceOnChanges": true
          },
          "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 of the traffic to be used to monitor the server.\n"
          },
          "probeCount": {
            "type": "integer",
            "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
          },
          "probeTimeout": {
            "type": "integer",
            "description": "Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.2.4-7.0.10, 7.2.0-7.2.4: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 5000 msec.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocols used to monitor the server.\n"
          },
          "recoverytime": {
            "type": "integer",
            "description": "Number of successful responses received before server is considered recovered (default = 5). On FortiOS versions 6.2.0-7.0.5: 1 - 10. On FortiOS versions >= 7.0.6: 1 - 3600.\n"
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FLinkmonitorRoute:LinkmonitorRoute"
            },
            "description": "Subnet to monitor. The structure of `route` block is documented below.\n"
          },
          "securityMode": {
            "type": "string",
            "description": "Twamp controller security mode. Valid values: `none`, `authentication`.\n"
          },
          "serverConfig": {
            "type": "string",
            "description": "Mode of server configuration. Valid values: `default`, `individual`.\n"
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FLinkmonitorServerList:LinkmonitorServerList"
            },
            "description": "Servers for link-monitor to monitor. The structure of `server_list` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Server type (static or dynamic). Valid values: `static`, `dynamic`.\n"
          },
          "servers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FLinkmonitorServer:LinkmonitorServer"
            },
            "description": "IP address of the server(s) to be monitored. The structure of `server` block is documented below.\n"
          },
          "serviceDetection": {
            "type": "string",
            "description": "Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated. Valid values: `enable`, `disable`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address used in packet to the server.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "Source IPv6 address used in packet to the server.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "Interface that receives the traffic to be monitored.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this link monitor. Valid values: `enable`, `disable`.\n"
          },
          "updateCascadeInterface": {
            "type": "string",
            "description": "Enable/disable update cascade interface. Valid values: `enable`, `disable`.\n"
          },
          "updatePolicyRoute": {
            "type": "string",
            "description": "Enable/disable updating the policy route. Valid values: `enable`, `disable`.\n"
          },
          "updateStaticRoute": {
            "type": "string",
            "description": "Enable/disable updating the static route. 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:system/lldp/networkpolicy:Networkpolicy": {
      "description": "Configure LLDP network policy.\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.system.lldp.Networkpolicy(\"trname\", {comment: \"test\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.lldp.Networkpolicy(\"trname\", comment=\"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.System.Lldp.Networkpolicy(\"trname\", new()\n    {\n        Comment = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewNetworkpolicy(ctx, \"trname\", &system.NetworkpolicyArgs{\n\t\t\tComment: 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.system.Networkpolicy;\nimport com.pulumi.fortios.system.NetworkpolicyArgs;\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 Networkpolicy(\"trname\", NetworkpolicyArgs.builder()\n            .comment(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/lldp:Networkpolicy\n    properties:\n      comment: test\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemLldp NetworkPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/lldp/networkpolicy:Networkpolicy 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:system/lldp/networkpolicy:Networkpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "guest": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuest:NetworkpolicyGuest",
          "description": "Guest. The structure of `guest` block is documented below.\n"
        },
        "guestVoiceSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuestVoiceSignaling:NetworkpolicyGuestVoiceSignaling",
          "description": "Guest Voice Signaling. The structure of `guest_voice_signaling` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "LLDP network policy name.\n"
        },
        "softphone": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicySoftphone:NetworkpolicySoftphone",
          "description": "Softphone. The structure of `softphone` block is documented below.\n"
        },
        "streamingVideo": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyStreamingVideo:NetworkpolicyStreamingVideo",
          "description": "Streaming Video. The structure of `streaming_video` 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"
        },
        "videoConferencing": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoConferencing:NetworkpolicyVideoConferencing",
          "description": "Video Conferencing. The structure of `video_conferencing` block is documented below.\n"
        },
        "videoSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoSignaling:NetworkpolicyVideoSignaling",
          "description": "Video Signaling. The structure of `video_signaling` block is documented below.\n"
        },
        "voice": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoice:NetworkpolicyVoice",
          "description": "Voice. The structure of `voice` block is documented below.\n"
        },
        "voiceSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoiceSignaling:NetworkpolicyVoiceSignaling",
          "description": "Voice signaling. The structure of `voice_signaling` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "guest",
        "guestVoiceSignaling",
        "name",
        "softphone",
        "streamingVideo",
        "vdomparam",
        "videoConferencing",
        "videoSignaling",
        "voice",
        "voiceSignaling"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "guest": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuest:NetworkpolicyGuest",
          "description": "Guest. The structure of `guest` block is documented below.\n"
        },
        "guestVoiceSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuestVoiceSignaling:NetworkpolicyGuestVoiceSignaling",
          "description": "Guest Voice Signaling. The structure of `guest_voice_signaling` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "LLDP network policy name.\n",
          "willReplaceOnChanges": true
        },
        "softphone": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicySoftphone:NetworkpolicySoftphone",
          "description": "Softphone. The structure of `softphone` block is documented below.\n"
        },
        "streamingVideo": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyStreamingVideo:NetworkpolicyStreamingVideo",
          "description": "Streaming Video. The structure of `streaming_video` 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
        },
        "videoConferencing": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoConferencing:NetworkpolicyVideoConferencing",
          "description": "Video Conferencing. The structure of `video_conferencing` block is documented below.\n"
        },
        "videoSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoSignaling:NetworkpolicyVideoSignaling",
          "description": "Video Signaling. The structure of `video_signaling` block is documented below.\n"
        },
        "voice": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoice:NetworkpolicyVoice",
          "description": "Voice. The structure of `voice` block is documented below.\n"
        },
        "voiceSignaling": {
          "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoiceSignaling:NetworkpolicyVoiceSignaling",
          "description": "Voice signaling. The structure of `voice_signaling` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Networkpolicy resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "guest": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuest:NetworkpolicyGuest",
            "description": "Guest. The structure of `guest` block is documented below.\n"
          },
          "guestVoiceSignaling": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyGuestVoiceSignaling:NetworkpolicyGuestVoiceSignaling",
            "description": "Guest Voice Signaling. The structure of `guest_voice_signaling` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "LLDP network policy name.\n",
            "willReplaceOnChanges": true
          },
          "softphone": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicySoftphone:NetworkpolicySoftphone",
            "description": "Softphone. The structure of `softphone` block is documented below.\n"
          },
          "streamingVideo": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyStreamingVideo:NetworkpolicyStreamingVideo",
            "description": "Streaming Video. The structure of `streaming_video` 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
          },
          "videoConferencing": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoConferencing:NetworkpolicyVideoConferencing",
            "description": "Video Conferencing. The structure of `video_conferencing` block is documented below.\n"
          },
          "videoSignaling": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVideoSignaling:NetworkpolicyVideoSignaling",
            "description": "Video Signaling. The structure of `video_signaling` block is documented below.\n"
          },
          "voice": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoice:NetworkpolicyVoice",
            "description": "Voice. The structure of `voice` block is documented below.\n"
          },
          "voiceSignaling": {
            "$ref": "#/types/fortios:system%2Flldp%2FNetworkpolicyVoiceSignaling:NetworkpolicyVoiceSignaling",
            "description": "Voice signaling. The structure of `voice_signaling` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/ltemodem:Ltemodem": {
      "description": "Configure USB LTE/WIMAX devices. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem LteModem can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ltemodem:Ltemodem labelname SystemLteModem\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:system/ltemodem:Ltemodem labelname SystemLteModem\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "apn": {
          "type": "string",
          "description": "Login APN string for PDP-IP packet data calls.\n"
        },
        "authtype": {
          "type": "string",
          "description": "Authentication type for PDP-IP packet data calls. Valid values: `none`, `pap`, `chap`.\n"
        },
        "extraInit": {
          "type": "string",
          "description": "Extra initialization string for USB LTE/WIMAX devices.\n"
        },
        "holddownTimer": {
          "type": "integer",
          "description": "Hold down timer (10 - 60 sec).\n"
        },
        "interface": {
          "type": "string",
          "description": "The interface that the modem is acting as a redundant interface for.\n"
        },
        "mode": {
          "type": "string",
          "description": "Modem operation mode. Valid values: `standalone`, `redundant`.\n"
        },
        "modemPort": {
          "type": "integer",
          "description": "Modem port index (0 - 20).\n"
        },
        "passwd": {
          "type": "string",
          "description": "Authentication password for PDP-IP packet data calls.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable USB LTE/WIMAX device. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Authentication username for PDP-IP packet data calls.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "extraInit",
        "holddownTimer",
        "interface",
        "mode",
        "modemPort",
        "status",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "apn": {
          "type": "string",
          "description": "Login APN string for PDP-IP packet data calls.\n"
        },
        "authtype": {
          "type": "string",
          "description": "Authentication type for PDP-IP packet data calls. Valid values: `none`, `pap`, `chap`.\n"
        },
        "extraInit": {
          "type": "string",
          "description": "Extra initialization string for USB LTE/WIMAX devices.\n"
        },
        "holddownTimer": {
          "type": "integer",
          "description": "Hold down timer (10 - 60 sec).\n"
        },
        "interface": {
          "type": "string",
          "description": "The interface that the modem is acting as a redundant interface for.\n"
        },
        "mode": {
          "type": "string",
          "description": "Modem operation mode. Valid values: `standalone`, `redundant`.\n"
        },
        "modemPort": {
          "type": "integer",
          "description": "Modem port index (0 - 20).\n"
        },
        "passwd": {
          "type": "string",
          "description": "Authentication password for PDP-IP packet data calls.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable USB LTE/WIMAX device. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Authentication username for PDP-IP packet data calls.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ltemodem resources.\n",
        "properties": {
          "apn": {
            "type": "string",
            "description": "Login APN string for PDP-IP packet data calls.\n"
          },
          "authtype": {
            "type": "string",
            "description": "Authentication type for PDP-IP packet data calls. Valid values: `none`, `pap`, `chap`.\n"
          },
          "extraInit": {
            "type": "string",
            "description": "Extra initialization string for USB LTE/WIMAX devices.\n"
          },
          "holddownTimer": {
            "type": "integer",
            "description": "Hold down timer (10 - 60 sec).\n"
          },
          "interface": {
            "type": "string",
            "description": "The interface that the modem is acting as a redundant interface for.\n"
          },
          "mode": {
            "type": "string",
            "description": "Modem operation mode. Valid values: `standalone`, `redundant`.\n"
          },
          "modemPort": {
            "type": "integer",
            "description": "Modem port index (0 - 20).\n"
          },
          "passwd": {
            "type": "string",
            "description": "Authentication password for PDP-IP packet data calls.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable USB LTE/WIMAX device. Valid values: `enable`, `disable`.\n"
          },
          "username": {
            "type": "string",
            "description": "Authentication username for PDP-IP packet data calls.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/macaddresstable:Macaddresstable": {
      "description": "Configure MAC address tables.\n\n## Import\n\nSystem MacAddressTable can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/macaddresstable:Macaddresstable labelname {{mac}}\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:system/macaddresstable:Macaddresstable labelname {{mac}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "replySubstitute": {
          "type": "string",
          "description": "New MAC for reply traffic.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "mac",
        "replySubstitute",
        "vdomparam"
      ],
      "inputProperties": {
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n",
          "willReplaceOnChanges": true
        },
        "replySubstitute": {
          "type": "string",
          "description": "New MAC for reply traffic.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "mac"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Macaddresstable resources.\n",
        "properties": {
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "mac": {
            "type": "string",
            "description": "MAC address.\n",
            "willReplaceOnChanges": true
          },
          "replySubstitute": {
            "type": "string",
            "description": "New MAC for reply traffic.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/managementtunnel:Managementtunnel": {
      "description": "Management tunnel 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.system.Managementtunnel(\"trname\", {\n    allowCollectStatistics: \"enable\",\n    allowConfigRestore: \"enable\",\n    allowPushConfiguration: \"enable\",\n    allowPushFirmware: \"enable\",\n    authorizedManagerOnly: \"enable\",\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Managementtunnel(\"trname\",\n    allow_collect_statistics=\"enable\",\n    allow_config_restore=\"enable\",\n    allow_push_configuration=\"enable\",\n    allow_push_firmware=\"enable\",\n    authorized_manager_only=\"enable\",\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.System.Managementtunnel(\"trname\", new()\n    {\n        AllowCollectStatistics = \"enable\",\n        AllowConfigRestore = \"enable\",\n        AllowPushConfiguration = \"enable\",\n        AllowPushFirmware = \"enable\",\n        AuthorizedManagerOnly = \"enable\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewManagementtunnel(ctx, \"trname\", &system.ManagementtunnelArgs{\n\t\t\tAllowCollectStatistics: pulumi.String(\"enable\"),\n\t\t\tAllowConfigRestore:     pulumi.String(\"enable\"),\n\t\t\tAllowPushConfiguration: pulumi.String(\"enable\"),\n\t\t\tAllowPushFirmware:      pulumi.String(\"enable\"),\n\t\t\tAuthorizedManagerOnly:  pulumi.String(\"enable\"),\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.system.Managementtunnel;\nimport com.pulumi.fortios.system.ManagementtunnelArgs;\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 Managementtunnel(\"trname\", ManagementtunnelArgs.builder()\n            .allowCollectStatistics(\"enable\")\n            .allowConfigRestore(\"enable\")\n            .allowPushConfiguration(\"enable\")\n            .allowPushFirmware(\"enable\")\n            .authorizedManagerOnly(\"enable\")\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Managementtunnel\n    properties:\n      allowCollectStatistics: enable\n      allowConfigRestore: enable\n      allowPushConfiguration: enable\n      allowPushFirmware: enable\n      authorizedManagerOnly: enable\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ManagementTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/managementtunnel:Managementtunnel labelname SystemManagementTunnel\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:system/managementtunnel:Managementtunnel labelname SystemManagementTunnel\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowCollectStatistics": {
          "type": "string",
          "description": "Enable/disable collection of run time statistics. Valid values: `enable`, `disable`.\n"
        },
        "allowConfigRestore": {
          "type": "string",
          "description": "Enable/disable allow config restore. Valid values: `enable`, `disable`.\n"
        },
        "allowPushConfiguration": {
          "type": "string",
          "description": "Enable/disable push configuration. Valid values: `enable`, `disable`.\n"
        },
        "allowPushFirmware": {
          "type": "string",
          "description": "Enable/disable push firmware. Valid values: `enable`, `disable`.\n"
        },
        "authorizedManagerOnly": {
          "type": "string",
          "description": "Enable/disable restriction of authorized manager only. Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FGFM tunnel. 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": [
        "allowCollectStatistics",
        "allowConfigRestore",
        "allowPushConfiguration",
        "allowPushFirmware",
        "authorizedManagerOnly",
        "serialNumber",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "allowCollectStatistics": {
          "type": "string",
          "description": "Enable/disable collection of run time statistics. Valid values: `enable`, `disable`.\n"
        },
        "allowConfigRestore": {
          "type": "string",
          "description": "Enable/disable allow config restore. Valid values: `enable`, `disable`.\n"
        },
        "allowPushConfiguration": {
          "type": "string",
          "description": "Enable/disable push configuration. Valid values: `enable`, `disable`.\n"
        },
        "allowPushFirmware": {
          "type": "string",
          "description": "Enable/disable push firmware. Valid values: `enable`, `disable`.\n"
        },
        "authorizedManagerOnly": {
          "type": "string",
          "description": "Enable/disable restriction of authorized manager only. Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FGFM tunnel. 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 Managementtunnel resources.\n",
        "properties": {
          "allowCollectStatistics": {
            "type": "string",
            "description": "Enable/disable collection of run time statistics. Valid values: `enable`, `disable`.\n"
          },
          "allowConfigRestore": {
            "type": "string",
            "description": "Enable/disable allow config restore. Valid values: `enable`, `disable`.\n"
          },
          "allowPushConfiguration": {
            "type": "string",
            "description": "Enable/disable push configuration. Valid values: `enable`, `disable`.\n"
          },
          "allowPushFirmware": {
            "type": "string",
            "description": "Enable/disable push firmware. Valid values: `enable`, `disable`.\n"
          },
          "authorizedManagerOnly": {
            "type": "string",
            "description": "Enable/disable restriction of authorized manager only. Valid values: `enable`, `disable`.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial number.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FGFM tunnel. 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:system/mobiletunnel:Mobiletunnel": {
      "description": "Configure Mobile tunnels, an implementation of Network Mobility (NEMO) extensions for Mobile IPv4 RFC5177.\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.system.Mobiletunnel(\"trname\", {\n    hashAlgorithm: \"hmac-md5\",\n    homeAddress: \"0.0.0.0\",\n    homeAgent: \"1.1.1.1\",\n    lifetime: 65535,\n    nMhaeKey: \"'ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='\",\n    nMhaeKeyType: \"ascii\",\n    nMhaeSpi: 256,\n    regInterval: 5,\n    regRetry: 3,\n    renewInterval: 60,\n    roamingInterface: \"port3\",\n    status: \"disable\",\n    tunnelMode: \"gre\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Mobiletunnel(\"trname\",\n    hash_algorithm=\"hmac-md5\",\n    home_address=\"0.0.0.0\",\n    home_agent=\"1.1.1.1\",\n    lifetime=65535,\n    n_mhae_key=\"'ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='\",\n    n_mhae_key_type=\"ascii\",\n    n_mhae_spi=256,\n    reg_interval=5,\n    reg_retry=3,\n    renew_interval=60,\n    roaming_interface=\"port3\",\n    status=\"disable\",\n    tunnel_mode=\"gre\")\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.System.Mobiletunnel(\"trname\", new()\n    {\n        HashAlgorithm = \"hmac-md5\",\n        HomeAddress = \"0.0.0.0\",\n        HomeAgent = \"1.1.1.1\",\n        Lifetime = 65535,\n        NMhaeKey = \"'ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='\",\n        NMhaeKeyType = \"ascii\",\n        NMhaeSpi = 256,\n        RegInterval = 5,\n        RegRetry = 3,\n        RenewInterval = 60,\n        RoamingInterface = \"port3\",\n        Status = \"disable\",\n        TunnelMode = \"gre\",\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.NewMobiletunnel(ctx, \"trname\", &system.MobiletunnelArgs{\n\t\t\tHashAlgorithm:    pulumi.String(\"hmac-md5\"),\n\t\t\tHomeAddress:      pulumi.String(\"0.0.0.0\"),\n\t\t\tHomeAgent:        pulumi.String(\"1.1.1.1\"),\n\t\t\tLifetime:         pulumi.Int(65535),\n\t\t\tNMhaeKey:         pulumi.String(\"'ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='\"),\n\t\t\tNMhaeKeyType:     pulumi.String(\"ascii\"),\n\t\t\tNMhaeSpi:         pulumi.Int(256),\n\t\t\tRegInterval:      pulumi.Int(5),\n\t\t\tRegRetry:         pulumi.Int(3),\n\t\t\tRenewInterval:    pulumi.Int(60),\n\t\t\tRoamingInterface: pulumi.String(\"port3\"),\n\t\t\tStatus:           pulumi.String(\"disable\"),\n\t\t\tTunnelMode:       pulumi.String(\"gre\"),\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.Mobiletunnel;\nimport com.pulumi.fortios.system.MobiletunnelArgs;\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 Mobiletunnel(\"trname\", MobiletunnelArgs.builder()\n            .hashAlgorithm(\"hmac-md5\")\n            .homeAddress(\"0.0.0.0\")\n            .homeAgent(\"1.1.1.1\")\n            .lifetime(65535)\n            .nMhaeKey(\"'ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='\")\n            .nMhaeKeyType(\"ascii\")\n            .nMhaeSpi(256)\n            .regInterval(5)\n            .regRetry(3)\n            .renewInterval(60)\n            .roamingInterface(\"port3\")\n            .status(\"disable\")\n            .tunnelMode(\"gre\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Mobiletunnel\n    properties:\n      hashAlgorithm: hmac-md5\n      homeAddress: 0.0.0.0\n      homeAgent: 1.1.1.1\n      lifetime: 65535\n      nMhaeKey: '''ENC M2wyM3DcnUhqgich7vsLk5oVuPAI9LTkcFNt0c3jI1ujC6w1XBot7gsRAf2S8X5dagfUnJGhZ5LrQxw21e4y8oXuCOLp8MmaRZbCkxYCAl1wm/wVY3aNzVk2+jE='''\n      nMhaeKeyType: ascii\n      nMhaeSpi: 256\n      regInterval: 5\n      regRetry: 3\n      renewInterval: 60\n      roamingInterface: port3\n      status: disable\n      tunnelMode: gre\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem MobileTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/mobiletunnel:Mobiletunnel 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:system/mobiletunnel:Mobiletunnel 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"
        },
        "hashAlgorithm": {
          "type": "string",
          "description": "Hash Algorithm (Keyed MD5). Valid values: `hmac-md5`.\n"
        },
        "homeAddress": {
          "type": "string",
          "description": "Home IP address (Format: xxx.xxx.xxx.xxx).\n"
        },
        "homeAgent": {
          "type": "string",
          "description": "IPv4 address of the NEMO HA (Format: xxx.xxx.xxx.xxx).\n"
        },
        "lifetime": {
          "type": "integer",
          "description": "NMMO HA registration request lifetime (180 - 65535 sec, default = 65535).\n"
        },
        "nMhaeKey": {
          "type": "string",
          "description": "NEMO authentication key.\n",
          "secret": true
        },
        "nMhaeKeyType": {
          "type": "string",
          "description": "NEMO authentication key type (ascii or base64). Valid values: `ascii`, `base64`.\n"
        },
        "nMhaeSpi": {
          "type": "integer",
          "description": "NEMO authentication SPI (default: 256).\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n"
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FMobiletunnelNetwork:MobiletunnelNetwork"
          },
          "description": "NEMO network configuration. The structure of `network` block is documented below.\n"
        },
        "regInterval": {
          "type": "integer",
          "description": "NMMO HA registration interval (5 - 300, default = 5).\n"
        },
        "regRetry": {
          "type": "integer",
          "description": "Maximum number of NMMO HA registration retries (1 to 30, default = 3).\n"
        },
        "renewInterval": {
          "type": "integer",
          "description": "Time before lifetime expiration to send NMMO HA re-registration (5 - 60, default = 60).\n"
        },
        "roamingInterface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this mobile tunnel. Valid values: `disable`, `enable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "NEMO tunnel mode (GRE tunnel). Valid values: `gre`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "hashAlgorithm",
        "homeAddress",
        "homeAgent",
        "lifetime",
        "nMhaeKey",
        "nMhaeKeyType",
        "nMhaeSpi",
        "name",
        "regInterval",
        "regRetry",
        "renewInterval",
        "roamingInterface",
        "status",
        "tunnelMode",
        "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"
        },
        "hashAlgorithm": {
          "type": "string",
          "description": "Hash Algorithm (Keyed MD5). Valid values: `hmac-md5`.\n"
        },
        "homeAddress": {
          "type": "string",
          "description": "Home IP address (Format: xxx.xxx.xxx.xxx).\n"
        },
        "homeAgent": {
          "type": "string",
          "description": "IPv4 address of the NEMO HA (Format: xxx.xxx.xxx.xxx).\n"
        },
        "lifetime": {
          "type": "integer",
          "description": "NMMO HA registration request lifetime (180 - 65535 sec, default = 65535).\n"
        },
        "nMhaeKey": {
          "type": "string",
          "description": "NEMO authentication key.\n",
          "secret": true
        },
        "nMhaeKeyType": {
          "type": "string",
          "description": "NEMO authentication key type (ascii or base64). Valid values: `ascii`, `base64`.\n"
        },
        "nMhaeSpi": {
          "type": "integer",
          "description": "NEMO authentication SPI (default: 256).\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "networks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FMobiletunnelNetwork:MobiletunnelNetwork"
          },
          "description": "NEMO network configuration. The structure of `network` block is documented below.\n"
        },
        "regInterval": {
          "type": "integer",
          "description": "NMMO HA registration interval (5 - 300, default = 5).\n"
        },
        "regRetry": {
          "type": "integer",
          "description": "Maximum number of NMMO HA registration retries (1 to 30, default = 3).\n"
        },
        "renewInterval": {
          "type": "integer",
          "description": "Time before lifetime expiration to send NMMO HA re-registration (5 - 60, default = 60).\n"
        },
        "roamingInterface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this mobile tunnel. Valid values: `disable`, `enable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "NEMO tunnel mode (GRE tunnel). Valid values: `gre`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "hashAlgorithm",
        "homeAgent",
        "lifetime",
        "nMhaeKeyType",
        "nMhaeSpi",
        "regInterval",
        "regRetry",
        "renewInterval",
        "roamingInterface",
        "tunnelMode"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Mobiletunnel 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"
          },
          "hashAlgorithm": {
            "type": "string",
            "description": "Hash Algorithm (Keyed MD5). Valid values: `hmac-md5`.\n"
          },
          "homeAddress": {
            "type": "string",
            "description": "Home IP address (Format: xxx.xxx.xxx.xxx).\n"
          },
          "homeAgent": {
            "type": "string",
            "description": "IPv4 address of the NEMO HA (Format: xxx.xxx.xxx.xxx).\n"
          },
          "lifetime": {
            "type": "integer",
            "description": "NMMO HA registration request lifetime (180 - 65535 sec, default = 65535).\n"
          },
          "nMhaeKey": {
            "type": "string",
            "description": "NEMO authentication key.\n",
            "secret": true
          },
          "nMhaeKeyType": {
            "type": "string",
            "description": "NEMO authentication key type (ascii or base64). Valid values: `ascii`, `base64`.\n"
          },
          "nMhaeSpi": {
            "type": "integer",
            "description": "NEMO authentication SPI (default: 256).\n"
          },
          "name": {
            "type": "string",
            "description": "Tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "networks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FMobiletunnelNetwork:MobiletunnelNetwork"
            },
            "description": "NEMO network configuration. The structure of `network` block is documented below.\n"
          },
          "regInterval": {
            "type": "integer",
            "description": "NMMO HA registration interval (5 - 300, default = 5).\n"
          },
          "regRetry": {
            "type": "integer",
            "description": "Maximum number of NMMO HA registration retries (1 to 30, default = 3).\n"
          },
          "renewInterval": {
            "type": "integer",
            "description": "Time before lifetime expiration to send NMMO HA re-registration (5 - 60, default = 60).\n"
          },
          "roamingInterface": {
            "type": "string",
            "description": "Select the associated interface name from available options.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this mobile tunnel. Valid values: `disable`, `enable`.\n"
          },
          "tunnelMode": {
            "type": "string",
            "description": "NEMO tunnel mode (GRE tunnel). Valid values: `gre`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/modem3g/custom:Custom": {
      "description": "3G MODEM custom. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem3GModem Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/modem3g/custom:Custom 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:system/modem3g/custom:Custom labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "classId": {
          "type": "string",
          "description": "USB interface class in hexadecimal format (00-ff).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "initString": {
          "type": "string",
          "description": "Init string in hexadecimal format (even length).\n"
        },
        "model": {
          "type": "string",
          "description": "MODEM model name.\n"
        },
        "modeswitchString": {
          "type": "string",
          "description": "USB modeswitch arguments. e.g: '-v 1410 -p 9030 -V 1410 -P 9032 -u 3'\n"
        },
        "productId": {
          "type": "string",
          "description": "USB product ID in hexadecimal format (0000-ffff).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": "MODEM vendor name.\n"
        },
        "vendorId": {
          "type": "string",
          "description": "USB vendor ID in hexadecimal format (0000-ffff).\n"
        }
      },
      "type": "object",
      "required": [
        "classId",
        "fosid",
        "initString",
        "model",
        "modeswitchString",
        "productId",
        "vdomparam",
        "vendor",
        "vendorId"
      ],
      "inputProperties": {
        "classId": {
          "type": "string",
          "description": "USB interface class in hexadecimal format (00-ff).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "initString": {
          "type": "string",
          "description": "Init string in hexadecimal format (even length).\n"
        },
        "model": {
          "type": "string",
          "description": "MODEM model name.\n"
        },
        "modeswitchString": {
          "type": "string",
          "description": "USB modeswitch arguments. e.g: '-v 1410 -p 9030 -V 1410 -P 9032 -u 3'\n"
        },
        "productId": {
          "type": "string",
          "description": "USB product ID in hexadecimal format (0000-ffff).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "MODEM vendor name.\n"
        },
        "vendorId": {
          "type": "string",
          "description": "USB vendor ID in hexadecimal format (0000-ffff).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Custom resources.\n",
        "properties": {
          "classId": {
            "type": "string",
            "description": "USB interface class in hexadecimal format (00-ff).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "initString": {
            "type": "string",
            "description": "Init string in hexadecimal format (even length).\n"
          },
          "model": {
            "type": "string",
            "description": "MODEM model name.\n"
          },
          "modeswitchString": {
            "type": "string",
            "description": "USB modeswitch arguments. e.g: '-v 1410 -p 9030 -V 1410 -P 9032 -u 3'\n"
          },
          "productId": {
            "type": "string",
            "description": "USB product ID in hexadecimal format (0000-ffff).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "MODEM vendor name.\n"
          },
          "vendorId": {
            "type": "string",
            "description": "USB vendor ID in hexadecimal format (0000-ffff).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/modem:Modem": {
      "description": "Configure MODEM. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem Modem can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/modem:Modem labelname SystemModem\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:system/modem:Modem labelname SystemModem\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Dial up/stop MODEM. Valid values: `dial`, `stop`, `none`.\n"
        },
        "altmode": {
          "type": "string",
          "description": "Enable/disable altmode for installations using PPP in China. Valid values: `enable`, `disable`.\n"
        },
        "authtype1": {
          "type": "string",
          "description": "Allowed authentication types for ISP 1. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "authtype2": {
          "type": "string",
          "description": "Allowed authentication types for ISP 2. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "authtype3": {
          "type": "string",
          "description": "Allowed authentication types for ISP 3. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "autoDial": {
          "type": "string",
          "description": "Enable/disable auto-dial after a reboot or disconnection. Valid values: `enable`, `disable`.\n"
        },
        "connectTimeout": {
          "type": "integer",
          "description": "Connection completion timeout (30 - 255 sec, default = 90).\n"
        },
        "dialCmd1": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialCmd2": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialCmd3": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialOnDemand": {
          "type": "string",
          "description": "Enable/disable to dial the modem when packets are routed to the modem interface. Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance of learned routes (1 - 255, default = 1).\n"
        },
        "dontSendCr1": {
          "type": "string",
          "description": "Do not send CR when connected (ISP1). Valid values: `enable`, `disable`.\n"
        },
        "dontSendCr2": {
          "type": "string",
          "description": "Do not send CR when connected (ISP2). Valid values: `enable`, `disable`.\n"
        },
        "dontSendCr3": {
          "type": "string",
          "description": "Do not send CR when connected (ISP3). Valid values: `enable`, `disable`.\n"
        },
        "extraInit1": {
          "type": "string",
          "description": "Extra initialization string to ISP 1.\n"
        },
        "extraInit2": {
          "type": "string",
          "description": "Extra initialization string to ISP 2.\n"
        },
        "extraInit3": {
          "type": "string",
          "description": "Extra initialization string to ISP 3.\n"
        },
        "holddownTimer": {
          "type": "integer",
          "description": "Hold down timer in seconds (1 - 60 sec).\n"
        },
        "idleTimer": {
          "type": "integer",
          "description": "MODEM connection idle time (1 - 9999 min, default = 5).\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of redundant interface.\n"
        },
        "lockdownLac": {
          "type": "string",
          "description": "Allow connection only to the specified Location Area Code (LAC).\n"
        },
        "mode": {
          "type": "string",
          "description": "Set MODEM operation mode to redundant or standalone. Valid values: `standalone`, `redundant`.\n"
        },
        "networkInit": {
          "type": "string",
          "description": "AT command to set the Network name/type (AT+COPS=<mode>,[<format>,<oper>[,<AcT>]]).\n"
        },
        "passwd1": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "passwd2": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "passwd3": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "peerModem1": {
          "type": "string",
          "description": "Specify peer MODEM type for phone1. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "peerModem2": {
          "type": "string",
          "description": "Specify peer MODEM type for phone2. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "peerModem3": {
          "type": "string",
          "description": "Specify peer MODEM type for phone3. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "phone1": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "phone2": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "phone3": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "pinInit": {
          "type": "string",
          "description": "AT command to set the PIN (AT+PIN=<pin>).\n"
        },
        "pppEchoRequest1": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 1. Valid values: `enable`, `disable`.\n"
        },
        "pppEchoRequest2": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 2. Valid values: `enable`, `disable`.\n"
        },
        "pppEchoRequest3": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 3. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of learned routes (0 - 4294967295, default = 0).\n"
        },
        "redial": {
          "type": "string",
          "description": "Redial limit (1 - 10 attempts, none = redial forever). Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
        },
        "reset": {
          "type": "integer",
          "description": "Number of dial attempts before resetting modem (0 = never reset).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Modem support (equivalent to bringing an interface up or down). Valid values: `enable`, `disable`.\n"
        },
        "trafficCheck": {
          "type": "string",
          "description": "Enable/disable traffic-check. Valid values: `enable`, `disable`.\n"
        },
        "username1": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "username2": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "username3": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wirelessPort": {
          "type": "integer",
          "description": "Enter wireless port number, 0 for default, 1 for first port, ... (0 - 4294967295, default = 0)\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "altmode",
        "authtype1",
        "authtype2",
        "authtype3",
        "autoDial",
        "connectTimeout",
        "dialCmd1",
        "dialCmd2",
        "dialCmd3",
        "dialOnDemand",
        "distance",
        "dontSendCr1",
        "dontSendCr2",
        "dontSendCr3",
        "extraInit1",
        "extraInit2",
        "extraInit3",
        "holddownTimer",
        "idleTimer",
        "interface",
        "lockdownLac",
        "mode",
        "networkInit",
        "peerModem1",
        "peerModem2",
        "peerModem3",
        "phone1",
        "phone2",
        "phone3",
        "pinInit",
        "pppEchoRequest1",
        "pppEchoRequest2",
        "pppEchoRequest3",
        "priority",
        "redial",
        "reset",
        "status",
        "trafficCheck",
        "username1",
        "username2",
        "username3",
        "vdomparam",
        "wirelessPort"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Dial up/stop MODEM. Valid values: `dial`, `stop`, `none`.\n"
        },
        "altmode": {
          "type": "string",
          "description": "Enable/disable altmode for installations using PPP in China. Valid values: `enable`, `disable`.\n"
        },
        "authtype1": {
          "type": "string",
          "description": "Allowed authentication types for ISP 1. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "authtype2": {
          "type": "string",
          "description": "Allowed authentication types for ISP 2. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "authtype3": {
          "type": "string",
          "description": "Allowed authentication types for ISP 3. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
        },
        "autoDial": {
          "type": "string",
          "description": "Enable/disable auto-dial after a reboot or disconnection. Valid values: `enable`, `disable`.\n"
        },
        "connectTimeout": {
          "type": "integer",
          "description": "Connection completion timeout (30 - 255 sec, default = 90).\n"
        },
        "dialCmd1": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialCmd2": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialCmd3": {
          "type": "string",
          "description": "Dial command (this is often an ATD or ATDT command).\n"
        },
        "dialOnDemand": {
          "type": "string",
          "description": "Enable/disable to dial the modem when packets are routed to the modem interface. Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance of learned routes (1 - 255, default = 1).\n"
        },
        "dontSendCr1": {
          "type": "string",
          "description": "Do not send CR when connected (ISP1). Valid values: `enable`, `disable`.\n"
        },
        "dontSendCr2": {
          "type": "string",
          "description": "Do not send CR when connected (ISP2). Valid values: `enable`, `disable`.\n"
        },
        "dontSendCr3": {
          "type": "string",
          "description": "Do not send CR when connected (ISP3). Valid values: `enable`, `disable`.\n"
        },
        "extraInit1": {
          "type": "string",
          "description": "Extra initialization string to ISP 1.\n"
        },
        "extraInit2": {
          "type": "string",
          "description": "Extra initialization string to ISP 2.\n"
        },
        "extraInit3": {
          "type": "string",
          "description": "Extra initialization string to ISP 3.\n"
        },
        "holddownTimer": {
          "type": "integer",
          "description": "Hold down timer in seconds (1 - 60 sec).\n"
        },
        "idleTimer": {
          "type": "integer",
          "description": "MODEM connection idle time (1 - 9999 min, default = 5).\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of redundant interface.\n"
        },
        "lockdownLac": {
          "type": "string",
          "description": "Allow connection only to the specified Location Area Code (LAC).\n"
        },
        "mode": {
          "type": "string",
          "description": "Set MODEM operation mode to redundant or standalone. Valid values: `standalone`, `redundant`.\n"
        },
        "networkInit": {
          "type": "string",
          "description": "AT command to set the Network name/type (AT+COPS=<mode>,[<format>,<oper>[,<AcT>]]).\n"
        },
        "passwd1": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "passwd2": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "passwd3": {
          "type": "string",
          "description": "Password to access the specified dialup account.\n"
        },
        "peerModem1": {
          "type": "string",
          "description": "Specify peer MODEM type for phone1. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "peerModem2": {
          "type": "string",
          "description": "Specify peer MODEM type for phone2. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "peerModem3": {
          "type": "string",
          "description": "Specify peer MODEM type for phone3. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
        },
        "phone1": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "phone2": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "phone3": {
          "type": "string",
          "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
        },
        "pinInit": {
          "type": "string",
          "description": "AT command to set the PIN (AT+PIN=<pin>).\n"
        },
        "pppEchoRequest1": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 1. Valid values: `enable`, `disable`.\n"
        },
        "pppEchoRequest2": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 2. Valid values: `enable`, `disable`.\n"
        },
        "pppEchoRequest3": {
          "type": "string",
          "description": "Enable/disable PPP echo-request to ISP 3. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of learned routes (0 - 4294967295, default = 0).\n"
        },
        "redial": {
          "type": "string",
          "description": "Redial limit (1 - 10 attempts, none = redial forever). Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
        },
        "reset": {
          "type": "integer",
          "description": "Number of dial attempts before resetting modem (0 = never reset).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Modem support (equivalent to bringing an interface up or down). Valid values: `enable`, `disable`.\n"
        },
        "trafficCheck": {
          "type": "string",
          "description": "Enable/disable traffic-check. Valid values: `enable`, `disable`.\n"
        },
        "username1": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "username2": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "username3": {
          "type": "string",
          "description": "User name to access the specified dialup account.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wirelessPort": {
          "type": "integer",
          "description": "Enter wireless port number, 0 for default, 1 for first port, ... (0 - 4294967295, default = 0)\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Modem resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Dial up/stop MODEM. Valid values: `dial`, `stop`, `none`.\n"
          },
          "altmode": {
            "type": "string",
            "description": "Enable/disable altmode for installations using PPP in China. Valid values: `enable`, `disable`.\n"
          },
          "authtype1": {
            "type": "string",
            "description": "Allowed authentication types for ISP 1. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
          },
          "authtype2": {
            "type": "string",
            "description": "Allowed authentication types for ISP 2. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
          },
          "authtype3": {
            "type": "string",
            "description": "Allowed authentication types for ISP 3. Valid values: `pap`, `chap`, `mschap`, `mschapv2`.\n"
          },
          "autoDial": {
            "type": "string",
            "description": "Enable/disable auto-dial after a reboot or disconnection. Valid values: `enable`, `disable`.\n"
          },
          "connectTimeout": {
            "type": "integer",
            "description": "Connection completion timeout (30 - 255 sec, default = 90).\n"
          },
          "dialCmd1": {
            "type": "string",
            "description": "Dial command (this is often an ATD or ATDT command).\n"
          },
          "dialCmd2": {
            "type": "string",
            "description": "Dial command (this is often an ATD or ATDT command).\n"
          },
          "dialCmd3": {
            "type": "string",
            "description": "Dial command (this is often an ATD or ATDT command).\n"
          },
          "dialOnDemand": {
            "type": "string",
            "description": "Enable/disable to dial the modem when packets are routed to the modem interface. Valid values: `enable`, `disable`.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance of learned routes (1 - 255, default = 1).\n"
          },
          "dontSendCr1": {
            "type": "string",
            "description": "Do not send CR when connected (ISP1). Valid values: `enable`, `disable`.\n"
          },
          "dontSendCr2": {
            "type": "string",
            "description": "Do not send CR when connected (ISP2). Valid values: `enable`, `disable`.\n"
          },
          "dontSendCr3": {
            "type": "string",
            "description": "Do not send CR when connected (ISP3). Valid values: `enable`, `disable`.\n"
          },
          "extraInit1": {
            "type": "string",
            "description": "Extra initialization string to ISP 1.\n"
          },
          "extraInit2": {
            "type": "string",
            "description": "Extra initialization string to ISP 2.\n"
          },
          "extraInit3": {
            "type": "string",
            "description": "Extra initialization string to ISP 3.\n"
          },
          "holddownTimer": {
            "type": "integer",
            "description": "Hold down timer in seconds (1 - 60 sec).\n"
          },
          "idleTimer": {
            "type": "integer",
            "description": "MODEM connection idle time (1 - 9999 min, default = 5).\n"
          },
          "interface": {
            "type": "string",
            "description": "Name of redundant interface.\n"
          },
          "lockdownLac": {
            "type": "string",
            "description": "Allow connection only to the specified Location Area Code (LAC).\n"
          },
          "mode": {
            "type": "string",
            "description": "Set MODEM operation mode to redundant or standalone. Valid values: `standalone`, `redundant`.\n"
          },
          "networkInit": {
            "type": "string",
            "description": "AT command to set the Network name/type (AT+COPS=<mode>,[<format>,<oper>[,<AcT>]]).\n"
          },
          "passwd1": {
            "type": "string",
            "description": "Password to access the specified dialup account.\n"
          },
          "passwd2": {
            "type": "string",
            "description": "Password to access the specified dialup account.\n"
          },
          "passwd3": {
            "type": "string",
            "description": "Password to access the specified dialup account.\n"
          },
          "peerModem1": {
            "type": "string",
            "description": "Specify peer MODEM type for phone1. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
          },
          "peerModem2": {
            "type": "string",
            "description": "Specify peer MODEM type for phone2. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
          },
          "peerModem3": {
            "type": "string",
            "description": "Specify peer MODEM type for phone3. Valid values: `generic`, `actiontec`, `ascend_TNT`.\n"
          },
          "phone1": {
            "type": "string",
            "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
          },
          "phone2": {
            "type": "string",
            "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
          },
          "phone3": {
            "type": "string",
            "description": "Phone number to connect to the dialup account (must not contain spaces, and should include standard special characters).\n"
          },
          "pinInit": {
            "type": "string",
            "description": "AT command to set the PIN (AT+PIN=<pin>).\n"
          },
          "pppEchoRequest1": {
            "type": "string",
            "description": "Enable/disable PPP echo-request to ISP 1. Valid values: `enable`, `disable`.\n"
          },
          "pppEchoRequest2": {
            "type": "string",
            "description": "Enable/disable PPP echo-request to ISP 2. Valid values: `enable`, `disable`.\n"
          },
          "pppEchoRequest3": {
            "type": "string",
            "description": "Enable/disable PPP echo-request to ISP 3. Valid values: `enable`, `disable`.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of learned routes (0 - 4294967295, default = 0).\n"
          },
          "redial": {
            "type": "string",
            "description": "Redial limit (1 - 10 attempts, none = redial forever). Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
          },
          "reset": {
            "type": "integer",
            "description": "Number of dial attempts before resetting modem (0 = never reset).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable Modem support (equivalent to bringing an interface up or down). Valid values: `enable`, `disable`.\n"
          },
          "trafficCheck": {
            "type": "string",
            "description": "Enable/disable traffic-check. Valid values: `enable`, `disable`.\n"
          },
          "username1": {
            "type": "string",
            "description": "User name to access the specified dialup account.\n"
          },
          "username2": {
            "type": "string",
            "description": "User name to access the specified dialup account.\n"
          },
          "username3": {
            "type": "string",
            "description": "User name to access the specified dialup account.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wirelessPort": {
            "type": "integer",
            "description": "Enter wireless port number, 0 for default, 1 for first port, ... (0 - 4294967295, default = 0)\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/nat64:Nat64": {
      "description": "Configure NAT64. 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.system.Nat64(\"trname\", {\n    alwaysSynthesizeAaaaRecord: \"enable\",\n    generateIpv6FragmentHeader: \"disable\",\n    nat46ForceIpv4PacketForwarding: \"disable\",\n    nat64Prefix: \"2001:1:2:3::/96\",\n    secondaryPrefixStatus: \"disable\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Nat64(\"trname\",\n    always_synthesize_aaaa_record=\"enable\",\n    generate_ipv6_fragment_header=\"disable\",\n    nat46_force_ipv4_packet_forwarding=\"disable\",\n    nat64_prefix=\"2001:1:2:3::/96\",\n    secondary_prefix_status=\"disable\",\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.System.Nat64(\"trname\", new()\n    {\n        AlwaysSynthesizeAaaaRecord = \"enable\",\n        GenerateIpv6FragmentHeader = \"disable\",\n        Nat46ForceIpv4PacketForwarding = \"disable\",\n        Nat64Prefix = \"2001:1:2:3::/96\",\n        SecondaryPrefixStatus = \"disable\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewNat64(ctx, \"trname\", &system.Nat64Args{\n\t\t\tAlwaysSynthesizeAaaaRecord:     pulumi.String(\"enable\"),\n\t\t\tGenerateIpv6FragmentHeader:     pulumi.String(\"disable\"),\n\t\t\tNat46ForceIpv4PacketForwarding: pulumi.String(\"disable\"),\n\t\t\tNat64Prefix:                    pulumi.String(\"2001:1:2:3::/96\"),\n\t\t\tSecondaryPrefixStatus:          pulumi.String(\"disable\"),\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.system.Nat64;\nimport com.pulumi.fortios.system.Nat64Args;\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 Nat64(\"trname\", Nat64Args.builder()\n            .alwaysSynthesizeAaaaRecord(\"enable\")\n            .generateIpv6FragmentHeader(\"disable\")\n            .nat46ForceIpv4PacketForwarding(\"disable\")\n            .nat64Prefix(\"2001:1:2:3::/96\")\n            .secondaryPrefixStatus(\"disable\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Nat64\n    properties:\n      alwaysSynthesizeAaaaRecord: enable\n      generateIpv6FragmentHeader: disable\n      nat46ForceIpv4PacketForwarding: disable\n      nat64Prefix: 2001:1:2:3::/96\n      secondaryPrefixStatus: disable\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Nat64 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/nat64:Nat64 labelname SystemNat64\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:system/nat64:Nat64 labelname SystemNat64\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "alwaysSynthesizeAaaaRecord": {
          "type": "string",
          "description": "Enable/disable AAAA record synthesis (default = enable). 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"
        },
        "generateIpv6FragmentHeader": {
          "type": "string",
          "description": "Enable/disable IPv6 fragment header generation. 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"
        },
        "nat46ForceIpv4PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv4 packet forwarding in nat46. Valid values: `enable`, `disable`.\n"
        },
        "nat64Prefix": {
          "type": "string",
          "description": "NAT64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
        },
        "secondaryPrefixStatus": {
          "type": "string",
          "description": "Enable/disable secondary NAT64 prefix. Valid values: `enable`, `disable`.\n"
        },
        "secondaryPrefixes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNat64SecondaryPrefix:Nat64SecondaryPrefix"
          },
          "description": "Secondary NAT64 prefix. The structure of `secondary_prefix` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NAT64 (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": [
        "alwaysSynthesizeAaaaRecord",
        "generateIpv6FragmentHeader",
        "nat46ForceIpv4PacketForwarding",
        "nat64Prefix",
        "secondaryPrefixStatus",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "alwaysSynthesizeAaaaRecord": {
          "type": "string",
          "description": "Enable/disable AAAA record synthesis (default = enable). 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"
        },
        "generateIpv6FragmentHeader": {
          "type": "string",
          "description": "Enable/disable IPv6 fragment header generation. 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"
        },
        "nat46ForceIpv4PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv4 packet forwarding in nat46. Valid values: `enable`, `disable`.\n"
        },
        "nat64Prefix": {
          "type": "string",
          "description": "NAT64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
        },
        "secondaryPrefixStatus": {
          "type": "string",
          "description": "Enable/disable secondary NAT64 prefix. Valid values: `enable`, `disable`.\n"
        },
        "secondaryPrefixes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNat64SecondaryPrefix:Nat64SecondaryPrefix"
          },
          "description": "Secondary NAT64 prefix. The structure of `secondary_prefix` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NAT64 (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
        }
      },
      "requiredInputs": [
        "nat64Prefix"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Nat64 resources.\n",
        "properties": {
          "alwaysSynthesizeAaaaRecord": {
            "type": "string",
            "description": "Enable/disable AAAA record synthesis (default = enable). 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"
          },
          "generateIpv6FragmentHeader": {
            "type": "string",
            "description": "Enable/disable IPv6 fragment header generation. 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"
          },
          "nat46ForceIpv4PacketForwarding": {
            "type": "string",
            "description": "Enable/disable mandatory IPv4 packet forwarding in nat46. Valid values: `enable`, `disable`.\n"
          },
          "nat64Prefix": {
            "type": "string",
            "description": "NAT64 prefix must be ::/96 (default = 64:ff9b::/96).\n"
          },
          "secondaryPrefixStatus": {
            "type": "string",
            "description": "Enable/disable secondary NAT64 prefix. Valid values: `enable`, `disable`.\n"
          },
          "secondaryPrefixes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FNat64SecondaryPrefix:Nat64SecondaryPrefix"
            },
            "description": "Secondary NAT64 prefix. The structure of `secondary_prefix` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable NAT64 (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:system/ndproxy:Ndproxy": {
      "description": "Configure IPv6 neighbor discovery proxy (RFC4389).\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.system.Ndproxy(\"trname\", {status: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ndproxy(\"trname\", 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.System.Ndproxy(\"trname\", new()\n    {\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewNdproxy(ctx, \"trname\", &system.NdproxyArgs{\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.system.Ndproxy;\nimport com.pulumi.fortios.system.NdproxyArgs;\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 Ndproxy(\"trname\", NdproxyArgs.builder()\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ndproxy\n    properties:\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem NdProxy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ndproxy:Ndproxy labelname SystemNdProxy\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:system/ndproxy:Ndproxy labelname SystemNdProxy\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"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNdproxyMember:NdproxyMember"
          },
          "description": "Interfaces using the neighbor discovery proxy. The structure of `member` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable neighbor discovery 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": [
        "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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FNdproxyMember:NdproxyMember"
          },
          "description": "Interfaces using the neighbor discovery proxy. The structure of `member` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable neighbor discovery 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 Ndproxy 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"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FNdproxyMember:NdproxyMember"
            },
            "description": "Interfaces using the neighbor discovery proxy. The structure of `member` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable neighbor discovery 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:system/netflow:Netflow": {
      "description": "Configure NetFlow.\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.system.Netflow(\"trname\", {\n    activeFlowTimeout: 30,\n    collectorIp: \"0.0.0.0\",\n    collectorPort: 2055,\n    inactiveFlowTimeout: 15,\n    sourceIp: \"0.0.0.0\",\n    templateTxCounter: 20,\n    templateTxTimeout: 30,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Netflow(\"trname\",\n    active_flow_timeout=30,\n    collector_ip=\"0.0.0.0\",\n    collector_port=2055,\n    inactive_flow_timeout=15,\n    source_ip=\"0.0.0.0\",\n    template_tx_counter=20,\n    template_tx_timeout=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.System.Netflow(\"trname\", new()\n    {\n        ActiveFlowTimeout = 30,\n        CollectorIp = \"0.0.0.0\",\n        CollectorPort = 2055,\n        InactiveFlowTimeout = 15,\n        SourceIp = \"0.0.0.0\",\n        TemplateTxCounter = 20,\n        TemplateTxTimeout = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewNetflow(ctx, \"trname\", &system.NetflowArgs{\n\t\t\tActiveFlowTimeout:   pulumi.Int(30),\n\t\t\tCollectorIp:         pulumi.String(\"0.0.0.0\"),\n\t\t\tCollectorPort:       pulumi.Int(2055),\n\t\t\tInactiveFlowTimeout: pulumi.Int(15),\n\t\t\tSourceIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tTemplateTxCounter:   pulumi.Int(20),\n\t\t\tTemplateTxTimeout:   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.system.Netflow;\nimport com.pulumi.fortios.system.NetflowArgs;\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 Netflow(\"trname\", NetflowArgs.builder()\n            .activeFlowTimeout(30)\n            .collectorIp(\"0.0.0.0\")\n            .collectorPort(2055)\n            .inactiveFlowTimeout(15)\n            .sourceIp(\"0.0.0.0\")\n            .templateTxCounter(20)\n            .templateTxTimeout(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Netflow\n    properties:\n      activeFlowTimeout: 30\n      collectorIp: 0.0.0.0\n      collectorPort: 2055\n      inactiveFlowTimeout: 15\n      sourceIp: 0.0.0.0\n      templateTxCounter: 20\n      templateTxTimeout: 30\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Netflow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/netflow:Netflow labelname SystemNetflow\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:system/netflow:Netflow labelname SystemNetflow\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "activeFlowTimeout": {
          "type": "integer",
          "description": "Timeout to report active flows. On FortiOS versions 6.2.0-7.0.0: 1 - 60 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 3600 sec, default = 1800.\n"
        },
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNetflowCollector:NetflowCollector"
          },
          "description": "Netflow collectors. The structure of `collectors` 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"
        },
        "inactiveFlowTimeout": {
          "type": "integer",
          "description": "Timeout for periodic report of finished flows (10 - 600 sec, default = 15).\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"
        },
        "templateTxCounter": {
          "type": "integer",
          "description": "Counter of flowset records before resending a template flowset record.\n"
        },
        "templateTxTimeout": {
          "type": "integer",
          "description": "Timeout for periodic template flowset transmission. On FortiOS versions 6.2.0-7.0.0: 1 - 1440 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 86400 sec, default = 1800.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "activeFlowTimeout",
        "collectorIp",
        "collectorPort",
        "inactiveFlowTimeout",
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "templateTxCounter",
        "templateTxTimeout",
        "vdomparam"
      ],
      "inputProperties": {
        "activeFlowTimeout": {
          "type": "integer",
          "description": "Timeout to report active flows. On FortiOS versions 6.2.0-7.0.0: 1 - 60 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 3600 sec, default = 1800.\n"
        },
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNetflowCollector:NetflowCollector"
          },
          "description": "Netflow collectors. The structure of `collectors` 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"
        },
        "inactiveFlowTimeout": {
          "type": "integer",
          "description": "Timeout for periodic report of finished flows (10 - 600 sec, default = 15).\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"
        },
        "templateTxCounter": {
          "type": "integer",
          "description": "Counter of flowset records before resending a template flowset record.\n"
        },
        "templateTxTimeout": {
          "type": "integer",
          "description": "Timeout for periodic template flowset transmission. On FortiOS versions 6.2.0-7.0.0: 1 - 1440 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 86400 sec, default = 1800.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Netflow resources.\n",
        "properties": {
          "activeFlowTimeout": {
            "type": "integer",
            "description": "Timeout to report active flows. On FortiOS versions 6.2.0-7.0.0: 1 - 60 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 3600 sec, default = 1800.\n"
          },
          "collectorIp": {
            "type": "string",
            "description": "Collector IP.\n"
          },
          "collectorPort": {
            "type": "integer",
            "description": "NetFlow collector port number.\n"
          },
          "collectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FNetflowCollector:NetflowCollector"
            },
            "description": "Netflow collectors. The structure of `collectors` 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"
          },
          "inactiveFlowTimeout": {
            "type": "integer",
            "description": "Timeout for periodic report of finished flows (10 - 600 sec, default = 15).\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"
          },
          "templateTxCounter": {
            "type": "integer",
            "description": "Counter of flowset records before resending a template flowset record.\n"
          },
          "templateTxTimeout": {
            "type": "integer",
            "description": "Timeout for periodic template flowset transmission. On FortiOS versions 6.2.0-7.0.0: 1 - 1440 min, default = 30. On FortiOS versions >= 7.0.1: 60 - 86400 sec, default = 1800.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/networkvisibility:Networkvisibility": {
      "description": "Configure network visibility 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.system.Networkvisibility(\"trname\", {\n    destinationHostnameVisibility: \"enable\",\n    destinationLocation: \"enable\",\n    destinationVisibility: \"enable\",\n    hostnameLimit: 5000,\n    hostnameTtl: 86400,\n    sourceLocation: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Networkvisibility(\"trname\",\n    destination_hostname_visibility=\"enable\",\n    destination_location=\"enable\",\n    destination_visibility=\"enable\",\n    hostname_limit=5000,\n    hostname_ttl=86400,\n    source_location=\"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.System.Networkvisibility(\"trname\", new()\n    {\n        DestinationHostnameVisibility = \"enable\",\n        DestinationLocation = \"enable\",\n        DestinationVisibility = \"enable\",\n        HostnameLimit = 5000,\n        HostnameTtl = 86400,\n        SourceLocation = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewNetworkvisibility(ctx, \"trname\", &system.NetworkvisibilityArgs{\n\t\t\tDestinationHostnameVisibility: pulumi.String(\"enable\"),\n\t\t\tDestinationLocation:           pulumi.String(\"enable\"),\n\t\t\tDestinationVisibility:         pulumi.String(\"enable\"),\n\t\t\tHostnameLimit:                 pulumi.Int(5000),\n\t\t\tHostnameTtl:                   pulumi.Int(86400),\n\t\t\tSourceLocation:                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.system.Networkvisibility;\nimport com.pulumi.fortios.system.NetworkvisibilityArgs;\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 Networkvisibility(\"trname\", NetworkvisibilityArgs.builder()\n            .destinationHostnameVisibility(\"enable\")\n            .destinationLocation(\"enable\")\n            .destinationVisibility(\"enable\")\n            .hostnameLimit(5000)\n            .hostnameTtl(86400)\n            .sourceLocation(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Networkvisibility\n    properties:\n      destinationHostnameVisibility: enable\n      destinationLocation: enable\n      destinationVisibility: enable\n      hostnameLimit: 5000\n      hostnameTtl: 86400\n      sourceLocation: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem NetworkVisibility can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/networkvisibility:Networkvisibility labelname SystemNetworkVisibility\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:system/networkvisibility:Networkvisibility labelname SystemNetworkVisibility\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "destinationHostnameVisibility": {
          "type": "string",
          "description": "Enable/disable logging of destination hostname visibility. Valid values: `disable`, `enable`.\n"
        },
        "destinationLocation": {
          "type": "string",
          "description": "Enable/disable logging of destination geographical location visibility. Valid values: `disable`, `enable`.\n"
        },
        "destinationVisibility": {
          "type": "string",
          "description": "Enable/disable logging of destination visibility. Valid values: `disable`, `enable`.\n"
        },
        "hostnameLimit": {
          "type": "integer",
          "description": "Limit of the number of hostname table entries (0 - 50000).\n"
        },
        "hostnameTtl": {
          "type": "integer",
          "description": "TTL of hostname table entries (60 - 86400).\n"
        },
        "sourceLocation": {
          "type": "string",
          "description": "Enable/disable logging of source geographical location visibility. 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": [
        "destinationHostnameVisibility",
        "destinationLocation",
        "destinationVisibility",
        "hostnameLimit",
        "hostnameTtl",
        "sourceLocation",
        "vdomparam"
      ],
      "inputProperties": {
        "destinationHostnameVisibility": {
          "type": "string",
          "description": "Enable/disable logging of destination hostname visibility. Valid values: `disable`, `enable`.\n"
        },
        "destinationLocation": {
          "type": "string",
          "description": "Enable/disable logging of destination geographical location visibility. Valid values: `disable`, `enable`.\n"
        },
        "destinationVisibility": {
          "type": "string",
          "description": "Enable/disable logging of destination visibility. Valid values: `disable`, `enable`.\n"
        },
        "hostnameLimit": {
          "type": "integer",
          "description": "Limit of the number of hostname table entries (0 - 50000).\n"
        },
        "hostnameTtl": {
          "type": "integer",
          "description": "TTL of hostname table entries (60 - 86400).\n"
        },
        "sourceLocation": {
          "type": "string",
          "description": "Enable/disable logging of source geographical location visibility. 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 Networkvisibility resources.\n",
        "properties": {
          "destinationHostnameVisibility": {
            "type": "string",
            "description": "Enable/disable logging of destination hostname visibility. Valid values: `disable`, `enable`.\n"
          },
          "destinationLocation": {
            "type": "string",
            "description": "Enable/disable logging of destination geographical location visibility. Valid values: `disable`, `enable`.\n"
          },
          "destinationVisibility": {
            "type": "string",
            "description": "Enable/disable logging of destination visibility. Valid values: `disable`, `enable`.\n"
          },
          "hostnameLimit": {
            "type": "integer",
            "description": "Limit of the number of hostname table entries (0 - 50000).\n"
          },
          "hostnameTtl": {
            "type": "integer",
            "description": "TTL of hostname table entries (60 - 86400).\n"
          },
          "sourceLocation": {
            "type": "string",
            "description": "Enable/disable logging of source geographical location visibility. 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:system/npu:Npu": {
      "description": "Configure NPU attributes. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem Npu can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/npu:Npu labelname SystemNpu\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:system/npu:Npu labelname SystemNpu\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "capwapOffload": {
          "type": "string",
          "description": "Enable/disable offloading managed FortiAP and FortiLink CAPWAP sessions. Valid values: `enable`, `disable`.\n"
        },
        "dedicatedManagementAffinity": {
          "type": "string",
          "description": "Affinity setting for management deamons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "dedicatedManagementCpu": {
          "type": "string",
          "description": "Enable to dedicate one CPU for GUI and CLI connections when NPs are busy. Valid values: `enable`, `disable`.\n"
        },
        "fastpath": {
          "type": "string",
          "description": "Enable/disable NP6 offloading (also called fast path). 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"
        },
        "ipsecDecSubengineMask": {
          "type": "string",
          "description": "IPsec decryption subengine mask (0x1 - 0xff, default 0xff).\n"
        },
        "ipsecEncSubengineMask": {
          "type": "string",
          "description": "IPsec encryption subengine mask (0x1 - 0xff, default 0xff).\n"
        },
        "ipsecInboundCache": {
          "type": "string",
          "description": "Enable/disable IPsec inbound cache for anti-replay. Valid values: `enable`, `disable`.\n"
        },
        "ipsecMtuOverride": {
          "type": "string",
          "description": "Enable/disable NP6 IPsec MTU override. Valid values: `disable`, `enable`.\n"
        },
        "ipsecOverVlink": {
          "type": "string",
          "description": "Enable/disable IPSEC over vlink. Valid values: `enable`, `disable`.\n"
        },
        "mcastSessionAccounting": {
          "type": "string",
          "description": "Enable/disable traffic accounting for each multicast session through TAE counter. Valid values: `tpe-based`, `session-based`, `disable`.\n"
        },
        "np6CpsOptimizationMode": {
          "type": "string",
          "description": "Enable/disable NP6 connection per second (CPS) optimization mode. Valid values: `enable`, `disable`.\n"
        },
        "priorityProtocol": {
          "$ref": "#/types/fortios:system%2FNpuPriorityProtocol:NpuPriorityProtocol",
          "description": "Configure NPU priority protocol. The structure of `priority_protocol` block is documented below.\n"
        },
        "rdpOffload": {
          "type": "string",
          "description": "Enable/disable rdp offload. Valid values: `enable`, `disable`.\n"
        },
        "sessionDeniedOffload": {
          "type": "string",
          "description": "Enable/disable offloading of denied sessions. Requires ses-denied-traffic to be set. Valid values: `disable`, `enable`.\n"
        },
        "sseBackpressure": {
          "type": "string",
          "description": "Enable/disable sse backpressure. Valid values: `enable`, `disable`.\n"
        },
        "stripClearTextPadding": {
          "type": "string",
          "description": "Enable/disable stripping clear text padding. Valid values: `enable`, `disable`.\n"
        },
        "stripEspPadding": {
          "type": "string",
          "description": "Enable/disable stripping ESP padding. Valid values: `enable`, `disable`.\n"
        },
        "swNpBandwidth": {
          "type": "string",
          "description": "Bandwidth from switch to NP. Valid values: `0G`, `2G`, `4G`, `5G`, `6G`.\n"
        },
        "uespOffload": {
          "type": "string",
          "description": "Enable/disable UDP-encapsulated ESP offload (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": [
        "capwapOffload",
        "dedicatedManagementAffinity",
        "dedicatedManagementCpu",
        "fastpath",
        "ipsecDecSubengineMask",
        "ipsecEncSubengineMask",
        "ipsecInboundCache",
        "ipsecMtuOverride",
        "ipsecOverVlink",
        "mcastSessionAccounting",
        "np6CpsOptimizationMode",
        "priorityProtocol",
        "rdpOffload",
        "sessionDeniedOffload",
        "sseBackpressure",
        "stripClearTextPadding",
        "stripEspPadding",
        "swNpBandwidth",
        "uespOffload",
        "vdomparam"
      ],
      "inputProperties": {
        "capwapOffload": {
          "type": "string",
          "description": "Enable/disable offloading managed FortiAP and FortiLink CAPWAP sessions. Valid values: `enable`, `disable`.\n"
        },
        "dedicatedManagementAffinity": {
          "type": "string",
          "description": "Affinity setting for management deamons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
        },
        "dedicatedManagementCpu": {
          "type": "string",
          "description": "Enable to dedicate one CPU for GUI and CLI connections when NPs are busy. Valid values: `enable`, `disable`.\n"
        },
        "fastpath": {
          "type": "string",
          "description": "Enable/disable NP6 offloading (also called fast path). 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"
        },
        "ipsecDecSubengineMask": {
          "type": "string",
          "description": "IPsec decryption subengine mask (0x1 - 0xff, default 0xff).\n"
        },
        "ipsecEncSubengineMask": {
          "type": "string",
          "description": "IPsec encryption subengine mask (0x1 - 0xff, default 0xff).\n"
        },
        "ipsecInboundCache": {
          "type": "string",
          "description": "Enable/disable IPsec inbound cache for anti-replay. Valid values: `enable`, `disable`.\n"
        },
        "ipsecMtuOverride": {
          "type": "string",
          "description": "Enable/disable NP6 IPsec MTU override. Valid values: `disable`, `enable`.\n"
        },
        "ipsecOverVlink": {
          "type": "string",
          "description": "Enable/disable IPSEC over vlink. Valid values: `enable`, `disable`.\n"
        },
        "mcastSessionAccounting": {
          "type": "string",
          "description": "Enable/disable traffic accounting for each multicast session through TAE counter. Valid values: `tpe-based`, `session-based`, `disable`.\n"
        },
        "np6CpsOptimizationMode": {
          "type": "string",
          "description": "Enable/disable NP6 connection per second (CPS) optimization mode. Valid values: `enable`, `disable`.\n"
        },
        "priorityProtocol": {
          "$ref": "#/types/fortios:system%2FNpuPriorityProtocol:NpuPriorityProtocol",
          "description": "Configure NPU priority protocol. The structure of `priority_protocol` block is documented below.\n"
        },
        "rdpOffload": {
          "type": "string",
          "description": "Enable/disable rdp offload. Valid values: `enable`, `disable`.\n"
        },
        "sessionDeniedOffload": {
          "type": "string",
          "description": "Enable/disable offloading of denied sessions. Requires ses-denied-traffic to be set. Valid values: `disable`, `enable`.\n"
        },
        "sseBackpressure": {
          "type": "string",
          "description": "Enable/disable sse backpressure. Valid values: `enable`, `disable`.\n"
        },
        "stripClearTextPadding": {
          "type": "string",
          "description": "Enable/disable stripping clear text padding. Valid values: `enable`, `disable`.\n"
        },
        "stripEspPadding": {
          "type": "string",
          "description": "Enable/disable stripping ESP padding. Valid values: `enable`, `disable`.\n"
        },
        "swNpBandwidth": {
          "type": "string",
          "description": "Bandwidth from switch to NP. Valid values: `0G`, `2G`, `4G`, `5G`, `6G`.\n"
        },
        "uespOffload": {
          "type": "string",
          "description": "Enable/disable UDP-encapsulated ESP offload (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 Npu resources.\n",
        "properties": {
          "capwapOffload": {
            "type": "string",
            "description": "Enable/disable offloading managed FortiAP and FortiLink CAPWAP sessions. Valid values: `enable`, `disable`.\n"
          },
          "dedicatedManagementAffinity": {
            "type": "string",
            "description": "Affinity setting for management deamons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n"
          },
          "dedicatedManagementCpu": {
            "type": "string",
            "description": "Enable to dedicate one CPU for GUI and CLI connections when NPs are busy. Valid values: `enable`, `disable`.\n"
          },
          "fastpath": {
            "type": "string",
            "description": "Enable/disable NP6 offloading (also called fast path). 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"
          },
          "ipsecDecSubengineMask": {
            "type": "string",
            "description": "IPsec decryption subengine mask (0x1 - 0xff, default 0xff).\n"
          },
          "ipsecEncSubengineMask": {
            "type": "string",
            "description": "IPsec encryption subengine mask (0x1 - 0xff, default 0xff).\n"
          },
          "ipsecInboundCache": {
            "type": "string",
            "description": "Enable/disable IPsec inbound cache for anti-replay. Valid values: `enable`, `disable`.\n"
          },
          "ipsecMtuOverride": {
            "type": "string",
            "description": "Enable/disable NP6 IPsec MTU override. Valid values: `disable`, `enable`.\n"
          },
          "ipsecOverVlink": {
            "type": "string",
            "description": "Enable/disable IPSEC over vlink. Valid values: `enable`, `disable`.\n"
          },
          "mcastSessionAccounting": {
            "type": "string",
            "description": "Enable/disable traffic accounting for each multicast session through TAE counter. Valid values: `tpe-based`, `session-based`, `disable`.\n"
          },
          "np6CpsOptimizationMode": {
            "type": "string",
            "description": "Enable/disable NP6 connection per second (CPS) optimization mode. Valid values: `enable`, `disable`.\n"
          },
          "priorityProtocol": {
            "$ref": "#/types/fortios:system%2FNpuPriorityProtocol:NpuPriorityProtocol",
            "description": "Configure NPU priority protocol. The structure of `priority_protocol` block is documented below.\n"
          },
          "rdpOffload": {
            "type": "string",
            "description": "Enable/disable rdp offload. Valid values: `enable`, `disable`.\n"
          },
          "sessionDeniedOffload": {
            "type": "string",
            "description": "Enable/disable offloading of denied sessions. Requires ses-denied-traffic to be set. Valid values: `disable`, `enable`.\n"
          },
          "sseBackpressure": {
            "type": "string",
            "description": "Enable/disable sse backpressure. Valid values: `enable`, `disable`.\n"
          },
          "stripClearTextPadding": {
            "type": "string",
            "description": "Enable/disable stripping clear text padding. Valid values: `enable`, `disable`.\n"
          },
          "stripEspPadding": {
            "type": "string",
            "description": "Enable/disable stripping ESP padding. Valid values: `enable`, `disable`.\n"
          },
          "swNpBandwidth": {
            "type": "string",
            "description": "Bandwidth from switch to NP. Valid values: `0G`, `2G`, `4G`, `5G`, `6G`.\n"
          },
          "uespOffload": {
            "type": "string",
            "description": "Enable/disable UDP-encapsulated ESP offload (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:system/ntp:Ntp": {
      "description": "Configure system NTP information.\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.system.Ntp(\"trname\", {\n    ntpsync: \"enable\",\n    serverMode: \"disable\",\n    sourceIp: \"0.0.0.0\",\n    sourceIp6: \"::\",\n    syncinterval: 1,\n    type: \"fortiguard\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ntp(\"trname\",\n    ntpsync=\"enable\",\n    server_mode=\"disable\",\n    source_ip=\"0.0.0.0\",\n    source_ip6=\"::\",\n    syncinterval=1,\n    type=\"fortiguard\")\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.System.Ntp(\"trname\", new()\n    {\n        Ntpsync = \"enable\",\n        ServerMode = \"disable\",\n        SourceIp = \"0.0.0.0\",\n        SourceIp6 = \"::\",\n        Syncinterval = 1,\n        Type = \"fortiguard\",\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.NewNtp(ctx, \"trname\", &system.NtpArgs{\n\t\t\tNtpsync:      pulumi.String(\"enable\"),\n\t\t\tServerMode:   pulumi.String(\"disable\"),\n\t\t\tSourceIp:     pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIp6:    pulumi.String(\"::\"),\n\t\t\tSyncinterval: pulumi.Int(1),\n\t\t\tType:         pulumi.String(\"fortiguard\"),\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.Ntp;\nimport com.pulumi.fortios.system.NtpArgs;\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 Ntp(\"trname\", NtpArgs.builder()\n            .ntpsync(\"enable\")\n            .serverMode(\"disable\")\n            .sourceIp(\"0.0.0.0\")\n            .sourceIp6(\"::\")\n            .syncinterval(1)\n            .type(\"fortiguard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ntp\n    properties:\n      ntpsync: enable\n      serverMode: disable\n      sourceIp: 0.0.0.0\n      sourceIp6: '::'\n      syncinterval: 1\n      type: fortiguard\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ntp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ntp:Ntp labelname SystemNtp\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:system/ntp:Ntp labelname SystemNtp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Enable/disable authentication. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FNtpInterface:NtpInterface"
          },
          "description": "FortiGate interface(s) with NTP server mode enabled. Devices on your network can contact these interfaces for NTP services. The structure of `interface` block is documented below.\n"
        },
        "key": {
          "type": "string",
          "description": "Key for authentication.\n",
          "secret": true
        },
        "keyId": {
          "type": "integer",
          "description": "Key ID for authentication.\n"
        },
        "keyType": {
          "type": "string",
          "description": "Key type for authentication. On FortiOS versions 6.2.4-7.4.3: MD5, SHA1. On FortiOS versions >= 7.4.4: MD5, SHA1, SHA256.\n"
        },
        "ntpservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNtpNtpserver:NtpNtpserver"
          },
          "description": "Configure the FortiGate to connect to any available third-party NTP server. The structure of `ntpserver` block is documented below.\n"
        },
        "ntpsync": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server. Valid values: `enable`, `disable`.\n"
        },
        "serverMode": {
          "type": "string",
          "description": "Enable/disable FortiGate NTP Server Mode. Your FortiGate becomes an NTP server for other devices on your network. The FortiGate relays NTP requests to its configured NTP server. Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to the NTP server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address for communication to the NTP server.\n"
        },
        "syncinterval": {
          "type": "integer",
          "description": "NTP synchronization interval (1 - 1440 min).\n"
        },
        "type": {
          "type": "string",
          "description": "Use the FortiGuard NTP server or any other available NTP Server. Valid values: `fortiguard`, `custom`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "authentication",
        "keyId",
        "keyType",
        "ntpsync",
        "serverMode",
        "sourceIp",
        "sourceIp6",
        "syncinterval",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "authentication": {
          "type": "string",
          "description": "Enable/disable authentication. 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FNtpInterface:NtpInterface"
          },
          "description": "FortiGate interface(s) with NTP server mode enabled. Devices on your network can contact these interfaces for NTP services. The structure of `interface` block is documented below.\n"
        },
        "key": {
          "type": "string",
          "description": "Key for authentication.\n",
          "secret": true
        },
        "keyId": {
          "type": "integer",
          "description": "Key ID for authentication.\n"
        },
        "keyType": {
          "type": "string",
          "description": "Key type for authentication. On FortiOS versions 6.2.4-7.4.3: MD5, SHA1. On FortiOS versions >= 7.4.4: MD5, SHA1, SHA256.\n"
        },
        "ntpservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FNtpNtpserver:NtpNtpserver"
          },
          "description": "Configure the FortiGate to connect to any available third-party NTP server. The structure of `ntpserver` block is documented below.\n"
        },
        "ntpsync": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server. Valid values: `enable`, `disable`.\n"
        },
        "serverMode": {
          "type": "string",
          "description": "Enable/disable FortiGate NTP Server Mode. Your FortiGate becomes an NTP server for other devices on your network. The FortiGate relays NTP requests to its configured NTP server. Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication to the NTP server.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address for communication to the NTP server.\n"
        },
        "syncinterval": {
          "type": "integer",
          "description": "NTP synchronization interval (1 - 1440 min).\n"
        },
        "type": {
          "type": "string",
          "description": "Use the FortiGuard NTP server or any other available NTP Server. Valid values: `fortiguard`, `custom`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ntp resources.\n",
        "properties": {
          "authentication": {
            "type": "string",
            "description": "Enable/disable authentication. 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:system%2FNtpInterface:NtpInterface"
            },
            "description": "FortiGate interface(s) with NTP server mode enabled. Devices on your network can contact these interfaces for NTP services. The structure of `interface` block is documented below.\n"
          },
          "key": {
            "type": "string",
            "description": "Key for authentication.\n",
            "secret": true
          },
          "keyId": {
            "type": "integer",
            "description": "Key ID for authentication.\n"
          },
          "keyType": {
            "type": "string",
            "description": "Key type for authentication. On FortiOS versions 6.2.4-7.4.3: MD5, SHA1. On FortiOS versions >= 7.4.4: MD5, SHA1, SHA256.\n"
          },
          "ntpservers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FNtpNtpserver:NtpNtpserver"
            },
            "description": "Configure the FortiGate to connect to any available third-party NTP server. The structure of `ntpserver` block is documented below.\n"
          },
          "ntpsync": {
            "type": "string",
            "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server. Valid values: `enable`, `disable`.\n"
          },
          "serverMode": {
            "type": "string",
            "description": "Enable/disable FortiGate NTP Server Mode. Your FortiGate becomes an NTP server for other devices on your network. The FortiGate relays NTP requests to its configured NTP server. Valid values: `enable`, `disable`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communication to the NTP server.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "Source IPv6 address for communication to the NTP server.\n"
          },
          "syncinterval": {
            "type": "integer",
            "description": "NTP synchronization interval (1 - 1440 min).\n"
          },
          "type": {
            "type": "string",
            "description": "Use the FortiGuard NTP server or any other available NTP Server. Valid values: `fortiguard`, `custom`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/objecttagging:Objecttagging": {
      "description": "Configure object tagging.\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.system.Objecttagging(\"trname\", {\n    address: \"disable\",\n    category: \"s1\",\n    color: 0,\n    device: \"mandatory\",\n    \"interface\": \"disable\",\n    multiple: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Objecttagging(\"trname\",\n    address=\"disable\",\n    category=\"s1\",\n    color=0,\n    device=\"mandatory\",\n    interface=\"disable\",\n    multiple=\"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.System.Objecttagging(\"trname\", new()\n    {\n        Address = \"disable\",\n        Category = \"s1\",\n        Color = 0,\n        Device = \"mandatory\",\n        Interface = \"disable\",\n        Multiple = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewObjecttagging(ctx, \"trname\", &system.ObjecttaggingArgs{\n\t\t\tAddress:   pulumi.String(\"disable\"),\n\t\t\tCategory:  pulumi.String(\"s1\"),\n\t\t\tColor:     pulumi.Int(0),\n\t\t\tDevice:    pulumi.String(\"mandatory\"),\n\t\t\tInterface: pulumi.String(\"disable\"),\n\t\t\tMultiple:  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.system.Objecttagging;\nimport com.pulumi.fortios.system.ObjecttaggingArgs;\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 Objecttagging(\"trname\", ObjecttaggingArgs.builder()\n            .address(\"disable\")\n            .category(\"s1\")\n            .color(0)\n            .device(\"mandatory\")\n            .interface_(\"disable\")\n            .multiple(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Objecttagging\n    properties:\n      address: disable\n      category: s1\n      color: 0\n      device: mandatory\n      interface: disable\n      multiple: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ObjectTagging can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/objecttagging:Objecttagging labelname {{category}}\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:system/objecttagging:Objecttagging labelname {{category}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address": {
          "type": "string",
          "description": "Address. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "category": {
          "type": "string",
          "description": "Tag Category.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "device": {
          "type": "string",
          "description": "Device. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "multiple": {
          "type": "string",
          "description": "Allow multiple tag selection. Valid values: `enable`, `disable`.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FObjecttaggingTag:ObjecttaggingTag"
          },
          "description": "Tags. The structure of `tags` 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": [
        "address",
        "category",
        "color",
        "device",
        "interface",
        "multiple",
        "vdomparam"
      ],
      "inputProperties": {
        "address": {
          "type": "string",
          "description": "Address. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "category": {
          "type": "string",
          "description": "Tag Category.\n",
          "willReplaceOnChanges": true
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "device": {
          "type": "string",
          "description": "Device. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `disable`, `mandatory`, `optional`.\n"
        },
        "multiple": {
          "type": "string",
          "description": "Allow multiple tag selection. Valid values: `enable`, `disable`.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FObjecttaggingTag:ObjecttaggingTag"
          },
          "description": "Tags. The structure of `tags` 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 Objecttagging resources.\n",
        "properties": {
          "address": {
            "type": "string",
            "description": "Address. Valid values: `disable`, `mandatory`, `optional`.\n"
          },
          "category": {
            "type": "string",
            "description": "Tag Category.\n",
            "willReplaceOnChanges": true
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "device": {
            "type": "string",
            "description": "Device. Valid values: `disable`, `mandatory`, `optional`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `disable`, `mandatory`, `optional`.\n"
          },
          "multiple": {
            "type": "string",
            "description": "Allow multiple tag selection. Valid values: `enable`, `disable`.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FObjecttaggingTag:ObjecttaggingTag"
            },
            "description": "Tags. The structure of `tags` 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:system/passwordpolicy:Passwordpolicy": {
      "description": "Configure password policy for locally defined administrator passwords and IPsec VPN pre-shared 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.system.Passwordpolicy(\"trname\", {\n    applyTo: \"admin-password\",\n    change4Characters: \"disable\",\n    expireDay: 90,\n    expireStatus: \"disable\",\n    minLowerCaseLetter: 0,\n    minNonAlphanumeric: 0,\n    minNumber: 0,\n    minUpperCaseLetter: 0,\n    minimumLength: 8,\n    reusePassword: \"enable\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Passwordpolicy(\"trname\",\n    apply_to=\"admin-password\",\n    change4_characters=\"disable\",\n    expire_day=90,\n    expire_status=\"disable\",\n    min_lower_case_letter=0,\n    min_non_alphanumeric=0,\n    min_number=0,\n    min_upper_case_letter=0,\n    minimum_length=8,\n    reuse_password=\"enable\",\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.System.Passwordpolicy(\"trname\", new()\n    {\n        ApplyTo = \"admin-password\",\n        Change4Characters = \"disable\",\n        ExpireDay = 90,\n        ExpireStatus = \"disable\",\n        MinLowerCaseLetter = 0,\n        MinNonAlphanumeric = 0,\n        MinNumber = 0,\n        MinUpperCaseLetter = 0,\n        MinimumLength = 8,\n        ReusePassword = \"enable\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewPasswordpolicy(ctx, \"trname\", &system.PasswordpolicyArgs{\n\t\t\tApplyTo:            pulumi.String(\"admin-password\"),\n\t\t\tChange4Characters:  pulumi.String(\"disable\"),\n\t\t\tExpireDay:          pulumi.Int(90),\n\t\t\tExpireStatus:       pulumi.String(\"disable\"),\n\t\t\tMinLowerCaseLetter: pulumi.Int(0),\n\t\t\tMinNonAlphanumeric: pulumi.Int(0),\n\t\t\tMinNumber:          pulumi.Int(0),\n\t\t\tMinUpperCaseLetter: pulumi.Int(0),\n\t\t\tMinimumLength:      pulumi.Int(8),\n\t\t\tReusePassword:      pulumi.String(\"enable\"),\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.system.Passwordpolicy;\nimport com.pulumi.fortios.system.PasswordpolicyArgs;\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 Passwordpolicy(\"trname\", PasswordpolicyArgs.builder()\n            .applyTo(\"admin-password\")\n            .change4Characters(\"disable\")\n            .expireDay(90)\n            .expireStatus(\"disable\")\n            .minLowerCaseLetter(0)\n            .minNonAlphanumeric(0)\n            .minNumber(0)\n            .minUpperCaseLetter(0)\n            .minimumLength(8)\n            .reusePassword(\"enable\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Passwordpolicy\n    properties:\n      applyTo: admin-password\n      change4Characters: disable\n      expireDay: 90\n      expireStatus: disable\n      minLowerCaseLetter: 0\n      minNonAlphanumeric: 0\n      minNumber: 0\n      minUpperCaseLetter: 0\n      minimumLength: 8\n      reusePassword: enable\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem PasswordPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/passwordpolicy:Passwordpolicy labelname SystemPasswordPolicy\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:system/passwordpolicy:Passwordpolicy labelname SystemPasswordPolicy\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applyTo": {
          "type": "string",
          "description": "Apply password policy to administrator passwords or IPsec pre-shared keys or both. Separate entries with a space. Valid values: `admin-password`, `ipsec-preshared-key`.\n"
        },
        "change4Characters": {
          "type": "string",
          "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
        },
        "expireDay": {
          "type": "integer",
          "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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": [
        "applyTo",
        "change4Characters",
        "expireDay",
        "expireStatus",
        "minChangeCharacters",
        "minLowerCaseLetter",
        "minNonAlphanumeric",
        "minNumber",
        "minUpperCaseLetter",
        "minimumLength",
        "reusePassword",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "applyTo": {
          "type": "string",
          "description": "Apply password policy to administrator passwords or IPsec pre-shared keys or both. Separate entries with a space. Valid values: `admin-password`, `ipsec-preshared-key`.\n"
        },
        "change4Characters": {
          "type": "string",
          "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
        },
        "expireDay": {
          "type": "integer",
          "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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 Passwordpolicy resources.\n",
        "properties": {
          "applyTo": {
            "type": "string",
            "description": "Apply password policy to administrator passwords or IPsec pre-shared keys or both. Separate entries with a space. Valid values: `admin-password`, `ipsec-preshared-key`.\n"
          },
          "change4Characters": {
            "type": "string",
            "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
          },
          "expireDay": {
            "type": "integer",
            "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
          },
          "expireStatus": {
            "type": "string",
            "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
          },
          "minChangeCharacters": {
            "type": "integer",
            "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
          },
          "minLowerCaseLetter": {
            "type": "integer",
            "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
          },
          "minNonAlphanumeric": {
            "type": "integer",
            "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
          },
          "minNumber": {
            "type": "integer",
            "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
          },
          "minUpperCaseLetter": {
            "type": "integer",
            "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
          },
          "minimumLength": {
            "type": "integer",
            "description": "Minimum password length (8 - 128, default = 8).\n"
          },
          "reusePassword": {
            "type": "string",
            "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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:system/passwordpolicyguestadmin:Passwordpolicyguestadmin": {
      "description": "Configure the password policy for guest administrators.\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.system.Passwordpolicyguestadmin(\"trname\", {\n    applyTo: \"guest-admin-password\",\n    change4Characters: \"disable\",\n    expireDay: 90,\n    expireStatus: \"disable\",\n    minLowerCaseLetter: 0,\n    minNonAlphanumeric: 0,\n    minNumber: 0,\n    minUpperCaseLetter: 0,\n    minimumLength: 8,\n    reusePassword: \"enable\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Passwordpolicyguestadmin(\"trname\",\n    apply_to=\"guest-admin-password\",\n    change4_characters=\"disable\",\n    expire_day=90,\n    expire_status=\"disable\",\n    min_lower_case_letter=0,\n    min_non_alphanumeric=0,\n    min_number=0,\n    min_upper_case_letter=0,\n    minimum_length=8,\n    reuse_password=\"enable\",\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.System.Passwordpolicyguestadmin(\"trname\", new()\n    {\n        ApplyTo = \"guest-admin-password\",\n        Change4Characters = \"disable\",\n        ExpireDay = 90,\n        ExpireStatus = \"disable\",\n        MinLowerCaseLetter = 0,\n        MinNonAlphanumeric = 0,\n        MinNumber = 0,\n        MinUpperCaseLetter = 0,\n        MinimumLength = 8,\n        ReusePassword = \"enable\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewPasswordpolicyguestadmin(ctx, \"trname\", &system.PasswordpolicyguestadminArgs{\n\t\t\tApplyTo:            pulumi.String(\"guest-admin-password\"),\n\t\t\tChange4Characters:  pulumi.String(\"disable\"),\n\t\t\tExpireDay:          pulumi.Int(90),\n\t\t\tExpireStatus:       pulumi.String(\"disable\"),\n\t\t\tMinLowerCaseLetter: pulumi.Int(0),\n\t\t\tMinNonAlphanumeric: pulumi.Int(0),\n\t\t\tMinNumber:          pulumi.Int(0),\n\t\t\tMinUpperCaseLetter: pulumi.Int(0),\n\t\t\tMinimumLength:      pulumi.Int(8),\n\t\t\tReusePassword:      pulumi.String(\"enable\"),\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.system.Passwordpolicyguestadmin;\nimport com.pulumi.fortios.system.PasswordpolicyguestadminArgs;\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 Passwordpolicyguestadmin(\"trname\", PasswordpolicyguestadminArgs.builder()\n            .applyTo(\"guest-admin-password\")\n            .change4Characters(\"disable\")\n            .expireDay(90)\n            .expireStatus(\"disable\")\n            .minLowerCaseLetter(0)\n            .minNonAlphanumeric(0)\n            .minNumber(0)\n            .minUpperCaseLetter(0)\n            .minimumLength(8)\n            .reusePassword(\"enable\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Passwordpolicyguestadmin\n    properties:\n      applyTo: guest-admin-password\n      change4Characters: disable\n      expireDay: 90\n      expireStatus: disable\n      minLowerCaseLetter: 0\n      minNonAlphanumeric: 0\n      minNumber: 0\n      minUpperCaseLetter: 0\n      minimumLength: 8\n      reusePassword: enable\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem PasswordPolicyGuestAdmin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/passwordpolicyguestadmin:Passwordpolicyguestadmin labelname SystemPasswordPolicyGuestAdmin\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:system/passwordpolicyguestadmin:Passwordpolicyguestadmin labelname SystemPasswordPolicyGuestAdmin\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applyTo": {
          "type": "string",
          "description": "Guest administrator to which this password policy applies. Valid values: `guest-admin-password`.\n"
        },
        "change4Characters": {
          "type": "string",
          "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
        },
        "expireDay": {
          "type": "integer",
          "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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": [
        "applyTo",
        "change4Characters",
        "expireDay",
        "expireStatus",
        "minChangeCharacters",
        "minLowerCaseLetter",
        "minNonAlphanumeric",
        "minNumber",
        "minUpperCaseLetter",
        "minimumLength",
        "reusePassword",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "applyTo": {
          "type": "string",
          "description": "Guest administrator to which this password policy applies. Valid values: `guest-admin-password`.\n"
        },
        "change4Characters": {
          "type": "string",
          "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
        },
        "expireDay": {
          "type": "integer",
          "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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 Passwordpolicyguestadmin resources.\n",
        "properties": {
          "applyTo": {
            "type": "string",
            "description": "Guest administrator to which this password policy applies. Valid values: `guest-admin-password`.\n"
          },
          "change4Characters": {
            "type": "string",
            "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled). Valid values: `enable`, `disable`.\n"
          },
          "expireDay": {
            "type": "integer",
            "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n"
          },
          "expireStatus": {
            "type": "string",
            "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
          },
          "minChangeCharacters": {
            "type": "integer",
            "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
          },
          "minLowerCaseLetter": {
            "type": "integer",
            "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
          },
          "minNonAlphanumeric": {
            "type": "integer",
            "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
          },
          "minNumber": {
            "type": "integer",
            "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
          },
          "minUpperCaseLetter": {
            "type": "integer",
            "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
          },
          "minimumLength": {
            "type": "integer",
            "description": "Minimum password length (8 - 128, default = 8).\n"
          },
          "reusePassword": {
            "type": "string",
            "description": "Enable/disable reuse of password. On FortiOS versions 6.2.0-7.0.0: If both reuse-password and change-4-characters are enabled, change-4-characters overrides.. On FortiOS versions >= 7.0.1: If both reuse-password and min-change-characters are enabled, min-change-characters overrides.. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys. 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:system/pcpserver:Pcpserver": {
      "description": "Configure PCP server information. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nSystem PcpServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/pcpserver:Pcpserver labelname SystemPcpServer\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:system/pcpserver:Pcpserver labelname SystemPcpServer\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"
        },
        "pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPcpserverPool:PcpserverPool"
          },
          "description": "Configure PCP pools. The structure of `pools` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable PCP server. 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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPcpserverPool:PcpserverPool"
          },
          "description": "Configure PCP pools. The structure of `pools` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable PCP server. 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 Pcpserver 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"
          },
          "pools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FPcpserverPool:PcpserverPool"
            },
            "description": "Configure PCP pools. The structure of `pools` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable PCP server. 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:system/physicalswitch:Physicalswitch": {
      "description": "Configure physical switches. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem PhysicalSwitch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/physicalswitch:Physicalswitch 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:system/physicalswitch:Physicalswitch labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ageEnable": {
          "type": "string",
          "description": "Enable/disable layer 2 age timer. Valid values: `enable`, `disable`.\n"
        },
        "ageVal": {
          "type": "integer",
          "description": "Layer 2 table age timer value.\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"
        }
      },
      "type": "object",
      "required": [
        "ageEnable",
        "ageVal",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "ageEnable": {
          "type": "string",
          "description": "Enable/disable layer 2 age timer. Valid values: `enable`, `disable`.\n"
        },
        "ageVal": {
          "type": "integer",
          "description": "Layer 2 table age timer value.\n"
        },
        "name": {
          "type": "string",
          "description": "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 Physicalswitch resources.\n",
        "properties": {
          "ageEnable": {
            "type": "string",
            "description": "Enable/disable layer 2 age timer. Valid values: `enable`, `disable`.\n"
          },
          "ageVal": {
            "type": "integer",
            "description": "Layer 2 table age timer value.\n"
          },
          "name": {
            "type": "string",
            "description": "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:system/pppoeinterface:Pppoeinterface": {
      "description": "Configure the PPPoE interfaces.\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.system.Pppoeinterface(\"trname\", {\n    authType: \"auto\",\n    device: \"port3\",\n    dialOnDemand: \"disable\",\n    discRetryTimeout: 1,\n    idleTimeout: 0,\n    ipunnumbered: \"0.0.0.0\",\n    ipv6: \"disable\",\n    lcpEchoInterval: 5,\n    lcpMaxEchoFails: 3,\n    padtRetryTimeout: 1,\n    pppoeUnnumberedNegotiate: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Pppoeinterface(\"trname\",\n    auth_type=\"auto\",\n    device=\"port3\",\n    dial_on_demand=\"disable\",\n    disc_retry_timeout=1,\n    idle_timeout=0,\n    ipunnumbered=\"0.0.0.0\",\n    ipv6=\"disable\",\n    lcp_echo_interval=5,\n    lcp_max_echo_fails=3,\n    padt_retry_timeout=1,\n    pppoe_unnumbered_negotiate=\"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.System.Pppoeinterface(\"trname\", new()\n    {\n        AuthType = \"auto\",\n        Device = \"port3\",\n        DialOnDemand = \"disable\",\n        DiscRetryTimeout = 1,\n        IdleTimeout = 0,\n        Ipunnumbered = \"0.0.0.0\",\n        Ipv6 = \"disable\",\n        LcpEchoInterval = 5,\n        LcpMaxEchoFails = 3,\n        PadtRetryTimeout = 1,\n        PppoeUnnumberedNegotiate = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewPppoeinterface(ctx, \"trname\", &system.PppoeinterfaceArgs{\n\t\t\tAuthType:                 pulumi.String(\"auto\"),\n\t\t\tDevice:                   pulumi.String(\"port3\"),\n\t\t\tDialOnDemand:             pulumi.String(\"disable\"),\n\t\t\tDiscRetryTimeout:         pulumi.Int(1),\n\t\t\tIdleTimeout:              pulumi.Int(0),\n\t\t\tIpunnumbered:             pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6:                     pulumi.String(\"disable\"),\n\t\t\tLcpEchoInterval:          pulumi.Int(5),\n\t\t\tLcpMaxEchoFails:          pulumi.Int(3),\n\t\t\tPadtRetryTimeout:         pulumi.Int(1),\n\t\t\tPppoeUnnumberedNegotiate: 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.system.Pppoeinterface;\nimport com.pulumi.fortios.system.PppoeinterfaceArgs;\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 Pppoeinterface(\"trname\", PppoeinterfaceArgs.builder()\n            .authType(\"auto\")\n            .device(\"port3\")\n            .dialOnDemand(\"disable\")\n            .discRetryTimeout(1)\n            .idleTimeout(0)\n            .ipunnumbered(\"0.0.0.0\")\n            .ipv6(\"disable\")\n            .lcpEchoInterval(5)\n            .lcpMaxEchoFails(3)\n            .padtRetryTimeout(1)\n            .pppoeUnnumberedNegotiate(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Pppoeinterface\n    properties:\n      authType: auto\n      device: port3\n      dialOnDemand: disable\n      discRetryTimeout: 1\n      idleTimeout: 0\n      ipunnumbered: 0.0.0.0\n      ipv6: disable\n      lcpEchoInterval: 5\n      lcpMaxEchoFails: 3\n      padtRetryTimeout: 1\n      pppoeUnnumberedNegotiate: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem PppoeInterface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/pppoeinterface:Pppoeinterface 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:system/pppoeinterface:Pppoeinterface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acName": {
          "type": "string",
          "description": "PPPoE AC name.\n"
        },
        "authType": {
          "type": "string",
          "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "device": {
          "type": "string",
          "description": "Name for the physical interface.\n"
        },
        "dialOnDemand": {
          "type": "string",
          "description": "Enable/disable dial on demand to dial the PPPoE interface when packets are routed to the PPPoE interface. Valid values: `enable`, `disable`.\n"
        },
        "discRetryTimeout": {
          "type": "integer",
          "description": "PPPoE discovery init timeout value in (0-4294967295 sec).\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "PPPoE auto disconnect after idle timeout (0-4294967295 sec).\n"
        },
        "ipunnumbered": {
          "type": "string",
          "description": "PPPoE unnumbered IP.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Enable/disable IPv6 Control Protocol (IPv6CP). Valid values: `enable`, `disable`.\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum missed LCP echo messages before disconnect.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the PPPoE interface.\n"
        },
        "padtRetryTimeout": {
          "type": "integer",
          "description": "PPPoE terminate timeout value in (0-4294967295 sec).\n"
        },
        "password": {
          "type": "string",
          "description": "Enter the password.\n",
          "secret": true
        },
        "pppoeUnnumberedNegotiate": {
          "type": "string",
          "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
        },
        "serviceName": {
          "type": "string",
          "description": "PPPoE service name.\n"
        },
        "username": {
          "type": "string",
          "description": "User 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": [
        "acName",
        "authType",
        "device",
        "dialOnDemand",
        "discRetryTimeout",
        "idleTimeout",
        "ipunnumbered",
        "ipv6",
        "lcpEchoInterval",
        "lcpMaxEchoFails",
        "name",
        "padtRetryTimeout",
        "pppoeUnnumberedNegotiate",
        "serviceName",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "acName": {
          "type": "string",
          "description": "PPPoE AC name.\n"
        },
        "authType": {
          "type": "string",
          "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
        },
        "device": {
          "type": "string",
          "description": "Name for the physical interface.\n"
        },
        "dialOnDemand": {
          "type": "string",
          "description": "Enable/disable dial on demand to dial the PPPoE interface when packets are routed to the PPPoE interface. Valid values: `enable`, `disable`.\n"
        },
        "discRetryTimeout": {
          "type": "integer",
          "description": "PPPoE discovery init timeout value in (0-4294967295 sec).\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "PPPoE auto disconnect after idle timeout (0-4294967295 sec).\n"
        },
        "ipunnumbered": {
          "type": "string",
          "description": "PPPoE unnumbered IP.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Enable/disable IPv6 Control Protocol (IPv6CP). Valid values: `enable`, `disable`.\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum missed LCP echo messages before disconnect.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the PPPoE interface.\n",
          "willReplaceOnChanges": true
        },
        "padtRetryTimeout": {
          "type": "integer",
          "description": "PPPoE terminate timeout value in (0-4294967295 sec).\n"
        },
        "password": {
          "type": "string",
          "description": "Enter the password.\n",
          "secret": true
        },
        "pppoeUnnumberedNegotiate": {
          "type": "string",
          "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
        },
        "serviceName": {
          "type": "string",
          "description": "PPPoE service name.\n"
        },
        "username": {
          "type": "string",
          "description": "User 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": [
        "device"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Pppoeinterface resources.\n",
        "properties": {
          "acName": {
            "type": "string",
            "description": "PPPoE AC name.\n"
          },
          "authType": {
            "type": "string",
            "description": "PPP authentication type to use. Valid values: `auto`, `pap`, `chap`, `mschapv1`, `mschapv2`.\n"
          },
          "device": {
            "type": "string",
            "description": "Name for the physical interface.\n"
          },
          "dialOnDemand": {
            "type": "string",
            "description": "Enable/disable dial on demand to dial the PPPoE interface when packets are routed to the PPPoE interface. Valid values: `enable`, `disable`.\n"
          },
          "discRetryTimeout": {
            "type": "integer",
            "description": "PPPoE discovery init timeout value in (0-4294967295 sec).\n"
          },
          "idleTimeout": {
            "type": "integer",
            "description": "PPPoE auto disconnect after idle timeout (0-4294967295 sec).\n"
          },
          "ipunnumbered": {
            "type": "string",
            "description": "PPPoE unnumbered IP.\n"
          },
          "ipv6": {
            "type": "string",
            "description": "Enable/disable IPv6 Control Protocol (IPv6CP). Valid values: `enable`, `disable`.\n"
          },
          "lcpEchoInterval": {
            "type": "integer",
            "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
          },
          "lcpMaxEchoFails": {
            "type": "integer",
            "description": "Maximum missed LCP echo messages before disconnect.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the PPPoE interface.\n",
            "willReplaceOnChanges": true
          },
          "padtRetryTimeout": {
            "type": "integer",
            "description": "PPPoE terminate timeout value in (0-4294967295 sec).\n"
          },
          "password": {
            "type": "string",
            "description": "Enter the password.\n",
            "secret": true
          },
          "pppoeUnnumberedNegotiate": {
            "type": "string",
            "description": "Enable/disable PPPoE unnumbered negotiation. Valid values: `enable`, `disable`.\n"
          },
          "serviceName": {
            "type": "string",
            "description": "PPPoE service name.\n"
          },
          "username": {
            "type": "string",
            "description": "User 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:system/proberesponse:Proberesponse": {
      "description": "Configure system probe response.\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.system.Proberesponse(\"trname\", {\n    httpProbeValue: \"OK\",\n    mode: \"none\",\n    port: 8008,\n    securityMode: \"none\",\n    timeout: 300,\n    ttlMode: \"retain\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Proberesponse(\"trname\",\n    http_probe_value=\"OK\",\n    mode=\"none\",\n    port=8008,\n    security_mode=\"none\",\n    timeout=300,\n    ttl_mode=\"retain\")\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.System.Proberesponse(\"trname\", new()\n    {\n        HttpProbeValue = \"OK\",\n        Mode = \"none\",\n        Port = 8008,\n        SecurityMode = \"none\",\n        Timeout = 300,\n        TtlMode = \"retain\",\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.NewProberesponse(ctx, \"trname\", &system.ProberesponseArgs{\n\t\t\tHttpProbeValue: pulumi.String(\"OK\"),\n\t\t\tMode:           pulumi.String(\"none\"),\n\t\t\tPort:           pulumi.Int(8008),\n\t\t\tSecurityMode:   pulumi.String(\"none\"),\n\t\t\tTimeout:        pulumi.Int(300),\n\t\t\tTtlMode:        pulumi.String(\"retain\"),\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.Proberesponse;\nimport com.pulumi.fortios.system.ProberesponseArgs;\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 Proberesponse(\"trname\", ProberesponseArgs.builder()\n            .httpProbeValue(\"OK\")\n            .mode(\"none\")\n            .port(8008)\n            .securityMode(\"none\")\n            .timeout(300)\n            .ttlMode(\"retain\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Proberesponse\n    properties:\n      httpProbeValue: OK\n      mode: none\n      port: 8008\n      securityMode: none\n      timeout: 300\n      ttlMode: retain\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ProbeResponse can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/proberesponse:Proberesponse labelname SystemProbeResponse\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:system/proberesponse:Proberesponse labelname SystemProbeResponse\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "httpProbeValue": {
          "type": "string",
          "description": "Value to respond to the monitoring server.\n"
        },
        "mode": {
          "type": "string",
          "description": "SLA response mode. Valid values: `none`, `http-probe`, `twamp`.\n"
        },
        "password": {
          "type": "string",
          "description": "Twamp respondor password in authentication mode\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number to response.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp respondor security mode. Valid values: `none`, `authentication`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "An inactivity timer for a twamp test session.\n"
        },
        "ttlMode": {
          "type": "string",
          "description": "Mode for TWAMP packet TTL modification. Valid values: `reinit`, `decrease`, `retain`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "httpProbeValue",
        "mode",
        "port",
        "securityMode",
        "timeout",
        "ttlMode",
        "vdomparam"
      ],
      "inputProperties": {
        "httpProbeValue": {
          "type": "string",
          "description": "Value to respond to the monitoring server.\n"
        },
        "mode": {
          "type": "string",
          "description": "SLA response mode. Valid values: `none`, `http-probe`, `twamp`.\n"
        },
        "password": {
          "type": "string",
          "description": "Twamp respondor password in authentication mode\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number to response.\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp respondor security mode. Valid values: `none`, `authentication`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "An inactivity timer for a twamp test session.\n"
        },
        "ttlMode": {
          "type": "string",
          "description": "Mode for TWAMP packet TTL modification. Valid values: `reinit`, `decrease`, `retain`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Proberesponse resources.\n",
        "properties": {
          "httpProbeValue": {
            "type": "string",
            "description": "Value to respond to the monitoring server.\n"
          },
          "mode": {
            "type": "string",
            "description": "SLA response mode. Valid values: `none`, `http-probe`, `twamp`.\n"
          },
          "password": {
            "type": "string",
            "description": "Twamp respondor password in authentication mode\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port number to response.\n"
          },
          "securityMode": {
            "type": "string",
            "description": "Twamp respondor security mode. Valid values: `none`, `authentication`.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "An inactivity timer for a twamp test session.\n"
          },
          "ttlMode": {
            "type": "string",
            "description": "Mode for TWAMP packet TTL modification. Valid values: `reinit`, `decrease`, `retain`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/proxyarp:Proxyarp": {
      "description": "Configure proxy-ARP.\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.system.Proxyarp(\"trname\", {\n    endIp: \"1.1.1.3\",\n    fosid: 1,\n    \"interface\": \"port4\",\n    ip: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Proxyarp(\"trname\",\n    end_ip=\"1.1.1.3\",\n    fosid=1,\n    interface=\"port4\",\n    ip=\"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.System.Proxyarp(\"trname\", new()\n    {\n        EndIp = \"1.1.1.3\",\n        Fosid = 1,\n        Interface = \"port4\",\n        Ip = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewProxyarp(ctx, \"trname\", &system.ProxyarpArgs{\n\t\t\tEndIp:     pulumi.String(\"1.1.1.3\"),\n\t\t\tFosid:     pulumi.Int(1),\n\t\t\tInterface: pulumi.String(\"port4\"),\n\t\t\tIp:        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.system.Proxyarp;\nimport com.pulumi.fortios.system.ProxyarpArgs;\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 Proxyarp(\"trname\", ProxyarpArgs.builder()\n            .endIp(\"1.1.1.3\")\n            .fosid(1)\n            .interface_(\"port4\")\n            .ip(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Proxyarp\n    properties:\n      endIp: 1.1.1.3\n      fosid: 1\n      interface: port4\n      ip: 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ProxyArp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/proxyarp:Proxyarp 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:system/proxyarp:Proxyarp labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End IP of IP range to be proxied.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface acting proxy-ARP.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address or start IP to be proxied.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "fosid",
        "interface",
        "ip",
        "vdomparam"
      ],
      "inputProperties": {
        "endIp": {
          "type": "string",
          "description": "End IP of IP range to be proxied.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Unique integer ID of the entry.\n",
          "willReplaceOnChanges": true
        },
        "interface": {
          "type": "string",
          "description": "Interface acting proxy-ARP.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address or start IP to be proxied.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "interface",
        "ip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Proxyarp resources.\n",
        "properties": {
          "endIp": {
            "type": "string",
            "description": "End IP of IP range to be proxied.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Unique integer ID of the entry.\n",
            "willReplaceOnChanges": true
          },
          "interface": {
            "type": "string",
            "description": "Interface acting proxy-ARP.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address or start IP to be proxied.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/ptp:Ptp": {
      "description": "Configure system PTP information.\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.system.Ptp(\"trname\", {\n    delayMechanism: \"E2E\",\n    \"interface\": \"port3\",\n    mode: \"multicast\",\n    requestInterval: 1,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ptp(\"trname\",\n    delay_mechanism=\"E2E\",\n    interface=\"port3\",\n    mode=\"multicast\",\n    request_interval=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.System.Ptp(\"trname\", new()\n    {\n        DelayMechanism = \"E2E\",\n        Interface = \"port3\",\n        Mode = \"multicast\",\n        RequestInterval = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewPtp(ctx, \"trname\", &system.PtpArgs{\n\t\t\tDelayMechanism:  pulumi.String(\"E2E\"),\n\t\t\tInterface:       pulumi.String(\"port3\"),\n\t\t\tMode:            pulumi.String(\"multicast\"),\n\t\t\tRequestInterval: 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.system.Ptp;\nimport com.pulumi.fortios.system.PtpArgs;\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 Ptp(\"trname\", PtpArgs.builder()\n            .delayMechanism(\"E2E\")\n            .interface_(\"port3\")\n            .mode(\"multicast\")\n            .requestInterval(1)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ptp\n    properties:\n      delayMechanism: E2E\n      interface: port3\n      mode: multicast\n      requestInterval: 1\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Ptp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ptp:Ptp labelname SystemPtp\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:system/ptp:Ptp labelname SystemPtp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "delayMechanism": {
          "type": "string",
          "description": "End to end delay detection or peer to peer delay detection. Valid values: `E2E`, `P2P`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "PTP slave will reply through this interface.\n"
        },
        "mode": {
          "type": "string",
          "description": "Multicast transmission or hybrid transmission. Valid values: `multicast`, `hybrid`.\n"
        },
        "requestInterval": {
          "type": "integer",
          "description": "The delay request value is the logarithmic mean interval in seconds between the delay request messages sent by the slave to the master.\n"
        },
        "serverInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPtpServerInterface:PtpServerInterface"
          },
          "description": "FortiGate interface(s) with PTP server mode enabled. Devices on your network can contact these interfaces for PTP services. The structure of `server_interface` block is documented below.\n"
        },
        "serverMode": {
          "type": "string",
          "description": "Enable/disable FortiGate PTP server mode. Your FortiGate becomes an PTP server for other devices on your network. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an PTP Server. 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": [
        "delayMechanism",
        "interface",
        "mode",
        "requestInterval",
        "serverMode",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "delayMechanism": {
          "type": "string",
          "description": "End to end delay detection or peer to peer delay detection. Valid values: `E2E`, `P2P`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "PTP slave will reply through this interface.\n"
        },
        "mode": {
          "type": "string",
          "description": "Multicast transmission or hybrid transmission. Valid values: `multicast`, `hybrid`.\n"
        },
        "requestInterval": {
          "type": "integer",
          "description": "The delay request value is the logarithmic mean interval in seconds between the delay request messages sent by the slave to the master.\n"
        },
        "serverInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPtpServerInterface:PtpServerInterface"
          },
          "description": "FortiGate interface(s) with PTP server mode enabled. Devices on your network can contact these interfaces for PTP services. The structure of `server_interface` block is documented below.\n"
        },
        "serverMode": {
          "type": "string",
          "description": "Enable/disable FortiGate PTP server mode. Your FortiGate becomes an PTP server for other devices on your network. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an PTP Server. 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": [
        "interface"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ptp resources.\n",
        "properties": {
          "delayMechanism": {
            "type": "string",
            "description": "End to end delay detection or peer to peer delay detection. Valid values: `E2E`, `P2P`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "PTP slave will reply through this interface.\n"
          },
          "mode": {
            "type": "string",
            "description": "Multicast transmission or hybrid transmission. Valid values: `multicast`, `hybrid`.\n"
          },
          "requestInterval": {
            "type": "integer",
            "description": "The delay request value is the logarithmic mean interval in seconds between the delay request messages sent by the slave to the master.\n"
          },
          "serverInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FPtpServerInterface:PtpServerInterface"
            },
            "description": "FortiGate interface(s) with PTP server mode enabled. Devices on your network can contact these interfaces for PTP services. The structure of `server_interface` block is documented below.\n"
          },
          "serverMode": {
            "type": "string",
            "description": "Enable/disable FortiGate PTP server mode. Your FortiGate becomes an PTP server for other devices on your network. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable setting the FortiGate system time by synchronizing with an PTP Server. 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:system/replacemsg/admin:Admin": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Admin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/admin:Admin labelname {{msg_type}}\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:system/replacemsg/admin:Admin labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Admin resources.\n",
        "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",
            "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:system/replacemsg/alertmail:Alertmail": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Alertmail can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/alertmail:Alertmail labelname {{msg_type}}\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:system/replacemsg/alertmail:Alertmail labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Alertmail resources.\n",
        "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",
            "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:system/replacemsg/auth:Auth": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Auth can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/auth:Auth labelname {{msg_type}}\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:system/replacemsg/auth:Auth labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Auth resources.\n",
        "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",
            "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:system/replacemsg/automation:Automation": {
      "description": "Replacement messages. Applies to FortiOS Version `>= 7.0.0`.\n\n## Import\n\nSystemReplacemsg Automation can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/automation:Automation labelname {{msg_type}}\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:system/replacemsg/automation:Automation labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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 Automation resources.\n",
        "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",
            "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:system/replacemsg/devicedetectionportal:Devicedetectionportal": {
      "description": "Replacement messages. Applies to FortiOS Version `<= 6.4.1`.\n\n## Import\n\nSystemReplacemsg DeviceDetectionPortal can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/devicedetectionportal:Devicedetectionportal labelname {{msg_type}}\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:system/replacemsg/devicedetectionportal:Devicedetectionportal labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Devicedetectionportal resources.\n",
        "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",
            "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:system/replacemsg/ec:Ec": {
      "description": "Replacement messages. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nSystemReplacemsg Ec can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/ec:Ec labelname {{msg_type}}\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:system/replacemsg/ec:Ec labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ec resources.\n",
        "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",
            "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:system/replacemsg/fortiguardwf:Fortiguardwf": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg FortiguardWf can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/fortiguardwf:Fortiguardwf labelname {{msg_type}}\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:system/replacemsg/fortiguardwf:Fortiguardwf labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortiguardwf resources.\n",
        "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",
            "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:system/replacemsg/ftp:Ftp": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Ftp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/ftp:Ftp labelname {{msg_type}}\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:system/replacemsg/ftp:Ftp labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ftp resources.\n",
        "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",
            "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:system/replacemsg/http:Http": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Http can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/http:Http labelname {{msg_type}}\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:system/replacemsg/http:Http labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Http resources.\n",
        "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",
            "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:system/replacemsg/icap:Icap": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Icap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/icap:Icap labelname {{msg_type}}\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:system/replacemsg/icap:Icap labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Icap resources.\n",
        "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",
            "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:system/replacemsg/mail:Mail": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Mail can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/mail:Mail labelname {{msg_type}}\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:system/replacemsg/mail:Mail labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Mail resources.\n",
        "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",
            "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:system/replacemsg/nacquar:Nacquar": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg NacQuar can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/nacquar:Nacquar labelname {{msg_type}}\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:system/replacemsg/nacquar:Nacquar labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Nacquar resources.\n",
        "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",
            "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:system/replacemsg/nntp:Nntp": {
      "description": "Replacement messages. Applies to FortiOS Version `<= 6.4.1`.\n\n## Import\n\nSystemReplacemsg Nntp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/nntp:Nntp labelname {{msg_type}}\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:system/replacemsg/nntp:Nntp labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Nntp resources.\n",
        "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",
            "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:system/replacemsg/spam:Spam": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Spam can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/spam:Spam labelname {{msg_type}}\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:system/replacemsg/spam:Spam labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Spam resources.\n",
        "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",
            "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:system/replacemsg/sslvpn:Sslvpn": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Sslvpn can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/sslvpn:Sslvpn labelname {{msg_type}}\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:system/replacemsg/sslvpn:Sslvpn labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sslvpn resources.\n",
        "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",
            "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:system/replacemsg/trafficquota:Trafficquota": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg TrafficQuota can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/trafficquota:Trafficquota labelname {{msg_type}}\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:system/replacemsg/trafficquota:Trafficquota labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Trafficquota resources.\n",
        "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",
            "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:system/replacemsg/utm:Utm": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Utm can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/utm:Utm labelname {{msg_type}}\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:system/replacemsg/utm:Utm labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Utm resources.\n",
        "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",
            "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:system/replacemsg/webproxy:Webproxy": {
      "description": "Replacement messages.\n\n## Import\n\nSystemReplacemsg Webproxy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsg/webproxy:Webproxy labelname {{msg_type}}\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:system/replacemsg/webproxy:Webproxy labelname {{msg_type}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "format",
        "header",
        "msgType",
        "vdomparam"
      ],
      "inputProperties": {
        "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",
          "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": [
        "msgType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Webproxy resources.\n",
        "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",
            "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:system/replacemsggroup:Replacemsggroup": {
      "description": "Configure replacement message 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.system.Replacemsggroup(\"trname\", {\n    comment: \"sgh\",\n    groupType: \"utm\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Replacemsggroup(\"trname\",\n    comment=\"sgh\",\n    group_type=\"utm\")\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.System.Replacemsggroup(\"trname\", new()\n    {\n        Comment = \"sgh\",\n        GroupType = \"utm\",\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.NewReplacemsggroup(ctx, \"trname\", &system.ReplacemsggroupArgs{\n\t\t\tComment:   pulumi.String(\"sgh\"),\n\t\t\tGroupType: pulumi.String(\"utm\"),\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.Replacemsggroup;\nimport com.pulumi.fortios.system.ReplacemsggroupArgs;\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 Replacemsggroup(\"trname\", ReplacemsggroupArgs.builder()\n            .comment(\"sgh\")\n            .groupType(\"utm\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Replacemsggroup\n    properties:\n      comment: sgh\n      groupType: utm\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ReplacemsgGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsggroup:Replacemsggroup 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:system/replacemsggroup:Replacemsggroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "admins": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAdmin:ReplacemsggroupAdmin"
          },
          "description": "Replacement message table entries. The structure of `admin` block is documented below.\n"
        },
        "alertmails": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAlertmail:ReplacemsggroupAlertmail"
          },
          "description": "Replacement message table entries. The structure of `alertmail` block is documented below.\n"
        },
        "auths": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAuth:ReplacemsggroupAuth"
          },
          "description": "Replacement message table entries. The structure of `auth` block is documented below.\n"
        },
        "automations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAutomation:ReplacemsggroupAutomation"
          },
          "description": "Replacement message table entries. The structure of `automation` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customMessages": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupCustomMessage:ReplacemsggroupCustomMessage"
          },
          "description": "Replacement message table entries. The structure of `custom_message` block is documented below.\n"
        },
        "deviceDetectionPortals": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupDeviceDetectionPortal:ReplacemsggroupDeviceDetectionPortal"
          },
          "description": "Replacement message table entries. The structure of `device_detection_portal` 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"
        },
        "ecs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupEc:ReplacemsggroupEc"
          },
          "description": "Replacement message table entries. The structure of `ec` block is documented below.\n"
        },
        "fortiguardWfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupFortiguardWf:ReplacemsggroupFortiguardWf"
          },
          "description": "Replacement message table entries. The structure of `fortiguard_wf` block is documented below.\n"
        },
        "ftps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupFtp:ReplacemsggroupFtp"
          },
          "description": "Replacement message table entries. 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"
        },
        "groupType": {
          "type": "string",
          "description": "Group type.\n"
        },
        "https": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupHttp:ReplacemsggroupHttp"
          },
          "description": "Replacement message table entries. The structure of `http` block is documented below.\n"
        },
        "icaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupIcap:ReplacemsggroupIcap"
          },
          "description": "Replacement message table entries. The structure of `icap` block is documented below.\n"
        },
        "mails": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupMail:ReplacemsggroupMail"
          },
          "description": "Replacement message table entries. The structure of `mail` block is documented below.\n"
        },
        "nacQuars": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupNacQuar:ReplacemsggroupNacQuar"
          },
          "description": "Replacement message table entries. The structure of `nac_quar` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Group name.\n"
        },
        "nntps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupNntp:ReplacemsggroupNntp"
          },
          "description": "Replacement message table entries. The structure of `nntp` block is documented below.\n"
        },
        "spams": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupSpam:ReplacemsggroupSpam"
          },
          "description": "Replacement message table entries. The structure of `spam` block is documented below.\n"
        },
        "sslvpns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupSslvpn:ReplacemsggroupSslvpn"
          },
          "description": "Replacement message table entries. The structure of `sslvpn` block is documented below.\n"
        },
        "trafficQuotas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupTrafficQuota:ReplacemsggroupTrafficQuota"
          },
          "description": "Replacement message table entries. The structure of `traffic_quota` block is documented below.\n"
        },
        "utms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupUtm:ReplacemsggroupUtm"
          },
          "description": "Replacement message table entries. The structure of `utm` 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"
        },
        "webproxies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupWebproxy:ReplacemsggroupWebproxy"
          },
          "description": "Replacement message table entries. The structure of `webproxy` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "groupType",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "admins": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAdmin:ReplacemsggroupAdmin"
          },
          "description": "Replacement message table entries. The structure of `admin` block is documented below.\n"
        },
        "alertmails": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAlertmail:ReplacemsggroupAlertmail"
          },
          "description": "Replacement message table entries. The structure of `alertmail` block is documented below.\n"
        },
        "auths": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAuth:ReplacemsggroupAuth"
          },
          "description": "Replacement message table entries. The structure of `auth` block is documented below.\n"
        },
        "automations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupAutomation:ReplacemsggroupAutomation"
          },
          "description": "Replacement message table entries. The structure of `automation` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customMessages": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupCustomMessage:ReplacemsggroupCustomMessage"
          },
          "description": "Replacement message table entries. The structure of `custom_message` block is documented below.\n"
        },
        "deviceDetectionPortals": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupDeviceDetectionPortal:ReplacemsggroupDeviceDetectionPortal"
          },
          "description": "Replacement message table entries. The structure of `device_detection_portal` 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"
        },
        "ecs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupEc:ReplacemsggroupEc"
          },
          "description": "Replacement message table entries. The structure of `ec` block is documented below.\n"
        },
        "fortiguardWfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupFortiguardWf:ReplacemsggroupFortiguardWf"
          },
          "description": "Replacement message table entries. The structure of `fortiguard_wf` block is documented below.\n"
        },
        "ftps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupFtp:ReplacemsggroupFtp"
          },
          "description": "Replacement message table entries. 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"
        },
        "groupType": {
          "type": "string",
          "description": "Group type.\n"
        },
        "https": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupHttp:ReplacemsggroupHttp"
          },
          "description": "Replacement message table entries. The structure of `http` block is documented below.\n"
        },
        "icaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupIcap:ReplacemsggroupIcap"
          },
          "description": "Replacement message table entries. The structure of `icap` block is documented below.\n"
        },
        "mails": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupMail:ReplacemsggroupMail"
          },
          "description": "Replacement message table entries. The structure of `mail` block is documented below.\n"
        },
        "nacQuars": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupNacQuar:ReplacemsggroupNacQuar"
          },
          "description": "Replacement message table entries. The structure of `nac_quar` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Group name.\n",
          "willReplaceOnChanges": true
        },
        "nntps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupNntp:ReplacemsggroupNntp"
          },
          "description": "Replacement message table entries. The structure of `nntp` block is documented below.\n"
        },
        "spams": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupSpam:ReplacemsggroupSpam"
          },
          "description": "Replacement message table entries. The structure of `spam` block is documented below.\n"
        },
        "sslvpns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupSslvpn:ReplacemsggroupSslvpn"
          },
          "description": "Replacement message table entries. The structure of `sslvpn` block is documented below.\n"
        },
        "trafficQuotas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupTrafficQuota:ReplacemsggroupTrafficQuota"
          },
          "description": "Replacement message table entries. The structure of `traffic_quota` block is documented below.\n"
        },
        "utms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupUtm:ReplacemsggroupUtm"
          },
          "description": "Replacement message table entries. The structure of `utm` 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
        },
        "webproxies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FReplacemsggroupWebproxy:ReplacemsggroupWebproxy"
          },
          "description": "Replacement message table entries. The structure of `webproxy` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "groupType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Replacemsggroup resources.\n",
        "properties": {
          "admins": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupAdmin:ReplacemsggroupAdmin"
            },
            "description": "Replacement message table entries. The structure of `admin` block is documented below.\n"
          },
          "alertmails": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupAlertmail:ReplacemsggroupAlertmail"
            },
            "description": "Replacement message table entries. The structure of `alertmail` block is documented below.\n"
          },
          "auths": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupAuth:ReplacemsggroupAuth"
            },
            "description": "Replacement message table entries. The structure of `auth` block is documented below.\n"
          },
          "automations": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupAutomation:ReplacemsggroupAutomation"
            },
            "description": "Replacement message table entries. The structure of `automation` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "customMessages": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupCustomMessage:ReplacemsggroupCustomMessage"
            },
            "description": "Replacement message table entries. The structure of `custom_message` block is documented below.\n"
          },
          "deviceDetectionPortals": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupDeviceDetectionPortal:ReplacemsggroupDeviceDetectionPortal"
            },
            "description": "Replacement message table entries. The structure of `device_detection_portal` 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"
          },
          "ecs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupEc:ReplacemsggroupEc"
            },
            "description": "Replacement message table entries. The structure of `ec` block is documented below.\n"
          },
          "fortiguardWfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupFortiguardWf:ReplacemsggroupFortiguardWf"
            },
            "description": "Replacement message table entries. The structure of `fortiguard_wf` block is documented below.\n"
          },
          "ftps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupFtp:ReplacemsggroupFtp"
            },
            "description": "Replacement message table entries. 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"
          },
          "groupType": {
            "type": "string",
            "description": "Group type.\n"
          },
          "https": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupHttp:ReplacemsggroupHttp"
            },
            "description": "Replacement message table entries. The structure of `http` block is documented below.\n"
          },
          "icaps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupIcap:ReplacemsggroupIcap"
            },
            "description": "Replacement message table entries. The structure of `icap` block is documented below.\n"
          },
          "mails": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupMail:ReplacemsggroupMail"
            },
            "description": "Replacement message table entries. The structure of `mail` block is documented below.\n"
          },
          "nacQuars": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupNacQuar:ReplacemsggroupNacQuar"
            },
            "description": "Replacement message table entries. The structure of `nac_quar` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Group name.\n",
            "willReplaceOnChanges": true
          },
          "nntps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupNntp:ReplacemsggroupNntp"
            },
            "description": "Replacement message table entries. The structure of `nntp` block is documented below.\n"
          },
          "spams": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupSpam:ReplacemsggroupSpam"
            },
            "description": "Replacement message table entries. The structure of `spam` block is documented below.\n"
          },
          "sslvpns": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupSslvpn:ReplacemsggroupSslvpn"
            },
            "description": "Replacement message table entries. The structure of `sslvpn` block is documented below.\n"
          },
          "trafficQuotas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupTrafficQuota:ReplacemsggroupTrafficQuota"
            },
            "description": "Replacement message table entries. The structure of `traffic_quota` block is documented below.\n"
          },
          "utms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupUtm:ReplacemsggroupUtm"
            },
            "description": "Replacement message table entries. The structure of `utm` 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
          },
          "webproxies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FReplacemsggroupWebproxy:ReplacemsggroupWebproxy"
            },
            "description": "Replacement message table entries. The structure of `webproxy` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/replacemsgimage:Replacemsgimage": {
      "description": "Configure replacement message images.\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.system.Replacemsgimage(\"trname\", {\n    imageBase64: \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\",\n    imageType: \"png\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Replacemsgimage(\"trname\",\n    image_base64=\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\",\n    image_type=\"png\")\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.System.Replacemsgimage(\"trname\", new()\n    {\n        ImageBase64 = \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\",\n        ImageType = \"png\",\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.NewReplacemsgimage(ctx, \"trname\", &system.ReplacemsgimageArgs{\n\t\t\tImageBase64: pulumi.String(\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\"),\n\t\t\tImageType:   pulumi.String(\"png\"),\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.Replacemsgimage;\nimport com.pulumi.fortios.system.ReplacemsgimageArgs;\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 Replacemsgimage(\"trname\", ReplacemsgimageArgs.builder()\n            .imageBase64(\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\")\n            .imageType(\"png\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Replacemsgimage\n    properties:\n      imageBase64: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEWAAABFgAVshLGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII=\n      imageType: png\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ReplacemsgImage can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/replacemsgimage:Replacemsgimage 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:system/replacemsgimage:Replacemsgimage labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "imageBase64": {
          "type": "string",
          "description": "Image data.\n"
        },
        "imageType": {
          "type": "string",
          "description": "Image type. Valid values: `gif`, `jpg`, `tiff`, `png`.\n"
        },
        "name": {
          "type": "string",
          "description": "Image 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": [
        "imageType",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "imageBase64": {
          "type": "string",
          "description": "Image data.\n"
        },
        "imageType": {
          "type": "string",
          "description": "Image type. Valid values: `gif`, `jpg`, `tiff`, `png`.\n"
        },
        "name": {
          "type": "string",
          "description": "Image 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 Replacemsgimage resources.\n",
        "properties": {
          "imageBase64": {
            "type": "string",
            "description": "Image data.\n"
          },
          "imageType": {
            "type": "string",
            "description": "Image type. Valid values: `gif`, `jpg`, `tiff`, `png`.\n"
          },
          "name": {
            "type": "string",
            "description": "Image 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:system/resourcelimits:Resourcelimits": {
      "description": "Configure resource limits.\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.system.Resourcelimits(\"trname\", {\n    customService: 0,\n    dialupTunnel: 0,\n    firewallAddress: 41024,\n    firewallAddrgrp: 10692,\n    firewallPolicy: 41024,\n    ipsecPhase1: 2000,\n    ipsecPhase1Interface: 0,\n    ipsecPhase2: 2000,\n    ipsecPhase2Interface: 0,\n    logDiskQuota: 30235,\n    onetimeSchedule: 0,\n    proxy: 64000,\n    recurringSchedule: 0,\n    serviceGroup: 0,\n    session: 0,\n    sslvpn: 0,\n    user: 0,\n    userGroup: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Resourcelimits(\"trname\",\n    custom_service=0,\n    dialup_tunnel=0,\n    firewall_address=41024,\n    firewall_addrgrp=10692,\n    firewall_policy=41024,\n    ipsec_phase1=2000,\n    ipsec_phase1_interface=0,\n    ipsec_phase2=2000,\n    ipsec_phase2_interface=0,\n    log_disk_quota=30235,\n    onetime_schedule=0,\n    proxy=64000,\n    recurring_schedule=0,\n    service_group=0,\n    session=0,\n    sslvpn=0,\n    user=0,\n    user_group=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.System.Resourcelimits(\"trname\", new()\n    {\n        CustomService = 0,\n        DialupTunnel = 0,\n        FirewallAddress = 41024,\n        FirewallAddrgrp = 10692,\n        FirewallPolicy = 41024,\n        IpsecPhase1 = 2000,\n        IpsecPhase1Interface = 0,\n        IpsecPhase2 = 2000,\n        IpsecPhase2Interface = 0,\n        LogDiskQuota = 30235,\n        OnetimeSchedule = 0,\n        Proxy = 64000,\n        RecurringSchedule = 0,\n        ServiceGroup = 0,\n        Session = 0,\n        Sslvpn = 0,\n        User = 0,\n        UserGroup = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewResourcelimits(ctx, \"trname\", &system.ResourcelimitsArgs{\n\t\t\tCustomService:        pulumi.Int(0),\n\t\t\tDialupTunnel:         pulumi.Int(0),\n\t\t\tFirewallAddress:      pulumi.Int(41024),\n\t\t\tFirewallAddrgrp:      pulumi.Int(10692),\n\t\t\tFirewallPolicy:       pulumi.Int(41024),\n\t\t\tIpsecPhase1:          pulumi.Int(2000),\n\t\t\tIpsecPhase1Interface: pulumi.Int(0),\n\t\t\tIpsecPhase2:          pulumi.Int(2000),\n\t\t\tIpsecPhase2Interface: pulumi.Int(0),\n\t\t\tLogDiskQuota:         pulumi.Int(30235),\n\t\t\tOnetimeSchedule:      pulumi.Int(0),\n\t\t\tProxy:                pulumi.Int(64000),\n\t\t\tRecurringSchedule:    pulumi.Int(0),\n\t\t\tServiceGroup:         pulumi.Int(0),\n\t\t\tSession:              pulumi.Int(0),\n\t\t\tSslvpn:               pulumi.Int(0),\n\t\t\tUser:                 pulumi.Int(0),\n\t\t\tUserGroup:            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.system.Resourcelimits;\nimport com.pulumi.fortios.system.ResourcelimitsArgs;\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 Resourcelimits(\"trname\", ResourcelimitsArgs.builder()\n            .customService(0)\n            .dialupTunnel(0)\n            .firewallAddress(41024)\n            .firewallAddrgrp(10692)\n            .firewallPolicy(41024)\n            .ipsecPhase1(2000)\n            .ipsecPhase1Interface(0)\n            .ipsecPhase2(2000)\n            .ipsecPhase2Interface(0)\n            .logDiskQuota(30235)\n            .onetimeSchedule(0)\n            .proxy(64000)\n            .recurringSchedule(0)\n            .serviceGroup(0)\n            .session(0)\n            .sslvpn(0)\n            .user(0)\n            .userGroup(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Resourcelimits\n    properties:\n      customService: 0\n      dialupTunnel: 0\n      firewallAddress: 41024\n      firewallAddrgrp: 10692\n      firewallPolicy: 41024\n      ipsecPhase1: 2000\n      ipsecPhase1Interface: 0\n      ipsecPhase2: 2000\n      ipsecPhase2Interface: 0\n      logDiskQuota: 30235\n      onetimeSchedule: 0\n      proxy: 64000\n      recurringSchedule: 0\n      serviceGroup: 0\n      session: 0\n      sslvpn: 0\n      user: 0\n      userGroup: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem ResourceLimits can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/resourcelimits:Resourcelimits labelname SystemResourceLimits\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:system/resourcelimits:Resourcelimits labelname SystemResourceLimits\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "customService": {
          "type": "integer",
          "description": "Maximum number of firewall custom services.\n"
        },
        "dialupTunnel": {
          "type": "integer",
          "description": "Maximum number of dial-up tunnels.\n"
        },
        "firewallAddress": {
          "type": "integer",
          "description": "Maximum number of firewall addresses (IPv4, IPv6, multicast).\n"
        },
        "firewallAddrgrp": {
          "type": "integer",
          "description": "Maximum number of firewall address groups (IPv4, IPv6).\n"
        },
        "firewallPolicy": {
          "type": "integer",
          "description": "Maximum number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
        },
        "ipsecPhase1": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase1 tunnels.\n"
        },
        "ipsecPhase1Interface": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase1 interface tunnels.\n"
        },
        "ipsecPhase2": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase2 tunnels.\n"
        },
        "ipsecPhase2Interface": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase2 interface tunnels.\n"
        },
        "logDiskQuota": {
          "type": "integer",
          "description": "Log disk quota in megabytes (MB).\n"
        },
        "onetimeSchedule": {
          "type": "integer",
          "description": "Maximum number of firewall one-time schedules.\n"
        },
        "proxy": {
          "type": "integer",
          "description": "Maximum number of concurrent proxy users.\n"
        },
        "recurringSchedule": {
          "type": "integer",
          "description": "Maximum number of firewall recurring schedules.\n"
        },
        "serviceGroup": {
          "type": "integer",
          "description": "Maximum number of firewall service groups.\n"
        },
        "session": {
          "type": "integer",
          "description": "Maximum number of sessions.\n"
        },
        "sslvpn": {
          "type": "integer",
          "description": "Maximum number of SSL-VPN.\n"
        },
        "user": {
          "type": "integer",
          "description": "Maximum number of local users.\n"
        },
        "userGroup": {
          "type": "integer",
          "description": "Maximum number of user groups.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "customService",
        "dialupTunnel",
        "firewallAddress",
        "firewallAddrgrp",
        "firewallPolicy",
        "ipsecPhase1",
        "ipsecPhase1Interface",
        "ipsecPhase2",
        "ipsecPhase2Interface",
        "logDiskQuota",
        "onetimeSchedule",
        "proxy",
        "recurringSchedule",
        "serviceGroup",
        "session",
        "sslvpn",
        "user",
        "userGroup",
        "vdomparam"
      ],
      "inputProperties": {
        "customService": {
          "type": "integer",
          "description": "Maximum number of firewall custom services.\n"
        },
        "dialupTunnel": {
          "type": "integer",
          "description": "Maximum number of dial-up tunnels.\n"
        },
        "firewallAddress": {
          "type": "integer",
          "description": "Maximum number of firewall addresses (IPv4, IPv6, multicast).\n"
        },
        "firewallAddrgrp": {
          "type": "integer",
          "description": "Maximum number of firewall address groups (IPv4, IPv6).\n"
        },
        "firewallPolicy": {
          "type": "integer",
          "description": "Maximum number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
        },
        "ipsecPhase1": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase1 tunnels.\n"
        },
        "ipsecPhase1Interface": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase1 interface tunnels.\n"
        },
        "ipsecPhase2": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase2 tunnels.\n"
        },
        "ipsecPhase2Interface": {
          "type": "integer",
          "description": "Maximum number of VPN IPsec phase2 interface tunnels.\n"
        },
        "logDiskQuota": {
          "type": "integer",
          "description": "Log disk quota in megabytes (MB).\n"
        },
        "onetimeSchedule": {
          "type": "integer",
          "description": "Maximum number of firewall one-time schedules.\n"
        },
        "proxy": {
          "type": "integer",
          "description": "Maximum number of concurrent proxy users.\n"
        },
        "recurringSchedule": {
          "type": "integer",
          "description": "Maximum number of firewall recurring schedules.\n"
        },
        "serviceGroup": {
          "type": "integer",
          "description": "Maximum number of firewall service groups.\n"
        },
        "session": {
          "type": "integer",
          "description": "Maximum number of sessions.\n"
        },
        "sslvpn": {
          "type": "integer",
          "description": "Maximum number of SSL-VPN.\n"
        },
        "user": {
          "type": "integer",
          "description": "Maximum number of local users.\n"
        },
        "userGroup": {
          "type": "integer",
          "description": "Maximum number of user groups.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Resourcelimits resources.\n",
        "properties": {
          "customService": {
            "type": "integer",
            "description": "Maximum number of firewall custom services.\n"
          },
          "dialupTunnel": {
            "type": "integer",
            "description": "Maximum number of dial-up tunnels.\n"
          },
          "firewallAddress": {
            "type": "integer",
            "description": "Maximum number of firewall addresses (IPv4, IPv6, multicast).\n"
          },
          "firewallAddrgrp": {
            "type": "integer",
            "description": "Maximum number of firewall address groups (IPv4, IPv6).\n"
          },
          "firewallPolicy": {
            "type": "integer",
            "description": "Maximum number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
          },
          "ipsecPhase1": {
            "type": "integer",
            "description": "Maximum number of VPN IPsec phase1 tunnels.\n"
          },
          "ipsecPhase1Interface": {
            "type": "integer",
            "description": "Maximum number of VPN IPsec phase1 interface tunnels.\n"
          },
          "ipsecPhase2": {
            "type": "integer",
            "description": "Maximum number of VPN IPsec phase2 tunnels.\n"
          },
          "ipsecPhase2Interface": {
            "type": "integer",
            "description": "Maximum number of VPN IPsec phase2 interface tunnels.\n"
          },
          "logDiskQuota": {
            "type": "integer",
            "description": "Log disk quota in megabytes (MB).\n"
          },
          "onetimeSchedule": {
            "type": "integer",
            "description": "Maximum number of firewall one-time schedules.\n"
          },
          "proxy": {
            "type": "integer",
            "description": "Maximum number of concurrent proxy users.\n"
          },
          "recurringSchedule": {
            "type": "integer",
            "description": "Maximum number of firewall recurring schedules.\n"
          },
          "serviceGroup": {
            "type": "integer",
            "description": "Maximum number of firewall service groups.\n"
          },
          "session": {
            "type": "integer",
            "description": "Maximum number of sessions.\n"
          },
          "sslvpn": {
            "type": "integer",
            "description": "Maximum number of SSL-VPN.\n"
          },
          "user": {
            "type": "integer",
            "description": "Maximum number of local users.\n"
          },
          "userGroup": {
            "type": "integer",
            "description": "Maximum number of user groups.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/saml:Saml": {
      "description": "Global settings for SAML authentication. 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.system.Saml(\"trname\", {\n    defaultLoginPage: \"normal\",\n    defaultProfile: \"admin_no_access\",\n    life: 30,\n    role: \"service-provider\",\n    status: \"disable\",\n    tolerance: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Saml(\"trname\",\n    default_login_page=\"normal\",\n    default_profile=\"admin_no_access\",\n    life=30,\n    role=\"service-provider\",\n    status=\"disable\",\n    tolerance=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 trname = new Fortios.System.Saml(\"trname\", new()\n    {\n        DefaultLoginPage = \"normal\",\n        DefaultProfile = \"admin_no_access\",\n        Life = 30,\n        Role = \"service-provider\",\n        Status = \"disable\",\n        Tolerance = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSaml(ctx, \"trname\", &system.SamlArgs{\n\t\t\tDefaultLoginPage: pulumi.String(\"normal\"),\n\t\t\tDefaultProfile:   pulumi.String(\"admin_no_access\"),\n\t\t\tLife:             pulumi.Int(30),\n\t\t\tRole:             pulumi.String(\"service-provider\"),\n\t\t\tStatus:           pulumi.String(\"disable\"),\n\t\t\tTolerance:        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.system.Saml;\nimport com.pulumi.fortios.system.SamlArgs;\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 Saml(\"trname\", SamlArgs.builder()\n            .defaultLoginPage(\"normal\")\n            .defaultProfile(\"admin_no_access\")\n            .life(30)\n            .role(\"service-provider\")\n            .status(\"disable\")\n            .tolerance(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Saml\n    properties:\n      defaultLoginPage: normal\n      defaultProfile: admin_no_access\n      life: 30\n      role: service-provider\n      status: disable\n      tolerance: 5\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Saml can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/saml:Saml labelname SystemSaml\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:system/saml:Saml labelname SystemSaml\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bindingProtocol": {
          "type": "string",
          "description": "IdP Binding protocol. Valid values: `post`, `redirect`.\n"
        },
        "cert": {
          "type": "string",
          "description": "Certificate to sign SAML messages.\n"
        },
        "defaultLoginPage": {
          "type": "string",
          "description": "Choose default login page. Valid values: `normal`, `sso`.\n"
        },
        "defaultProfile": {
          "type": "string",
          "description": "Default profile for new SSO 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"
        },
        "entityId": {
          "type": "string",
          "description": "SP entity 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"
        },
        "idpCert": {
          "type": "string",
          "description": "IDP certificate name.\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"
        },
        "life": {
          "type": "integer",
          "description": "Length of the range of time when the assertion is valid (in minutes).\n"
        },
        "portalUrl": {
          "type": "string",
          "description": "SP portal URL.\n"
        },
        "role": {
          "type": "string",
          "description": "SAML role. Valid values: `identity-provider`, `service-provider`.\n"
        },
        "serverAddress": {
          "type": "string",
          "description": "Server address.\n"
        },
        "serviceProviders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSamlServiceProvider:SamlServiceProvider"
          },
          "description": "Authorized service providers. The structure of `service_providers` block is documented below.\n"
        },
        "singleLogoutUrl": {
          "type": "string",
          "description": "SP single logout URL.\n"
        },
        "singleSignOnUrl": {
          "type": "string",
          "description": "SP single sign-on URL.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SAML authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "tolerance": {
          "type": "integer",
          "description": "Tolerance to the range of time when the assertion is valid (in minutes).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "bindingProtocol",
        "cert",
        "defaultLoginPage",
        "defaultProfile",
        "entityId",
        "idpCert",
        "idpEntityId",
        "idpSingleLogoutUrl",
        "idpSingleSignOnUrl",
        "life",
        "portalUrl",
        "role",
        "serverAddress",
        "singleLogoutUrl",
        "singleSignOnUrl",
        "status",
        "tolerance",
        "vdomparam"
      ],
      "inputProperties": {
        "bindingProtocol": {
          "type": "string",
          "description": "IdP Binding protocol. Valid values: `post`, `redirect`.\n"
        },
        "cert": {
          "type": "string",
          "description": "Certificate to sign SAML messages.\n"
        },
        "defaultLoginPage": {
          "type": "string",
          "description": "Choose default login page. Valid values: `normal`, `sso`.\n"
        },
        "defaultProfile": {
          "type": "string",
          "description": "Default profile for new SSO 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"
        },
        "entityId": {
          "type": "string",
          "description": "SP entity 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"
        },
        "idpCert": {
          "type": "string",
          "description": "IDP certificate name.\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"
        },
        "life": {
          "type": "integer",
          "description": "Length of the range of time when the assertion is valid (in minutes).\n"
        },
        "portalUrl": {
          "type": "string",
          "description": "SP portal URL.\n"
        },
        "role": {
          "type": "string",
          "description": "SAML role. Valid values: `identity-provider`, `service-provider`.\n"
        },
        "serverAddress": {
          "type": "string",
          "description": "Server address.\n"
        },
        "serviceProviders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSamlServiceProvider:SamlServiceProvider"
          },
          "description": "Authorized service providers. The structure of `service_providers` block is documented below.\n"
        },
        "singleLogoutUrl": {
          "type": "string",
          "description": "SP single logout URL.\n"
        },
        "singleSignOnUrl": {
          "type": "string",
          "description": "SP single sign-on URL.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SAML authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "tolerance": {
          "type": "integer",
          "description": "Tolerance to the range of time when the assertion is valid (in minutes).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Saml resources.\n",
        "properties": {
          "bindingProtocol": {
            "type": "string",
            "description": "IdP Binding protocol. Valid values: `post`, `redirect`.\n"
          },
          "cert": {
            "type": "string",
            "description": "Certificate to sign SAML messages.\n"
          },
          "defaultLoginPage": {
            "type": "string",
            "description": "Choose default login page. Valid values: `normal`, `sso`.\n"
          },
          "defaultProfile": {
            "type": "string",
            "description": "Default profile for new SSO 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"
          },
          "entityId": {
            "type": "string",
            "description": "SP entity 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"
          },
          "idpCert": {
            "type": "string",
            "description": "IDP certificate name.\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"
          },
          "life": {
            "type": "integer",
            "description": "Length of the range of time when the assertion is valid (in minutes).\n"
          },
          "portalUrl": {
            "type": "string",
            "description": "SP portal URL.\n"
          },
          "role": {
            "type": "string",
            "description": "SAML role. Valid values: `identity-provider`, `service-provider`.\n"
          },
          "serverAddress": {
            "type": "string",
            "description": "Server address.\n"
          },
          "serviceProviders": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSamlServiceProvider:SamlServiceProvider"
            },
            "description": "Authorized service providers. The structure of `service_providers` block is documented below.\n"
          },
          "singleLogoutUrl": {
            "type": "string",
            "description": "SP single logout URL.\n"
          },
          "singleSignOnUrl": {
            "type": "string",
            "description": "SP single sign-on URL.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable SAML authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "tolerance": {
            "type": "integer",
            "description": "Tolerance to the range of time when the assertion is valid (in minutes).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/sdnconnector:Sdnconnector": {
      "description": "Configure connection to SDN Connector.\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.system.Sdnconnector(\"trname\", {\n    azureRegion: \"global\",\n    haStatus: \"disable\",\n    password: \"deWdf321ds\",\n    server: \"1.1.1.1\",\n    serverPort: 3,\n    status: \"disable\",\n    type: \"aci\",\n    updateInterval: 60,\n    useMetadataIam: \"disable\",\n    username: \"sg\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Sdnconnector(\"trname\",\n    azure_region=\"global\",\n    ha_status=\"disable\",\n    password=\"deWdf321ds\",\n    server=\"1.1.1.1\",\n    server_port=3,\n    status=\"disable\",\n    type=\"aci\",\n    update_interval=60,\n    use_metadata_iam=\"disable\",\n    username=\"sg\")\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.System.Sdnconnector(\"trname\", new()\n    {\n        AzureRegion = \"global\",\n        HaStatus = \"disable\",\n        Password = \"deWdf321ds\",\n        Server = \"1.1.1.1\",\n        ServerPort = 3,\n        Status = \"disable\",\n        Type = \"aci\",\n        UpdateInterval = 60,\n        UseMetadataIam = \"disable\",\n        Username = \"sg\",\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.NewSdnconnector(ctx, \"trname\", &system.SdnconnectorArgs{\n\t\t\tAzureRegion:    pulumi.String(\"global\"),\n\t\t\tHaStatus:       pulumi.String(\"disable\"),\n\t\t\tPassword:       pulumi.String(\"deWdf321ds\"),\n\t\t\tServer:         pulumi.String(\"1.1.1.1\"),\n\t\t\tServerPort:     pulumi.Int(3),\n\t\t\tStatus:         pulumi.String(\"disable\"),\n\t\t\tType:           pulumi.String(\"aci\"),\n\t\t\tUpdateInterval: pulumi.Int(60),\n\t\t\tUseMetadataIam: pulumi.String(\"disable\"),\n\t\t\tUsername:       pulumi.String(\"sg\"),\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.Sdnconnector;\nimport com.pulumi.fortios.system.SdnconnectorArgs;\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 Sdnconnector(\"trname\", SdnconnectorArgs.builder()\n            .azureRegion(\"global\")\n            .haStatus(\"disable\")\n            .password(\"deWdf321ds\")\n            .server(\"1.1.1.1\")\n            .serverPort(3)\n            .status(\"disable\")\n            .type(\"aci\")\n            .updateInterval(60)\n            .useMetadataIam(\"disable\")\n            .username(\"sg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Sdnconnector\n    properties:\n      azureRegion: global\n      haStatus: disable\n      password: deWdf321ds\n      server: 1.1.1.1\n      serverPort: 3\n      status: disable\n      type: aci\n      updateInterval: 60\n      useMetadataIam: disable\n      username: sg\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SdnConnector can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sdnconnector:Sdnconnector 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:system/sdnconnector:Sdnconnector labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessKey": {
          "type": "string",
          "description": "AWS access key ID.\n",
          "secret": true
        },
        "altResourceIp": {
          "type": "string",
          "description": "Enable/disable AWS alternative resource IP. Valid values: `disable`, `enable`.\n"
        },
        "apiKey": {
          "type": "string",
          "description": "IBM cloud API key or service ID API key.\n",
          "secret": true
        },
        "azureRegion": {
          "type": "string",
          "description": "Azure server region. Valid values: `global`, `china`, `germany`, `usgov`, `local`.\n"
        },
        "clientId": {
          "type": "string",
          "description": "Azure client ID (application ID).\n"
        },
        "clientSecret": {
          "type": "string",
          "description": "Azure client secret (application key).\n",
          "secret": true
        },
        "compartmentId": {
          "type": "string",
          "description": "Compartment ID.\n"
        },
        "compartmentLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorCompartmentList:SdnconnectorCompartmentList"
          },
          "description": "Configure OCI compartment list. The structure of `compartment_list` block is documented below.\n"
        },
        "computeGeneration": {
          "type": "integer",
          "description": "Compute generation for IBM cloud infrastructure.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain 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"
        },
        "externalAccountLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorExternalAccountList:SdnconnectorExternalAccountList"
          },
          "description": "Configure AWS external account list. The structure of `external_account_list` block is documented below.\n"
        },
        "externalIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorExternalIp:SdnconnectorExternalIp"
          },
          "description": "Configure GCP external IP. The structure of `external_ip` block is documented below.\n"
        },
        "forwardingRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorForwardingRule:SdnconnectorForwardingRule"
          },
          "description": "Configure GCP forwarding rule. The structure of `forwarding_rule` block is documented below.\n"
        },
        "gcpProject": {
          "type": "string",
          "description": "GCP project name.\n"
        },
        "gcpProjectLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorGcpProjectList:SdnconnectorGcpProjectList"
          },
          "description": "Configure GCP project list. The structure of `gcp_project_list` 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"
        },
        "groupName": {
          "type": "string",
          "description": "Group name of computers.\n"
        },
        "haStatus": {
          "type": "string",
          "description": "Enable/disable use for FortiGate HA service. Valid values: `disable`, `enable`.\n"
        },
        "ibmRegion": {
          "type": "string",
          "description": "IBM cloud region name.\n"
        },
        "ibmRegionGen1": {
          "type": "string",
          "description": "IBM cloud compute generation 1 region name. Valid values: `us-south`, `us-east`, `germany`, `great-britain`, `japan`, `australia`.\n"
        },
        "ibmRegionGen2": {
          "type": "string",
          "description": "IBM cloud compute generation 2 region name. Valid values: `us-south`, `us-east`, `great-britain`.\n"
        },
        "keyPasswd": {
          "type": "string",
          "description": "Private key password.\n",
          "secret": true
        },
        "loginEndpoint": {
          "type": "string",
          "description": "Azure Stack login endpoint.\n"
        },
        "name": {
          "type": "string",
          "description": "SDN connector name.\n"
        },
        "nics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorNic:SdnconnectorNic"
          },
          "description": "Configure Azure network interface. The structure of `nic` block is documented below.\n"
        },
        "ociCert": {
          "type": "string",
          "description": "OCI certificate.\n"
        },
        "ociFingerprint": {
          "type": "string",
          "description": "OCI pubkey fingerprint.\n"
        },
        "ociRegion": {
          "type": "string",
          "description": "OCI server region.\n"
        },
        "ociRegionLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorOciRegionList:SdnconnectorOciRegionList"
          },
          "description": "Configure OCI region list. The structure of `oci_region_list` block is documented below.\n"
        },
        "ociRegionType": {
          "type": "string",
          "description": "OCI region type. Valid values: `commercial`, `government`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password of the remote SDN connector as login credentials.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "Private key of GCP service account.\n",
          "secret": true
        },
        "proxy": {
          "type": "string",
          "description": "SDN proxy.\n"
        },
        "region": {
          "type": "string",
          "description": "AWS region name.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Azure resource group.\n"
        },
        "resourceUrl": {
          "type": "string",
          "description": "Azure Stack resource URL.\n"
        },
        "routeTables": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorRouteTable:SdnconnectorRouteTable"
          },
          "description": "Configure Azure route table. The structure of `route_table` block is documented below.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorRoute:SdnconnectorRoute"
          },
          "description": "Configure GCP route. The structure of `route` block is documented below.\n"
        },
        "secretKey": {
          "type": "string",
          "description": "AWS secret access key.\n",
          "secret": true
        },
        "secretToken": {
          "type": "string",
          "description": "Secret token of Kubernetes service account.\n",
          "secret": true
        },
        "server": {
          "type": "string",
          "description": "Server address of the remote SDN connector.\n"
        },
        "serverCaCert": {
          "type": "string",
          "description": "Trust only those servers whose certificate is directly/indirectly signed by this certificate.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Trust servers that contain this certificate only.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorServerList:SdnconnectorServerList"
          },
          "description": "Server address list of the remote SDN connector. The structure of `server_list` block is documented below.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of the remote SDN connector.\n"
        },
        "serviceAccount": {
          "type": "string",
          "description": "GCP service account email.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable connection to the remote SDN connector. Valid values: `disable`, `enable`.\n"
        },
        "subscriptionId": {
          "type": "string",
          "description": "Azure subscription ID.\n"
        },
        "tenantId": {
          "type": "string",
          "description": "Tenant ID (directory ID).\n"
        },
        "type": {
          "type": "string",
          "description": "Type of SDN connector.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "Dynamic object update interval (default = 60, 0 = disabled). On FortiOS versions 6.2.0: 0 - 3600 sec. On FortiOS versions >= 6.2.4: 30 - 3600 sec.\n"
        },
        "useMetadataIam": {
          "type": "string",
          "description": "Enable/disable using IAM role from metadata to call API. Valid values: `disable`, `enable`.\n"
        },
        "userId": {
          "type": "string",
          "description": "User ID.\n"
        },
        "username": {
          "type": "string",
          "description": "Username of the remote SDN connector as login credentials.\n"
        },
        "vcenterPassword": {
          "type": "string",
          "description": "vCenter server password for NSX quarantine.\n",
          "secret": true
        },
        "vcenterServer": {
          "type": "string",
          "description": "vCenter server address for NSX quarantine.\n"
        },
        "vcenterUsername": {
          "type": "string",
          "description": "vCenter server username for NSX quarantine.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "verifyCertificate": {
          "type": "string",
          "description": "Enable/disable server certificate verification. Valid values: `disable`, `enable`.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "AWS VPC ID.\n"
        }
      },
      "type": "object",
      "required": [
        "accessKey",
        "altResourceIp",
        "azureRegion",
        "clientId",
        "compartmentId",
        "computeGeneration",
        "domain",
        "gcpProject",
        "groupName",
        "haStatus",
        "ibmRegion",
        "ibmRegionGen1",
        "ibmRegionGen2",
        "loginEndpoint",
        "name",
        "ociCert",
        "ociFingerprint",
        "ociRegion",
        "ociRegionType",
        "password",
        "privateKey",
        "proxy",
        "region",
        "resourceGroup",
        "resourceUrl",
        "secretToken",
        "server",
        "serverCaCert",
        "serverCert",
        "serverPort",
        "serviceAccount",
        "status",
        "subscriptionId",
        "tenantId",
        "type",
        "updateInterval",
        "useMetadataIam",
        "userId",
        "username",
        "vcenterServer",
        "vcenterUsername",
        "vdomparam",
        "verifyCertificate",
        "vpcId"
      ],
      "inputProperties": {
        "accessKey": {
          "type": "string",
          "description": "AWS access key ID.\n",
          "secret": true
        },
        "altResourceIp": {
          "type": "string",
          "description": "Enable/disable AWS alternative resource IP. Valid values: `disable`, `enable`.\n"
        },
        "apiKey": {
          "type": "string",
          "description": "IBM cloud API key or service ID API key.\n",
          "secret": true
        },
        "azureRegion": {
          "type": "string",
          "description": "Azure server region. Valid values: `global`, `china`, `germany`, `usgov`, `local`.\n"
        },
        "clientId": {
          "type": "string",
          "description": "Azure client ID (application ID).\n"
        },
        "clientSecret": {
          "type": "string",
          "description": "Azure client secret (application key).\n",
          "secret": true
        },
        "compartmentId": {
          "type": "string",
          "description": "Compartment ID.\n"
        },
        "compartmentLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorCompartmentList:SdnconnectorCompartmentList"
          },
          "description": "Configure OCI compartment list. The structure of `compartment_list` block is documented below.\n"
        },
        "computeGeneration": {
          "type": "integer",
          "description": "Compute generation for IBM cloud infrastructure.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain 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"
        },
        "externalAccountLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorExternalAccountList:SdnconnectorExternalAccountList"
          },
          "description": "Configure AWS external account list. The structure of `external_account_list` block is documented below.\n"
        },
        "externalIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorExternalIp:SdnconnectorExternalIp"
          },
          "description": "Configure GCP external IP. The structure of `external_ip` block is documented below.\n"
        },
        "forwardingRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorForwardingRule:SdnconnectorForwardingRule"
          },
          "description": "Configure GCP forwarding rule. The structure of `forwarding_rule` block is documented below.\n"
        },
        "gcpProject": {
          "type": "string",
          "description": "GCP project name.\n"
        },
        "gcpProjectLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorGcpProjectList:SdnconnectorGcpProjectList"
          },
          "description": "Configure GCP project list. The structure of `gcp_project_list` 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"
        },
        "groupName": {
          "type": "string",
          "description": "Group name of computers.\n"
        },
        "haStatus": {
          "type": "string",
          "description": "Enable/disable use for FortiGate HA service. Valid values: `disable`, `enable`.\n"
        },
        "ibmRegion": {
          "type": "string",
          "description": "IBM cloud region name.\n"
        },
        "ibmRegionGen1": {
          "type": "string",
          "description": "IBM cloud compute generation 1 region name. Valid values: `us-south`, `us-east`, `germany`, `great-britain`, `japan`, `australia`.\n"
        },
        "ibmRegionGen2": {
          "type": "string",
          "description": "IBM cloud compute generation 2 region name. Valid values: `us-south`, `us-east`, `great-britain`.\n"
        },
        "keyPasswd": {
          "type": "string",
          "description": "Private key password.\n",
          "secret": true
        },
        "loginEndpoint": {
          "type": "string",
          "description": "Azure Stack login endpoint.\n"
        },
        "name": {
          "type": "string",
          "description": "SDN connector name.\n",
          "willReplaceOnChanges": true
        },
        "nics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorNic:SdnconnectorNic"
          },
          "description": "Configure Azure network interface. The structure of `nic` block is documented below.\n"
        },
        "ociCert": {
          "type": "string",
          "description": "OCI certificate.\n"
        },
        "ociFingerprint": {
          "type": "string",
          "description": "OCI pubkey fingerprint.\n"
        },
        "ociRegion": {
          "type": "string",
          "description": "OCI server region.\n"
        },
        "ociRegionLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorOciRegionList:SdnconnectorOciRegionList"
          },
          "description": "Configure OCI region list. The structure of `oci_region_list` block is documented below.\n"
        },
        "ociRegionType": {
          "type": "string",
          "description": "OCI region type. Valid values: `commercial`, `government`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password of the remote SDN connector as login credentials.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "Private key of GCP service account.\n",
          "secret": true
        },
        "proxy": {
          "type": "string",
          "description": "SDN proxy.\n"
        },
        "region": {
          "type": "string",
          "description": "AWS region name.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Azure resource group.\n"
        },
        "resourceUrl": {
          "type": "string",
          "description": "Azure Stack resource URL.\n"
        },
        "routeTables": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorRouteTable:SdnconnectorRouteTable"
          },
          "description": "Configure Azure route table. The structure of `route_table` block is documented below.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorRoute:SdnconnectorRoute"
          },
          "description": "Configure GCP route. The structure of `route` block is documented below.\n"
        },
        "secretKey": {
          "type": "string",
          "description": "AWS secret access key.\n",
          "secret": true
        },
        "secretToken": {
          "type": "string",
          "description": "Secret token of Kubernetes service account.\n",
          "secret": true
        },
        "server": {
          "type": "string",
          "description": "Server address of the remote SDN connector.\n"
        },
        "serverCaCert": {
          "type": "string",
          "description": "Trust only those servers whose certificate is directly/indirectly signed by this certificate.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Trust servers that contain this certificate only.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorServerList:SdnconnectorServerList"
          },
          "description": "Server address list of the remote SDN connector. The structure of `server_list` block is documented below.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of the remote SDN connector.\n"
        },
        "serviceAccount": {
          "type": "string",
          "description": "GCP service account email.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable connection to the remote SDN connector. Valid values: `disable`, `enable`.\n"
        },
        "subscriptionId": {
          "type": "string",
          "description": "Azure subscription ID.\n"
        },
        "tenantId": {
          "type": "string",
          "description": "Tenant ID (directory ID).\n"
        },
        "type": {
          "type": "string",
          "description": "Type of SDN connector.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "Dynamic object update interval (default = 60, 0 = disabled). On FortiOS versions 6.2.0: 0 - 3600 sec. On FortiOS versions >= 6.2.4: 30 - 3600 sec.\n"
        },
        "useMetadataIam": {
          "type": "string",
          "description": "Enable/disable using IAM role from metadata to call API. Valid values: `disable`, `enable`.\n"
        },
        "userId": {
          "type": "string",
          "description": "User ID.\n"
        },
        "username": {
          "type": "string",
          "description": "Username of the remote SDN connector as login credentials.\n"
        },
        "vcenterPassword": {
          "type": "string",
          "description": "vCenter server password for NSX quarantine.\n",
          "secret": true
        },
        "vcenterServer": {
          "type": "string",
          "description": "vCenter server address for NSX quarantine.\n"
        },
        "vcenterUsername": {
          "type": "string",
          "description": "vCenter server username for NSX quarantine.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "verifyCertificate": {
          "type": "string",
          "description": "Enable/disable server certificate verification. Valid values: `disable`, `enable`.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "AWS VPC ID.\n"
        }
      },
      "requiredInputs": [
        "status",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sdnconnector resources.\n",
        "properties": {
          "accessKey": {
            "type": "string",
            "description": "AWS access key ID.\n",
            "secret": true
          },
          "altResourceIp": {
            "type": "string",
            "description": "Enable/disable AWS alternative resource IP. Valid values: `disable`, `enable`.\n"
          },
          "apiKey": {
            "type": "string",
            "description": "IBM cloud API key or service ID API key.\n",
            "secret": true
          },
          "azureRegion": {
            "type": "string",
            "description": "Azure server region. Valid values: `global`, `china`, `germany`, `usgov`, `local`.\n"
          },
          "clientId": {
            "type": "string",
            "description": "Azure client ID (application ID).\n"
          },
          "clientSecret": {
            "type": "string",
            "description": "Azure client secret (application key).\n",
            "secret": true
          },
          "compartmentId": {
            "type": "string",
            "description": "Compartment ID.\n"
          },
          "compartmentLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorCompartmentList:SdnconnectorCompartmentList"
            },
            "description": "Configure OCI compartment list. The structure of `compartment_list` block is documented below.\n"
          },
          "computeGeneration": {
            "type": "integer",
            "description": "Compute generation for IBM cloud infrastructure.\n"
          },
          "domain": {
            "type": "string",
            "description": "Domain 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"
          },
          "externalAccountLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorExternalAccountList:SdnconnectorExternalAccountList"
            },
            "description": "Configure AWS external account list. The structure of `external_account_list` block is documented below.\n"
          },
          "externalIps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorExternalIp:SdnconnectorExternalIp"
            },
            "description": "Configure GCP external IP. The structure of `external_ip` block is documented below.\n"
          },
          "forwardingRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorForwardingRule:SdnconnectorForwardingRule"
            },
            "description": "Configure GCP forwarding rule. The structure of `forwarding_rule` block is documented below.\n"
          },
          "gcpProject": {
            "type": "string",
            "description": "GCP project name.\n"
          },
          "gcpProjectLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorGcpProjectList:SdnconnectorGcpProjectList"
            },
            "description": "Configure GCP project list. The structure of `gcp_project_list` 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"
          },
          "groupName": {
            "type": "string",
            "description": "Group name of computers.\n"
          },
          "haStatus": {
            "type": "string",
            "description": "Enable/disable use for FortiGate HA service. Valid values: `disable`, `enable`.\n"
          },
          "ibmRegion": {
            "type": "string",
            "description": "IBM cloud region name.\n"
          },
          "ibmRegionGen1": {
            "type": "string",
            "description": "IBM cloud compute generation 1 region name. Valid values: `us-south`, `us-east`, `germany`, `great-britain`, `japan`, `australia`.\n"
          },
          "ibmRegionGen2": {
            "type": "string",
            "description": "IBM cloud compute generation 2 region name. Valid values: `us-south`, `us-east`, `great-britain`.\n"
          },
          "keyPasswd": {
            "type": "string",
            "description": "Private key password.\n",
            "secret": true
          },
          "loginEndpoint": {
            "type": "string",
            "description": "Azure Stack login endpoint.\n"
          },
          "name": {
            "type": "string",
            "description": "SDN connector name.\n",
            "willReplaceOnChanges": true
          },
          "nics": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorNic:SdnconnectorNic"
            },
            "description": "Configure Azure network interface. The structure of `nic` block is documented below.\n"
          },
          "ociCert": {
            "type": "string",
            "description": "OCI certificate.\n"
          },
          "ociFingerprint": {
            "type": "string",
            "description": "OCI pubkey fingerprint.\n"
          },
          "ociRegion": {
            "type": "string",
            "description": "OCI server region.\n"
          },
          "ociRegionLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorOciRegionList:SdnconnectorOciRegionList"
            },
            "description": "Configure OCI region list. The structure of `oci_region_list` block is documented below.\n"
          },
          "ociRegionType": {
            "type": "string",
            "description": "OCI region type. Valid values: `commercial`, `government`.\n"
          },
          "password": {
            "type": "string",
            "description": "Password of the remote SDN connector as login credentials.\n",
            "secret": true
          },
          "privateKey": {
            "type": "string",
            "description": "Private key of GCP service account.\n",
            "secret": true
          },
          "proxy": {
            "type": "string",
            "description": "SDN proxy.\n"
          },
          "region": {
            "type": "string",
            "description": "AWS region name.\n"
          },
          "resourceGroup": {
            "type": "string",
            "description": "Azure resource group.\n"
          },
          "resourceUrl": {
            "type": "string",
            "description": "Azure Stack resource URL.\n"
          },
          "routeTables": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorRouteTable:SdnconnectorRouteTable"
            },
            "description": "Configure Azure route table. The structure of `route_table` block is documented below.\n"
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorRoute:SdnconnectorRoute"
            },
            "description": "Configure GCP route. The structure of `route` block is documented below.\n"
          },
          "secretKey": {
            "type": "string",
            "description": "AWS secret access key.\n",
            "secret": true
          },
          "secretToken": {
            "type": "string",
            "description": "Secret token of Kubernetes service account.\n",
            "secret": true
          },
          "server": {
            "type": "string",
            "description": "Server address of the remote SDN connector.\n"
          },
          "serverCaCert": {
            "type": "string",
            "description": "Trust only those servers whose certificate is directly/indirectly signed by this certificate.\n"
          },
          "serverCert": {
            "type": "string",
            "description": "Trust servers that contain this certificate only.\n"
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdnconnectorServerList:SdnconnectorServerList"
            },
            "description": "Server address list of the remote SDN connector. The structure of `server_list` block is documented below.\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "Port number of the remote SDN connector.\n"
          },
          "serviceAccount": {
            "type": "string",
            "description": "GCP service account email.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable connection to the remote SDN connector. Valid values: `disable`, `enable`.\n"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Azure subscription ID.\n"
          },
          "tenantId": {
            "type": "string",
            "description": "Tenant ID (directory ID).\n"
          },
          "type": {
            "type": "string",
            "description": "Type of SDN connector.\n"
          },
          "updateInterval": {
            "type": "integer",
            "description": "Dynamic object update interval (default = 60, 0 = disabled). On FortiOS versions 6.2.0: 0 - 3600 sec. On FortiOS versions >= 6.2.4: 30 - 3600 sec.\n"
          },
          "useMetadataIam": {
            "type": "string",
            "description": "Enable/disable using IAM role from metadata to call API. Valid values: `disable`, `enable`.\n"
          },
          "userId": {
            "type": "string",
            "description": "User ID.\n"
          },
          "username": {
            "type": "string",
            "description": "Username of the remote SDN connector as login credentials.\n"
          },
          "vcenterPassword": {
            "type": "string",
            "description": "vCenter server password for NSX quarantine.\n",
            "secret": true
          },
          "vcenterServer": {
            "type": "string",
            "description": "vCenter server address for NSX quarantine.\n"
          },
          "vcenterUsername": {
            "type": "string",
            "description": "vCenter server username for NSX quarantine.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "verifyCertificate": {
            "type": "string",
            "description": "Enable/disable server certificate verification. Valid values: `disable`, `enable`.\n"
          },
          "vpcId": {
            "type": "string",
            "description": "AWS VPC ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/sdnproxy:Sdnproxy": {
      "description": "Configure SDN proxy. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nSystem SdnProxy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sdnproxy:Sdnproxy 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:system/sdnproxy:Sdnproxy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "SDN proxy name.\n"
        },
        "password": {
          "type": "string",
          "description": "SDN proxy password.\n"
        },
        "server": {
          "type": "string",
          "description": "Server address of the SDN proxy.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of the SDN proxy.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of SDN proxy. Valid values: `general`, `fortimanager`.\n"
        },
        "username": {
          "type": "string",
          "description": "SDN proxy 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": [
        "name",
        "server",
        "serverPort",
        "type",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "SDN proxy name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "SDN proxy password.\n"
        },
        "server": {
          "type": "string",
          "description": "Server address of the SDN proxy.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of the SDN proxy.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of SDN proxy. Valid values: `general`, `fortimanager`.\n"
        },
        "username": {
          "type": "string",
          "description": "SDN proxy 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 Sdnproxy resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "SDN proxy name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "SDN proxy password.\n"
          },
          "server": {
            "type": "string",
            "description": "Server address of the SDN proxy.\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "Port number of the SDN proxy.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of SDN proxy. Valid values: `general`, `fortimanager`.\n"
          },
          "username": {
            "type": "string",
            "description": "SDN proxy 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:system/sdwan:Sdwan": {
      "description": "Configure redundant internet connections using SD-WAN (formerly virtual WAN link). Applies to FortiOS Version `>= 6.4.1`.\n\n## Import\n\nSystem Sdwan can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sdwan:Sdwan labelname SystemSdwan\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:system/sdwan:Sdwan labelname SystemSdwan\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "appPerfLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that applicationperformance logs are generated (0 - 3600, default = 0).\n"
        },
        "duplicationMaxNum": {
          "type": "integer",
          "description": "Maximum number of interface members a packet is duplicated in the SD-WAN zone (2 - 4, default = 2; if set to 3, the original packet plus 2 more copies are created).\n"
        },
        "duplications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplication:SdwanDuplication"
          },
          "description": "Create SD-WAN duplication rule. The structure of `duplication` 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"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanFailAlertInterface:SdwanFailAlertInterface"
          },
          "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
        },
        "healthChecks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanHealthCheck:SdwanHealthCheck"
          },
          "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
        },
        "loadBalanceMode": {
          "type": "string",
          "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanMember:SdwanMember"
          },
          "description": "FortiGate interfaces added to the SD-WAN. The structure of `members` block is documented below.\n"
        },
        "neighborHoldBootTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
        },
        "neighborHoldDown": {
          "type": "string",
          "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
        },
        "neighborHoldDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanNeighbor:SdwanNeighbor"
          },
          "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanService:SdwanService"
          },
          "description": "Create SD-WAN rules (also called services) to control how sessions are distributed to interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
        },
        "speedtestBypassRouting": {
          "type": "string",
          "description": "Enable/disable bypass routing when speedtest on a SD-WAN member. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN. 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"
        },
        "zones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanZone:SdwanZone"
          },
          "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "appPerfLogPeriod",
        "duplicationMaxNum",
        "failDetect",
        "loadBalanceMode",
        "neighborHoldBootTime",
        "neighborHoldDown",
        "neighborHoldDownTime",
        "speedtestBypassRouting",
        "status",
        "vdomparam",
        "zones"
      ],
      "inputProperties": {
        "appPerfLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that applicationperformance logs are generated (0 - 3600, default = 0).\n"
        },
        "duplicationMaxNum": {
          "type": "integer",
          "description": "Maximum number of interface members a packet is duplicated in the SD-WAN zone (2 - 4, default = 2; if set to 3, the original packet plus 2 more copies are created).\n"
        },
        "duplications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplication:SdwanDuplication"
          },
          "description": "Create SD-WAN duplication rule. The structure of `duplication` 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"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanFailAlertInterface:SdwanFailAlertInterface"
          },
          "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
        },
        "healthChecks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanHealthCheck:SdwanHealthCheck"
          },
          "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
        },
        "loadBalanceMode": {
          "type": "string",
          "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanMember:SdwanMember"
          },
          "description": "FortiGate interfaces added to the SD-WAN. The structure of `members` block is documented below.\n"
        },
        "neighborHoldBootTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
        },
        "neighborHoldDown": {
          "type": "string",
          "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
        },
        "neighborHoldDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanNeighbor:SdwanNeighbor"
          },
          "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanService:SdwanService"
          },
          "description": "Create SD-WAN rules (also called services) to control how sessions are distributed to interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
        },
        "speedtestBypassRouting": {
          "type": "string",
          "description": "Enable/disable bypass routing when speedtest on a SD-WAN member. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN. 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
        },
        "zones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanZone:SdwanZone"
          },
          "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sdwan resources.\n",
        "properties": {
          "appPerfLogPeriod": {
            "type": "integer",
            "description": "Time interval in seconds that applicationperformance logs are generated (0 - 3600, default = 0).\n"
          },
          "duplicationMaxNum": {
            "type": "integer",
            "description": "Maximum number of interface members a packet is duplicated in the SD-WAN zone (2 - 4, default = 2; if set to 3, the original packet plus 2 more copies are created).\n"
          },
          "duplications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanDuplication:SdwanDuplication"
            },
            "description": "Create SD-WAN duplication rule. The structure of `duplication` 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"
          },
          "failAlertInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanFailAlertInterface:SdwanFailAlertInterface"
            },
            "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
          },
          "failDetect": {
            "type": "string",
            "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
          },
          "healthChecks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanHealthCheck:SdwanHealthCheck"
            },
            "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
          },
          "loadBalanceMode": {
            "type": "string",
            "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanMember:SdwanMember"
            },
            "description": "FortiGate interfaces added to the SD-WAN. The structure of `members` block is documented below.\n"
          },
          "neighborHoldBootTime": {
            "type": "integer",
            "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
          },
          "neighborHoldDown": {
            "type": "string",
            "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
          },
          "neighborHoldDownTime": {
            "type": "integer",
            "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanNeighbor:SdwanNeighbor"
            },
            "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanService:SdwanService"
            },
            "description": "Create SD-WAN rules (also called services) to control how sessions are distributed to interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
          },
          "speedtestBypassRouting": {
            "type": "string",
            "description": "Enable/disable bypass routing when speedtest on a SD-WAN member. Valid values: `disable`, `enable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable SD-WAN. 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
          },
          "zones": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSdwanZone:SdwanZone"
            },
            "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/sessionhelper:Sessionhelper": {
      "description": "Configure session helper.\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.system.Sessionhelper(\"trname\", {\n    fosid: 33,\n    port: 3234,\n    protocol: 17,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Sessionhelper(\"trname\",\n    fosid=33,\n    port=3234,\n    protocol=17)\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.System.Sessionhelper(\"trname\", new()\n    {\n        Fosid = 33,\n        Port = 3234,\n        Protocol = 17,\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.NewSessionhelper(ctx, \"trname\", &system.SessionhelperArgs{\n\t\t\tFosid:    pulumi.Int(33),\n\t\t\tPort:     pulumi.Int(3234),\n\t\t\tProtocol: pulumi.Int(17),\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.Sessionhelper;\nimport com.pulumi.fortios.system.SessionhelperArgs;\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 Sessionhelper(\"trname\", SessionhelperArgs.builder()\n            .fosid(33)\n            .port(3234)\n            .protocol(17)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Sessionhelper\n    properties:\n      fosid: 33\n      port: 3234\n      protocol: 17\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SessionHelper can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sessionhelper:Sessionhelper 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:system/sessionhelper:Sessionhelper labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Session helper ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Helper name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Protocol port.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "port",
        "protocol",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Session helper ID.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Helper name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Protocol port.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "port",
        "protocol"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sessionhelper resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Session helper ID.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Helper name.\n"
          },
          "port": {
            "type": "integer",
            "description": "Protocol port.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Protocol number.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/sessionttl:Sessionttl": {
      "description": "Configure global session TTL timers for this 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 trname = new fortios.system.Sessionttl(\"trname\", {\"default\": \"3600\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Sessionttl(\"trname\", default=\"3600\")\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.System.Sessionttl(\"trname\", new()\n    {\n        Default = \"3600\",\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.NewSessionttl(ctx, \"trname\", &system.SessionttlArgs{\n\t\t\tDefault: pulumi.String(\"3600\"),\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.Sessionttl;\nimport com.pulumi.fortios.system.SessionttlArgs;\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 Sessionttl(\"trname\", SessionttlArgs.builder()\n            .default_(\"3600\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Sessionttl\n    properties:\n      default: '3600'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SessionTtl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sessionttl:Sessionttl labelname SystemSessionTtl\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:system/sessionttl:Sessionttl labelname SystemSessionTtl\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "default": {
          "type": "string",
          "description": "Default timeout.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSessionttlPort:SessionttlPort"
          },
          "description": "Session TTL port. The structure of `port` 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": [
        "default",
        "vdomparam"
      ],
      "inputProperties": {
        "default": {
          "type": "string",
          "description": "Default timeout.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSessionttlPort:SessionttlPort"
          },
          "description": "Session TTL port. The structure of `port` 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 Sessionttl resources.\n",
        "properties": {
          "default": {
            "type": "string",
            "description": "Default timeout.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "ports": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSessionttlPort:SessionttlPort"
            },
            "description": "Session TTL port. The structure of `port` 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:system/settingDns:SettingDns": {
      "description": "Provides a resource to configure DNS of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Dns`, 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 test1 = new fortios.system.SettingDns(\"test1\", {\n    dnsOverTls: \"disable\",\n    primary: \"208.91.112.53\",\n    secondary: \"208.91.112.22\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.system.SettingDns(\"test1\",\n    dns_over_tls=\"disable\",\n    primary=\"208.91.112.53\",\n    secondary=\"208.91.112.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 test1 = new Fortios.System.SettingDns(\"test1\", new()\n    {\n        DnsOverTls = \"disable\",\n        Primary = \"208.91.112.53\",\n        Secondary = \"208.91.112.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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSettingDns(ctx, \"test1\", &system.SettingDnsArgs{\n\t\t\tDnsOverTls: pulumi.String(\"disable\"),\n\t\t\tPrimary:    pulumi.String(\"208.91.112.53\"),\n\t\t\tSecondary:  pulumi.String(\"208.91.112.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.system.SettingDns;\nimport com.pulumi.fortios.system.SettingDnsArgs;\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 SettingDns(\"test1\", SettingDnsArgs.builder()\n            .dnsOverTls(\"disable\")\n            .primary(\"208.91.112.53\")\n            .secondary(\"208.91.112.22\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:system:SettingDns\n    properties:\n      dnsOverTls: disable\n      primary: 208.91.112.53\n      secondary: 208.91.112.22\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS(available since v6.2.0). Enum: [ disable, enable, enforce ]\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "dnsOverTls",
        "primary",
        "secondary"
      ],
      "inputProperties": {
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS(available since v6.2.0). Enum: [ disable, enable, enforce ]\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SettingDns resources.\n",
        "properties": {
          "dnsOverTls": {
            "type": "string",
            "description": "Enable/disable/enforce DNS over TLS(available since v6.2.0). Enum: [ disable, enable, enforce ]\n"
          },
          "primary": {
            "type": "string",
            "description": "Primary DNS server IP address.\n"
          },
          "secondary": {
            "type": "string",
            "description": "Secondary DNS server IP address.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/settingGlobal:SettingGlobal": {
      "properties": {
        "adminScp": {
          "type": "string",
          "description": "Enable SCP over SSH\n"
        },
        "adminSport": {
          "type": "string",
          "description": "Administrative access port for HTTPS.\n"
        },
        "adminSshPort": {
          "type": "string",
          "description": "Administrative access port for SSH.\n"
        },
        "admintimeout": {
          "type": "string",
          "description": "Number of minutes before an idle administrator session time out.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate unit's hostname.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Number corresponding to your time zone from 00 to 86.\n"
        }
      },
      "type": "object",
      "required": [
        "adminScp",
        "adminSport",
        "adminSshPort",
        "admintimeout",
        "hostname",
        "timezone"
      ],
      "inputProperties": {
        "adminScp": {
          "type": "string",
          "description": "Enable SCP over SSH\n"
        },
        "adminSport": {
          "type": "string",
          "description": "Administrative access port for HTTPS.\n"
        },
        "adminSshPort": {
          "type": "string",
          "description": "Administrative access port for SSH.\n"
        },
        "admintimeout": {
          "type": "string",
          "description": "Number of minutes before an idle administrator session time out.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate unit's hostname.\n"
        },
        "timezone": {
          "type": "string",
          "description": "Number corresponding to your time zone from 00 to 86.\n"
        }
      },
      "requiredInputs": [
        "hostname"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SettingGlobal resources.\n",
        "properties": {
          "adminScp": {
            "type": "string",
            "description": "Enable SCP over SSH\n"
          },
          "adminSport": {
            "type": "string",
            "description": "Administrative access port for HTTPS.\n"
          },
          "adminSshPort": {
            "type": "string",
            "description": "Administrative access port for SSH.\n"
          },
          "admintimeout": {
            "type": "string",
            "description": "Number of minutes before an idle administrator session time out.\n"
          },
          "hostname": {
            "type": "string",
            "description": "FortiGate unit's hostname.\n"
          },
          "timezone": {
            "type": "string",
            "description": "Number corresponding to your time zone from 00 to 86.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/settingNtp:SettingNtp": {
      "description": "Provides a resource to configure Network Time Protocol (NTP) servers of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Ntp`, 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 test2 = new fortios.system.SettingNtp(\"test2\", {\n    ntpservers: [\n        \"1.1.1.1\",\n        \"3.3.3.3\",\n    ],\n    ntpsync: \"disable\",\n    type: \"custom\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.SettingNtp(\"test2\",\n    ntpservers=[\n        \"1.1.1.1\",\n        \"3.3.3.3\",\n    ],\n    ntpsync=\"disable\",\n    type=\"custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test2 = new Fortios.System.SettingNtp(\"test2\", new()\n    {\n        Ntpservers = new[]\n        {\n            \"1.1.1.1\",\n            \"3.3.3.3\",\n        },\n        Ntpsync = \"disable\",\n        Type = \"custom\",\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.NewSettingNtp(ctx, \"test2\", &system.SettingNtpArgs{\n\t\t\tNtpservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t\tpulumi.String(\"3.3.3.3\"),\n\t\t\t},\n\t\t\tNtpsync: pulumi.String(\"disable\"),\n\t\t\tType:    pulumi.String(\"custom\"),\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.SettingNtp;\nimport com.pulumi.fortios.system.SettingNtpArgs;\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 test2 = new SettingNtp(\"test2\", SettingNtpArgs.builder()\n            .ntpservers(            \n                \"1.1.1.1\",\n                \"3.3.3.3\")\n            .ntpsync(\"disable\")\n            .type(\"custom\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:SettingNtp\n    properties:\n      ntpservers:\n        - 1.1.1.1\n        - 3.3.3.3\n      ntpsync: disable\n      type: custom\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "ntpservers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Configure the FortiGate to connect to any available third-party NTP server.\n"
        },
        "ntpsync": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server.\n"
        },
        "type": {
          "type": "string",
          "description": "Use the FortiGuard NTP server or any other available NTP Server.\n"
        }
      },
      "type": "object",
      "required": [
        "ntpservers",
        "ntpsync",
        "type"
      ],
      "inputProperties": {
        "ntpservers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Configure the FortiGate to connect to any available third-party NTP server.\n"
        },
        "ntpsync": {
          "type": "string",
          "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server.\n"
        },
        "type": {
          "type": "string",
          "description": "Use the FortiGuard NTP server or any other available NTP Server.\n"
        }
      },
      "requiredInputs": [
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SettingNtp resources.\n",
        "properties": {
          "ntpservers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Configure the FortiGate to connect to any available third-party NTP server.\n"
          },
          "ntpsync": {
            "type": "string",
            "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server.\n"
          },
          "type": {
            "type": "string",
            "description": "Use the FortiGuard NTP server or any other available NTP Server.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/settings:Settings": {
      "description": "Configure VDOM 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.system.Settings(\"trname\", {\n    allowLinkdownPath: \"disable\",\n    guiWebfilter: \"enable\",\n    opmode: \"nat\",\n    sipSslPort: 5061,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Settings(\"trname\",\n    allow_linkdown_path=\"disable\",\n    gui_webfilter=\"enable\",\n    opmode=\"nat\",\n    sip_ssl_port=5061,\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.System.Settings(\"trname\", new()\n    {\n        AllowLinkdownPath = \"disable\",\n        GuiWebfilter = \"enable\",\n        Opmode = \"nat\",\n        SipSslPort = 5061,\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSettings(ctx, \"trname\", &system.SettingsArgs{\n\t\t\tAllowLinkdownPath: pulumi.String(\"disable\"),\n\t\t\tGuiWebfilter:      pulumi.String(\"enable\"),\n\t\t\tOpmode:            pulumi.String(\"nat\"),\n\t\t\tSipSslPort:        pulumi.Int(5061),\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.system.Settings;\nimport com.pulumi.fortios.system.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            .allowLinkdownPath(\"disable\")\n            .guiWebfilter(\"enable\")\n            .opmode(\"nat\")\n            .sipSslPort(5061)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Settings\n    properties:\n      allowLinkdownPath: disable\n      guiWebfilter: enable\n      opmode: nat\n      sipSslPort: 5061\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/settings:Settings labelname SystemSettings\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:system/settings:Settings labelname SystemSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowLinkdownPath": {
          "type": "string",
          "description": "Enable/disable link down path. Valid values: `enable`, `disable`.\n"
        },
        "allowSubnetOverlap": {
          "type": "string",
          "description": "Enable/disable allowing interface subnets to use overlapping IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "applicationBandwidthTracking": {
          "type": "string",
          "description": "Enable/disable application bandwidth tracking. Valid values: `disable`, `enable`.\n"
        },
        "asymroute": {
          "type": "string",
          "description": "Enable/disable IPv4 asymmetric routing. Valid values: `enable`, `disable`.\n"
        },
        "asymroute6": {
          "type": "string",
          "description": "Enable/disable asymmetric IPv6 routing. Valid values: `enable`, `disable`.\n"
        },
        "asymroute6Icmp": {
          "type": "string",
          "description": "Enable/disable asymmetric ICMPv6 routing. Valid values: `enable`, `disable`.\n"
        },
        "asymrouteIcmp": {
          "type": "string",
          "description": "Enable/disable ICMP asymmetric routing. Valid values: `enable`, `disable`.\n"
        },
        "auxiliarySession": {
          "type": "string",
          "description": "Enable/disable auxiliary session. Valid values: `enable`, `disable`.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bi-directional Forwarding Detection (BFD) on all interfaces. Valid values: `enable`, `disable`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier (1 - 50, default = 3).\n"
        },
        "bfdDontEnforceSrcPort": {
          "type": "string",
          "description": "Enable to not enforce verifying the source port of BFD Packets. Valid values: `enable`, `disable`.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
        },
        "blockLandAttack": {
          "type": "string",
          "description": "Enable/disable blocking of land attacks. Valid values: `disable`, `enable`.\n"
        },
        "centralNat": {
          "type": "string",
          "description": "Enable/disable central NAT. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "VDOM comments.\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable PCI DSS compliance checking. Valid values: `enable`, `disable`.\n"
        },
        "consolidatedFirewallMode": {
          "type": "string",
          "description": "Consolidated firewall mode.\n"
        },
        "defaultAppPortAsService": {
          "type": "string",
          "description": "Enable/disable policy service enforcement based on application default ports. Valid values: `enable`, `disable`.\n"
        },
        "defaultPolicyExpiryDays": {
          "type": "integer",
          "description": "Default policy expiry in days (0 - 365 days, default = 30).\n"
        },
        "defaultVoipAlgMode": {
          "type": "string",
          "description": "Configure how the FortiGate handles VoIP traffic when a policy that accepts the traffic doesn't include a VoIP profile. Valid values: `proxy-based`, `kernel-helper-based`.\n"
        },
        "denyTcpWithIcmp": {
          "type": "string",
          "description": "Enable/disable denying TCP by sending an ICMP communication prohibited packet. Valid values: `enable`, `disable`.\n"
        },
        "detectUnknownEsp": {
          "type": "string",
          "description": "Enable/disable detection of unknown ESP packets (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "device": {
          "type": "string",
          "description": "Interface to use for management access for NAT mode.\n"
        },
        "dhcp6ServerIp": {
          "type": "string",
          "description": "DHCPv6 server IPv6 address.\n"
        },
        "dhcpProxy": {
          "type": "string",
          "description": "Enable/disable the DHCP Proxy. Valid values: `enable`, `disable`.\n"
        },
        "dhcpProxyInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "dhcpProxyInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "dhcpServerIp": {
          "type": "string",
          "description": "DHCP Server IPv4 address.\n"
        },
        "discoveredDeviceTimeout": {
          "type": "integer",
          "description": "Timeout for discovered devices (1 - 365 days, default = 28).\n"
        },
        "dynAddrSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by dynamic address updates. 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"
        },
        "ecmpMaxPaths": {
          "type": "integer",
          "description": "Maximum number of Equal Cost Multi-Path (ECMP) next-hops. Set to 1 to disable ECMP routing. On FortiOS versions 6.2.0: 1 - 100, default = 10. On FortiOS versions >= 6.2.4: 1 - 255, default = 255.\n"
        },
        "emailPortalCheckDns": {
          "type": "string",
          "description": "Enable/disable using DNS to validate email addresses collected by a captive portal. Valid values: `disable`, `enable`.\n"
        },
        "extResourceSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by external resource updates. Valid values: `enable`, `disable`.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "Select how to manage sessions affected by firewall policy configuration changes. Valid values: `check-all`, `check-new`, `check-policy-option`.\n"
        },
        "fqdnSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by FQDN updates. Valid values: `enable`, `disable`.\n"
        },
        "fwSessionHairpin": {
          "type": "string",
          "description": "Enable/disable checking for a matching policy each time hairpin traffic goes through the FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Transparent mode IPv4 default gateway IP address.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Transparent mode IPv4 default gateway IP 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"
        },
        "guiAdvancedPolicy": {
          "type": "string",
          "description": "Enable/disable advanced policy configuration on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAdvancedWirelessFeatures": {
          "type": "string",
          "description": "Enable/disable advanced wireless features in GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAllowUnnamedPolicy": {
          "type": "string",
          "description": "Enable/disable the requirement for policy naming on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAntivirus": {
          "type": "string",
          "description": "Enable/disable AntiVirus on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiApProfile": {
          "type": "string",
          "description": "Enable/disable FortiAP profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiApplicationControl": {
          "type": "string",
          "description": "Enable/disable application control on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCasb": {
          "type": "string",
          "description": "Enable/disable Inline-CASB on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDefaultPolicyColumns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSettingsGuiDefaultPolicyColumn:SettingsGuiDefaultPolicyColumn"
          },
          "description": "Default columns to display for policy lists on GUI. The structure of `gui_default_policy_columns` block is documented below.\n"
        },
        "guiDhcpAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced DHCP options on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDlp": {
          "type": "string",
          "description": "Enable/disable DLP on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDlpProfile": {
          "type": "string",
          "description": "Enable/disable Data Leak Prevention on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDnsDatabase": {
          "type": "string",
          "description": "Enable/disable DNS database settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDnsfilter": {
          "type": "string",
          "description": "Enable/disable DNS Filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDomainIpReputation": {
          "type": "string",
          "description": "Enable/disable Domain and IP Reputation on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDosPolicy": {
          "type": "string",
          "description": "Enable/disable DoS policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicDeviceOsId": {
          "type": "string",
          "description": "Enable/disable Create dynamic addresses to manage known devices. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicProfileDisplay": {
          "type": "string",
          "description": "Enable/disable RADIUS Single Sign On (RSSO) on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicRouting": {
          "type": "string",
          "description": "Enable/disable dynamic routing on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEmailCollection": {
          "type": "string",
          "description": "Enable/disable email collection on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEndpointControl": {
          "type": "string",
          "description": "Enable/disable endpoint control on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEndpointControlAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced endpoint control options on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEnforceChangeSummary": {
          "type": "string",
          "description": "Enforce change summaries for select tables in the GUI. Valid values: `disable`, `require`, `optional`.\n"
        },
        "guiExplicitProxy": {
          "type": "string",
          "description": "Enable/disable the explicit proxy on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFileFilter": {
          "type": "string",
          "description": "Enable/disable File-filter on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiapSplitTunneling": {
          "type": "string",
          "description": "Enable/disable FortiAP split tunneling on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiextenderController": {
          "type": "string",
          "description": "Enable/disable FortiExtender on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIcap": {
          "type": "string",
          "description": "Enable/disable ICAP on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiImplicitPolicy": {
          "type": "string",
          "description": "Enable/disable implicit firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIps": {
          "type": "string",
          "description": "Enable/disable IPS on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLoadBalance": {
          "type": "string",
          "description": "Enable/disable server load balancing on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLocalInPolicy": {
          "type": "string",
          "description": "Enable/disable Local-In policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLocalReports": {
          "type": "string",
          "description": "Enable/disable local reports on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMulticastPolicy": {
          "type": "string",
          "description": "Enable/disable multicast firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMultipleInterfacePolicy": {
          "type": "string",
          "description": "Enable/disable adding multiple interfaces to a policy on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMultipleUtmProfiles": {
          "type": "string",
          "description": "Enable/disable multiple UTM profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiNat4664": {
          "type": "string",
          "description": "Enable/disable NAT46 and NAT64 settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiObjectColors": {
          "type": "string",
          "description": "Enable/disable object colors on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiOt": {
          "type": "string",
          "description": "Enable/disable Show Operational Technology Purdue Model. Valid values: `enable`, `disable`.\n"
        },
        "guiPerPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyBasedIpsec": {
          "type": "string",
          "description": "Enable/disable policy-based IPsec VPN on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyLearning": {
          "type": "string",
          "description": "Enable/disable firewall policy learning mode on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiProxyInspection": {
          "type": "string",
          "description": "Enable/disable the proxy features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiReplacementMessageGroups": {
          "type": "string",
          "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiRouteTagAddressCreation": {
          "type": "string",
          "description": "Enable/disable route-tag addresses on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSecurityProfileGroup": {
          "type": "string",
          "description": "Enable/disable Security Profile Groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSpamfilter": {
          "type": "string",
          "description": "Enable/disable Antispam on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpn": {
          "type": "string",
          "description": "Enable/disable SSL-VPN settings pages on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpnPersonalBookmarks": {
          "type": "string",
          "description": "Enable/disable SSL-VPN personal bookmark management on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpnRealms": {
          "type": "string",
          "description": "Enable/disable SSL-VPN realms on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSwitchController": {
          "type": "string",
          "description": "Enable/disable the switch controller on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiThreatWeight": {
          "type": "string",
          "description": "Enable/disable threat weight on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiTrafficShaping": {
          "type": "string",
          "description": "Enable/disable traffic shaping on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVideofilter": {
          "type": "string",
          "description": "Enable/disable Video filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVirtualPatchProfile": {
          "type": "string",
          "description": "Enable/disable Virtual Patching on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVoipProfile": {
          "type": "string",
          "description": "Enable/disable VoIP profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVpn": {
          "type": "string",
          "description": "Enable/disable VPN tunnels on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWafProfile": {
          "type": "string",
          "description": "Enable/disable Web Application Firewall on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWanLoadBalancing": {
          "type": "string",
          "description": "Enable/disable SD-WAN on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWanoptCache": {
          "type": "string",
          "description": "Enable/disable WAN Optimization and Web Caching on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWebfilter": {
          "type": "string",
          "description": "Enable/disable Web filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWebfilterAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced web filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWirelessController": {
          "type": "string",
          "description": "Enable/disable the wireless controller on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiZtna": {
          "type": "string",
          "description": "Enable/disable Zero Trust Network Access features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "h323DirectModel": {
          "type": "string",
          "description": "Enable/disable H323 direct model. Valid values: `disable`, `enable`.\n"
        },
        "httpExternalDest": {
          "type": "string",
          "description": "Offload HTTP traffic to FortiWeb or FortiCache. Valid values: `fortiweb`, `forticache`.\n"
        },
        "ikeDnFormat": {
          "type": "string",
          "description": "Configure IKE ASN.1 Distinguished Name format conventions. Valid values: `with-space`, `no-space`.\n"
        },
        "ikeNattPort": {
          "type": "integer",
          "description": "UDP port for IKE/IPsec traffic in NAT-T mode (default 4500).\n"
        },
        "ikePolicyRoute": {
          "type": "string",
          "description": "Enable/disable IKE Policy Based Routing (PBR). Valid values: `enable`, `disable`.\n"
        },
        "ikePort": {
          "type": "integer",
          "description": "UDP port for IKE/IPsec traffic (default 500).\n"
        },
        "ikeQuickCrashDetect": {
          "type": "string",
          "description": "Enable/disable IKE quick crash detection (RFC 6290). Valid values: `enable`, `disable`.\n"
        },
        "ikeSessionResume": {
          "type": "string",
          "description": "Enable/disable IKEv2 session resumption (RFC 5723). Valid values: `enable`, `disable`.\n"
        },
        "ikeTcpPort": {
          "type": "integer",
          "description": "TCP port for IKE/IPsec traffic (default 4500).\n"
        },
        "implicitAllowDns": {
          "type": "string",
          "description": "Enable/disable implicitly allowing DNS traffic. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection mode (proxy-based or flow-based). Valid values: `proxy`, `flow`.\n"
        },
        "internetServiceAppCtrlSize": {
          "type": "integer",
          "description": "Maximum number of tuple entries (protocol, port, IP address, application ID) stored by the FortiGate unit (0 - 4294967295, default = 32768). A smaller value limits the FortiGate unit from learning about internet applications.\n"
        },
        "internetServiceDatabaseCache": {
          "type": "string",
          "description": "Enable/disable Internet Service database caching. Valid values: `disable`, `enable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address and netmask.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix for NAT mode.\n"
        },
        "lanExtensionControllerAddr": {
          "type": "string",
          "description": "Controller IP address or FQDN to connect.\n"
        },
        "linkDownAccess": {
          "type": "string",
          "description": "Enable/disable link down access traffic. Valid values: `enable`, `disable`.\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
        },
        "locationId": {
          "type": "string",
          "description": "Local location ID in the form of an IPv4 address.\n"
        },
        "macTtl": {
          "type": "integer",
          "description": "Duration of MAC addresses in Transparent mode (300 - 8640000 sec, default = 300).\n"
        },
        "manageip": {
          "type": "string",
          "description": "Transparent mode IPv4 management IP address and netmask.\n"
        },
        "manageip6": {
          "type": "string",
          "description": "Transparent mode IPv6 management IP address and netmask.\n"
        },
        "multicastForward": {
          "type": "string",
          "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "multicastSkipPolicy": {
          "type": "string",
          "description": "Enable/disable allowing multicast traffic through the FortiGate without a policy check. Valid values: `enable`, `disable`.\n"
        },
        "multicastTtlNotchange": {
          "type": "string",
          "description": "Enable/disable preventing the FortiGate from changing the TTL for forwarded multicast packets. Valid values: `enable`, `disable`.\n"
        },
        "nat46ForceIpv4PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv4 packet forwarding in NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat46GenerateIpv6FragmentHeader": {
          "type": "string",
          "description": "Enable/disable NAT46 IPv6 fragment header generation. Valid values: `enable`, `disable`.\n"
        },
        "nat64ForceIpv6PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv6 packet forwarding in NAT64. Valid values: `enable`, `disable`.\n"
        },
        "ngfwMode": {
          "type": "string",
          "description": "Next Generation Firewall (NGFW) mode. Valid values: `profile-based`, `policy-based`.\n"
        },
        "opmode": {
          "type": "string",
          "description": "Firewall operation mode (NAT or Transparent). Valid values: `nat`, `transparent`.\n"
        },
        "prpTrailerAction": {
          "type": "string",
          "description": "Enable/disable action to take on PRP trailer. Valid values: `enable`, `disable`.\n"
        },
        "sccpPort": {
          "type": "integer",
          "description": "TCP port the SCCP proxy monitors for SCCP traffic (0 - 65535, default = 2000).\n"
        },
        "sctpSessionWithoutInit": {
          "type": "string",
          "description": "Enable/disable SCTP session creation without SCTP INIT. Valid values: `enable`, `disable`.\n"
        },
        "sesDeniedTraffic": {
          "type": "string",
          "description": "Enable/disable including denied session in the session table. Valid values: `enable`, `disable`.\n"
        },
        "sipExpectation": {
          "type": "string",
          "description": "Enable/disable the SIP kernel session helper to create an expectation for port 5060. Valid values: `enable`, `disable`.\n"
        },
        "sipHelper": {
          "type": "string",
          "description": "Enable/disable the SIP session helper to process SIP sessions unless SIP sessions are accepted by the SIP application layer gateway (ALG). Valid values: `enable`, `disable`.\n"
        },
        "sipNatTrace": {
          "type": "string",
          "description": "Enable/disable recording the original SIP source IP address when NAT is used. Valid values: `enable`, `disable`.\n"
        },
        "sipSslPort": {
          "type": "integer",
          "description": "TCP port the SIP proxy monitors for SIP SSL/TLS traffic (0 - 65535, default = 5061).\n"
        },
        "sipTcpPort": {
          "type": "integer",
          "description": "TCP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
        },
        "sipUdpPort": {
          "type": "integer",
          "description": "UDP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
        },
        "snatHairpinTraffic": {
          "type": "string",
          "description": "Enable/disable source NAT (SNAT) for hairpin traffic. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Profile for SSL/SSH inspection.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this VDOM. Valid values: `enable`, `disable`.\n"
        },
        "strictSrcCheck": {
          "type": "string",
          "description": "Enable/disable strict source verification. Valid values: `enable`, `disable`.\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable allowing TCP session without SYN flags. Valid values: `enable`, `disable`.\n"
        },
        "utf8SpamTagging": {
          "type": "string",
          "description": "Enable/disable converting antispam tags to UTF-8 for better non-ASCII character support. Valid values: `enable`, `disable`.\n"
        },
        "v4EcmpMode": {
          "type": "string",
          "description": "IPv4 Equal-cost multi-path (ECMP) routing and load balancing mode. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`.\n"
        },
        "vdomType": {
          "type": "string",
          "description": "VDOM type. On FortiOS versions 7.2.0: traffic or admin. On FortiOS versions >= 7.2.1: traffic, lan-extension or admin.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vpnStatsLog": {
          "type": "string",
          "description": "Enable/disable periodic VPN log statistics for one or more types of VPN. Separate names with a space. Valid values: `ipsec`, `pptp`, `l2tp`, `ssl`.\n"
        },
        "vpnStatsPeriod": {
          "type": "integer",
          "description": "Period to send VPN log statistics (0 or 60 - 86400 sec).\n"
        },
        "wccpCacheEngine": {
          "type": "string",
          "description": "Enable/disable WCCP cache engine. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "allowLinkdownPath",
        "allowSubnetOverlap",
        "applicationBandwidthTracking",
        "asymroute",
        "asymroute6",
        "asymroute6Icmp",
        "asymrouteIcmp",
        "auxiliarySession",
        "bfd",
        "bfdDesiredMinTx",
        "bfdDetectMult",
        "bfdDontEnforceSrcPort",
        "bfdRequiredMinRx",
        "blockLandAttack",
        "centralNat",
        "complianceCheck",
        "consolidatedFirewallMode",
        "defaultAppPortAsService",
        "defaultPolicyExpiryDays",
        "defaultVoipAlgMode",
        "denyTcpWithIcmp",
        "detectUnknownEsp",
        "device",
        "dhcp6ServerIp",
        "dhcpProxy",
        "dhcpProxyInterface",
        "dhcpProxyInterfaceSelectMethod",
        "dhcpServerIp",
        "discoveredDeviceTimeout",
        "dynAddrSessionCheck",
        "ecmpMaxPaths",
        "emailPortalCheckDns",
        "extResourceSessionCheck",
        "firewallSessionDirty",
        "fqdnSessionCheck",
        "fwSessionHairpin",
        "gateway",
        "gateway6",
        "guiAdvancedPolicy",
        "guiAdvancedWirelessFeatures",
        "guiAllowUnnamedPolicy",
        "guiAntivirus",
        "guiApProfile",
        "guiApplicationControl",
        "guiCasb",
        "guiDhcpAdvanced",
        "guiDlp",
        "guiDlpProfile",
        "guiDnsDatabase",
        "guiDnsfilter",
        "guiDomainIpReputation",
        "guiDosPolicy",
        "guiDynamicDeviceOsId",
        "guiDynamicProfileDisplay",
        "guiDynamicRouting",
        "guiEmailCollection",
        "guiEndpointControl",
        "guiEndpointControlAdvanced",
        "guiEnforceChangeSummary",
        "guiExplicitProxy",
        "guiFileFilter",
        "guiFortiapSplitTunneling",
        "guiFortiextenderController",
        "guiIcap",
        "guiImplicitPolicy",
        "guiIps",
        "guiLoadBalance",
        "guiLocalInPolicy",
        "guiLocalReports",
        "guiMulticastPolicy",
        "guiMultipleInterfacePolicy",
        "guiMultipleUtmProfiles",
        "guiNat4664",
        "guiObjectColors",
        "guiOt",
        "guiPerPolicyDisclaimer",
        "guiPolicyBasedIpsec",
        "guiPolicyDisclaimer",
        "guiPolicyLearning",
        "guiProxyInspection",
        "guiReplacementMessageGroups",
        "guiRouteTagAddressCreation",
        "guiSecurityProfileGroup",
        "guiSpamfilter",
        "guiSslvpn",
        "guiSslvpnPersonalBookmarks",
        "guiSslvpnRealms",
        "guiSwitchController",
        "guiThreatWeight",
        "guiTrafficShaping",
        "guiVideofilter",
        "guiVirtualPatchProfile",
        "guiVoipProfile",
        "guiVpn",
        "guiWafProfile",
        "guiWanLoadBalancing",
        "guiWanoptCache",
        "guiWebfilter",
        "guiWebfilterAdvanced",
        "guiWirelessController",
        "guiZtna",
        "h323DirectModel",
        "httpExternalDest",
        "ikeDnFormat",
        "ikeNattPort",
        "ikePolicyRoute",
        "ikePort",
        "ikeQuickCrashDetect",
        "ikeSessionResume",
        "ikeTcpPort",
        "implicitAllowDns",
        "inspectionMode",
        "internetServiceAppCtrlSize",
        "internetServiceDatabaseCache",
        "ip",
        "ip6",
        "lanExtensionControllerAddr",
        "linkDownAccess",
        "lldpReception",
        "lldpTransmission",
        "locationId",
        "macTtl",
        "manageip",
        "manageip6",
        "multicastForward",
        "multicastSkipPolicy",
        "multicastTtlNotchange",
        "nat46ForceIpv4PacketForwarding",
        "nat46GenerateIpv6FragmentHeader",
        "nat64ForceIpv6PacketForwarding",
        "ngfwMode",
        "opmode",
        "prpTrailerAction",
        "sccpPort",
        "sctpSessionWithoutInit",
        "sesDeniedTraffic",
        "sipExpectation",
        "sipHelper",
        "sipNatTrace",
        "sipSslPort",
        "sipTcpPort",
        "sipUdpPort",
        "snatHairpinTraffic",
        "sslSshProfile",
        "status",
        "strictSrcCheck",
        "tcpSessionWithoutSyn",
        "utf8SpamTagging",
        "v4EcmpMode",
        "vdomType",
        "vdomparam",
        "vpnStatsLog",
        "vpnStatsPeriod",
        "wccpCacheEngine"
      ],
      "inputProperties": {
        "allowLinkdownPath": {
          "type": "string",
          "description": "Enable/disable link down path. Valid values: `enable`, `disable`.\n"
        },
        "allowSubnetOverlap": {
          "type": "string",
          "description": "Enable/disable allowing interface subnets to use overlapping IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "applicationBandwidthTracking": {
          "type": "string",
          "description": "Enable/disable application bandwidth tracking. Valid values: `disable`, `enable`.\n"
        },
        "asymroute": {
          "type": "string",
          "description": "Enable/disable IPv4 asymmetric routing. Valid values: `enable`, `disable`.\n"
        },
        "asymroute6": {
          "type": "string",
          "description": "Enable/disable asymmetric IPv6 routing. Valid values: `enable`, `disable`.\n"
        },
        "asymroute6Icmp": {
          "type": "string",
          "description": "Enable/disable asymmetric ICMPv6 routing. Valid values: `enable`, `disable`.\n"
        },
        "asymrouteIcmp": {
          "type": "string",
          "description": "Enable/disable ICMP asymmetric routing. Valid values: `enable`, `disable`.\n"
        },
        "auxiliarySession": {
          "type": "string",
          "description": "Enable/disable auxiliary session. Valid values: `enable`, `disable`.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bi-directional Forwarding Detection (BFD) on all interfaces. Valid values: `enable`, `disable`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier (1 - 50, default = 3).\n"
        },
        "bfdDontEnforceSrcPort": {
          "type": "string",
          "description": "Enable to not enforce verifying the source port of BFD Packets. Valid values: `enable`, `disable`.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
        },
        "blockLandAttack": {
          "type": "string",
          "description": "Enable/disable blocking of land attacks. Valid values: `disable`, `enable`.\n"
        },
        "centralNat": {
          "type": "string",
          "description": "Enable/disable central NAT. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "VDOM comments.\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable PCI DSS compliance checking. Valid values: `enable`, `disable`.\n"
        },
        "consolidatedFirewallMode": {
          "type": "string",
          "description": "Consolidated firewall mode.\n"
        },
        "defaultAppPortAsService": {
          "type": "string",
          "description": "Enable/disable policy service enforcement based on application default ports. Valid values: `enable`, `disable`.\n"
        },
        "defaultPolicyExpiryDays": {
          "type": "integer",
          "description": "Default policy expiry in days (0 - 365 days, default = 30).\n"
        },
        "defaultVoipAlgMode": {
          "type": "string",
          "description": "Configure how the FortiGate handles VoIP traffic when a policy that accepts the traffic doesn't include a VoIP profile. Valid values: `proxy-based`, `kernel-helper-based`.\n"
        },
        "denyTcpWithIcmp": {
          "type": "string",
          "description": "Enable/disable denying TCP by sending an ICMP communication prohibited packet. Valid values: `enable`, `disable`.\n"
        },
        "detectUnknownEsp": {
          "type": "string",
          "description": "Enable/disable detection of unknown ESP packets (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "device": {
          "type": "string",
          "description": "Interface to use for management access for NAT mode.\n"
        },
        "dhcp6ServerIp": {
          "type": "string",
          "description": "DHCPv6 server IPv6 address.\n"
        },
        "dhcpProxy": {
          "type": "string",
          "description": "Enable/disable the DHCP Proxy. Valid values: `enable`, `disable`.\n"
        },
        "dhcpProxyInterface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "dhcpProxyInterfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "dhcpServerIp": {
          "type": "string",
          "description": "DHCP Server IPv4 address.\n"
        },
        "discoveredDeviceTimeout": {
          "type": "integer",
          "description": "Timeout for discovered devices (1 - 365 days, default = 28).\n"
        },
        "dynAddrSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by dynamic address updates. 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"
        },
        "ecmpMaxPaths": {
          "type": "integer",
          "description": "Maximum number of Equal Cost Multi-Path (ECMP) next-hops. Set to 1 to disable ECMP routing. On FortiOS versions 6.2.0: 1 - 100, default = 10. On FortiOS versions >= 6.2.4: 1 - 255, default = 255.\n"
        },
        "emailPortalCheckDns": {
          "type": "string",
          "description": "Enable/disable using DNS to validate email addresses collected by a captive portal. Valid values: `disable`, `enable`.\n"
        },
        "extResourceSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by external resource updates. Valid values: `enable`, `disable`.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "Select how to manage sessions affected by firewall policy configuration changes. Valid values: `check-all`, `check-new`, `check-policy-option`.\n"
        },
        "fqdnSessionCheck": {
          "type": "string",
          "description": "Enable/disable dirty session check caused by FQDN updates. Valid values: `enable`, `disable`.\n"
        },
        "fwSessionHairpin": {
          "type": "string",
          "description": "Enable/disable checking for a matching policy each time hairpin traffic goes through the FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Transparent mode IPv4 default gateway IP address.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Transparent mode IPv4 default gateway IP 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"
        },
        "guiAdvancedPolicy": {
          "type": "string",
          "description": "Enable/disable advanced policy configuration on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAdvancedWirelessFeatures": {
          "type": "string",
          "description": "Enable/disable advanced wireless features in GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAllowUnnamedPolicy": {
          "type": "string",
          "description": "Enable/disable the requirement for policy naming on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiAntivirus": {
          "type": "string",
          "description": "Enable/disable AntiVirus on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiApProfile": {
          "type": "string",
          "description": "Enable/disable FortiAP profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiApplicationControl": {
          "type": "string",
          "description": "Enable/disable application control on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiCasb": {
          "type": "string",
          "description": "Enable/disable Inline-CASB on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDefaultPolicyColumns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSettingsGuiDefaultPolicyColumn:SettingsGuiDefaultPolicyColumn"
          },
          "description": "Default columns to display for policy lists on GUI. The structure of `gui_default_policy_columns` block is documented below.\n"
        },
        "guiDhcpAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced DHCP options on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDlp": {
          "type": "string",
          "description": "Enable/disable DLP on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDlpProfile": {
          "type": "string",
          "description": "Enable/disable Data Leak Prevention on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDnsDatabase": {
          "type": "string",
          "description": "Enable/disable DNS database settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDnsfilter": {
          "type": "string",
          "description": "Enable/disable DNS Filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDomainIpReputation": {
          "type": "string",
          "description": "Enable/disable Domain and IP Reputation on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDosPolicy": {
          "type": "string",
          "description": "Enable/disable DoS policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicDeviceOsId": {
          "type": "string",
          "description": "Enable/disable Create dynamic addresses to manage known devices. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicProfileDisplay": {
          "type": "string",
          "description": "Enable/disable RADIUS Single Sign On (RSSO) on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiDynamicRouting": {
          "type": "string",
          "description": "Enable/disable dynamic routing on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEmailCollection": {
          "type": "string",
          "description": "Enable/disable email collection on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEndpointControl": {
          "type": "string",
          "description": "Enable/disable endpoint control on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEndpointControlAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced endpoint control options on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiEnforceChangeSummary": {
          "type": "string",
          "description": "Enforce change summaries for select tables in the GUI. Valid values: `disable`, `require`, `optional`.\n"
        },
        "guiExplicitProxy": {
          "type": "string",
          "description": "Enable/disable the explicit proxy on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFileFilter": {
          "type": "string",
          "description": "Enable/disable File-filter on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiapSplitTunneling": {
          "type": "string",
          "description": "Enable/disable FortiAP split tunneling on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiFortiextenderController": {
          "type": "string",
          "description": "Enable/disable FortiExtender on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIcap": {
          "type": "string",
          "description": "Enable/disable ICAP on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiImplicitPolicy": {
          "type": "string",
          "description": "Enable/disable implicit firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiIps": {
          "type": "string",
          "description": "Enable/disable IPS on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLoadBalance": {
          "type": "string",
          "description": "Enable/disable server load balancing on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLocalInPolicy": {
          "type": "string",
          "description": "Enable/disable Local-In policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiLocalReports": {
          "type": "string",
          "description": "Enable/disable local reports on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMulticastPolicy": {
          "type": "string",
          "description": "Enable/disable multicast firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMultipleInterfacePolicy": {
          "type": "string",
          "description": "Enable/disable adding multiple interfaces to a policy on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiMultipleUtmProfiles": {
          "type": "string",
          "description": "Enable/disable multiple UTM profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiNat4664": {
          "type": "string",
          "description": "Enable/disable NAT46 and NAT64 settings on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiObjectColors": {
          "type": "string",
          "description": "Enable/disable object colors on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiOt": {
          "type": "string",
          "description": "Enable/disable Show Operational Technology Purdue Model. Valid values: `enable`, `disable`.\n"
        },
        "guiPerPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyBasedIpsec": {
          "type": "string",
          "description": "Enable/disable policy-based IPsec VPN on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiPolicyLearning": {
          "type": "string",
          "description": "Enable/disable firewall policy learning mode on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiProxyInspection": {
          "type": "string",
          "description": "Enable/disable the proxy features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiReplacementMessageGroups": {
          "type": "string",
          "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiRouteTagAddressCreation": {
          "type": "string",
          "description": "Enable/disable route-tag addresses on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSecurityProfileGroup": {
          "type": "string",
          "description": "Enable/disable Security Profile Groups on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSpamfilter": {
          "type": "string",
          "description": "Enable/disable Antispam on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpn": {
          "type": "string",
          "description": "Enable/disable SSL-VPN settings pages on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpnPersonalBookmarks": {
          "type": "string",
          "description": "Enable/disable SSL-VPN personal bookmark management on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSslvpnRealms": {
          "type": "string",
          "description": "Enable/disable SSL-VPN realms on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiSwitchController": {
          "type": "string",
          "description": "Enable/disable the switch controller on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiThreatWeight": {
          "type": "string",
          "description": "Enable/disable threat weight on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiTrafficShaping": {
          "type": "string",
          "description": "Enable/disable traffic shaping on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVideofilter": {
          "type": "string",
          "description": "Enable/disable Video filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVirtualPatchProfile": {
          "type": "string",
          "description": "Enable/disable Virtual Patching on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVoipProfile": {
          "type": "string",
          "description": "Enable/disable VoIP profiles on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiVpn": {
          "type": "string",
          "description": "Enable/disable VPN tunnels on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWafProfile": {
          "type": "string",
          "description": "Enable/disable Web Application Firewall on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWanLoadBalancing": {
          "type": "string",
          "description": "Enable/disable SD-WAN on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWanoptCache": {
          "type": "string",
          "description": "Enable/disable WAN Optimization and Web Caching on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWebfilter": {
          "type": "string",
          "description": "Enable/disable Web filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWebfilterAdvanced": {
          "type": "string",
          "description": "Enable/disable advanced web filtering on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiWirelessController": {
          "type": "string",
          "description": "Enable/disable the wireless controller on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "guiZtna": {
          "type": "string",
          "description": "Enable/disable Zero Trust Network Access features on the GUI. Valid values: `enable`, `disable`.\n"
        },
        "h323DirectModel": {
          "type": "string",
          "description": "Enable/disable H323 direct model. Valid values: `disable`, `enable`.\n"
        },
        "httpExternalDest": {
          "type": "string",
          "description": "Offload HTTP traffic to FortiWeb or FortiCache. Valid values: `fortiweb`, `forticache`.\n"
        },
        "ikeDnFormat": {
          "type": "string",
          "description": "Configure IKE ASN.1 Distinguished Name format conventions. Valid values: `with-space`, `no-space`.\n"
        },
        "ikeNattPort": {
          "type": "integer",
          "description": "UDP port for IKE/IPsec traffic in NAT-T mode (default 4500).\n"
        },
        "ikePolicyRoute": {
          "type": "string",
          "description": "Enable/disable IKE Policy Based Routing (PBR). Valid values: `enable`, `disable`.\n"
        },
        "ikePort": {
          "type": "integer",
          "description": "UDP port for IKE/IPsec traffic (default 500).\n"
        },
        "ikeQuickCrashDetect": {
          "type": "string",
          "description": "Enable/disable IKE quick crash detection (RFC 6290). Valid values: `enable`, `disable`.\n"
        },
        "ikeSessionResume": {
          "type": "string",
          "description": "Enable/disable IKEv2 session resumption (RFC 5723). Valid values: `enable`, `disable`.\n"
        },
        "ikeTcpPort": {
          "type": "integer",
          "description": "TCP port for IKE/IPsec traffic (default 4500).\n"
        },
        "implicitAllowDns": {
          "type": "string",
          "description": "Enable/disable implicitly allowing DNS traffic. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection mode (proxy-based or flow-based). Valid values: `proxy`, `flow`.\n"
        },
        "internetServiceAppCtrlSize": {
          "type": "integer",
          "description": "Maximum number of tuple entries (protocol, port, IP address, application ID) stored by the FortiGate unit (0 - 4294967295, default = 32768). A smaller value limits the FortiGate unit from learning about internet applications.\n"
        },
        "internetServiceDatabaseCache": {
          "type": "string",
          "description": "Enable/disable Internet Service database caching. Valid values: `disable`, `enable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address and netmask.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix for NAT mode.\n"
        },
        "lanExtensionControllerAddr": {
          "type": "string",
          "description": "Controller IP address or FQDN to connect.\n"
        },
        "linkDownAccess": {
          "type": "string",
          "description": "Enable/disable link down access traffic. Valid values: `enable`, `disable`.\n"
        },
        "lldpReception": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
        },
        "lldpTransmission": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
        },
        "locationId": {
          "type": "string",
          "description": "Local location ID in the form of an IPv4 address.\n"
        },
        "macTtl": {
          "type": "integer",
          "description": "Duration of MAC addresses in Transparent mode (300 - 8640000 sec, default = 300).\n"
        },
        "manageip": {
          "type": "string",
          "description": "Transparent mode IPv4 management IP address and netmask.\n"
        },
        "manageip6": {
          "type": "string",
          "description": "Transparent mode IPv6 management IP address and netmask.\n"
        },
        "multicastForward": {
          "type": "string",
          "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
        },
        "multicastSkipPolicy": {
          "type": "string",
          "description": "Enable/disable allowing multicast traffic through the FortiGate without a policy check. Valid values: `enable`, `disable`.\n"
        },
        "multicastTtlNotchange": {
          "type": "string",
          "description": "Enable/disable preventing the FortiGate from changing the TTL for forwarded multicast packets. Valid values: `enable`, `disable`.\n"
        },
        "nat46ForceIpv4PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv4 packet forwarding in NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat46GenerateIpv6FragmentHeader": {
          "type": "string",
          "description": "Enable/disable NAT46 IPv6 fragment header generation. Valid values: `enable`, `disable`.\n"
        },
        "nat64ForceIpv6PacketForwarding": {
          "type": "string",
          "description": "Enable/disable mandatory IPv6 packet forwarding in NAT64. Valid values: `enable`, `disable`.\n"
        },
        "ngfwMode": {
          "type": "string",
          "description": "Next Generation Firewall (NGFW) mode. Valid values: `profile-based`, `policy-based`.\n"
        },
        "opmode": {
          "type": "string",
          "description": "Firewall operation mode (NAT or Transparent). Valid values: `nat`, `transparent`.\n"
        },
        "prpTrailerAction": {
          "type": "string",
          "description": "Enable/disable action to take on PRP trailer. Valid values: `enable`, `disable`.\n"
        },
        "sccpPort": {
          "type": "integer",
          "description": "TCP port the SCCP proxy monitors for SCCP traffic (0 - 65535, default = 2000).\n"
        },
        "sctpSessionWithoutInit": {
          "type": "string",
          "description": "Enable/disable SCTP session creation without SCTP INIT. Valid values: `enable`, `disable`.\n"
        },
        "sesDeniedTraffic": {
          "type": "string",
          "description": "Enable/disable including denied session in the session table. Valid values: `enable`, `disable`.\n"
        },
        "sipExpectation": {
          "type": "string",
          "description": "Enable/disable the SIP kernel session helper to create an expectation for port 5060. Valid values: `enable`, `disable`.\n"
        },
        "sipHelper": {
          "type": "string",
          "description": "Enable/disable the SIP session helper to process SIP sessions unless SIP sessions are accepted by the SIP application layer gateway (ALG). Valid values: `enable`, `disable`.\n"
        },
        "sipNatTrace": {
          "type": "string",
          "description": "Enable/disable recording the original SIP source IP address when NAT is used. Valid values: `enable`, `disable`.\n"
        },
        "sipSslPort": {
          "type": "integer",
          "description": "TCP port the SIP proxy monitors for SIP SSL/TLS traffic (0 - 65535, default = 5061).\n"
        },
        "sipTcpPort": {
          "type": "integer",
          "description": "TCP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
        },
        "sipUdpPort": {
          "type": "integer",
          "description": "UDP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
        },
        "snatHairpinTraffic": {
          "type": "string",
          "description": "Enable/disable source NAT (SNAT) for hairpin traffic. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Profile for SSL/SSH inspection.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this VDOM. Valid values: `enable`, `disable`.\n"
        },
        "strictSrcCheck": {
          "type": "string",
          "description": "Enable/disable strict source verification. Valid values: `enable`, `disable`.\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable allowing TCP session without SYN flags. Valid values: `enable`, `disable`.\n"
        },
        "utf8SpamTagging": {
          "type": "string",
          "description": "Enable/disable converting antispam tags to UTF-8 for better non-ASCII character support. Valid values: `enable`, `disable`.\n"
        },
        "v4EcmpMode": {
          "type": "string",
          "description": "IPv4 Equal-cost multi-path (ECMP) routing and load balancing mode. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`.\n"
        },
        "vdomType": {
          "type": "string",
          "description": "VDOM type. On FortiOS versions 7.2.0: traffic or admin. On FortiOS versions >= 7.2.1: traffic, lan-extension or admin.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vpnStatsLog": {
          "type": "string",
          "description": "Enable/disable periodic VPN log statistics for one or more types of VPN. Separate names with a space. Valid values: `ipsec`, `pptp`, `l2tp`, `ssl`.\n"
        },
        "vpnStatsPeriod": {
          "type": "integer",
          "description": "Period to send VPN log statistics (0 or 60 - 86400 sec).\n"
        },
        "wccpCacheEngine": {
          "type": "string",
          "description": "Enable/disable WCCP cache engine. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "allowLinkdownPath": {
            "type": "string",
            "description": "Enable/disable link down path. Valid values: `enable`, `disable`.\n"
          },
          "allowSubnetOverlap": {
            "type": "string",
            "description": "Enable/disable allowing interface subnets to use overlapping IP addresses. Valid values: `enable`, `disable`.\n"
          },
          "applicationBandwidthTracking": {
            "type": "string",
            "description": "Enable/disable application bandwidth tracking. Valid values: `disable`, `enable`.\n"
          },
          "asymroute": {
            "type": "string",
            "description": "Enable/disable IPv4 asymmetric routing. Valid values: `enable`, `disable`.\n"
          },
          "asymroute6": {
            "type": "string",
            "description": "Enable/disable asymmetric IPv6 routing. Valid values: `enable`, `disable`.\n"
          },
          "asymroute6Icmp": {
            "type": "string",
            "description": "Enable/disable asymmetric ICMPv6 routing. Valid values: `enable`, `disable`.\n"
          },
          "asymrouteIcmp": {
            "type": "string",
            "description": "Enable/disable ICMP asymmetric routing. Valid values: `enable`, `disable`.\n"
          },
          "auxiliarySession": {
            "type": "string",
            "description": "Enable/disable auxiliary session. Valid values: `enable`, `disable`.\n"
          },
          "bfd": {
            "type": "string",
            "description": "Enable/disable Bi-directional Forwarding Detection (BFD) on all interfaces. Valid values: `enable`, `disable`.\n"
          },
          "bfdDesiredMinTx": {
            "type": "integer",
            "description": "BFD desired minimal transmit interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
          },
          "bfdDetectMult": {
            "type": "integer",
            "description": "BFD detection multiplier (1 - 50, default = 3).\n"
          },
          "bfdDontEnforceSrcPort": {
            "type": "string",
            "description": "Enable to not enforce verifying the source port of BFD Packets. Valid values: `enable`, `disable`.\n"
          },
          "bfdRequiredMinRx": {
            "type": "integer",
            "description": "BFD required minimal receive interval (1 - 100000 ms). On FortiOS versions 6.2.0-6.4.15: default = 50. On FortiOS versions >= 7.0.0: default = 250.\n"
          },
          "blockLandAttack": {
            "type": "string",
            "description": "Enable/disable blocking of land attacks. Valid values: `disable`, `enable`.\n"
          },
          "centralNat": {
            "type": "string",
            "description": "Enable/disable central NAT. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "VDOM comments.\n"
          },
          "complianceCheck": {
            "type": "string",
            "description": "Enable/disable PCI DSS compliance checking. Valid values: `enable`, `disable`.\n"
          },
          "consolidatedFirewallMode": {
            "type": "string",
            "description": "Consolidated firewall mode.\n"
          },
          "defaultAppPortAsService": {
            "type": "string",
            "description": "Enable/disable policy service enforcement based on application default ports. Valid values: `enable`, `disable`.\n"
          },
          "defaultPolicyExpiryDays": {
            "type": "integer",
            "description": "Default policy expiry in days (0 - 365 days, default = 30).\n"
          },
          "defaultVoipAlgMode": {
            "type": "string",
            "description": "Configure how the FortiGate handles VoIP traffic when a policy that accepts the traffic doesn't include a VoIP profile. Valid values: `proxy-based`, `kernel-helper-based`.\n"
          },
          "denyTcpWithIcmp": {
            "type": "string",
            "description": "Enable/disable denying TCP by sending an ICMP communication prohibited packet. Valid values: `enable`, `disable`.\n"
          },
          "detectUnknownEsp": {
            "type": "string",
            "description": "Enable/disable detection of unknown ESP packets (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "device": {
            "type": "string",
            "description": "Interface to use for management access for NAT mode.\n"
          },
          "dhcp6ServerIp": {
            "type": "string",
            "description": "DHCPv6 server IPv6 address.\n"
          },
          "dhcpProxy": {
            "type": "string",
            "description": "Enable/disable the DHCP Proxy. Valid values: `enable`, `disable`.\n"
          },
          "dhcpProxyInterface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "dhcpProxyInterfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "dhcpServerIp": {
            "type": "string",
            "description": "DHCP Server IPv4 address.\n"
          },
          "discoveredDeviceTimeout": {
            "type": "integer",
            "description": "Timeout for discovered devices (1 - 365 days, default = 28).\n"
          },
          "dynAddrSessionCheck": {
            "type": "string",
            "description": "Enable/disable dirty session check caused by dynamic address updates. 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"
          },
          "ecmpMaxPaths": {
            "type": "integer",
            "description": "Maximum number of Equal Cost Multi-Path (ECMP) next-hops. Set to 1 to disable ECMP routing. On FortiOS versions 6.2.0: 1 - 100, default = 10. On FortiOS versions >= 6.2.4: 1 - 255, default = 255.\n"
          },
          "emailPortalCheckDns": {
            "type": "string",
            "description": "Enable/disable using DNS to validate email addresses collected by a captive portal. Valid values: `disable`, `enable`.\n"
          },
          "extResourceSessionCheck": {
            "type": "string",
            "description": "Enable/disable dirty session check caused by external resource updates. Valid values: `enable`, `disable`.\n"
          },
          "firewallSessionDirty": {
            "type": "string",
            "description": "Select how to manage sessions affected by firewall policy configuration changes. Valid values: `check-all`, `check-new`, `check-policy-option`.\n"
          },
          "fqdnSessionCheck": {
            "type": "string",
            "description": "Enable/disable dirty session check caused by FQDN updates. Valid values: `enable`, `disable`.\n"
          },
          "fwSessionHairpin": {
            "type": "string",
            "description": "Enable/disable checking for a matching policy each time hairpin traffic goes through the FortiGate. Valid values: `enable`, `disable`.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Transparent mode IPv4 default gateway IP address.\n"
          },
          "gateway6": {
            "type": "string",
            "description": "Transparent mode IPv4 default gateway IP 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"
          },
          "guiAdvancedPolicy": {
            "type": "string",
            "description": "Enable/disable advanced policy configuration on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiAdvancedWirelessFeatures": {
            "type": "string",
            "description": "Enable/disable advanced wireless features in GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiAllowUnnamedPolicy": {
            "type": "string",
            "description": "Enable/disable the requirement for policy naming on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiAntivirus": {
            "type": "string",
            "description": "Enable/disable AntiVirus on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiApProfile": {
            "type": "string",
            "description": "Enable/disable FortiAP profiles on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiApplicationControl": {
            "type": "string",
            "description": "Enable/disable application control on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiCasb": {
            "type": "string",
            "description": "Enable/disable Inline-CASB on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDefaultPolicyColumns": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSettingsGuiDefaultPolicyColumn:SettingsGuiDefaultPolicyColumn"
            },
            "description": "Default columns to display for policy lists on GUI. The structure of `gui_default_policy_columns` block is documented below.\n"
          },
          "guiDhcpAdvanced": {
            "type": "string",
            "description": "Enable/disable advanced DHCP options on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDlp": {
            "type": "string",
            "description": "Enable/disable DLP on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDlpProfile": {
            "type": "string",
            "description": "Enable/disable Data Leak Prevention on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDnsDatabase": {
            "type": "string",
            "description": "Enable/disable DNS database settings on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDnsfilter": {
            "type": "string",
            "description": "Enable/disable DNS Filtering on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDomainIpReputation": {
            "type": "string",
            "description": "Enable/disable Domain and IP Reputation on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDosPolicy": {
            "type": "string",
            "description": "Enable/disable DoS policies on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDynamicDeviceOsId": {
            "type": "string",
            "description": "Enable/disable Create dynamic addresses to manage known devices. Valid values: `enable`, `disable`.\n"
          },
          "guiDynamicProfileDisplay": {
            "type": "string",
            "description": "Enable/disable RADIUS Single Sign On (RSSO) on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiDynamicRouting": {
            "type": "string",
            "description": "Enable/disable dynamic routing on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiEmailCollection": {
            "type": "string",
            "description": "Enable/disable email collection on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiEndpointControl": {
            "type": "string",
            "description": "Enable/disable endpoint control on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiEndpointControlAdvanced": {
            "type": "string",
            "description": "Enable/disable advanced endpoint control options on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiEnforceChangeSummary": {
            "type": "string",
            "description": "Enforce change summaries for select tables in the GUI. Valid values: `disable`, `require`, `optional`.\n"
          },
          "guiExplicitProxy": {
            "type": "string",
            "description": "Enable/disable the explicit proxy on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiFileFilter": {
            "type": "string",
            "description": "Enable/disable File-filter on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiFortiapSplitTunneling": {
            "type": "string",
            "description": "Enable/disable FortiAP split tunneling on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiFortiextenderController": {
            "type": "string",
            "description": "Enable/disable FortiExtender on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiIcap": {
            "type": "string",
            "description": "Enable/disable ICAP on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiImplicitPolicy": {
            "type": "string",
            "description": "Enable/disable implicit firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiIps": {
            "type": "string",
            "description": "Enable/disable IPS on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiLoadBalance": {
            "type": "string",
            "description": "Enable/disable server load balancing on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiLocalInPolicy": {
            "type": "string",
            "description": "Enable/disable Local-In policies on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiLocalReports": {
            "type": "string",
            "description": "Enable/disable local reports on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiMulticastPolicy": {
            "type": "string",
            "description": "Enable/disable multicast firewall policies on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiMultipleInterfacePolicy": {
            "type": "string",
            "description": "Enable/disable adding multiple interfaces to a policy on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiMultipleUtmProfiles": {
            "type": "string",
            "description": "Enable/disable multiple UTM profiles on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiNat4664": {
            "type": "string",
            "description": "Enable/disable NAT46 and NAT64 settings on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiObjectColors": {
            "type": "string",
            "description": "Enable/disable object colors on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiOt": {
            "type": "string",
            "description": "Enable/disable Show Operational Technology Purdue Model. Valid values: `enable`, `disable`.\n"
          },
          "guiPerPolicyDisclaimer": {
            "type": "string",
            "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiPolicyBasedIpsec": {
            "type": "string",
            "description": "Enable/disable policy-based IPsec VPN on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiPolicyDisclaimer": {
            "type": "string",
            "description": "Enable/disable policy disclaimer on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiPolicyLearning": {
            "type": "string",
            "description": "Enable/disable firewall policy learning mode on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiProxyInspection": {
            "type": "string",
            "description": "Enable/disable the proxy features on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiReplacementMessageGroups": {
            "type": "string",
            "description": "Enable/disable replacement message groups on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiRouteTagAddressCreation": {
            "type": "string",
            "description": "Enable/disable route-tag addresses on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSecurityProfileGroup": {
            "type": "string",
            "description": "Enable/disable Security Profile Groups on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSpamfilter": {
            "type": "string",
            "description": "Enable/disable Antispam on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSslvpn": {
            "type": "string",
            "description": "Enable/disable SSL-VPN settings pages on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSslvpnPersonalBookmarks": {
            "type": "string",
            "description": "Enable/disable SSL-VPN personal bookmark management on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSslvpnRealms": {
            "type": "string",
            "description": "Enable/disable SSL-VPN realms on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiSwitchController": {
            "type": "string",
            "description": "Enable/disable the switch controller on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiThreatWeight": {
            "type": "string",
            "description": "Enable/disable threat weight on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiTrafficShaping": {
            "type": "string",
            "description": "Enable/disable traffic shaping on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiVideofilter": {
            "type": "string",
            "description": "Enable/disable Video filtering on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiVirtualPatchProfile": {
            "type": "string",
            "description": "Enable/disable Virtual Patching on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiVoipProfile": {
            "type": "string",
            "description": "Enable/disable VoIP profiles on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiVpn": {
            "type": "string",
            "description": "Enable/disable VPN tunnels on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWafProfile": {
            "type": "string",
            "description": "Enable/disable Web Application Firewall on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWanLoadBalancing": {
            "type": "string",
            "description": "Enable/disable SD-WAN on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWanoptCache": {
            "type": "string",
            "description": "Enable/disable WAN Optimization and Web Caching on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWebfilter": {
            "type": "string",
            "description": "Enable/disable Web filtering on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWebfilterAdvanced": {
            "type": "string",
            "description": "Enable/disable advanced web filtering on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiWirelessController": {
            "type": "string",
            "description": "Enable/disable the wireless controller on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "guiZtna": {
            "type": "string",
            "description": "Enable/disable Zero Trust Network Access features on the GUI. Valid values: `enable`, `disable`.\n"
          },
          "h323DirectModel": {
            "type": "string",
            "description": "Enable/disable H323 direct model. Valid values: `disable`, `enable`.\n"
          },
          "httpExternalDest": {
            "type": "string",
            "description": "Offload HTTP traffic to FortiWeb or FortiCache. Valid values: `fortiweb`, `forticache`.\n"
          },
          "ikeDnFormat": {
            "type": "string",
            "description": "Configure IKE ASN.1 Distinguished Name format conventions. Valid values: `with-space`, `no-space`.\n"
          },
          "ikeNattPort": {
            "type": "integer",
            "description": "UDP port for IKE/IPsec traffic in NAT-T mode (default 4500).\n"
          },
          "ikePolicyRoute": {
            "type": "string",
            "description": "Enable/disable IKE Policy Based Routing (PBR). Valid values: `enable`, `disable`.\n"
          },
          "ikePort": {
            "type": "integer",
            "description": "UDP port for IKE/IPsec traffic (default 500).\n"
          },
          "ikeQuickCrashDetect": {
            "type": "string",
            "description": "Enable/disable IKE quick crash detection (RFC 6290). Valid values: `enable`, `disable`.\n"
          },
          "ikeSessionResume": {
            "type": "string",
            "description": "Enable/disable IKEv2 session resumption (RFC 5723). Valid values: `enable`, `disable`.\n"
          },
          "ikeTcpPort": {
            "type": "integer",
            "description": "TCP port for IKE/IPsec traffic (default 4500).\n"
          },
          "implicitAllowDns": {
            "type": "string",
            "description": "Enable/disable implicitly allowing DNS traffic. Valid values: `enable`, `disable`.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Inspection mode (proxy-based or flow-based). Valid values: `proxy`, `flow`.\n"
          },
          "internetServiceAppCtrlSize": {
            "type": "integer",
            "description": "Maximum number of tuple entries (protocol, port, IP address, application ID) stored by the FortiGate unit (0 - 4294967295, default = 32768). A smaller value limits the FortiGate unit from learning about internet applications.\n"
          },
          "internetServiceDatabaseCache": {
            "type": "string",
            "description": "Enable/disable Internet Service database caching. Valid values: `disable`, `enable`.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address and netmask.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address prefix for NAT mode.\n"
          },
          "lanExtensionControllerAddr": {
            "type": "string",
            "description": "Controller IP address or FQDN to connect.\n"
          },
          "linkDownAccess": {
            "type": "string",
            "description": "Enable/disable link down access traffic. Valid values: `enable`, `disable`.\n"
          },
          "lldpReception": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
          },
          "lldpTransmission": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission for this VDOM or apply global settings to this VDOM. Valid values: `enable`, `disable`, `global`.\n"
          },
          "locationId": {
            "type": "string",
            "description": "Local location ID in the form of an IPv4 address.\n"
          },
          "macTtl": {
            "type": "integer",
            "description": "Duration of MAC addresses in Transparent mode (300 - 8640000 sec, default = 300).\n"
          },
          "manageip": {
            "type": "string",
            "description": "Transparent mode IPv4 management IP address and netmask.\n"
          },
          "manageip6": {
            "type": "string",
            "description": "Transparent mode IPv6 management IP address and netmask.\n"
          },
          "multicastForward": {
            "type": "string",
            "description": "Enable/disable multicast forwarding. Valid values: `enable`, `disable`.\n"
          },
          "multicastSkipPolicy": {
            "type": "string",
            "description": "Enable/disable allowing multicast traffic through the FortiGate without a policy check. Valid values: `enable`, `disable`.\n"
          },
          "multicastTtlNotchange": {
            "type": "string",
            "description": "Enable/disable preventing the FortiGate from changing the TTL for forwarded multicast packets. Valid values: `enable`, `disable`.\n"
          },
          "nat46ForceIpv4PacketForwarding": {
            "type": "string",
            "description": "Enable/disable mandatory IPv4 packet forwarding in NAT46. Valid values: `enable`, `disable`.\n"
          },
          "nat46GenerateIpv6FragmentHeader": {
            "type": "string",
            "description": "Enable/disable NAT46 IPv6 fragment header generation. Valid values: `enable`, `disable`.\n"
          },
          "nat64ForceIpv6PacketForwarding": {
            "type": "string",
            "description": "Enable/disable mandatory IPv6 packet forwarding in NAT64. Valid values: `enable`, `disable`.\n"
          },
          "ngfwMode": {
            "type": "string",
            "description": "Next Generation Firewall (NGFW) mode. Valid values: `profile-based`, `policy-based`.\n"
          },
          "opmode": {
            "type": "string",
            "description": "Firewall operation mode (NAT or Transparent). Valid values: `nat`, `transparent`.\n"
          },
          "prpTrailerAction": {
            "type": "string",
            "description": "Enable/disable action to take on PRP trailer. Valid values: `enable`, `disable`.\n"
          },
          "sccpPort": {
            "type": "integer",
            "description": "TCP port the SCCP proxy monitors for SCCP traffic (0 - 65535, default = 2000).\n"
          },
          "sctpSessionWithoutInit": {
            "type": "string",
            "description": "Enable/disable SCTP session creation without SCTP INIT. Valid values: `enable`, `disable`.\n"
          },
          "sesDeniedTraffic": {
            "type": "string",
            "description": "Enable/disable including denied session in the session table. Valid values: `enable`, `disable`.\n"
          },
          "sipExpectation": {
            "type": "string",
            "description": "Enable/disable the SIP kernel session helper to create an expectation for port 5060. Valid values: `enable`, `disable`.\n"
          },
          "sipHelper": {
            "type": "string",
            "description": "Enable/disable the SIP session helper to process SIP sessions unless SIP sessions are accepted by the SIP application layer gateway (ALG). Valid values: `enable`, `disable`.\n"
          },
          "sipNatTrace": {
            "type": "string",
            "description": "Enable/disable recording the original SIP source IP address when NAT is used. Valid values: `enable`, `disable`.\n"
          },
          "sipSslPort": {
            "type": "integer",
            "description": "TCP port the SIP proxy monitors for SIP SSL/TLS traffic (0 - 65535, default = 5061).\n"
          },
          "sipTcpPort": {
            "type": "integer",
            "description": "TCP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
          },
          "sipUdpPort": {
            "type": "integer",
            "description": "UDP port the SIP proxy monitors for SIP traffic (0 - 65535, default = 5060).\n"
          },
          "snatHairpinTraffic": {
            "type": "string",
            "description": "Enable/disable source NAT (SNAT) for hairpin traffic. Valid values: `enable`, `disable`.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Profile for SSL/SSH inspection.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this VDOM. Valid values: `enable`, `disable`.\n"
          },
          "strictSrcCheck": {
            "type": "string",
            "description": "Enable/disable strict source verification. Valid values: `enable`, `disable`.\n"
          },
          "tcpSessionWithoutSyn": {
            "type": "string",
            "description": "Enable/disable allowing TCP session without SYN flags. Valid values: `enable`, `disable`.\n"
          },
          "utf8SpamTagging": {
            "type": "string",
            "description": "Enable/disable converting antispam tags to UTF-8 for better non-ASCII character support. Valid values: `enable`, `disable`.\n"
          },
          "v4EcmpMode": {
            "type": "string",
            "description": "IPv4 Equal-cost multi-path (ECMP) routing and load balancing mode. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`.\n"
          },
          "vdomType": {
            "type": "string",
            "description": "VDOM type. On FortiOS versions 7.2.0: traffic or admin. On FortiOS versions >= 7.2.1: traffic, lan-extension or admin.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vpnStatsLog": {
            "type": "string",
            "description": "Enable/disable periodic VPN log statistics for one or more types of VPN. Separate names with a space. Valid values: `ipsec`, `pptp`, `l2tp`, `ssl`.\n"
          },
          "vpnStatsPeriod": {
            "type": "integer",
            "description": "Period to send VPN log statistics (0 or 60 - 86400 sec).\n"
          },
          "wccpCacheEngine": {
            "type": "string",
            "description": "Enable/disable WCCP cache engine. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/sflow:Sflow": {
      "description": "Configure sFlow.\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.system.Sflow(\"trname\", {\n    collectorIp: \"0.0.0.0\",\n    collectorPort: 6343,\n    sourceIp: \"0.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Sflow(\"trname\",\n    collector_ip=\"0.0.0.0\",\n    collector_port=6343,\n    source_ip=\"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.System.Sflow(\"trname\", new()\n    {\n        CollectorIp = \"0.0.0.0\",\n        CollectorPort = 6343,\n        SourceIp = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSflow(ctx, \"trname\", &system.SflowArgs{\n\t\t\tCollectorIp:   pulumi.String(\"0.0.0.0\"),\n\t\t\tCollectorPort: pulumi.Int(6343),\n\t\t\tSourceIp:      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.system.Sflow;\nimport com.pulumi.fortios.system.SflowArgs;\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 Sflow(\"trname\", SflowArgs.builder()\n            .collectorIp(\"0.0.0.0\")\n            .collectorPort(6343)\n            .sourceIp(\"0.0.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Sflow\n    properties:\n      collectorIp: 0.0.0.0\n      collectorPort: 6343\n      sourceIp: 0.0.0.0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Sflow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sflow:Sflow labelname SystemSflow\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:system/sflow:Sflow labelname SystemSflow\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSflowCollector:SflowCollector"
          },
          "description": "sFlow collectors. The structure of `collectors` 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": "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "collectorIp",
        "collectorPort",
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "vdomparam"
      ],
      "inputProperties": {
        "collectorIp": {
          "type": "string",
          "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSflowCollector:SflowCollector"
          },
          "description": "sFlow collectors. The structure of `collectors` 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": "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "collectorIp"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sflow resources.\n",
        "properties": {
          "collectorIp": {
            "type": "string",
            "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
          },
          "collectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSflowCollector:SflowCollector"
            },
            "description": "sFlow collectors. The structure of `collectors` 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": "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/sittunnel:Sittunnel": {
      "description": "Configure IPv6 tunnel over 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.system.Sittunnel(\"trname\", {\n    destination: \"1.1.1.1\",\n    \"interface\": \"port2\",\n    ip6: \"::/0\",\n    source: \"2.2.2.2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Sittunnel(\"trname\",\n    destination=\"1.1.1.1\",\n    interface=\"port2\",\n    ip6=\"::/0\",\n    source=\"2.2.2.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.System.Sittunnel(\"trname\", new()\n    {\n        Destination = \"1.1.1.1\",\n        Interface = \"port2\",\n        Ip6 = \"::/0\",\n        Source = \"2.2.2.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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSittunnel(ctx, \"trname\", &system.SittunnelArgs{\n\t\t\tDestination: pulumi.String(\"1.1.1.1\"),\n\t\t\tInterface:   pulumi.String(\"port2\"),\n\t\t\tIp6:         pulumi.String(\"::/0\"),\n\t\t\tSource:      pulumi.String(\"2.2.2.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.system.Sittunnel;\nimport com.pulumi.fortios.system.SittunnelArgs;\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 Sittunnel(\"trname\", SittunnelArgs.builder()\n            .destination(\"1.1.1.1\")\n            .interface_(\"port2\")\n            .ip6(\"::/0\")\n            .source(\"2.2.2.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Sittunnel\n    properties:\n      destination: 1.1.1.1\n      interface: port2\n      ip6: ::/0\n      source: 2.2.2.2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SitTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sittunnel:Sittunnel 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:system/sittunnel:Sittunnel labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "destination": {
          "type": "string",
          "description": "Destination IP address of the tunnel.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address of the tunnel.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n"
        },
        "source": {
          "type": "string",
          "description": "Source IP address of the tunnel.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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": [
        "autoAsicOffload",
        "destination",
        "interface",
        "ip6",
        "name",
        "source",
        "useSdwan",
        "vdomparam"
      ],
      "inputProperties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "destination": {
          "type": "string",
          "description": "Destination IP address of the tunnel.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address of the tunnel.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "source": {
          "type": "string",
          "description": "Source IP address of the tunnel.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN to reach remote gateway. 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
        }
      },
      "requiredInputs": [
        "destination"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sittunnel resources.\n",
        "properties": {
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "destination": {
            "type": "string",
            "description": "Destination IP address of the tunnel.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address of the tunnel.\n"
          },
          "name": {
            "type": "string",
            "description": "Tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "source": {
            "type": "string",
            "description": "Source IP address of the tunnel.\n"
          },
          "useSdwan": {
            "type": "string",
            "description": "Enable/disable use of SD-WAN to reach remote gateway. 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:system/smsserver:Smsserver": {
      "description": "Configure SMS server for sending SMS messages to support user authentication.\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.system.Smsserver(\"trname\", {mailServer: \"1.1.1.2\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Smsserver(\"trname\", mail_server=\"1.1.1.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.System.Smsserver(\"trname\", new()\n    {\n        MailServer = \"1.1.1.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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSmsserver(ctx, \"trname\", &system.SmsserverArgs{\n\t\t\tMailServer: pulumi.String(\"1.1.1.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.system.Smsserver;\nimport com.pulumi.fortios.system.SmsserverArgs;\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 Smsserver(\"trname\", SmsserverArgs.builder()\n            .mailServer(\"1.1.1.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Smsserver\n    properties:\n      mailServer: 1.1.1.2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SmsServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/smsserver:Smsserver 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:system/smsserver:Smsserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "mailServer": {
          "type": "string",
          "description": "Email-to-SMS server domain name.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of SMS 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": [
        "mailServer",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "mailServer": {
          "type": "string",
          "description": "Email-to-SMS server domain name.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of SMS server.\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": [
        "mailServer"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Smsserver resources.\n",
        "properties": {
          "mailServer": {
            "type": "string",
            "description": "Email-to-SMS server domain name.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of SMS server.\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:system/snmp/community:Community": {
      "description": "SNMP community 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.system.snmp.Community(\"trname\", {\n    events: \"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n    fosid: 1,\n    queryV1Port: 161,\n    queryV1Status: \"enable\",\n    queryV2cPort: 161,\n    queryV2cStatus: \"enable\",\n    status: \"enable\",\n    trapV1Lport: 162,\n    trapV1Rport: 162,\n    trapV1Status: \"enable\",\n    trapV2cLport: 162,\n    trapV2cRport: 162,\n    trapV2cStatus: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.snmp.Community(\"trname\",\n    events=\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n    fosid=1,\n    query_v1_port=161,\n    query_v1_status=\"enable\",\n    query_v2c_port=161,\n    query_v2c_status=\"enable\",\n    status=\"enable\",\n    trap_v1_lport=162,\n    trap_v1_rport=162,\n    trap_v1_status=\"enable\",\n    trap_v2c_lport=162,\n    trap_v2c_rport=162,\n    trap_v2c_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.System.Snmp.Community(\"trname\", new()\n    {\n        Events = \"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n        Fosid = 1,\n        QueryV1Port = 161,\n        QueryV1Status = \"enable\",\n        QueryV2cPort = 161,\n        QueryV2cStatus = \"enable\",\n        Status = \"enable\",\n        TrapV1Lport = 162,\n        TrapV1Rport = 162,\n        TrapV1Status = \"enable\",\n        TrapV2cLport = 162,\n        TrapV2cRport = 162,\n        TrapV2cStatus = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewCommunity(ctx, \"trname\", &system.CommunityArgs{\n\t\t\tEvents:         pulumi.String(\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\"),\n\t\t\tFosid:          pulumi.Int(1),\n\t\t\tQueryV1Port:    pulumi.Int(161),\n\t\t\tQueryV1Status:  pulumi.String(\"enable\"),\n\t\t\tQueryV2cPort:   pulumi.Int(161),\n\t\t\tQueryV2cStatus: pulumi.String(\"enable\"),\n\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\tTrapV1Lport:    pulumi.Int(162),\n\t\t\tTrapV1Rport:    pulumi.Int(162),\n\t\t\tTrapV1Status:   pulumi.String(\"enable\"),\n\t\t\tTrapV2cLport:   pulumi.Int(162),\n\t\t\tTrapV2cRport:   pulumi.Int(162),\n\t\t\tTrapV2cStatus:  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.system.Community;\nimport com.pulumi.fortios.system.CommunityArgs;\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 Community(\"trname\", CommunityArgs.builder()\n            .events(\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\")\n            .fosid(1)\n            .queryV1Port(161)\n            .queryV1Status(\"enable\")\n            .queryV2cPort(161)\n            .queryV2cStatus(\"enable\")\n            .status(\"enable\")\n            .trapV1Lport(162)\n            .trapV1Rport(162)\n            .trapV1Status(\"enable\")\n            .trapV2cLport(162)\n            .trapV2cRport(162)\n            .trapV2cStatus(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/snmp:Community\n    properties:\n      events: cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\n      fosid: 1\n      queryV1Port: 161\n      queryV1Status: enable\n      queryV2cPort: 161\n      queryV2cStatus: enable\n      status: enable\n      trapV1Lport: 162\n      trapV1Rport: 162\n      trapV1Status: enable\n      trapV2cLport: 162\n      trapV2cRport: 162\n      trapV2cStatus: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemSnmp Community can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/snmp/community:Community 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:system/snmp/community:Community 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"
        },
        "events": {
          "type": "string",
          "description": "SNMP trap events.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Community 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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHost:CommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n"
        },
        "hosts6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHosts6:CommunityHosts6"
          },
          "description": "Configure IPv6 SNMP managers. The structure of `hosts6` block is documented below.\n"
        },
        "mibView": {
          "type": "string",
          "description": "SNMP access control MIB view.\n"
        },
        "name": {
          "type": "string",
          "description": "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: `enable`, `disable`.\n"
        },
        "queryV2cPort": {
          "type": "integer",
          "description": "SNMP v2c query port (default = 161).\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"
        },
        "trapV1Lport": {
          "type": "integer",
          "description": "SNMP v1 trap local port (default = 162).\n"
        },
        "trapV1Rport": {
          "type": "integer",
          "description": "SNMP v1 trap remote port (default = 162).\n"
        },
        "trapV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 traps. Valid values: `enable`, `disable`.\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: `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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityVdom:CommunityVdom"
          },
          "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "events",
        "fosid",
        "mibView",
        "name",
        "queryV1Port",
        "queryV1Status",
        "queryV2cPort",
        "queryV2cStatus",
        "status",
        "trapV1Lport",
        "trapV1Rport",
        "trapV1Status",
        "trapV2cLport",
        "trapV2cRport",
        "trapV2cStatus",
        "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"
        },
        "events": {
          "type": "string",
          "description": "SNMP trap events.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Community 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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHost:CommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n"
        },
        "hosts6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHosts6:CommunityHosts6"
          },
          "description": "Configure IPv6 SNMP managers. The structure of `hosts6` block is documented below.\n"
        },
        "mibView": {
          "type": "string",
          "description": "SNMP access control MIB view.\n"
        },
        "name": {
          "type": "string",
          "description": "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: `enable`, `disable`.\n"
        },
        "queryV2cPort": {
          "type": "integer",
          "description": "SNMP v2c query port (default = 161).\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"
        },
        "trapV1Lport": {
          "type": "integer",
          "description": "SNMP v1 trap local port (default = 162).\n"
        },
        "trapV1Rport": {
          "type": "integer",
          "description": "SNMP v1 trap remote port (default = 162).\n"
        },
        "trapV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 traps. Valid values: `enable`, `disable`.\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: `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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityVdom:CommunityVdom"
          },
          "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Community 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"
          },
          "events": {
            "type": "string",
            "description": "SNMP trap events.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Community 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"
          },
          "hosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHost:CommunityHost"
            },
            "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n"
          },
          "hosts6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityHosts6:CommunityHosts6"
            },
            "description": "Configure IPv6 SNMP managers. The structure of `hosts6` block is documented below.\n"
          },
          "mibView": {
            "type": "string",
            "description": "SNMP access control MIB view.\n"
          },
          "name": {
            "type": "string",
            "description": "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: `enable`, `disable`.\n"
          },
          "queryV2cPort": {
            "type": "integer",
            "description": "SNMP v2c query port (default = 161).\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"
          },
          "trapV1Lport": {
            "type": "integer",
            "description": "SNMP v1 trap local port (default = 162).\n"
          },
          "trapV1Rport": {
            "type": "integer",
            "description": "SNMP v1 trap remote port (default = 162).\n"
          },
          "trapV1Status": {
            "type": "string",
            "description": "Enable/disable SNMP v1 traps. Valid values: `enable`, `disable`.\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: `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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FCommunityVdom:CommunityVdom"
            },
            "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/snmp/mibview:Mibview": {
      "description": "SNMP Access Control MIB View configuration. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nSystemSnmp MibView can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/snmp/mibview:Mibview 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:system/snmp/mibview:Mibview labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "exclude": {
          "type": "string",
          "description": "The OID subtrees to be excluded in the view. Maximum 64 allowed.\n"
        },
        "include": {
          "type": "string",
          "description": "The OID subtrees to be included in the view. Maximum 16 allowed.\n"
        },
        "name": {
          "type": "string",
          "description": "MIB view 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": [
        "exclude",
        "include",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "exclude": {
          "type": "string",
          "description": "The OID subtrees to be excluded in the view. Maximum 64 allowed.\n"
        },
        "include": {
          "type": "string",
          "description": "The OID subtrees to be included in the view. Maximum 16 allowed.\n"
        },
        "name": {
          "type": "string",
          "description": "MIB view 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 Mibview resources.\n",
        "properties": {
          "exclude": {
            "type": "string",
            "description": "The OID subtrees to be excluded in the view. Maximum 64 allowed.\n"
          },
          "include": {
            "type": "string",
            "description": "The OID subtrees to be included in the view. Maximum 16 allowed.\n"
          },
          "name": {
            "type": "string",
            "description": "MIB view 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:system/snmp/sysinfo:Sysinfo": {
      "description": "SNMP system info 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.system.snmp.Sysinfo(\"trname\", {\n    status: \"disable\",\n    trapHighCpuThreshold: 80,\n    trapLogFullThreshold: 90,\n    trapLowMemoryThreshold: 80,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.snmp.Sysinfo(\"trname\",\n    status=\"disable\",\n    trap_high_cpu_threshold=80,\n    trap_log_full_threshold=90,\n    trap_low_memory_threshold=80)\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.System.Snmp.Sysinfo(\"trname\", new()\n    {\n        Status = \"disable\",\n        TrapHighCpuThreshold = 80,\n        TrapLogFullThreshold = 90,\n        TrapLowMemoryThreshold = 80,\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.NewSysinfo(ctx, \"trname\", &system.SysinfoArgs{\n\t\t\tStatus:                 pulumi.String(\"disable\"),\n\t\t\tTrapHighCpuThreshold:   pulumi.Int(80),\n\t\t\tTrapLogFullThreshold:   pulumi.Int(90),\n\t\t\tTrapLowMemoryThreshold: pulumi.Int(80),\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.Sysinfo;\nimport com.pulumi.fortios.system.SysinfoArgs;\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 Sysinfo(\"trname\", SysinfoArgs.builder()\n            .status(\"disable\")\n            .trapHighCpuThreshold(80)\n            .trapLogFullThreshold(90)\n            .trapLowMemoryThreshold(80)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/snmp:Sysinfo\n    properties:\n      status: disable\n      trapHighCpuThreshold: 80\n      trapLogFullThreshold: 90\n      trapLowMemoryThreshold: 80\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemSnmp Sysinfo can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/snmp/sysinfo:Sysinfo labelname SystemSnmpSysinfo\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:system/snmp/sysinfo:Sysinfo labelname SystemSnmpSysinfo\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "appendIndex": {
          "type": "string",
          "description": "Enable/disable allowance of appending VDOM or interface index in some RFC tables. Valid values: `enable`, `disable`.\n"
        },
        "contactInfo": {
          "type": "string",
          "description": "Contact information.\n"
        },
        "description": {
          "type": "string",
          "description": "System description.\n"
        },
        "engineId": {
          "type": "string",
          "description": "Local SNMP engineID string. On FortiOS versions 6.2.0-7.0.0: maximum 24 characters. On FortiOS versions >= 7.0.1: maximum 27 characters.\n"
        },
        "engineIdType": {
          "type": "string",
          "description": "Local SNMP engineID type (text/hex/mac). Valid values: `text`, `hex`, `mac`.\n"
        },
        "location": {
          "type": "string",
          "description": "System location.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SNMP. Valid values: `enable`, `disable`.\n"
        },
        "trapFreeMemoryThreshold": {
          "type": "integer",
          "description": "Free memory usage when trap is sent.\n"
        },
        "trapFreeableMemoryThreshold": {
          "type": "integer",
          "description": "Freeable memory usage when trap is sent.\n"
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "appendIndex",
        "engineId",
        "engineIdType",
        "status",
        "trapFreeMemoryThreshold",
        "trapFreeableMemoryThreshold",
        "trapHighCpuThreshold",
        "trapLogFullThreshold",
        "trapLowMemoryThreshold",
        "vdomparam"
      ],
      "inputProperties": {
        "appendIndex": {
          "type": "string",
          "description": "Enable/disable allowance of appending VDOM or interface index in some RFC tables. Valid values: `enable`, `disable`.\n"
        },
        "contactInfo": {
          "type": "string",
          "description": "Contact information.\n"
        },
        "description": {
          "type": "string",
          "description": "System description.\n"
        },
        "engineId": {
          "type": "string",
          "description": "Local SNMP engineID string. On FortiOS versions 6.2.0-7.0.0: maximum 24 characters. On FortiOS versions >= 7.0.1: maximum 27 characters.\n"
        },
        "engineIdType": {
          "type": "string",
          "description": "Local SNMP engineID type (text/hex/mac). Valid values: `text`, `hex`, `mac`.\n"
        },
        "location": {
          "type": "string",
          "description": "System location.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SNMP. Valid values: `enable`, `disable`.\n"
        },
        "trapFreeMemoryThreshold": {
          "type": "integer",
          "description": "Free memory usage when trap is sent.\n"
        },
        "trapFreeableMemoryThreshold": {
          "type": "integer",
          "description": "Freeable memory usage when trap is sent.\n"
        },
        "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Sysinfo resources.\n",
        "properties": {
          "appendIndex": {
            "type": "string",
            "description": "Enable/disable allowance of appending VDOM or interface index in some RFC tables. Valid values: `enable`, `disable`.\n"
          },
          "contactInfo": {
            "type": "string",
            "description": "Contact information.\n"
          },
          "description": {
            "type": "string",
            "description": "System description.\n"
          },
          "engineId": {
            "type": "string",
            "description": "Local SNMP engineID string. On FortiOS versions 6.2.0-7.0.0: maximum 24 characters. On FortiOS versions >= 7.0.1: maximum 27 characters.\n"
          },
          "engineIdType": {
            "type": "string",
            "description": "Local SNMP engineID type (text/hex/mac). Valid values: `text`, `hex`, `mac`.\n"
          },
          "location": {
            "type": "string",
            "description": "System location.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable SNMP. Valid values: `enable`, `disable`.\n"
          },
          "trapFreeMemoryThreshold": {
            "type": "integer",
            "description": "Free memory usage when trap is sent.\n"
          },
          "trapFreeableMemoryThreshold": {
            "type": "integer",
            "description": "Freeable memory usage when trap is sent.\n"
          },
          "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/snmp/user:User": {
      "description": "SNMP user 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.system.snmp.User(\"trname\", {\n    authProto: \"sha\",\n    events: \"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n    haDirect: \"disable\",\n    privProto: \"aes\",\n    queries: \"disable\",\n    queryPort: 161,\n    securityLevel: \"no-auth-no-priv\",\n    sourceIp: \"0.0.0.0\",\n    sourceIpv6: \"::\",\n    status: \"disable\",\n    trapLport: 162,\n    trapRport: 162,\n    trapStatus: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.snmp.User(\"trname\",\n    auth_proto=\"sha\",\n    events=\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n    ha_direct=\"disable\",\n    priv_proto=\"aes\",\n    queries=\"disable\",\n    query_port=161,\n    security_level=\"no-auth-no-priv\",\n    source_ip=\"0.0.0.0\",\n    source_ipv6=\"::\",\n    status=\"disable\",\n    trap_lport=162,\n    trap_rport=162,\n    trap_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.System.Snmp.User(\"trname\", new()\n    {\n        AuthProto = \"sha\",\n        Events = \"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\",\n        HaDirect = \"disable\",\n        PrivProto = \"aes\",\n        Queries = \"disable\",\n        QueryPort = 161,\n        SecurityLevel = \"no-auth-no-priv\",\n        SourceIp = \"0.0.0.0\",\n        SourceIpv6 = \"::\",\n        Status = \"disable\",\n        TrapLport = 162,\n        TrapRport = 162,\n        TrapStatus = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewUser(ctx, \"trname\", &system.UserArgs{\n\t\t\tAuthProto:     pulumi.String(\"sha\"),\n\t\t\tEvents:        pulumi.String(\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\"),\n\t\t\tHaDirect:      pulumi.String(\"disable\"),\n\t\t\tPrivProto:     pulumi.String(\"aes\"),\n\t\t\tQueries:       pulumi.String(\"disable\"),\n\t\t\tQueryPort:     pulumi.Int(161),\n\t\t\tSecurityLevel: pulumi.String(\"no-auth-no-priv\"),\n\t\t\tSourceIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIpv6:    pulumi.String(\"::\"),\n\t\t\tStatus:        pulumi.String(\"disable\"),\n\t\t\tTrapLport:     pulumi.Int(162),\n\t\t\tTrapRport:     pulumi.Int(162),\n\t\t\tTrapStatus:    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.system.User;\nimport com.pulumi.fortios.system.UserArgs;\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 User(\"trname\", UserArgs.builder()\n            .authProto(\"sha\")\n            .events(\"cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\")\n            .haDirect(\"disable\")\n            .privProto(\"aes\")\n            .queries(\"disable\")\n            .queryPort(161)\n            .securityLevel(\"no-auth-no-priv\")\n            .sourceIp(\"0.0.0.0\")\n            .sourceIpv6(\"::\")\n            .status(\"disable\")\n            .trapLport(162)\n            .trapRport(162)\n            .trapStatus(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system/snmp:User\n    properties:\n      authProto: sha\n      events: cpu-high mem-low log-full intf-ip vpn-tun-up vpn-tun-down ha-switch ha-hb-failure ips-signature ips-anomaly av-virus av-oversize av-pattern av-fragmented fm-if-change bgp-established bgp-backward-transition ha-member-up ha-member-down ent-conf-change av-conserve av-bypass av-oversize-passed av-oversize-blocked ips-pkg-update ips-fail-open faz-disconnect wc-ap-up wc-ap-down fswctl-session-up fswctl-session-down load-balance-real-server-down per-cpu-high\n      haDirect: disable\n      privProto: aes\n      queries: disable\n      queryPort: 161\n      securityLevel: no-auth-no-priv\n      sourceIp: 0.0.0.0\n      sourceIpv6: '::'\n      status: disable\n      trapLport: 162\n      trapRport: 162\n      trapStatus: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystemSnmp User can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/snmp/user:User 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:system/snmp/user:User labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authProto": {
          "type": "string",
          "description": "Authentication protocol.\n"
        },
        "authPwd": {
          "type": "string",
          "description": "Password for authentication protocol.\n",
          "secret": true
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "events": {
          "type": "string",
          "description": "SNMP notifications (traps) to send.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haDirect": {
          "type": "string",
          "description": "Enable/disable direct management of HA cluster members. Valid values: `enable`, `disable`.\n"
        },
        "mibView": {
          "type": "string",
          "description": "SNMP access control MIB view.\n"
        },
        "name": {
          "type": "string",
          "description": "SNMP user name.\n"
        },
        "notifyHosts": {
          "type": "string",
          "description": "SNMP managers to send notifications (traps) to.\n"
        },
        "notifyHosts6": {
          "type": "string",
          "description": "IPv6 SNMP managers to send notifications (traps) to.\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"
        },
        "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"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for SNMP trap.\n"
        },
        "sourceIpv6": {
          "type": "string",
          "description": "Source IPv6 for SNMP trap.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SNMP user. Valid values: `enable`, `disable`.\n"
        },
        "trapLport": {
          "type": "integer",
          "description": "SNMPv3 local trap port (default = 162).\n"
        },
        "trapRport": {
          "type": "integer",
          "description": "SNMPv3 trap remote port (default = 162).\n"
        },
        "trapStatus": {
          "type": "string",
          "description": "Enable/disable traps for this SNMP user. 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FUserVdom:UserVdom"
          },
          "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "authProto",
        "events",
        "haDirect",
        "mibView",
        "name",
        "notifyHosts",
        "notifyHosts6",
        "privProto",
        "queries",
        "queryPort",
        "securityLevel",
        "sourceIp",
        "sourceIpv6",
        "status",
        "trapLport",
        "trapRport",
        "trapStatus",
        "vdomparam"
      ],
      "inputProperties": {
        "authProto": {
          "type": "string",
          "description": "Authentication protocol.\n"
        },
        "authPwd": {
          "type": "string",
          "description": "Password for authentication protocol.\n",
          "secret": true
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "events": {
          "type": "string",
          "description": "SNMP notifications (traps) to send.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haDirect": {
          "type": "string",
          "description": "Enable/disable direct management of HA cluster members. Valid values: `enable`, `disable`.\n"
        },
        "mibView": {
          "type": "string",
          "description": "SNMP access control MIB view.\n"
        },
        "name": {
          "type": "string",
          "description": "SNMP user name.\n",
          "willReplaceOnChanges": true
        },
        "notifyHosts": {
          "type": "string",
          "description": "SNMP managers to send notifications (traps) to.\n"
        },
        "notifyHosts6": {
          "type": "string",
          "description": "IPv6 SNMP managers to send notifications (traps) to.\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"
        },
        "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"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for SNMP trap.\n"
        },
        "sourceIpv6": {
          "type": "string",
          "description": "Source IPv6 for SNMP trap.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SNMP user. Valid values: `enable`, `disable`.\n"
        },
        "trapLport": {
          "type": "integer",
          "description": "SNMPv3 local trap port (default = 162).\n"
        },
        "trapRport": {
          "type": "integer",
          "description": "SNMPv3 trap remote port (default = 162).\n"
        },
        "trapStatus": {
          "type": "string",
          "description": "Enable/disable traps for this SNMP user. 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fsnmp%2FUserVdom:UserVdom"
          },
          "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering User resources.\n",
        "properties": {
          "authProto": {
            "type": "string",
            "description": "Authentication protocol.\n"
          },
          "authPwd": {
            "type": "string",
            "description": "Password for authentication protocol.\n",
            "secret": true
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "events": {
            "type": "string",
            "description": "SNMP notifications (traps) to send.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "haDirect": {
            "type": "string",
            "description": "Enable/disable direct management of HA cluster members. Valid values: `enable`, `disable`.\n"
          },
          "mibView": {
            "type": "string",
            "description": "SNMP access control MIB view.\n"
          },
          "name": {
            "type": "string",
            "description": "SNMP user name.\n",
            "willReplaceOnChanges": true
          },
          "notifyHosts": {
            "type": "string",
            "description": "SNMP managers to send notifications (traps) to.\n"
          },
          "notifyHosts6": {
            "type": "string",
            "description": "IPv6 SNMP managers to send notifications (traps) to.\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"
          },
          "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"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP for SNMP trap.\n"
          },
          "sourceIpv6": {
            "type": "string",
            "description": "Source IPv6 for SNMP trap.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this SNMP user. Valid values: `enable`, `disable`.\n"
          },
          "trapLport": {
            "type": "integer",
            "description": "SNMPv3 local trap port (default = 162).\n"
          },
          "trapRport": {
            "type": "integer",
            "description": "SNMPv3 trap remote port (default = 162).\n"
          },
          "trapStatus": {
            "type": "string",
            "description": "Enable/disable traps for this SNMP user. 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FUserVdom:UserVdom"
            },
            "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/speedtestschedule:Speedtestschedule": {
      "description": "Speed test schedule for each interface. Applies to FortiOS Version `>= 7.0.0`.\n\n## Import\n\nSystem SpeedTestSchedule can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/speedtestschedule:Speedtestschedule labelname {{interface}}\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:system/speedtestschedule:Speedtestschedule labelname {{interface}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ctrlPort": {
          "type": "integer",
          "description": "Port of the controller to get access token.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "DSCP used for speed test.\n"
        },
        "dynamicServer": {
          "type": "string",
          "description": "Enable/disable dynamic server option. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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 name.\n"
        },
        "mode": {
          "type": "string",
          "description": "Protocol Auto(default), TCP or UDP used for speed test. Valid values: `UDP`, `TCP`, `Auto`.\n"
        },
        "schedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSpeedtestscheduleSchedule:SpeedtestscheduleSchedule"
          },
          "description": "Schedules for the interface. The structure of `schedules` block is documented below.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Speed test server name.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port of the server to run speed test.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable scheduled speed test. Valid values: `disable`, `enable`.\n"
        },
        "updateInbandwidth": {
          "type": "string",
          "description": "Enable/disable bypassing interface's inbound bandwidth setting. Valid values: `disable`, `enable`.\n"
        },
        "updateInbandwidthMaximum": {
          "type": "integer",
          "description": "Maximum downloading bandwidth (kbps) to be used in a speed test.\n"
        },
        "updateInbandwidthMinimum": {
          "type": "integer",
          "description": "Minimum downloading bandwidth (kbps) to be considered effective.\n"
        },
        "updateOutbandwidth": {
          "type": "string",
          "description": "Enable/disable bypassing interface's outbound bandwidth setting. Valid values: `disable`, `enable`.\n"
        },
        "updateOutbandwidthMaximum": {
          "type": "integer",
          "description": "Maximum uploading bandwidth (kbps) to be used in a speed test.\n"
        },
        "updateOutbandwidthMinimum": {
          "type": "integer",
          "description": "Minimum uploading bandwidth (kbps) to be considered effective.\n"
        },
        "updateShaper": {
          "type": "string",
          "description": "Set egress shaper based on the test result. Valid values: `disable`, `local`, `remote`, `both`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "ctrlPort",
        "diffserv",
        "dynamicServer",
        "interface",
        "mode",
        "serverName",
        "serverPort",
        "status",
        "updateInbandwidth",
        "updateInbandwidthMaximum",
        "updateInbandwidthMinimum",
        "updateOutbandwidth",
        "updateOutbandwidthMaximum",
        "updateOutbandwidthMinimum",
        "updateShaper",
        "vdomparam"
      ],
      "inputProperties": {
        "ctrlPort": {
          "type": "integer",
          "description": "Port of the controller to get access token.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "DSCP used for speed test.\n"
        },
        "dynamicServer": {
          "type": "string",
          "description": "Enable/disable dynamic server option. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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 name.\n",
          "willReplaceOnChanges": true
        },
        "mode": {
          "type": "string",
          "description": "Protocol Auto(default), TCP or UDP used for speed test. Valid values: `UDP`, `TCP`, `Auto`.\n"
        },
        "schedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSpeedtestscheduleSchedule:SpeedtestscheduleSchedule"
          },
          "description": "Schedules for the interface. The structure of `schedules` block is documented below.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Speed test server name.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port of the server to run speed test.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable scheduled speed test. Valid values: `disable`, `enable`.\n"
        },
        "updateInbandwidth": {
          "type": "string",
          "description": "Enable/disable bypassing interface's inbound bandwidth setting. Valid values: `disable`, `enable`.\n"
        },
        "updateInbandwidthMaximum": {
          "type": "integer",
          "description": "Maximum downloading bandwidth (kbps) to be used in a speed test.\n"
        },
        "updateInbandwidthMinimum": {
          "type": "integer",
          "description": "Minimum downloading bandwidth (kbps) to be considered effective.\n"
        },
        "updateOutbandwidth": {
          "type": "string",
          "description": "Enable/disable bypassing interface's outbound bandwidth setting. Valid values: `disable`, `enable`.\n"
        },
        "updateOutbandwidthMaximum": {
          "type": "integer",
          "description": "Maximum uploading bandwidth (kbps) to be used in a speed test.\n"
        },
        "updateOutbandwidthMinimum": {
          "type": "integer",
          "description": "Minimum uploading bandwidth (kbps) to be considered effective.\n"
        },
        "updateShaper": {
          "type": "string",
          "description": "Set egress shaper based on the test result. Valid values: `disable`, `local`, `remote`, `both`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Speedtestschedule resources.\n",
        "properties": {
          "ctrlPort": {
            "type": "integer",
            "description": "Port of the controller to get access token.\n"
          },
          "diffserv": {
            "type": "string",
            "description": "DSCP used for speed test.\n"
          },
          "dynamicServer": {
            "type": "string",
            "description": "Enable/disable dynamic server option. Valid values: `disable`, `enable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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 name.\n",
            "willReplaceOnChanges": true
          },
          "mode": {
            "type": "string",
            "description": "Protocol Auto(default), TCP or UDP used for speed test. Valid values: `UDP`, `TCP`, `Auto`.\n"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSpeedtestscheduleSchedule:SpeedtestscheduleSchedule"
            },
            "description": "Schedules for the interface. The structure of `schedules` block is documented below.\n"
          },
          "serverName": {
            "type": "string",
            "description": "Speed test server name.\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "Port of the server to run speed test.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable scheduled speed test. Valid values: `disable`, `enable`.\n"
          },
          "updateInbandwidth": {
            "type": "string",
            "description": "Enable/disable bypassing interface's inbound bandwidth setting. Valid values: `disable`, `enable`.\n"
          },
          "updateInbandwidthMaximum": {
            "type": "integer",
            "description": "Maximum downloading bandwidth (kbps) to be used in a speed test.\n"
          },
          "updateInbandwidthMinimum": {
            "type": "integer",
            "description": "Minimum downloading bandwidth (kbps) to be considered effective.\n"
          },
          "updateOutbandwidth": {
            "type": "string",
            "description": "Enable/disable bypassing interface's outbound bandwidth setting. Valid values: `disable`, `enable`.\n"
          },
          "updateOutbandwidthMaximum": {
            "type": "integer",
            "description": "Maximum uploading bandwidth (kbps) to be used in a speed test.\n"
          },
          "updateOutbandwidthMinimum": {
            "type": "integer",
            "description": "Minimum uploading bandwidth (kbps) to be considered effective.\n"
          },
          "updateShaper": {
            "type": "string",
            "description": "Set egress shaper based on the test result. Valid values: `disable`, `local`, `remote`, `both`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/speedtestserver:Speedtestserver": {
      "description": "Configure speed test server list. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nSystem SpeedTestServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/speedtestserver:Speedtestserver 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:system/speedtestserver:Speedtestserver 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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSpeedtestserverHost:SpeedtestserverHost"
          },
          "description": "Hosts of the server. The structure of `host` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Speed test server name.\n"
        },
        "timestamp": {
          "type": "integer",
          "description": "Speed test server timestamp.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "timestamp",
        "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"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSpeedtestserverHost:SpeedtestserverHost"
          },
          "description": "Hosts of the server. The structure of `host` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Speed test server name.\n",
          "willReplaceOnChanges": true
        },
        "timestamp": {
          "type": "integer",
          "description": "Speed test server timestamp.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Speedtestserver 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"
          },
          "hosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSpeedtestserverHost:SpeedtestserverHost"
            },
            "description": "Hosts of the server. The structure of `host` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Speed test server name.\n",
            "willReplaceOnChanges": true
          },
          "timestamp": {
            "type": "integer",
            "description": "Speed test server timestamp.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/speedtestsetting:Speedtestsetting": {
      "description": "Configure speed test setting. Applies to FortiOS Version `7.2.6,7.2.7,7.2.8,7.4.1,7.4.2,7.4.3,7.4.4`.\n\n## Import\n\nSystem SpeedTestSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/speedtestsetting:Speedtestsetting labelname SystemSpeedTestSetting\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:system/speedtestsetting:Speedtestsetting labelname SystemSpeedTestSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "latencyThreshold": {
          "type": "integer",
          "description": "Speed test latency threshold in milliseconds (0 - 2000, default = 60) for the Auto mode. If the latency exceeds this threshold, the speed test will use the UDP protocol; otherwise, it will use the TCP protocol.\n"
        },
        "multipleTcpStream": {
          "type": "integer",
          "description": "Number of parallel client streams (1 - 64, default = 4) for the TCP protocol to run during the speed test.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "latencyThreshold",
        "multipleTcpStream",
        "vdomparam"
      ],
      "inputProperties": {
        "latencyThreshold": {
          "type": "integer",
          "description": "Speed test latency threshold in milliseconds (0 - 2000, default = 60) for the Auto mode. If the latency exceeds this threshold, the speed test will use the UDP protocol; otherwise, it will use the TCP protocol.\n"
        },
        "multipleTcpStream": {
          "type": "integer",
          "description": "Number of parallel client streams (1 - 64, default = 4) for the TCP protocol to run during the speed test.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Speedtestsetting resources.\n",
        "properties": {
          "latencyThreshold": {
            "type": "integer",
            "description": "Speed test latency threshold in milliseconds (0 - 2000, default = 60) for the Auto mode. If the latency exceeds this threshold, the speed test will use the UDP protocol; otherwise, it will use the TCP protocol.\n"
          },
          "multipleTcpStream": {
            "type": "integer",
            "description": "Number of parallel client streams (1 - 64, default = 4) for the TCP protocol to run during the speed test.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/sshconfig:Sshconfig": {
      "description": "Configure SSH config. Applies to FortiOS Version `>= 7.4.4`.\n\n## Import\n\nSystem SshConfig can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/sshconfig:Sshconfig labelname SystemSshConfig\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:system/sshconfig:Sshconfig labelname SystemSshConfig\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "sshEncAlgo": {
          "type": "string",
          "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
        },
        "sshHsk": {
          "type": "string",
          "description": "Config SSH host key.\n"
        },
        "sshHskAlgo": {
          "type": "string",
          "description": "Select one or more SSH hostkey algorithms. Valid values: `ssh-rsa`, `ecdsa-sha2-nistp521`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp256`, `rsa-sha2-256`, `rsa-sha2-512`, `ssh-ed25519`.\n"
        },
        "sshHskOverride": {
          "type": "string",
          "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
        },
        "sshHskPassword": {
          "type": "string",
          "description": "Password for ssh-hostkey.\n"
        },
        "sshKexAlgo": {
          "type": "string",
          "description": "Select one or more SSH kex algorithms. Valid values: `diffie-hellman-group1-sha1`, `diffie-hellman-group14-sha1`, `diffie-hellman-group14-sha256`, `diffie-hellman-group16-sha512`, `diffie-hellman-group18-sha512`, `diffie-hellman-group-exchange-sha1`, `diffie-hellman-group-exchange-sha256`, `curve25519-sha256@libssh.org`, `ecdh-sha2-nistp256`, `ecdh-sha2-nistp384`, `ecdh-sha2-nistp521`.\n"
        },
        "sshMacAlgo": {
          "type": "string",
          "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "sshEncAlgo",
        "sshHsk",
        "sshHskAlgo",
        "sshHskOverride",
        "sshKexAlgo",
        "sshMacAlgo",
        "vdomparam"
      ],
      "inputProperties": {
        "sshEncAlgo": {
          "type": "string",
          "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
        },
        "sshHsk": {
          "type": "string",
          "description": "Config SSH host key.\n"
        },
        "sshHskAlgo": {
          "type": "string",
          "description": "Select one or more SSH hostkey algorithms. Valid values: `ssh-rsa`, `ecdsa-sha2-nistp521`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp256`, `rsa-sha2-256`, `rsa-sha2-512`, `ssh-ed25519`.\n"
        },
        "sshHskOverride": {
          "type": "string",
          "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
        },
        "sshHskPassword": {
          "type": "string",
          "description": "Password for ssh-hostkey.\n"
        },
        "sshKexAlgo": {
          "type": "string",
          "description": "Select one or more SSH kex algorithms. Valid values: `diffie-hellman-group1-sha1`, `diffie-hellman-group14-sha1`, `diffie-hellman-group14-sha256`, `diffie-hellman-group16-sha512`, `diffie-hellman-group18-sha512`, `diffie-hellman-group-exchange-sha1`, `diffie-hellman-group-exchange-sha256`, `curve25519-sha256@libssh.org`, `ecdh-sha2-nistp256`, `ecdh-sha2-nistp384`, `ecdh-sha2-nistp521`.\n"
        },
        "sshMacAlgo": {
          "type": "string",
          "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Sshconfig resources.\n",
        "properties": {
          "sshEncAlgo": {
            "type": "string",
            "description": "Select one or more SSH ciphers. Valid values: `chacha20-poly1305@openssh.com`, `aes128-ctr`, `aes192-ctr`, `aes256-ctr`, `arcfour256`, `arcfour128`, `aes128-cbc`, `3des-cbc`, `blowfish-cbc`, `cast128-cbc`, `aes192-cbc`, `aes256-cbc`, `arcfour`, `rijndael-cbc@lysator.liu.se`, `aes128-gcm@openssh.com`, `aes256-gcm@openssh.com`.\n"
          },
          "sshHsk": {
            "type": "string",
            "description": "Config SSH host key.\n"
          },
          "sshHskAlgo": {
            "type": "string",
            "description": "Select one or more SSH hostkey algorithms. Valid values: `ssh-rsa`, `ecdsa-sha2-nistp521`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp256`, `rsa-sha2-256`, `rsa-sha2-512`, `ssh-ed25519`.\n"
          },
          "sshHskOverride": {
            "type": "string",
            "description": "Enable/disable SSH host key override in SSH daemon. Valid values: `disable`, `enable`.\n"
          },
          "sshHskPassword": {
            "type": "string",
            "description": "Password for ssh-hostkey.\n"
          },
          "sshKexAlgo": {
            "type": "string",
            "description": "Select one or more SSH kex algorithms. Valid values: `diffie-hellman-group1-sha1`, `diffie-hellman-group14-sha1`, `diffie-hellman-group14-sha256`, `diffie-hellman-group16-sha512`, `diffie-hellman-group18-sha512`, `diffie-hellman-group-exchange-sha1`, `diffie-hellman-group-exchange-sha256`, `curve25519-sha256@libssh.org`, `ecdh-sha2-nistp256`, `ecdh-sha2-nistp384`, `ecdh-sha2-nistp521`.\n"
          },
          "sshMacAlgo": {
            "type": "string",
            "description": "Select one or more SSH MAC algorithms. Valid values: `hmac-md5`, `hmac-md5-etm@openssh.com`, `hmac-md5-96`, `hmac-md5-96-etm@openssh.com`, `hmac-sha1`, `hmac-sha1-etm@openssh.com`, `hmac-sha2-256`, `hmac-sha2-256-etm@openssh.com`, `hmac-sha2-512`, `hmac-sha2-512-etm@openssh.com`, `hmac-ripemd160`, `hmac-ripemd160@openssh.com`, `hmac-ripemd160-etm@openssh.com`, `umac-64@openssh.com`, `umac-128@openssh.com`, `umac-64-etm@openssh.com`, `umac-128-etm@openssh.com`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/ssoadmin:Ssoadmin": {
      "description": "Configure SSO admin users. 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.system.Ssoadmin(\"trname\", {\n    accprofile: \"super_admin\",\n    vdoms: [{\n        name: \"root\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Ssoadmin(\"trname\",\n    accprofile=\"super_admin\",\n    vdoms=[fortios.system.SsoadminVdomArgs(\n        name=\"root\",\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.System.Ssoadmin(\"trname\", new()\n    {\n        Accprofile = \"super_admin\",\n        Vdoms = new[]\n        {\n            new Fortios.System.Inputs.SsoadminVdomArgs\n            {\n                Name = \"root\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewSsoadmin(ctx, \"trname\", &system.SsoadminArgs{\n\t\t\tAccprofile: pulumi.String(\"super_admin\"),\n\t\t\tVdoms: system.SsoadminVdomArray{\n\t\t\t\t&system.SsoadminVdomArgs{\n\t\t\t\t\tName: pulumi.String(\"root\"),\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.system.Ssoadmin;\nimport com.pulumi.fortios.system.SsoadminArgs;\nimport com.pulumi.fortios.system.inputs.SsoadminVdomArgs;\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 Ssoadmin(\"trname\", SsoadminArgs.builder()\n            .accprofile(\"super_admin\")\n            .vdoms(SsoadminVdomArgs.builder()\n                .name(\"root\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Ssoadmin\n    properties:\n      accprofile: super_admin\n      vdoms:\n        - name: root\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem SsoAdmin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ssoadmin:Ssoadmin 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:system/ssoadmin:Ssoadmin labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "guiIgnoreReleaseOverviewVersion": {
          "type": "string",
          "description": "The FortiOS version to ignore release overview prompt for.\n"
        },
        "name": {
          "type": "string",
          "description": "SSO admin 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsoadminVdom:SsoadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "guiIgnoreReleaseOverviewVersion",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "guiIgnoreReleaseOverviewVersion": {
          "type": "string",
          "description": "The FortiOS version to ignore release overview prompt for.\n"
        },
        "name": {
          "type": "string",
          "description": "SSO admin 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsoadminVdom:SsoadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "accprofile"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ssoadmin resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "SSO admin user access profile.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "guiIgnoreReleaseOverviewVersion": {
            "type": "string",
            "description": "The FortiOS version to ignore release overview prompt for.\n"
          },
          "name": {
            "type": "string",
            "description": "SSO admin 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSsoadminVdom:SsoadminVdom"
            },
            "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/ssoforticloudadmin:Ssoforticloudadmin": {
      "description": "Configure FortiCloud SSO admin users. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSystem SsoForticloudAdmin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ssoforticloudadmin:Ssoforticloudadmin 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:system/ssoforticloudadmin:Ssoforticloudadmin labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "FortiCloud SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsoforticloudadminVdom:SsoforticloudadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "FortiCloud SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsoforticloudadminVdom:SsoforticloudadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ssoforticloudadmin resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "FortiCloud SSO admin user access profile.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSsoforticloudadminVdom:SsoforticloudadminVdom"
            },
            "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/ssofortigatecloudadmin:Ssofortigatecloudadmin": {
      "description": "Configure FortiCloud SSO admin users. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nSystem SsoFortigateCloudAdmin can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/ssofortigatecloudadmin:Ssofortigatecloudadmin 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:system/ssofortigatecloudadmin:Ssofortigatecloudadmin labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "FortiCloud SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsofortigatecloudadminVdom:SsofortigatecloudadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "accprofile": {
          "type": "string",
          "description": "FortiCloud SSO admin user access profile.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSsofortigatecloudadminVdom:SsofortigatecloudadminVdom"
          },
          "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ssofortigatecloudadmin resources.\n",
        "properties": {
          "accprofile": {
            "type": "string",
            "description": "FortiCloud SSO admin user access profile.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "FortiCloud SSO admin 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
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSsofortigatecloudadminVdom:SsofortigatecloudadminVdom"
            },
            "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/standalonecluster:Standalonecluster": {
      "description": "Configure FortiGate Session Life Support Protocol (FGSP) cluster attributes. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nSystem StandaloneCluster can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/standalonecluster:Standalonecluster labelname SystemStandaloneCluster\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:system/standalonecluster:Standalonecluster labelname SystemStandaloneCluster\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "asymmetricTrafficControl": {
          "type": "string",
          "description": "Asymmetric traffic control mode. Valid values: `cps-preferred`, `strict-anti-replay`.\n"
        },
        "clusterPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeer:StandaloneclusterClusterPeer"
          },
          "description": "Configure FortiGate Session Life Support Protocol (FGSP) session synchronization. The structure of `cluster_peer` 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"
        },
        "encryption": {
          "type": "string",
          "description": "Enable/disable encryption when synchronizing sessions. 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"
        },
        "groupMemberId": {
          "type": "integer",
          "description": "Cluster member ID. On FortiOS versions 6.4.0: 0 - 3. On FortiOS versions >= 6.4.1: 0 - 15.\n"
        },
        "layer2Connection": {
          "type": "string",
          "description": "Indicate whether layer 2 connections are present among FGSP members. Valid values: `available`, `unavailable`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for session synchronization (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "sessionSyncDev": {
          "type": "string",
          "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
        },
        "standaloneGroupId": {
          "type": "integer",
          "description": "Cluster group ID (0 - 255). Must be the same for all members.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "asymmetricTrafficControl",
        "encryption",
        "groupMemberId",
        "layer2Connection",
        "sessionSyncDev",
        "standaloneGroupId",
        "vdomparam"
      ],
      "inputProperties": {
        "asymmetricTrafficControl": {
          "type": "string",
          "description": "Asymmetric traffic control mode. Valid values: `cps-preferred`, `strict-anti-replay`.\n"
        },
        "clusterPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeer:StandaloneclusterClusterPeer"
          },
          "description": "Configure FortiGate Session Life Support Protocol (FGSP) session synchronization. The structure of `cluster_peer` 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"
        },
        "encryption": {
          "type": "string",
          "description": "Enable/disable encryption when synchronizing sessions. 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"
        },
        "groupMemberId": {
          "type": "integer",
          "description": "Cluster member ID. On FortiOS versions 6.4.0: 0 - 3. On FortiOS versions >= 6.4.1: 0 - 15.\n"
        },
        "layer2Connection": {
          "type": "string",
          "description": "Indicate whether layer 2 connections are present among FGSP members. Valid values: `available`, `unavailable`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for session synchronization (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "sessionSyncDev": {
          "type": "string",
          "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
        },
        "standaloneGroupId": {
          "type": "integer",
          "description": "Cluster group ID (0 - 255). Must be the same for all members.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Standalonecluster resources.\n",
        "properties": {
          "asymmetricTrafficControl": {
            "type": "string",
            "description": "Asymmetric traffic control mode. Valid values: `cps-preferred`, `strict-anti-replay`.\n"
          },
          "clusterPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeer:StandaloneclusterClusterPeer"
            },
            "description": "Configure FortiGate Session Life Support Protocol (FGSP) session synchronization. The structure of `cluster_peer` 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"
          },
          "encryption": {
            "type": "string",
            "description": "Enable/disable encryption when synchronizing sessions. 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"
          },
          "groupMemberId": {
            "type": "integer",
            "description": "Cluster member ID. On FortiOS versions 6.4.0: 0 - 3. On FortiOS versions >= 6.4.1: 0 - 15.\n"
          },
          "layer2Connection": {
            "type": "string",
            "description": "Indicate whether layer 2 connections are present among FGSP members. Valid values: `available`, `unavailable`.\n"
          },
          "psksecret": {
            "type": "string",
            "description": "Pre-shared secret for session synchronization (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "sessionSyncDev": {
            "type": "string",
            "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n"
          },
          "standaloneGroupId": {
            "type": "integer",
            "description": "Cluster group ID (0 - 255). Must be the same for all members.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/storage:Storage": {
      "description": "Configure logical storage.\n\n## Import\n\nSystem Storage can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/storage:Storage 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:system/storage:Storage labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "device": {
          "type": "string",
          "description": "Partition device.\n"
        },
        "mediaStatus": {
          "type": "string",
          "description": "The physical status of current media. Valid values: `enable`, `disable`, `fail`.\n"
        },
        "name": {
          "type": "string",
          "description": "Storage name.\n"
        },
        "order": {
          "type": "integer",
          "description": "Set storage order.\n"
        },
        "partition": {
          "type": "string",
          "description": "Label of underlying partition.\n"
        },
        "size": {
          "type": "integer",
          "description": "Partition size.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable storage. Valid values: `enable`, `disable`.\n"
        },
        "usage": {
          "type": "string",
          "description": "Use hard disk for logging or WAN Optimization (default = log).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wanoptMode": {
          "type": "string",
          "description": "WAN Optimization mode (default = mix). Valid values: `mix`, `wanopt`, `webcache`.\n"
        }
      },
      "type": "object",
      "required": [
        "device",
        "mediaStatus",
        "name",
        "order",
        "partition",
        "size",
        "status",
        "usage",
        "vdomparam",
        "wanoptMode"
      ],
      "inputProperties": {
        "device": {
          "type": "string",
          "description": "Partition device.\n"
        },
        "mediaStatus": {
          "type": "string",
          "description": "The physical status of current media. Valid values: `enable`, `disable`, `fail`.\n"
        },
        "name": {
          "type": "string",
          "description": "Storage name.\n",
          "willReplaceOnChanges": true
        },
        "order": {
          "type": "integer",
          "description": "Set storage order.\n"
        },
        "partition": {
          "type": "string",
          "description": "Label of underlying partition.\n"
        },
        "size": {
          "type": "integer",
          "description": "Partition size.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable storage. Valid values: `enable`, `disable`.\n"
        },
        "usage": {
          "type": "string",
          "description": "Use hard disk for logging or WAN Optimization (default = log).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wanoptMode": {
          "type": "string",
          "description": "WAN Optimization mode (default = mix). Valid values: `mix`, `wanopt`, `webcache`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Storage resources.\n",
        "properties": {
          "device": {
            "type": "string",
            "description": "Partition device.\n"
          },
          "mediaStatus": {
            "type": "string",
            "description": "The physical status of current media. Valid values: `enable`, `disable`, `fail`.\n"
          },
          "name": {
            "type": "string",
            "description": "Storage name.\n",
            "willReplaceOnChanges": true
          },
          "order": {
            "type": "integer",
            "description": "Set storage order.\n"
          },
          "partition": {
            "type": "string",
            "description": "Label of underlying partition.\n"
          },
          "size": {
            "type": "integer",
            "description": "Partition size.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable storage. Valid values: `enable`, `disable`.\n"
          },
          "usage": {
            "type": "string",
            "description": "Use hard disk for logging or WAN Optimization (default = log).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wanoptMode": {
            "type": "string",
            "description": "WAN Optimization mode (default = mix). Valid values: `mix`, `wanopt`, `webcache`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/stp:Stp": {
      "description": "Configure Spanning Tree Protocol (STP). Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem Stp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/stp:Stp labelname SystemStp\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:system/stp:Stp labelname SystemStp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "forwardDelay": {
          "type": "integer",
          "description": "Forward delay (4 - 30 sec, default = 15).\n"
        },
        "helloTime": {
          "type": "integer",
          "description": "Hello time (1 - 10 sec, default = 2).\n"
        },
        "maxAge": {
          "type": "integer",
          "description": "Maximum packet age (6 - 40 sec, default = 20).\n"
        },
        "maxHops": {
          "type": "integer",
          "description": "Maximum number of hops (1 - 40, default = 20).\n"
        },
        "switchPriority": {
          "type": "string",
          "description": "STP switch priority; the lower the number the higher the priority (select from 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, and 57344). Valid values: `0`, `4096`, `8192`, `12288`, `16384`, `20480`, `24576`, `28672`, `32768`, `36864`, `40960`, `45056`, `49152`, `53248`, `57344`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "forwardDelay",
        "helloTime",
        "maxAge",
        "maxHops",
        "switchPriority",
        "vdomparam"
      ],
      "inputProperties": {
        "forwardDelay": {
          "type": "integer",
          "description": "Forward delay (4 - 30 sec, default = 15).\n"
        },
        "helloTime": {
          "type": "integer",
          "description": "Hello time (1 - 10 sec, default = 2).\n"
        },
        "maxAge": {
          "type": "integer",
          "description": "Maximum packet age (6 - 40 sec, default = 20).\n"
        },
        "maxHops": {
          "type": "integer",
          "description": "Maximum number of hops (1 - 40, default = 20).\n"
        },
        "switchPriority": {
          "type": "string",
          "description": "STP switch priority; the lower the number the higher the priority (select from 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, and 57344). Valid values: `0`, `4096`, `8192`, `12288`, `16384`, `20480`, `24576`, `28672`, `32768`, `36864`, `40960`, `45056`, `49152`, `53248`, `57344`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Stp resources.\n",
        "properties": {
          "forwardDelay": {
            "type": "integer",
            "description": "Forward delay (4 - 30 sec, default = 15).\n"
          },
          "helloTime": {
            "type": "integer",
            "description": "Hello time (1 - 10 sec, default = 2).\n"
          },
          "maxAge": {
            "type": "integer",
            "description": "Maximum packet age (6 - 40 sec, default = 20).\n"
          },
          "maxHops": {
            "type": "integer",
            "description": "Maximum number of hops (1 - 40, default = 20).\n"
          },
          "switchPriority": {
            "type": "string",
            "description": "STP switch priority; the lower the number the higher the priority (select from 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, and 57344). Valid values: `0`, `4096`, `8192`, `12288`, `16384`, `20480`, `24576`, `28672`, `32768`, `36864`, `40960`, `45056`, `49152`, `53248`, `57344`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/switchinterface:Switchinterface": {
      "description": "Configure software switch interfaces by grouping physical and WiFi interfaces.\n\n## Import\n\nSystem SwitchInterface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/switchinterface:Switchinterface 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:system/switchinterface:Switchinterface 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"
        },
        "intraSwitchPolicy": {
          "type": "string",
          "description": "Allow any traffic between switch interfaces or require firewall policies to allow traffic between switch interfaces. Valid values: `implicit`, `explicit`.\n"
        },
        "macTtl": {
          "type": "integer",
          "description": "Duration for which MAC addresses are held in the ARP table (300 - 8640000 sec, default = 300).\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSwitchinterfaceMember:SwitchinterfaceMember"
          },
          "description": "Names of the interfaces that belong to the virtual switch. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name (name cannot be in use by any other interfaces, VLANs, or inter-VDOM links).\n"
        },
        "span": {
          "type": "string",
          "description": "Enable/disable port spanning. Port spanning echoes traffic received by the software switch to the span destination port. Valid values: `disable`, `enable`.\n"
        },
        "spanDestPort": {
          "type": "string",
          "description": "SPAN destination port name. All traffic on the SPAN source ports is echoed to the SPAN destination port.\n"
        },
        "spanDirection": {
          "type": "string",
          "description": "The direction in which the SPAN port operates, either: rx, tx, or both. Valid values: `rx`, `tx`, `both`.\n"
        },
        "spanSourcePorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSwitchinterfaceSpanSourcePort:SwitchinterfaceSpanSourcePort"
          },
          "description": "Physical interface name. Port spanning echoes all traffic on the SPAN source ports to the SPAN destination port. The structure of `span_source_port` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of switch based on functionality: switch for normal functionality, or hub to duplicate packets to all port members. Valid values: `switch`, `hub`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOM that the software switch belongs to.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "intraSwitchPolicy",
        "macTtl",
        "name",
        "span",
        "spanDestPort",
        "spanDirection",
        "type",
        "vdom",
        "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"
        },
        "intraSwitchPolicy": {
          "type": "string",
          "description": "Allow any traffic between switch interfaces or require firewall policies to allow traffic between switch interfaces. Valid values: `implicit`, `explicit`.\n"
        },
        "macTtl": {
          "type": "integer",
          "description": "Duration for which MAC addresses are held in the ARP table (300 - 8640000 sec, default = 300).\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSwitchinterfaceMember:SwitchinterfaceMember"
          },
          "description": "Names of the interfaces that belong to the virtual switch. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name (name cannot be in use by any other interfaces, VLANs, or inter-VDOM links).\n",
          "willReplaceOnChanges": true
        },
        "span": {
          "type": "string",
          "description": "Enable/disable port spanning. Port spanning echoes traffic received by the software switch to the span destination port. Valid values: `disable`, `enable`.\n"
        },
        "spanDestPort": {
          "type": "string",
          "description": "SPAN destination port name. All traffic on the SPAN source ports is echoed to the SPAN destination port.\n"
        },
        "spanDirection": {
          "type": "string",
          "description": "The direction in which the SPAN port operates, either: rx, tx, or both. Valid values: `rx`, `tx`, `both`.\n"
        },
        "spanSourcePorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSwitchinterfaceSpanSourcePort:SwitchinterfaceSpanSourcePort"
          },
          "description": "Physical interface name. Port spanning echoes all traffic on the SPAN source ports to the SPAN destination port. The structure of `span_source_port` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of switch based on functionality: switch for normal functionality, or hub to duplicate packets to all port members. Valid values: `switch`, `hub`.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOM that the software switch belongs to.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Switchinterface 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"
          },
          "intraSwitchPolicy": {
            "type": "string",
            "description": "Allow any traffic between switch interfaces or require firewall policies to allow traffic between switch interfaces. Valid values: `implicit`, `explicit`.\n"
          },
          "macTtl": {
            "type": "integer",
            "description": "Duration for which MAC addresses are held in the ARP table (300 - 8640000 sec, default = 300).\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSwitchinterfaceMember:SwitchinterfaceMember"
            },
            "description": "Names of the interfaces that belong to the virtual switch. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Interface name (name cannot be in use by any other interfaces, VLANs, or inter-VDOM links).\n",
            "willReplaceOnChanges": true
          },
          "span": {
            "type": "string",
            "description": "Enable/disable port spanning. Port spanning echoes traffic received by the software switch to the span destination port. Valid values: `disable`, `enable`.\n"
          },
          "spanDestPort": {
            "type": "string",
            "description": "SPAN destination port name. All traffic on the SPAN source ports is echoed to the SPAN destination port.\n"
          },
          "spanDirection": {
            "type": "string",
            "description": "The direction in which the SPAN port operates, either: rx, tx, or both. Valid values: `rx`, `tx`, `both`.\n"
          },
          "spanSourcePorts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FSwitchinterfaceSpanSourcePort:SwitchinterfaceSpanSourcePort"
            },
            "description": "Physical interface name. Port spanning echoes all traffic on the SPAN source ports to the SPAN destination port. The structure of `span_source_port` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of switch based on functionality: switch for normal functionality, or hub to duplicate packets to all port members. Valid values: `switch`, `hub`.\n"
          },
          "vdom": {
            "type": "string",
            "description": "VDOM that the software switch belongs to.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/tosbasedpriority:Tosbasedpriority": {
      "description": "Configure Type of Service (ToS) based priority table to set network traffic priorities.\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.system.Tosbasedpriority(\"trname\", {\n    fosid: 1,\n    priority: \"low\",\n    tos: 11,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Tosbasedpriority(\"trname\",\n    fosid=1,\n    priority=\"low\",\n    tos=11)\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.System.Tosbasedpriority(\"trname\", new()\n    {\n        Fosid = 1,\n        Priority = \"low\",\n        Tos = 11,\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.NewTosbasedpriority(ctx, \"trname\", &system.TosbasedpriorityArgs{\n\t\t\tFosid:    pulumi.Int(1),\n\t\t\tPriority: pulumi.String(\"low\"),\n\t\t\tTos:      pulumi.Int(11),\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.Tosbasedpriority;\nimport com.pulumi.fortios.system.TosbasedpriorityArgs;\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 Tosbasedpriority(\"trname\", TosbasedpriorityArgs.builder()\n            .fosid(1)\n            .priority(\"low\")\n            .tos(11)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Tosbasedpriority\n    properties:\n      fosid: 1\n      priority: low\n      tos: 11\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem TosBasedPriority can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/tosbasedpriority:Tosbasedpriority 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:system/tosbasedpriority:Tosbasedpriority labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Item ID.\n"
        },
        "priority": {
          "type": "string",
          "description": "ToS based priority level to low, medium or high (these priorities match firewall traffic shaping priorities) (default = medium). Valid values: `low`, `medium`, `high`.\n"
        },
        "tos": {
          "type": "integer",
          "description": "Value of the ToS byte in the IP datagram header (0-15, 8: minimize delay, 4: maximize throughput, 2: maximize reliability, 1: minimize monetary cost, and 0: default 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": [
        "fosid",
        "priority",
        "tos",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Item ID.\n",
          "willReplaceOnChanges": true
        },
        "priority": {
          "type": "string",
          "description": "ToS based priority level to low, medium or high (these priorities match firewall traffic shaping priorities) (default = medium). Valid values: `low`, `medium`, `high`.\n"
        },
        "tos": {
          "type": "integer",
          "description": "Value of the ToS byte in the IP datagram header (0-15, 8: minimize delay, 4: maximize throughput, 2: maximize reliability, 1: minimize monetary cost, and 0: default 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 Tosbasedpriority resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Item ID.\n",
            "willReplaceOnChanges": true
          },
          "priority": {
            "type": "string",
            "description": "ToS based priority level to low, medium or high (these priorities match firewall traffic shaping priorities) (default = medium). Valid values: `low`, `medium`, `high`.\n"
          },
          "tos": {
            "type": "integer",
            "description": "Value of the ToS byte in the IP datagram header (0-15, 8: minimize delay, 4: maximize throughput, 2: maximize reliability, 1: minimize monetary cost, and 0: default 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:system/vdom:Vdom": {
      "description": "Configure virtual domain.\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.system.Vdom(\"trname\", {\n    shortName: \"testvdom\",\n    temporary: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Vdom(\"trname\",\n    short_name=\"testvdom\",\n    temporary=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.System.Vdom(\"trname\", new()\n    {\n        ShortName = \"testvdom\",\n        Temporary = 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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewVdom(ctx, \"trname\", &system.VdomArgs{\n\t\t\tShortName: pulumi.String(\"testvdom\"),\n\t\t\tTemporary: 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.system.Vdom;\nimport com.pulumi.fortios.system.VdomArgs;\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 Vdom(\"trname\", VdomArgs.builder()\n            .shortName(\"testvdom\")\n            .temporary(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Vdom\n    properties:\n      shortName: testvdom\n      temporary: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Vdom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdom:Vdom 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:system/vdom:Vdom labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "flag": {
          "type": "integer",
          "description": "Flag.\n"
        },
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        },
        "shortName": {
          "type": "string",
          "description": "VDOM short name.\n"
        },
        "temporary": {
          "type": "integer",
          "description": "Temporary.\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Virtual cluster ID (0 - 4294967295).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "name",
        "shortName",
        "temporary",
        "vclusterId",
        "vdomparam"
      ],
      "inputProperties": {
        "flag": {
          "type": "integer",
          "description": "Flag.\n"
        },
        "name": {
          "type": "string",
          "description": "VDOM name.\n",
          "willReplaceOnChanges": true
        },
        "shortName": {
          "type": "string",
          "description": "VDOM short name.\n"
        },
        "temporary": {
          "type": "integer",
          "description": "Temporary.\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Virtual cluster ID (0 - 4294967295).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Vdom resources.\n",
        "properties": {
          "flag": {
            "type": "integer",
            "description": "Flag.\n"
          },
          "name": {
            "type": "string",
            "description": "VDOM name.\n",
            "willReplaceOnChanges": true
          },
          "shortName": {
            "type": "string",
            "description": "VDOM short name.\n"
          },
          "temporary": {
            "type": "integer",
            "description": "Temporary.\n"
          },
          "vclusterId": {
            "type": "integer",
            "description": "Virtual cluster ID (0 - 4294967295).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/vdomSetting:VdomSetting": {
      "description": "Provides a resource to configure VDOM of FortiOS. The API user of the token for this feature should have a super admin profile, It can be set in CLI while GUI does not allow.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.system.Vdom`, 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 test2 = new fortios.system.VdomSetting(\"test2\", {\n    shortName: \"aa1122\",\n    temporary: \"0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest2 = fortios.system.VdomSetting(\"test2\",\n    short_name=\"aa1122\",\n    temporary=\"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 test2 = new Fortios.System.VdomSetting(\"test2\", new()\n    {\n        ShortName = \"aa1122\",\n        Temporary = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewVdomSetting(ctx, \"test2\", &system.VdomSettingArgs{\n\t\t\tShortName: pulumi.String(\"aa1122\"),\n\t\t\tTemporary: pulumi.String(\"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.system.VdomSetting;\nimport com.pulumi.fortios.system.VdomSettingArgs;\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 test2 = new VdomSetting(\"test2\", VdomSettingArgs.builder()\n            .shortName(\"aa1122\")\n            .temporary(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test2:\n    type: fortios:system:VdomSetting\n    properties:\n      shortName: aa1122\n      temporary: 0\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        },
        "shortName": {
          "type": "string",
          "description": "VDOM short name.\n"
        },
        "temporary": {
          "type": "string",
          "description": "Temporary.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "shortName",
        "temporary"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        },
        "shortName": {
          "type": "string",
          "description": "VDOM short name.\n"
        },
        "temporary": {
          "type": "string",
          "description": "Temporary.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering VdomSetting resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "VDOM name.\n"
          },
          "shortName": {
            "type": "string",
            "description": "VDOM short name.\n"
          },
          "temporary": {
            "type": "string",
            "description": "Temporary.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/vdomdns:Vdomdns": {
      "description": "Configure DNS servers for a non-management VDOM.\n\n## Import\n\nSystem VdomDns can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomdns:Vdomdns labelname SystemVdomDns\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:system/vdomdns:Vdomdns labelname SystemVdomDns\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "altPrimary": {
          "type": "string",
          "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
        },
        "altSecondary": {
          "type": "string",
          "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
        },
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "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"
        },
        "ip6Primary": {
          "type": "string",
          "description": "Primary IPv6 DNS server IP address for the VDOM.\n"
        },
        "ip6Secondary": {
          "type": "string",
          "description": "Secondary IPv6 DNS server IP address for the VDOM.\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address for the VDOM.\n"
        },
        "protocol": {
          "type": "string",
          "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address for the VDOM.\n"
        },
        "serverHostnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomdnsServerHostname:VdomdnsServerHostname"
          },
          "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
        },
        "serverSelectMethod": {
          "type": "string",
          "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications with the DNS server.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "vdomDns": {
          "type": "string",
          "description": "Enable/disable configuring DNS servers for the current 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": [
        "altPrimary",
        "altSecondary",
        "dnsOverTls",
        "interface",
        "interfaceSelectMethod",
        "ip6Primary",
        "ip6Secondary",
        "primary",
        "protocol",
        "secondary",
        "serverSelectMethod",
        "sourceIp",
        "sslCertificate",
        "vdomDns",
        "vdomparam"
      ],
      "inputProperties": {
        "altPrimary": {
          "type": "string",
          "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
        },
        "altSecondary": {
          "type": "string",
          "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
        },
        "dnsOverTls": {
          "type": "string",
          "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "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"
        },
        "ip6Primary": {
          "type": "string",
          "description": "Primary IPv6 DNS server IP address for the VDOM.\n"
        },
        "ip6Secondary": {
          "type": "string",
          "description": "Secondary IPv6 DNS server IP address for the VDOM.\n"
        },
        "primary": {
          "type": "string",
          "description": "Primary DNS server IP address for the VDOM.\n"
        },
        "protocol": {
          "type": "string",
          "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS server IP address for the VDOM.\n"
        },
        "serverHostnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomdnsServerHostname:VdomdnsServerHostname"
          },
          "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
        },
        "serverSelectMethod": {
          "type": "string",
          "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications with the DNS server.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "vdomDns": {
          "type": "string",
          "description": "Enable/disable configuring DNS servers for the current 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 Vdomdns resources.\n",
        "properties": {
          "altPrimary": {
            "type": "string",
            "description": "Alternate primary DNS server. This is not used as a failover DNS server.\n"
          },
          "altSecondary": {
            "type": "string",
            "description": "Alternate secondary DNS server. This is not used as a failover DNS server.\n"
          },
          "dnsOverTls": {
            "type": "string",
            "description": "Enable/disable/enforce DNS over TLS. Valid values: `disable`, `enable`, `enforce`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "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"
          },
          "ip6Primary": {
            "type": "string",
            "description": "Primary IPv6 DNS server IP address for the VDOM.\n"
          },
          "ip6Secondary": {
            "type": "string",
            "description": "Secondary IPv6 DNS server IP address for the VDOM.\n"
          },
          "primary": {
            "type": "string",
            "description": "Primary DNS server IP address for the VDOM.\n"
          },
          "protocol": {
            "type": "string",
            "description": "DNS protocols. Valid values: `cleartext`, `dot`, `doh`.\n"
          },
          "secondary": {
            "type": "string",
            "description": "Secondary DNS server IP address for the VDOM.\n"
          },
          "serverHostnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVdomdnsServerHostname:VdomdnsServerHostname"
            },
            "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n"
          },
          "serverSelectMethod": {
            "type": "string",
            "description": "Specify how configured servers are prioritized. Valid values: `least-rtt`, `failover`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP for communications with the DNS server.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "Name of local certificate for SSL connections.\n"
          },
          "vdomDns": {
            "type": "string",
            "description": "Enable/disable configuring DNS servers for the current 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:system/vdomexception:Vdomexception": {
      "description": "Global configuration objects that can be configured independently for all VDOMs or for the defined VDOM scope.\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.system.Vdomexception(\"trname\", {\n    fosid: 1,\n    object: \"log.fortianalyzer.setting\",\n    oid: 7150,\n    scope: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Vdomexception(\"trname\",\n    fosid=1,\n    object=\"log.fortianalyzer.setting\",\n    oid=7150,\n    scope=\"all\")\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.System.Vdomexception(\"trname\", new()\n    {\n        Fosid = 1,\n        Object = \"log.fortianalyzer.setting\",\n        Oid = 7150,\n        Scope = \"all\",\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.NewVdomexception(ctx, \"trname\", &system.VdomexceptionArgs{\n\t\t\tFosid:  pulumi.Int(1),\n\t\t\tObject: pulumi.String(\"log.fortianalyzer.setting\"),\n\t\t\tOid:    pulumi.Int(7150),\n\t\t\tScope:  pulumi.String(\"all\"),\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.Vdomexception;\nimport com.pulumi.fortios.system.VdomexceptionArgs;\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 Vdomexception(\"trname\", VdomexceptionArgs.builder()\n            .fosid(1)\n            .object(\"log.fortianalyzer.setting\")\n            .oid(7150)\n            .scope(\"all\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Vdomexception\n    properties:\n      fosid: 1\n      object: log.fortianalyzer.setting\n      oid: 7150\n      scope: all\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem VdomException can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomexception:Vdomexception 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:system/vdomexception:Vdomexception 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": "Index (1 - 4096).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "object": {
          "type": "string",
          "description": "Name of the configuration object that can be configured independently for all VDOMs.\n"
        },
        "oid": {
          "type": "integer",
          "description": "Object ID.\n"
        },
        "scope": {
          "type": "string",
          "description": "Determine whether the configuration object can be configured separately for all VDOMs or if some VDOMs share the same configuration. Valid values: `all`, `inclusive`, `exclusive`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomexceptionVdom:VdomexceptionVdom"
          },
          "description": "Names of the VDOMs. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "object",
        "oid",
        "scope",
        "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": "Index (1 - 4096).\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"
        },
        "object": {
          "type": "string",
          "description": "Name of the configuration object that can be configured independently for all VDOMs.\n"
        },
        "oid": {
          "type": "integer",
          "description": "Object ID.\n"
        },
        "scope": {
          "type": "string",
          "description": "Determine whether the configuration object can be configured separately for all VDOMs or if some VDOMs share the same configuration. Valid values: `all`, `inclusive`, `exclusive`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomexceptionVdom:VdomexceptionVdom"
          },
          "description": "Names of the VDOMs. The structure of `vdom` block is documented below.\n"
        }
      },
      "requiredInputs": [
        "object"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vdomexception 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": "Index (1 - 4096).\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"
          },
          "object": {
            "type": "string",
            "description": "Name of the configuration object that can be configured independently for all VDOMs.\n"
          },
          "oid": {
            "type": "integer",
            "description": "Object ID.\n"
          },
          "scope": {
            "type": "string",
            "description": "Determine whether the configuration object can be configured separately for all VDOMs or if some VDOMs share the same configuration. Valid values: `all`, `inclusive`, `exclusive`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vdoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVdomexceptionVdom:VdomexceptionVdom"
            },
            "description": "Names of the VDOMs. The structure of `vdom` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/vdomlink:Vdomlink": {
      "description": "Configure VDOM links.\n\n## Import\n\nSystem VdomLink can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomlink:Vdomlink 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:system/vdomlink:Vdomlink labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM link name. On FortiOS versions 6.2.0-6.4.0: maximum = 8 characters. On FortiOS versions >= 6.4.1: maximum = 11 characters.\n"
        },
        "type": {
          "type": "string",
          "description": "VDOM link type: PPP or Ethernet.\n"
        },
        "vcluster": {
          "type": "string",
          "description": "Virtual cluster. Valid values: `vcluster1`, `vcluster2`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "type",
        "vcluster",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "VDOM link name. On FortiOS versions 6.2.0-6.4.0: maximum = 8 characters. On FortiOS versions >= 6.4.1: maximum = 11 characters.\n",
          "willReplaceOnChanges": true
        },
        "type": {
          "type": "string",
          "description": "VDOM link type: PPP or Ethernet.\n"
        },
        "vcluster": {
          "type": "string",
          "description": "Virtual cluster. Valid values: `vcluster1`, `vcluster2`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Vdomlink resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "VDOM link name. On FortiOS versions 6.2.0-6.4.0: maximum = 8 characters. On FortiOS versions >= 6.4.1: maximum = 11 characters.\n",
            "willReplaceOnChanges": true
          },
          "type": {
            "type": "string",
            "description": "VDOM link type: PPP or Ethernet.\n"
          },
          "vcluster": {
            "type": "string",
            "description": "Virtual cluster. Valid values: `vcluster1`, `vcluster2`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/vdomnetflow:Vdomnetflow": {
      "description": "Configure NetFlow per VDOM.\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.system.Vdomnetflow(\"trname\", {\n    collectorIp: \"0.0.0.0\",\n    collectorPort: 2055,\n    sourceIp: \"0.0.0.0\",\n    vdomNetflow: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Vdomnetflow(\"trname\",\n    collector_ip=\"0.0.0.0\",\n    collector_port=2055,\n    source_ip=\"0.0.0.0\",\n    vdom_netflow=\"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.System.Vdomnetflow(\"trname\", new()\n    {\n        CollectorIp = \"0.0.0.0\",\n        CollectorPort = 2055,\n        SourceIp = \"0.0.0.0\",\n        VdomNetflow = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewVdomnetflow(ctx, \"trname\", &system.VdomnetflowArgs{\n\t\t\tCollectorIp:   pulumi.String(\"0.0.0.0\"),\n\t\t\tCollectorPort: pulumi.Int(2055),\n\t\t\tSourceIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tVdomNetflow:   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.system.Vdomnetflow;\nimport com.pulumi.fortios.system.VdomnetflowArgs;\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 Vdomnetflow(\"trname\", VdomnetflowArgs.builder()\n            .collectorIp(\"0.0.0.0\")\n            .collectorPort(2055)\n            .sourceIp(\"0.0.0.0\")\n            .vdomNetflow(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Vdomnetflow\n    properties:\n      collectorIp: 0.0.0.0\n      collectorPort: 2055\n      sourceIp: 0.0.0.0\n      vdomNetflow: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem VdomNetflow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomnetflow:Vdomnetflow labelname SystemVdomNetflow\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:system/vdomnetflow:Vdomnetflow labelname SystemVdomNetflow\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "NetFlow collector IP address.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomnetflowCollector:VdomnetflowCollector"
          },
          "description": "Netflow collectors. The structure of `collectors` 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": "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"
        },
        "vdomNetflow": {
          "type": "string",
          "description": "Enable/disable NetFlow per 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": [
        "collectorIp",
        "collectorPort",
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "vdomNetflow",
        "vdomparam"
      ],
      "inputProperties": {
        "collectorIp": {
          "type": "string",
          "description": "NetFlow collector IP address.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomnetflowCollector:VdomnetflowCollector"
          },
          "description": "Netflow collectors. The structure of `collectors` 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": "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"
        },
        "vdomNetflow": {
          "type": "string",
          "description": "Enable/disable NetFlow per 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 Vdomnetflow resources.\n",
        "properties": {
          "collectorIp": {
            "type": "string",
            "description": "NetFlow collector IP address.\n"
          },
          "collectorPort": {
            "type": "integer",
            "description": "NetFlow collector port number.\n"
          },
          "collectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVdomnetflowCollector:VdomnetflowCollector"
            },
            "description": "Netflow collectors. The structure of `collectors` 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": "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"
          },
          "vdomNetflow": {
            "type": "string",
            "description": "Enable/disable NetFlow per 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:system/vdomproperty:Vdomproperty": {
      "description": "Configure VDOM property.\n\n## Import\n\nSystem VdomProperty can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomproperty:Vdomproperty 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:system/vdomproperty:Vdomproperty labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "customService": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall custom services.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "dialupTunnel": {
          "type": "string",
          "description": "Maximum guaranteed number of dial-up tunnels.\n"
        },
        "firewallAddress": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall addresses (IPv4, IPv6, multicast).\n"
        },
        "firewallAddrgrp": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall address groups (IPv4, IPv6).\n"
        },
        "firewallPolicy": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
        },
        "ipsecPhase1": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase 1 tunnels.\n"
        },
        "ipsecPhase1Interface": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase1 interface tunnels.\n"
        },
        "ipsecPhase2": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase 2 tunnels.\n"
        },
        "ipsecPhase2Interface": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase2 interface tunnels.\n"
        },
        "logDiskQuota": {
          "type": "string",
          "description": "Log disk quota in megabytes (MB). Range depends on how much disk space is available.\n"
        },
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        },
        "onetimeSchedule": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall one-time schedules.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Maximum guaranteed number of concurrent proxy users.\n"
        },
        "recurringSchedule": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall recurring schedules.\n"
        },
        "serviceGroup": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall service groups.\n"
        },
        "session": {
          "type": "string",
          "description": "Maximum guaranteed number of sessions.\n"
        },
        "snmpIndex": {
          "type": "integer",
          "description": "Permanent SNMP Index of the virtual domain. On FortiOS versions 6.2.0-6.2.6: 0 - 4294967295. On FortiOS versions >= 6.4.0: 1 - 2147483647.\n"
        },
        "sslvpn": {
          "type": "string",
          "description": "Maximum guaranteed number of SSL-VPNs.\n"
        },
        "user": {
          "type": "string",
          "description": "Maximum guaranteed number of local users.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "Maximum guaranteed number of user groups.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "customService",
        "description",
        "dialupTunnel",
        "firewallAddress",
        "firewallAddrgrp",
        "firewallPolicy",
        "ipsecPhase1",
        "ipsecPhase1Interface",
        "ipsecPhase2",
        "ipsecPhase2Interface",
        "logDiskQuota",
        "name",
        "onetimeSchedule",
        "proxy",
        "recurringSchedule",
        "serviceGroup",
        "session",
        "snmpIndex",
        "sslvpn",
        "user",
        "userGroup",
        "vdomparam"
      ],
      "inputProperties": {
        "customService": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall custom services.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "dialupTunnel": {
          "type": "string",
          "description": "Maximum guaranteed number of dial-up tunnels.\n"
        },
        "firewallAddress": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall addresses (IPv4, IPv6, multicast).\n"
        },
        "firewallAddrgrp": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall address groups (IPv4, IPv6).\n"
        },
        "firewallPolicy": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
        },
        "ipsecPhase1": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase 1 tunnels.\n"
        },
        "ipsecPhase1Interface": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase1 interface tunnels.\n"
        },
        "ipsecPhase2": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase 2 tunnels.\n"
        },
        "ipsecPhase2Interface": {
          "type": "string",
          "description": "Maximum guaranteed number of VPN IPsec phase2 interface tunnels.\n"
        },
        "logDiskQuota": {
          "type": "string",
          "description": "Log disk quota in megabytes (MB). Range depends on how much disk space is available.\n"
        },
        "name": {
          "type": "string",
          "description": "VDOM name.\n",
          "willReplaceOnChanges": true
        },
        "onetimeSchedule": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall one-time schedules.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Maximum guaranteed number of concurrent proxy users.\n"
        },
        "recurringSchedule": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall recurring schedules.\n"
        },
        "serviceGroup": {
          "type": "string",
          "description": "Maximum guaranteed number of firewall service groups.\n"
        },
        "session": {
          "type": "string",
          "description": "Maximum guaranteed number of sessions.\n"
        },
        "snmpIndex": {
          "type": "integer",
          "description": "Permanent SNMP Index of the virtual domain. On FortiOS versions 6.2.0-6.2.6: 0 - 4294967295. On FortiOS versions >= 6.4.0: 1 - 2147483647.\n"
        },
        "sslvpn": {
          "type": "string",
          "description": "Maximum guaranteed number of SSL-VPNs.\n"
        },
        "user": {
          "type": "string",
          "description": "Maximum guaranteed number of local users.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "Maximum guaranteed number of user groups.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Vdomproperty resources.\n",
        "properties": {
          "customService": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall custom services.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "dialupTunnel": {
            "type": "string",
            "description": "Maximum guaranteed number of dial-up tunnels.\n"
          },
          "firewallAddress": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall addresses (IPv4, IPv6, multicast).\n"
          },
          "firewallAddrgrp": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall address groups (IPv4, IPv6).\n"
          },
          "firewallPolicy": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall policies (policy, DoS-policy4, DoS-policy6, multicast).\n"
          },
          "ipsecPhase1": {
            "type": "string",
            "description": "Maximum guaranteed number of VPN IPsec phase 1 tunnels.\n"
          },
          "ipsecPhase1Interface": {
            "type": "string",
            "description": "Maximum guaranteed number of VPN IPsec phase1 interface tunnels.\n"
          },
          "ipsecPhase2": {
            "type": "string",
            "description": "Maximum guaranteed number of VPN IPsec phase 2 tunnels.\n"
          },
          "ipsecPhase2Interface": {
            "type": "string",
            "description": "Maximum guaranteed number of VPN IPsec phase2 interface tunnels.\n"
          },
          "logDiskQuota": {
            "type": "string",
            "description": "Log disk quota in megabytes (MB). Range depends on how much disk space is available.\n"
          },
          "name": {
            "type": "string",
            "description": "VDOM name.\n",
            "willReplaceOnChanges": true
          },
          "onetimeSchedule": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall one-time schedules.\n"
          },
          "proxy": {
            "type": "string",
            "description": "Maximum guaranteed number of concurrent proxy users.\n"
          },
          "recurringSchedule": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall recurring schedules.\n"
          },
          "serviceGroup": {
            "type": "string",
            "description": "Maximum guaranteed number of firewall service groups.\n"
          },
          "session": {
            "type": "string",
            "description": "Maximum guaranteed number of sessions.\n"
          },
          "snmpIndex": {
            "type": "integer",
            "description": "Permanent SNMP Index of the virtual domain. On FortiOS versions 6.2.0-6.2.6: 0 - 4294967295. On FortiOS versions >= 6.4.0: 1 - 2147483647.\n"
          },
          "sslvpn": {
            "type": "string",
            "description": "Maximum guaranteed number of SSL-VPNs.\n"
          },
          "user": {
            "type": "string",
            "description": "Maximum guaranteed number of local users.\n"
          },
          "userGroup": {
            "type": "string",
            "description": "Maximum guaranteed number of user groups.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/vdomradiusserver:Vdomradiusserver": {
      "description": "Configure a RADIUS server to use as a RADIUS Single Sign On (RSSO) server for this VDOM.\n\n## Import\n\nSystem VdomRadiusServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomradiusserver:Vdomradiusserver 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:system/vdomradiusserver:Vdomradiusserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the VDOM that you are adding the RADIUS server to.\n"
        },
        "radiusServerVdom": {
          "type": "string",
          "description": "Use this option to select another VDOM containing a VDOM RSSO RADIUS server to use for the current VDOM.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the RSSO RADIUS server 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": [
        "name",
        "radiusServerVdom",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name of the VDOM that you are adding the RADIUS server to.\n",
          "willReplaceOnChanges": true
        },
        "radiusServerVdom": {
          "type": "string",
          "description": "Use this option to select another VDOM containing a VDOM RSSO RADIUS server to use for the current VDOM.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the RSSO RADIUS server 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
        }
      },
      "requiredInputs": [
        "radiusServerVdom"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vdomradiusserver resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the VDOM that you are adding the RADIUS server to.\n",
            "willReplaceOnChanges": true
          },
          "radiusServerVdom": {
            "type": "string",
            "description": "Use this option to select another VDOM containing a VDOM RSSO RADIUS server to use for the current VDOM.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the RSSO RADIUS server 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:system/vdomsflow:Vdomsflow": {
      "description": "Configure sFlow per VDOM to add or change the IP address and UDP port that FortiGate sFlow agents in this VDOM use to send sFlow datagrams to an sFlow collector.\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.system.Vdomsflow(\"trname\", {\n    collectorIp: \"0.0.0.0\",\n    collectorPort: 6343,\n    sourceIp: \"0.0.0.0\",\n    vdomSflow: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Vdomsflow(\"trname\",\n    collector_ip=\"0.0.0.0\",\n    collector_port=6343,\n    source_ip=\"0.0.0.0\",\n    vdom_sflow=\"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.System.Vdomsflow(\"trname\", new()\n    {\n        CollectorIp = \"0.0.0.0\",\n        CollectorPort = 6343,\n        SourceIp = \"0.0.0.0\",\n        VdomSflow = \"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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewVdomsflow(ctx, \"trname\", &system.VdomsflowArgs{\n\t\t\tCollectorIp:   pulumi.String(\"0.0.0.0\"),\n\t\t\tCollectorPort: pulumi.Int(6343),\n\t\t\tSourceIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tVdomSflow:     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.system.Vdomsflow;\nimport com.pulumi.fortios.system.VdomsflowArgs;\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 Vdomsflow(\"trname\", VdomsflowArgs.builder()\n            .collectorIp(\"0.0.0.0\")\n            .collectorPort(6343)\n            .sourceIp(\"0.0.0.0\")\n            .vdomSflow(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Vdomsflow\n    properties:\n      collectorIp: 0.0.0.0\n      collectorPort: 6343\n      sourceIp: 0.0.0.0\n      vdomSflow: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem VdomSflow can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vdomsflow:Vdomsflow labelname SystemVdomSflow\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:system/vdomsflow:Vdomsflow labelname SystemVdomSflow\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomsflowCollector:VdomsflowCollector"
          },
          "description": "sFlow collectors. The structure of `collectors` 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": "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"
        },
        "vdomSflow": {
          "type": "string",
          "description": "Enable/disable the sFlow configuration for the current 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": [
        "collectorIp",
        "collectorPort",
        "interface",
        "interfaceSelectMethod",
        "sourceIp",
        "vdomSflow",
        "vdomparam"
      ],
      "inputProperties": {
        "collectorIp": {
          "type": "string",
          "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
        },
        "collectors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVdomsflowCollector:VdomsflowCollector"
          },
          "description": "sFlow collectors. The structure of `collectors` 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": "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"
        },
        "vdomSflow": {
          "type": "string",
          "description": "Enable/disable the sFlow configuration for the current 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 Vdomsflow resources.\n",
        "properties": {
          "collectorIp": {
            "type": "string",
            "description": "IP address of the sFlow collector that sFlow agents added to interfaces in this VDOM send sFlow datagrams to (default = 0.0.0.0).\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"
          },
          "collectors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVdomsflowCollector:VdomsflowCollector"
            },
            "description": "sFlow collectors. The structure of `collectors` 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": "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"
          },
          "vdomSflow": {
            "type": "string",
            "description": "Enable/disable the sFlow configuration for the current 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:system/virtualswitch:Virtualswitch": {
      "description": "Configure virtual hardware switch interfaces. Applies to FortiOS Version `7.0.4`.\n\n## Import\n\nSystem VirtualSwitch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/virtualswitch:Virtualswitch 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:system/virtualswitch:Virtualswitch 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": "Name of the virtual switch.\n"
        },
        "physicalSwitch": {
          "type": "string",
          "description": "Physical switch parent.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualswitchPort:VirtualswitchPort"
          },
          "description": "Configure member ports. The structure of `port` block is documented below.\n"
        },
        "span": {
          "type": "string",
          "description": "Enable/disable SPAN. Valid values: `disable`, `enable`.\n"
        },
        "spanDestPort": {
          "type": "string",
          "description": "SPAN destination port.\n"
        },
        "spanDirection": {
          "type": "string",
          "description": "SPAN direction. Valid values: `rx`, `tx`, `both`.\n"
        },
        "spanSourcePort": {
          "type": "string",
          "description": "SPAN source port.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": "integer",
          "description": "VLAN.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "physicalSwitch",
        "span",
        "spanDestPort",
        "spanDirection",
        "spanSourcePort",
        "vdomparam",
        "vlan"
      ],
      "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": "Name of the virtual switch.\n",
          "willReplaceOnChanges": true
        },
        "physicalSwitch": {
          "type": "string",
          "description": "Physical switch parent.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualswitchPort:VirtualswitchPort"
          },
          "description": "Configure member ports. The structure of `port` block is documented below.\n"
        },
        "span": {
          "type": "string",
          "description": "Enable/disable SPAN. Valid values: `disable`, `enable`.\n"
        },
        "spanDestPort": {
          "type": "string",
          "description": "SPAN destination port.\n"
        },
        "spanDirection": {
          "type": "string",
          "description": "SPAN direction. Valid values: `rx`, `tx`, `both`.\n"
        },
        "spanSourcePort": {
          "type": "string",
          "description": "SPAN source port.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "integer",
          "description": "VLAN.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Virtualswitch 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": "Name of the virtual switch.\n",
            "willReplaceOnChanges": true
          },
          "physicalSwitch": {
            "type": "string",
            "description": "Physical switch parent.\n"
          },
          "ports": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualswitchPort:VirtualswitchPort"
            },
            "description": "Configure member ports. The structure of `port` block is documented below.\n"
          },
          "span": {
            "type": "string",
            "description": "Enable/disable SPAN. Valid values: `disable`, `enable`.\n"
          },
          "spanDestPort": {
            "type": "string",
            "description": "SPAN destination port.\n"
          },
          "spanDirection": {
            "type": "string",
            "description": "SPAN direction. Valid values: `rx`, `tx`, `both`.\n"
          },
          "spanSourcePort": {
            "type": "string",
            "description": "SPAN source port.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": "integer",
            "description": "VLAN.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/virtualwanlink:Virtualwanlink": {
      "description": "Configure redundant internet connections using SD-WAN (formerly virtual WAN link). 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.system.Virtualwanlink(\"trname\", {\n    failDetect: \"disable\",\n    loadBalanceMode: \"source-ip-based\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Virtualwanlink(\"trname\",\n    fail_detect=\"disable\",\n    load_balance_mode=\"source-ip-based\",\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.System.Virtualwanlink(\"trname\", new()\n    {\n        FailDetect = \"disable\",\n        LoadBalanceMode = \"source-ip-based\",\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/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewVirtualwanlink(ctx, \"trname\", &system.VirtualwanlinkArgs{\n\t\t\tFailDetect:      pulumi.String(\"disable\"),\n\t\t\tLoadBalanceMode: pulumi.String(\"source-ip-based\"),\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.system.Virtualwanlink;\nimport com.pulumi.fortios.system.VirtualwanlinkArgs;\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 Virtualwanlink(\"trname\", VirtualwanlinkArgs.builder()\n            .failDetect(\"disable\")\n            .loadBalanceMode(\"source-ip-based\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Virtualwanlink\n    properties:\n      failDetect: disable\n      loadBalanceMode: source-ip-based\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem VirtualWanLink can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/virtualwanlink:Virtualwanlink labelname SystemVirtualWanLink\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:system/virtualwanlink:Virtualwanlink labelname SystemVirtualWanLink\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"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkFailAlertInterface:VirtualwanlinkFailAlertInterface"
          },
          "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
        },
        "healthChecks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkHealthCheck:VirtualwanlinkHealthCheck"
          },
          "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
        },
        "loadBalanceMode": {
          "type": "string",
          "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkMember:VirtualwanlinkMember"
          },
          "description": "Physical FortiGate interfaces added to the virtual-wan-link. The structure of `members` block is documented below.\n"
        },
        "neighborHoldBootTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
        },
        "neighborHoldDown": {
          "type": "string",
          "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
        },
        "neighborHoldDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkNeighbor:VirtualwanlinkNeighbor"
          },
          "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkService:VirtualwanlinkService"
          },
          "description": "Create SD-WAN rules or priority rules (also called services) to control how sessions are distributed to physical interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN. 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"
        },
        "zones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkZone:VirtualwanlinkZone"
          },
          "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "failDetect",
        "loadBalanceMode",
        "neighborHoldBootTime",
        "neighborHoldDown",
        "neighborHoldDownTime",
        "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"
        },
        "failAlertInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkFailAlertInterface:VirtualwanlinkFailAlertInterface"
          },
          "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
        },
        "failDetect": {
          "type": "string",
          "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
        },
        "healthChecks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkHealthCheck:VirtualwanlinkHealthCheck"
          },
          "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
        },
        "loadBalanceMode": {
          "type": "string",
          "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkMember:VirtualwanlinkMember"
          },
          "description": "Physical FortiGate interfaces added to the virtual-wan-link. The structure of `members` block is documented below.\n"
        },
        "neighborHoldBootTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
        },
        "neighborHoldDown": {
          "type": "string",
          "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
        },
        "neighborHoldDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkNeighbor:VirtualwanlinkNeighbor"
          },
          "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkService:VirtualwanlinkService"
          },
          "description": "Create SD-WAN rules or priority rules (also called services) to control how sessions are distributed to physical interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN. 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
        },
        "zones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkZone:VirtualwanlinkZone"
          },
          "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Virtualwanlink 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"
          },
          "failAlertInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkFailAlertInterface:VirtualwanlinkFailAlertInterface"
            },
            "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n"
          },
          "failDetect": {
            "type": "string",
            "description": "Enable/disable SD-WAN Internet connection status checking (failure detection). 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"
          },
          "healthChecks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkHealthCheck:VirtualwanlinkHealthCheck"
            },
            "description": "SD-WAN status checking or health checking. Identify a server on the Internet and determine how SD-WAN verifies that the FortiGate can communicate with it. The structure of `health_check` block is documented below.\n"
          },
          "loadBalanceMode": {
            "type": "string",
            "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Valid values: `source-ip-based`, `weight-based`, `usage-based`, `source-dest-ip-based`, `measured-volume-based`.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkMember:VirtualwanlinkMember"
            },
            "description": "Physical FortiGate interfaces added to the virtual-wan-link. The structure of `members` block is documented below.\n"
          },
          "neighborHoldBootTime": {
            "type": "integer",
            "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n"
          },
          "neighborHoldDown": {
            "type": "string",
            "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor. Valid values: `enable`, `disable`.\n"
          },
          "neighborHoldDownTime": {
            "type": "integer",
            "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n"
          },
          "neighbors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkNeighbor:VirtualwanlinkNeighbor"
            },
            "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkService:VirtualwanlinkService"
            },
            "description": "Create SD-WAN rules or priority rules (also called services) to control how sessions are distributed to physical interfaces in the SD-WAN. The structure of `service` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable SD-WAN. 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
          },
          "zones": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwanlinkZone:VirtualwanlinkZone"
            },
            "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/virtualwirepair:Virtualwirepair": {
      "description": "Configure virtual wire pairs.\n\n## Import\n\nSystem VirtualWirePair can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/virtualwirepair:Virtualwirepair 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:system/virtualwirepair:Virtualwirepair 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"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwirepairMember:VirtualwirepairMember"
          },
          "description": "Interfaces belong to the virtual-wire-pair. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual-wire-pair name. Must be a unique interface 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"
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "wildcardVlan": {
          "type": "string",
          "description": "Enable/disable wildcard VLAN. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "members",
        "name",
        "vdomparam",
        "vlanFilter",
        "wildcardVlan"
      ],
      "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"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwirepairMember:VirtualwirepairMember"
          },
          "description": "Interfaces belong to the virtual-wire-pair. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual-wire-pair name. Must be a unique interface 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
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "wildcardVlan": {
          "type": "string",
          "description": "Enable/disable wildcard VLAN. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Virtualwirepair 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"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVirtualwirepairMember:VirtualwirepairMember"
            },
            "description": "Interfaces belong to the virtual-wire-pair. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual-wire-pair name. Must be a unique interface 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
          },
          "vlanFilter": {
            "type": "string",
            "description": "Set VLAN filters.\n"
          },
          "wildcardVlan": {
            "type": "string",
            "description": "Enable/disable wildcard VLAN. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/vnetunnel:Vnetunnel": {
      "description": "Configure virtual network enabler tunnel. Applies to FortiOS Version `>= 6.4.1`.\n\n## Import\n\nSystem VneTunnel can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vnetunnel:Vnetunnel labelname SystemVneTunnel\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:system/vnetunnel:Vnetunnel labelname SystemVneTunnel\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "bmrHostname": {
          "type": "string",
          "description": "BMR hostname.\n",
          "secret": true
        },
        "br": {
          "type": "string",
          "description": "Border relay IPv6 address.\n"
        },
        "httpPassword": {
          "type": "string",
          "description": "HTTP authentication password.\n"
        },
        "httpUsername": {
          "type": "string",
          "description": "HTTP authentication user name.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ipv4Address": {
          "type": "string",
          "description": "Tunnel IPv4 address and netmask.\n"
        },
        "mode": {
          "type": "string",
          "description": "VNE tunnel mode.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VNE tunnel. Valid values: `enable`, `disable`.\n"
        },
        "updateUrl": {
          "type": "string",
          "description": "URL of provisioning 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": [
        "autoAsicOffload",
        "br",
        "httpUsername",
        "interface",
        "ipv4Address",
        "mode",
        "sslCertificate",
        "status",
        "updateUrl",
        "vdomparam"
      ],
      "inputProperties": {
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "bmrHostname": {
          "type": "string",
          "description": "BMR hostname.\n",
          "secret": true
        },
        "br": {
          "type": "string",
          "description": "Border relay IPv6 address.\n"
        },
        "httpPassword": {
          "type": "string",
          "description": "HTTP authentication password.\n"
        },
        "httpUsername": {
          "type": "string",
          "description": "HTTP authentication user name.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ipv4Address": {
          "type": "string",
          "description": "Tunnel IPv4 address and netmask.\n"
        },
        "mode": {
          "type": "string",
          "description": "VNE tunnel mode.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "Name of local certificate for SSL connections.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VNE tunnel. Valid values: `enable`, `disable`.\n"
        },
        "updateUrl": {
          "type": "string",
          "description": "URL of provisioning 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 Vnetunnel resources.\n",
        "properties": {
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable tunnel ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "bmrHostname": {
            "type": "string",
            "description": "BMR hostname.\n",
            "secret": true
          },
          "br": {
            "type": "string",
            "description": "Border relay IPv6 address.\n"
          },
          "httpPassword": {
            "type": "string",
            "description": "HTTP authentication password.\n"
          },
          "httpUsername": {
            "type": "string",
            "description": "HTTP authentication user name.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "ipv4Address": {
            "type": "string",
            "description": "Tunnel IPv4 address and netmask.\n"
          },
          "mode": {
            "type": "string",
            "description": "VNE tunnel mode.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "Name of local certificate for SSL connections.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable VNE tunnel. Valid values: `enable`, `disable`.\n"
          },
          "updateUrl": {
            "type": "string",
            "description": "URL of provisioning 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:system/vxlan:Vxlan": {
      "description": "Configure VXLAN devices.\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.system.Vxlan(\"trname\", {\n    dstport: 4789,\n    \"interface\": \"port3\",\n    ipVersion: \"ipv4-unicast\",\n    remoteIps: [{\n        ip: \"1.1.1.1\",\n    }],\n    vni: 3,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Vxlan(\"trname\",\n    dstport=4789,\n    interface=\"port3\",\n    ip_version=\"ipv4-unicast\",\n    remote_ips=[fortios.system.VxlanRemoteIpArgs(\n        ip=\"1.1.1.1\",\n    )],\n    vni=3)\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.System.Vxlan(\"trname\", new()\n    {\n        Dstport = 4789,\n        Interface = \"port3\",\n        IpVersion = \"ipv4-unicast\",\n        RemoteIps = new[]\n        {\n            new Fortios.System.Inputs.VxlanRemoteIpArgs\n            {\n                Ip = \"1.1.1.1\",\n            },\n        },\n        Vni = 3,\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.NewVxlan(ctx, \"trname\", &system.VxlanArgs{\n\t\t\tDstport:   pulumi.Int(4789),\n\t\t\tInterface: pulumi.String(\"port3\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4-unicast\"),\n\t\t\tRemoteIps: system.VxlanRemoteIpArray{\n\t\t\t\t&system.VxlanRemoteIpArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVni: pulumi.Int(3),\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.Vxlan;\nimport com.pulumi.fortios.system.VxlanArgs;\nimport com.pulumi.fortios.system.inputs.VxlanRemoteIpArgs;\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 Vxlan(\"trname\", VxlanArgs.builder()\n            .dstport(4789)\n            .interface_(\"port3\")\n            .ipVersion(\"ipv4-unicast\")\n            .remoteIps(VxlanRemoteIpArgs.builder()\n                .ip(\"1.1.1.1\")\n                .build())\n            .vni(3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Vxlan\n    properties:\n      dstport: 4789\n      interface: port3\n      ipVersion: ipv4-unicast\n      remoteIps:\n        - ip: 1.1.1.1\n      vni: 3\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Vxlan can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/vxlan:Vxlan 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:system/vxlan:Vxlan labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dstport": {
          "type": "integer",
          "description": "VXLAN destination port (1 - 65535, default = 4789).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "evpnId": {
          "type": "integer",
          "description": "EVPN instance.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Outgoing interface for VXLAN encapsulated traffic.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for the VXLAN interface and so for communication over the VXLAN. IPv4 or IPv6 unicast or multicast. Valid values: `ipv4-unicast`, `ipv6-unicast`, `ipv4-multicast`, `ipv6-multicast`.\n"
        },
        "learnFromTraffic": {
          "type": "string",
          "description": "Enable/disable VXLAN MAC learning from traffic. Valid values: `enable`, `disable`.\n"
        },
        "multicastTtl": {
          "type": "integer",
          "description": "VXLAN multicast TTL (1-255, default = 0).\n"
        },
        "name": {
          "type": "string",
          "description": "VXLAN device or interface name. Must be a unique interface name.\n"
        },
        "remoteIp6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVxlanRemoteIp6:VxlanRemoteIp6"
          },
          "description": "IPv6 IP address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip6` block is documented below.\n"
        },
        "remoteIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVxlanRemoteIp:VxlanRemoteIp"
          },
          "description": "IPv4 address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip` 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"
        },
        "vni": {
          "type": "integer",
          "description": "VXLAN network ID.\n"
        }
      },
      "type": "object",
      "required": [
        "dstport",
        "evpnId",
        "interface",
        "ipVersion",
        "learnFromTraffic",
        "multicastTtl",
        "name",
        "vdomparam",
        "vni"
      ],
      "inputProperties": {
        "dstport": {
          "type": "integer",
          "description": "VXLAN destination port (1 - 65535, default = 4789).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "evpnId": {
          "type": "integer",
          "description": "EVPN instance.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Outgoing interface for VXLAN encapsulated traffic.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for the VXLAN interface and so for communication over the VXLAN. IPv4 or IPv6 unicast or multicast. Valid values: `ipv4-unicast`, `ipv6-unicast`, `ipv4-multicast`, `ipv6-multicast`.\n"
        },
        "learnFromTraffic": {
          "type": "string",
          "description": "Enable/disable VXLAN MAC learning from traffic. Valid values: `enable`, `disable`.\n"
        },
        "multicastTtl": {
          "type": "integer",
          "description": "VXLAN multicast TTL (1-255, default = 0).\n"
        },
        "name": {
          "type": "string",
          "description": "VXLAN device or interface name. Must be a unique interface name.\n",
          "willReplaceOnChanges": true
        },
        "remoteIp6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVxlanRemoteIp6:VxlanRemoteIp6"
          },
          "description": "IPv6 IP address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip6` block is documented below.\n"
        },
        "remoteIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVxlanRemoteIp:VxlanRemoteIp"
          },
          "description": "IPv4 address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip` 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
        },
        "vni": {
          "type": "integer",
          "description": "VXLAN network ID.\n"
        }
      },
      "requiredInputs": [
        "interface",
        "ipVersion",
        "vni"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vxlan resources.\n",
        "properties": {
          "dstport": {
            "type": "integer",
            "description": "VXLAN destination port (1 - 65535, default = 4789).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "evpnId": {
            "type": "integer",
            "description": "EVPN instance.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Outgoing interface for VXLAN encapsulated traffic.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version to use for the VXLAN interface and so for communication over the VXLAN. IPv4 or IPv6 unicast or multicast. Valid values: `ipv4-unicast`, `ipv6-unicast`, `ipv4-multicast`, `ipv6-multicast`.\n"
          },
          "learnFromTraffic": {
            "type": "string",
            "description": "Enable/disable VXLAN MAC learning from traffic. Valid values: `enable`, `disable`.\n"
          },
          "multicastTtl": {
            "type": "integer",
            "description": "VXLAN multicast TTL (1-255, default = 0).\n"
          },
          "name": {
            "type": "string",
            "description": "VXLAN device or interface name. Must be a unique interface name.\n",
            "willReplaceOnChanges": true
          },
          "remoteIp6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVxlanRemoteIp6:VxlanRemoteIp6"
            },
            "description": "IPv6 IP address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip6` block is documented below.\n"
          },
          "remoteIps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FVxlanRemoteIp:VxlanRemoteIp"
            },
            "description": "IPv4 address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip` 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
          },
          "vni": {
            "type": "integer",
            "description": "VXLAN network ID.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:system/wccp:Wccp": {
      "description": "Configure WCCP.\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.system.Wccp(\"trname\", {\n    assignmentBucketFormat: \"cisco-implementation\",\n    assignmentDstaddrMask: \"0.0.0.0\",\n    assignmentMethod: \"HASH\",\n    assignmentSrcaddrMask: \"0.0.23.65\",\n    assignmentWeight: 0,\n    authentication: \"disable\",\n    cacheEngineMethod: \"GRE\",\n    cacheId: \"1.1.1.1\",\n    forwardMethod: \"GRE\",\n    groupAddress: \"0.0.0.0\",\n    primaryHash: \"dst-ip\",\n    priority: 0,\n    protocol: 0,\n    returnMethod: \"GRE\",\n    routerId: \"1.1.1.1\",\n    routerList: \"\\\"1.0.0.0\\\" \",\n    serverType: \"forward\",\n    serviceId: \"1\",\n    serviceType: \"auto\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Wccp(\"trname\",\n    assignment_bucket_format=\"cisco-implementation\",\n    assignment_dstaddr_mask=\"0.0.0.0\",\n    assignment_method=\"HASH\",\n    assignment_srcaddr_mask=\"0.0.23.65\",\n    assignment_weight=0,\n    authentication=\"disable\",\n    cache_engine_method=\"GRE\",\n    cache_id=\"1.1.1.1\",\n    forward_method=\"GRE\",\n    group_address=\"0.0.0.0\",\n    primary_hash=\"dst-ip\",\n    priority=0,\n    protocol=0,\n    return_method=\"GRE\",\n    router_id=\"1.1.1.1\",\n    router_list=\"\\\"1.0.0.0\\\" \",\n    server_type=\"forward\",\n    service_id=\"1\",\n    service_type=\"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 trname = new Fortios.System.Wccp(\"trname\", new()\n    {\n        AssignmentBucketFormat = \"cisco-implementation\",\n        AssignmentDstaddrMask = \"0.0.0.0\",\n        AssignmentMethod = \"HASH\",\n        AssignmentSrcaddrMask = \"0.0.23.65\",\n        AssignmentWeight = 0,\n        Authentication = \"disable\",\n        CacheEngineMethod = \"GRE\",\n        CacheId = \"1.1.1.1\",\n        ForwardMethod = \"GRE\",\n        GroupAddress = \"0.0.0.0\",\n        PrimaryHash = \"dst-ip\",\n        Priority = 0,\n        Protocol = 0,\n        ReturnMethod = \"GRE\",\n        RouterId = \"1.1.1.1\",\n        RouterList = \"\\\"1.0.0.0\\\" \",\n        ServerType = \"forward\",\n        ServiceId = \"1\",\n        ServiceType = \"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.NewWccp(ctx, \"trname\", &system.WccpArgs{\n\t\t\tAssignmentBucketFormat: pulumi.String(\"cisco-implementation\"),\n\t\t\tAssignmentDstaddrMask:  pulumi.String(\"0.0.0.0\"),\n\t\t\tAssignmentMethod:       pulumi.String(\"HASH\"),\n\t\t\tAssignmentSrcaddrMask:  pulumi.String(\"0.0.23.65\"),\n\t\t\tAssignmentWeight:       pulumi.Int(0),\n\t\t\tAuthentication:         pulumi.String(\"disable\"),\n\t\t\tCacheEngineMethod:      pulumi.String(\"GRE\"),\n\t\t\tCacheId:                pulumi.String(\"1.1.1.1\"),\n\t\t\tForwardMethod:          pulumi.String(\"GRE\"),\n\t\t\tGroupAddress:           pulumi.String(\"0.0.0.0\"),\n\t\t\tPrimaryHash:            pulumi.String(\"dst-ip\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProtocol:               pulumi.Int(0),\n\t\t\tReturnMethod:           pulumi.String(\"GRE\"),\n\t\t\tRouterId:               pulumi.String(\"1.1.1.1\"),\n\t\t\tRouterList:             pulumi.String(\"\\\"1.0.0.0\\\" \"),\n\t\t\tServerType:             pulumi.String(\"forward\"),\n\t\t\tServiceId:              pulumi.String(\"1\"),\n\t\t\tServiceType:            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.Wccp;\nimport com.pulumi.fortios.system.WccpArgs;\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 Wccp(\"trname\", WccpArgs.builder()\n            .assignmentBucketFormat(\"cisco-implementation\")\n            .assignmentDstaddrMask(\"0.0.0.0\")\n            .assignmentMethod(\"HASH\")\n            .assignmentSrcaddrMask(\"0.0.23.65\")\n            .assignmentWeight(0)\n            .authentication(\"disable\")\n            .cacheEngineMethod(\"GRE\")\n            .cacheId(\"1.1.1.1\")\n            .forwardMethod(\"GRE\")\n            .groupAddress(\"0.0.0.0\")\n            .primaryHash(\"dst-ip\")\n            .priority(0)\n            .protocol(0)\n            .returnMethod(\"GRE\")\n            .routerId(\"1.1.1.1\")\n            .routerList(\"\\\"1.0.0.0\\\" \")\n            .serverType(\"forward\")\n            .serviceId(\"1\")\n            .serviceType(\"auto\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Wccp\n    properties:\n      assignmentBucketFormat: cisco-implementation\n      assignmentDstaddrMask: 0.0.0.0\n      assignmentMethod: HASH\n      assignmentSrcaddrMask: 0.0.23.65\n      assignmentWeight: 0\n      authentication: disable\n      cacheEngineMethod: GRE\n      cacheId: 1.1.1.1\n      forwardMethod: GRE\n      groupAddress: 0.0.0.0\n      primaryHash: dst-ip\n      priority: 0\n      protocol: 0\n      returnMethod: GRE\n      routerId: 1.1.1.1\n      routerList: '\"1.0.0.0\" '\n      serverType: forward\n      serviceId: '1'\n      serviceType: auto\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Wccp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/wccp:Wccp labelname {{service_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:system/wccp:Wccp labelname {{service_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "assignmentBucketFormat": {
          "type": "string",
          "description": "Assignment bucket format for the WCCP cache engine. Valid values: `wccp-v2`, `cisco-implementation`.\n"
        },
        "assignmentDstaddrMask": {
          "type": "string",
          "description": "Assignment destination address mask.\n"
        },
        "assignmentMethod": {
          "type": "string",
          "description": "Hash key assignment preference. Valid values: `HASH`, `MASK`, `any`.\n"
        },
        "assignmentSrcaddrMask": {
          "type": "string",
          "description": "Assignment source address mask.\n"
        },
        "assignmentWeight": {
          "type": "integer",
          "description": "Assignment of hash weight/ratio for the WCCP cache engine.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable MD5 authentication. Valid values: `enable`, `disable`.\n"
        },
        "cacheEngineMethod": {
          "type": "string",
          "description": "Method used to forward traffic to the routers or to return to the cache engine. Valid values: `GRE`, `L2`.\n"
        },
        "cacheId": {
          "type": "string",
          "description": "IP address known to all routers. If the addresses are the same, use the default 0.0.0.0.\n"
        },
        "forwardMethod": {
          "type": "string",
          "description": "Method used to forward traffic to the cache servers. Valid values: `GRE`, `L2`, `any`.\n"
        },
        "groupAddress": {
          "type": "string",
          "description": "IP multicast address used by the cache routers. For the FortiGate to ignore multicast WCCP traffic, use the default 0.0.0.0.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for MD5 authentication.\n",
          "secret": true
        },
        "ports": {
          "type": "string",
          "description": "Service ports.\n"
        },
        "portsDefined": {
          "type": "string",
          "description": "Match method. Valid values: `source`, `destination`.\n"
        },
        "primaryHash": {
          "type": "string",
          "description": "Hash method. Valid values: `src-ip`, `dst-ip`, `src-port`, `dst-port`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Service priority.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Service protocol.\n"
        },
        "returnMethod": {
          "type": "string",
          "description": "Method used to decline a redirected packet and return it to the FortiGate. Valid values: `GRE`, `L2`, `any`.\n"
        },
        "routerId": {
          "type": "string",
          "description": "IP address known to all cache engines. If all cache engines connect to the same FortiGate interface, use the default 0.0.0.0.\n"
        },
        "routerList": {
          "type": "string",
          "description": "IP addresses of one or more WCCP routers.\n"
        },
        "serverList": {
          "type": "string",
          "description": "IP addresses and netmasks for up to four cache servers.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Cache server type. Valid values: `forward`, `proxy`.\n"
        },
        "serviceId": {
          "type": "string",
          "description": "Service ID.\n"
        },
        "serviceType": {
          "type": "string",
          "description": "WCCP service type used by the cache server for logical interception and redirection of traffic. Valid values: `auto`, `standard`, `dynamic`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "assignmentBucketFormat",
        "assignmentDstaddrMask",
        "assignmentMethod",
        "assignmentSrcaddrMask",
        "assignmentWeight",
        "authentication",
        "cacheEngineMethod",
        "cacheId",
        "forwardMethod",
        "groupAddress",
        "ports",
        "portsDefined",
        "primaryHash",
        "priority",
        "protocol",
        "returnMethod",
        "routerId",
        "routerList",
        "serverList",
        "serverType",
        "serviceId",
        "serviceType",
        "vdomparam"
      ],
      "inputProperties": {
        "assignmentBucketFormat": {
          "type": "string",
          "description": "Assignment bucket format for the WCCP cache engine. Valid values: `wccp-v2`, `cisco-implementation`.\n"
        },
        "assignmentDstaddrMask": {
          "type": "string",
          "description": "Assignment destination address mask.\n"
        },
        "assignmentMethod": {
          "type": "string",
          "description": "Hash key assignment preference. Valid values: `HASH`, `MASK`, `any`.\n"
        },
        "assignmentSrcaddrMask": {
          "type": "string",
          "description": "Assignment source address mask.\n"
        },
        "assignmentWeight": {
          "type": "integer",
          "description": "Assignment of hash weight/ratio for the WCCP cache engine.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Enable/disable MD5 authentication. Valid values: `enable`, `disable`.\n"
        },
        "cacheEngineMethod": {
          "type": "string",
          "description": "Method used to forward traffic to the routers or to return to the cache engine. Valid values: `GRE`, `L2`.\n"
        },
        "cacheId": {
          "type": "string",
          "description": "IP address known to all routers. If the addresses are the same, use the default 0.0.0.0.\n"
        },
        "forwardMethod": {
          "type": "string",
          "description": "Method used to forward traffic to the cache servers. Valid values: `GRE`, `L2`, `any`.\n"
        },
        "groupAddress": {
          "type": "string",
          "description": "IP multicast address used by the cache routers. For the FortiGate to ignore multicast WCCP traffic, use the default 0.0.0.0.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for MD5 authentication.\n",
          "secret": true
        },
        "ports": {
          "type": "string",
          "description": "Service ports.\n"
        },
        "portsDefined": {
          "type": "string",
          "description": "Match method. Valid values: `source`, `destination`.\n"
        },
        "primaryHash": {
          "type": "string",
          "description": "Hash method. Valid values: `src-ip`, `dst-ip`, `src-port`, `dst-port`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Service priority.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Service protocol.\n"
        },
        "returnMethod": {
          "type": "string",
          "description": "Method used to decline a redirected packet and return it to the FortiGate. Valid values: `GRE`, `L2`, `any`.\n"
        },
        "routerId": {
          "type": "string",
          "description": "IP address known to all cache engines. If all cache engines connect to the same FortiGate interface, use the default 0.0.0.0.\n"
        },
        "routerList": {
          "type": "string",
          "description": "IP addresses of one or more WCCP routers.\n"
        },
        "serverList": {
          "type": "string",
          "description": "IP addresses and netmasks for up to four cache servers.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Cache server type. Valid values: `forward`, `proxy`.\n"
        },
        "serviceId": {
          "type": "string",
          "description": "Service ID.\n",
          "willReplaceOnChanges": true
        },
        "serviceType": {
          "type": "string",
          "description": "WCCP service type used by the cache server for logical interception and redirection of traffic. Valid values: `auto`, `standard`, `dynamic`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Wccp resources.\n",
        "properties": {
          "assignmentBucketFormat": {
            "type": "string",
            "description": "Assignment bucket format for the WCCP cache engine. Valid values: `wccp-v2`, `cisco-implementation`.\n"
          },
          "assignmentDstaddrMask": {
            "type": "string",
            "description": "Assignment destination address mask.\n"
          },
          "assignmentMethod": {
            "type": "string",
            "description": "Hash key assignment preference. Valid values: `HASH`, `MASK`, `any`.\n"
          },
          "assignmentSrcaddrMask": {
            "type": "string",
            "description": "Assignment source address mask.\n"
          },
          "assignmentWeight": {
            "type": "integer",
            "description": "Assignment of hash weight/ratio for the WCCP cache engine.\n"
          },
          "authentication": {
            "type": "string",
            "description": "Enable/disable MD5 authentication. Valid values: `enable`, `disable`.\n"
          },
          "cacheEngineMethod": {
            "type": "string",
            "description": "Method used to forward traffic to the routers or to return to the cache engine. Valid values: `GRE`, `L2`.\n"
          },
          "cacheId": {
            "type": "string",
            "description": "IP address known to all routers. If the addresses are the same, use the default 0.0.0.0.\n"
          },
          "forwardMethod": {
            "type": "string",
            "description": "Method used to forward traffic to the cache servers. Valid values: `GRE`, `L2`, `any`.\n"
          },
          "groupAddress": {
            "type": "string",
            "description": "IP multicast address used by the cache routers. For the FortiGate to ignore multicast WCCP traffic, use the default 0.0.0.0.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for MD5 authentication.\n",
            "secret": true
          },
          "ports": {
            "type": "string",
            "description": "Service ports.\n"
          },
          "portsDefined": {
            "type": "string",
            "description": "Match method. Valid values: `source`, `destination`.\n"
          },
          "primaryHash": {
            "type": "string",
            "description": "Hash method. Valid values: `src-ip`, `dst-ip`, `src-port`, `dst-port`.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Service priority.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Service protocol.\n"
          },
          "returnMethod": {
            "type": "string",
            "description": "Method used to decline a redirected packet and return it to the FortiGate. Valid values: `GRE`, `L2`, `any`.\n"
          },
          "routerId": {
            "type": "string",
            "description": "IP address known to all cache engines. If all cache engines connect to the same FortiGate interface, use the default 0.0.0.0.\n"
          },
          "routerList": {
            "type": "string",
            "description": "IP addresses of one or more WCCP routers.\n"
          },
          "serverList": {
            "type": "string",
            "description": "IP addresses and netmasks for up to four cache servers.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Cache server type. Valid values: `forward`, `proxy`.\n"
          },
          "serviceId": {
            "type": "string",
            "description": "Service ID.\n",
            "willReplaceOnChanges": true
          },
          "serviceType": {
            "type": "string",
            "description": "WCCP service type used by the cache server for logical interception and redirection of traffic. Valid values: `auto`, `standard`, `dynamic`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:system/zone:Zone": {
      "description": "Configure zones to group two or more interfaces. When a zone is created you can configure policies for the zone instead of individual interfaces in the zone.\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.system.Zone(\"trname\", {intrazone: \"allow\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.system.Zone(\"trname\", intrazone=\"allow\")\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.System.Zone(\"trname\", new()\n    {\n        Intrazone = \"allow\",\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.NewZone(ctx, \"trname\", &system.ZoneArgs{\n\t\t\tIntrazone: pulumi.String(\"allow\"),\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.Zone;\nimport com.pulumi.fortios.system.ZoneArgs;\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 Zone(\"trname\", ZoneArgs.builder()\n            .intrazone(\"allow\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:system:Zone\n    properties:\n      intrazone: allow\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSystem Zone can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:system/zone:Zone 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:system/zone:Zone labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FZoneInterface:ZoneInterface"
          },
          "description": "Add interfaces to this zone. Interfaces must not be assigned to another zone or have firewall policies defined. The structure of `interface` block is documented below.\n"
        },
        "intrazone": {
          "type": "string",
          "description": "Allow or deny traffic routing between different interfaces in the same zone (default = deny). Valid values: `allow`, `deny`.\n"
        },
        "name": {
          "type": "string",
          "description": "Zone name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FZoneTagging:ZoneTagging"
          },
          "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"
        }
      },
      "type": "object",
      "required": [
        "description",
        "intrazone",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FZoneInterface:ZoneInterface"
          },
          "description": "Add interfaces to this zone. Interfaces must not be assigned to another zone or have firewall policies defined. The structure of `interface` block is documented below.\n"
        },
        "intrazone": {
          "type": "string",
          "description": "Allow or deny traffic routing between different interfaces in the same zone (default = deny). Valid values: `allow`, `deny`.\n"
        },
        "name": {
          "type": "string",
          "description": "Zone name.\n",
          "willReplaceOnChanges": true
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FZoneTagging:ZoneTagging"
          },
          "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
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Zone resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "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"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FZoneInterface:ZoneInterface"
            },
            "description": "Add interfaces to this zone. Interfaces must not be assigned to another zone or have firewall policies defined. The structure of `interface` block is documented below.\n"
          },
          "intrazone": {
            "type": "string",
            "description": "Allow or deny traffic routing between different interfaces in the same zone (default = deny). Valid values: `allow`, `deny`.\n"
          },
          "name": {
            "type": "string",
            "description": "Zone name.\n",
            "willReplaceOnChanges": true
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:system%2FZoneTagging:ZoneTagging"
            },
            "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
          }
        },
        "type": "object"
      }
    },
    "fortios:user/adgrp:Adgrp": {
      "description": "Configure FSSO 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.user.Fsso(\"trname1\", {\n    port: 32381,\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.user.Adgrp(\"trname\", {serverName: trname1.name});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.user.Fsso(\"trname1\",\n    port=32381,\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.user.Adgrp(\"trname\", server_name=trname1.name)\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.User.Fsso(\"trname1\", new()\n    {\n        Port = 32381,\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.User.Adgrp(\"trname\", new()\n    {\n        ServerName = trname1.Name,\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := user.NewFsso(ctx, \"trname1\", &user.FssoArgs{\n\t\t\tPort:      pulumi.Int(32381),\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 = user.NewAdgrp(ctx, \"trname\", &user.AdgrpArgs{\n\t\t\tServerName: trname1.Name,\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.user.Adgrp;\nimport com.pulumi.fortios.user.AdgrpArgs;\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 Fsso(\"trname1\", FssoArgs.builder()\n            .port(32381)\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 Adgrp(\"trname\", AdgrpArgs.builder()\n            .serverName(trname1.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:user:Fsso\n    properties:\n      port: 32381\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:user:Adgrp\n    properties:\n      serverName: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Adgrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/adgrp:Adgrp 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:user/adgrp:Adgrp labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "connectorSource": {
          "type": "string",
          "description": "FSSO connector source.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Group ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "serverName": {
          "type": "string",
          "description": "FSSO agent 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": [
        "connectorSource",
        "fosid",
        "name",
        "serverName",
        "vdomparam"
      ],
      "inputProperties": {
        "connectorSource": {
          "type": "string",
          "description": "FSSO connector source.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Group ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "serverName": {
          "type": "string",
          "description": "FSSO agent 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 Adgrp resources.\n",
        "properties": {
          "connectorSource": {
            "type": "string",
            "description": "FSSO connector source.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Group ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "serverName": {
            "type": "string",
            "description": "FSSO agent 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:user/certificate:Certificate": {
      "description": "Configure certificate users. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nUser Certificate can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/certificate:Certificate 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:user/certificate:Certificate labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "commonName": {
          "type": "string",
          "description": "Certificate common name.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "User ID.\n"
        },
        "issuer": {
          "type": "string",
          "description": "CA certificate used for client certificate verification.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable allowing the certificate user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of certificate authentication method. Valid values: `single-certificate`, `trusted-issuer`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "commonName",
        "fosid",
        "issuer",
        "name",
        "status",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "commonName": {
          "type": "string",
          "description": "Certificate common name.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "User ID.\n"
        },
        "issuer": {
          "type": "string",
          "description": "CA certificate used for client certificate verification.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable allowing the certificate user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of certificate authentication method. Valid values: `single-certificate`, `trusted-issuer`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Certificate resources.\n",
        "properties": {
          "commonName": {
            "type": "string",
            "description": "Certificate common name.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "User ID.\n"
          },
          "issuer": {
            "type": "string",
            "description": "CA certificate used for client certificate verification.\n"
          },
          "name": {
            "type": "string",
            "description": "User name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable allowing the certificate user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of certificate authentication method. Valid values: `single-certificate`, `trusted-issuer`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/device:Device": {
      "description": "Configure devices. 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.user.Device(\"trname\", {\n    alias: \"1\",\n    category: \"amazon-device\",\n    mac: \"08:00:20:0a:8c:6d\",\n    type: \"unknown\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Device(\"trname\",\n    alias=\"1\",\n    category=\"amazon-device\",\n    mac=\"08:00:20:0a:8c:6d\",\n    type=\"unknown\")\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.User.Device(\"trname\", new()\n    {\n        Alias = \"1\",\n        Category = \"amazon-device\",\n        Mac = \"08:00:20:0a:8c:6d\",\n        Type = \"unknown\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewDevice(ctx, \"trname\", &user.DeviceArgs{\n\t\t\tAlias:    pulumi.String(\"1\"),\n\t\t\tCategory: pulumi.String(\"amazon-device\"),\n\t\t\tMac:      pulumi.String(\"08:00:20:0a:8c:6d\"),\n\t\t\tType:     pulumi.String(\"unknown\"),\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.Device;\nimport com.pulumi.fortios.user.DeviceArgs;\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 Device(\"trname\", DeviceArgs.builder()\n            .alias(\"1\")\n            .category(\"amazon-device\")\n            .mac(\"08:00:20:0a:8c:6d\")\n            .type(\"unknown\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Device\n    properties:\n      alias: '1'\n      category: amazon-device\n      mac: 08:00:20:0a:8c:6d\n      type: unknown\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Device can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/device:Device labelname {{alias}}\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:user/device:Device labelname {{alias}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "alias": {
          "type": "string",
          "description": "Device alias.\n"
        },
        "avatar": {
          "type": "string",
          "description": "Image file for avatar (maximum 4K base64 encoded).\n"
        },
        "category": {
          "type": "string",
          "description": "Device category. Valid values: `none`, `amazon-device`, `android-device`, `blackberry-device`, `fortinet-device`, `ios-device`, `windows-device`.\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"
        },
        "mac": {
          "type": "string",
          "description": "Device MAC address.\n"
        },
        "masterDevice": {
          "type": "string",
          "description": "Master device (optional).\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDeviceTagging:DeviceTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Device type. Valid values: `unknown`, `android-phone`, `android-tablet`, `blackberry-phone`, `blackberry-playbook`, `forticam`, `fortifone`, `fortinet-device`, `gaming-console`, `ip-phone`, `ipad`, `iphone`, `linux-pc`, `mac`, `media-streaming`, `printer`, `router-nat-device`, `windows-pc`, `windows-phone`, `windows-tablet`, `other-network-device`.\n"
        },
        "user": {
          "type": "string",
          "description": "User 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": [
        "alias",
        "category",
        "mac",
        "masterDevice",
        "type",
        "user",
        "vdomparam"
      ],
      "inputProperties": {
        "alias": {
          "type": "string",
          "description": "Device alias.\n",
          "willReplaceOnChanges": true
        },
        "avatar": {
          "type": "string",
          "description": "Image file for avatar (maximum 4K base64 encoded).\n"
        },
        "category": {
          "type": "string",
          "description": "Device category. Valid values: `none`, `amazon-device`, `android-device`, `blackberry-device`, `fortinet-device`, `ios-device`, `windows-device`.\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"
        },
        "mac": {
          "type": "string",
          "description": "Device MAC address.\n"
        },
        "masterDevice": {
          "type": "string",
          "description": "Master device (optional).\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDeviceTagging:DeviceTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Device type. Valid values: `unknown`, `android-phone`, `android-tablet`, `blackberry-phone`, `blackberry-playbook`, `forticam`, `fortifone`, `fortinet-device`, `gaming-console`, `ip-phone`, `ipad`, `iphone`, `linux-pc`, `mac`, `media-streaming`, `printer`, `router-nat-device`, `windows-pc`, `windows-phone`, `windows-tablet`, `other-network-device`.\n"
        },
        "user": {
          "type": "string",
          "description": "User 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 Device resources.\n",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Device alias.\n",
            "willReplaceOnChanges": true
          },
          "avatar": {
            "type": "string",
            "description": "Image file for avatar (maximum 4K base64 encoded).\n"
          },
          "category": {
            "type": "string",
            "description": "Device category. Valid values: `none`, `amazon-device`, `android-device`, `blackberry-device`, `fortinet-device`, `ios-device`, `windows-device`.\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"
          },
          "mac": {
            "type": "string",
            "description": "Device MAC address.\n"
          },
          "masterDevice": {
            "type": "string",
            "description": "Master device (optional).\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FDeviceTagging:DeviceTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Device type. Valid values: `unknown`, `android-phone`, `android-tablet`, `blackberry-phone`, `blackberry-playbook`, `forticam`, `fortifone`, `fortinet-device`, `gaming-console`, `ip-phone`, `ipad`, `iphone`, `linux-pc`, `mac`, `media-streaming`, `printer`, `router-nat-device`, `windows-pc`, `windows-phone`, `windows-tablet`, `other-network-device`.\n"
          },
          "user": {
            "type": "string",
            "description": "User 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:user/deviceaccesslist:Deviceaccesslist": {
      "description": "Configure device access control lists. 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.user.Deviceaccesslist(\"trname\", {defaultAction: \"accept\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Deviceaccesslist(\"trname\", default_action=\"accept\")\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.User.Deviceaccesslist(\"trname\", new()\n    {\n        DefaultAction = \"accept\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewDeviceaccesslist(ctx, \"trname\", &user.DeviceaccesslistArgs{\n\t\t\tDefaultAction: pulumi.String(\"accept\"),\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.Deviceaccesslist;\nimport com.pulumi.fortios.user.DeviceaccesslistArgs;\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 Deviceaccesslist(\"trname\", DeviceaccesslistArgs.builder()\n            .defaultAction(\"accept\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Deviceaccesslist\n    properties:\n      defaultAction: accept\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser DeviceAccessList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/deviceaccesslist:Deviceaccesslist 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:user/deviceaccesslist:Deviceaccesslist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "defaultAction": {
          "type": "string",
          "description": "Accept or deny unknown/unspecified devices. Valid values: `accept`, `deny`.\n"
        },
        "deviceLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDeviceaccesslistDeviceList:DeviceaccesslistDeviceList"
          },
          "description": "Device list. The structure of `device_list` 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": "Device access list 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": [
        "defaultAction",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "defaultAction": {
          "type": "string",
          "description": "Accept or deny unknown/unspecified devices. Valid values: `accept`, `deny`.\n"
        },
        "deviceLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDeviceaccesslistDeviceList:DeviceaccesslistDeviceList"
          },
          "description": "Device list. The structure of `device_list` 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": "Device access list 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 Deviceaccesslist resources.\n",
        "properties": {
          "defaultAction": {
            "type": "string",
            "description": "Accept or deny unknown/unspecified devices. Valid values: `accept`, `deny`.\n"
          },
          "deviceLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FDeviceaccesslistDeviceList:DeviceaccesslistDeviceList"
            },
            "description": "Device list. The structure of `device_list` 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": "Device access list 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:user/devicecategory:Devicecategory": {
      "description": "Configure device categories. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nUser DeviceCategory can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/devicecategory:Devicecategory 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:user/devicecategory:Devicecategory labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "desc": {
          "type": "string",
          "description": "Device category description.\n"
        },
        "name": {
          "type": "string",
          "description": "Device 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": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "desc": {
          "type": "string",
          "description": "Device category description.\n"
        },
        "name": {
          "type": "string",
          "description": "Device category 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 Devicecategory resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "desc": {
            "type": "string",
            "description": "Device category description.\n"
          },
          "name": {
            "type": "string",
            "description": "Device category 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:user/devicegroup:Devicegroup": {
      "description": "Configure device groups. 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 trnames12 = new fortios.user.Device(\"trnames12\", {\n    alias: \"user_devices2\",\n    category: \"amazon-device\",\n    mac: \"08:00:20:0a:1c:1d\",\n    type: \"unknown\",\n});\nconst trname = new fortios.user.Devicegroup(\"trname\", {members: [{\n    name: trnames12.alias,\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrnames12 = fortios.user.Device(\"trnames12\",\n    alias=\"user_devices2\",\n    category=\"amazon-device\",\n    mac=\"08:00:20:0a:1c:1d\",\n    type=\"unknown\")\ntrname = fortios.user.Devicegroup(\"trname\", members=[fortios.user.DevicegroupMemberArgs(\n    name=trnames12.alias,\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 trnames12 = new Fortios.User.Device(\"trnames12\", new()\n    {\n        Alias = \"user_devices2\",\n        Category = \"amazon-device\",\n        Mac = \"08:00:20:0a:1c:1d\",\n        Type = \"unknown\",\n    });\n\n    var trname = new Fortios.User.Devicegroup(\"trname\", new()\n    {\n        Members = new[]\n        {\n            new Fortios.User.Inputs.DevicegroupMemberArgs\n            {\n                Name = trnames12.Alias,\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrnames12, err := user.NewDevice(ctx, \"trnames12\", &user.DeviceArgs{\n\t\t\tAlias:    pulumi.String(\"user_devices2\"),\n\t\t\tCategory: pulumi.String(\"amazon-device\"),\n\t\t\tMac:      pulumi.String(\"08:00:20:0a:1c:1d\"),\n\t\t\tType:     pulumi.String(\"unknown\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = user.NewDevicegroup(ctx, \"trname\", &user.DevicegroupArgs{\n\t\t\tMembers: user.DevicegroupMemberArray{\n\t\t\t\t&user.DevicegroupMemberArgs{\n\t\t\t\t\tName: trnames12.Alias,\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.user.Device;\nimport com.pulumi.fortios.user.DeviceArgs;\nimport com.pulumi.fortios.user.Devicegroup;\nimport com.pulumi.fortios.user.DevicegroupArgs;\nimport com.pulumi.fortios.user.inputs.DevicegroupMemberArgs;\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 trnames12 = new Device(\"trnames12\", DeviceArgs.builder()\n            .alias(\"user_devices2\")\n            .category(\"amazon-device\")\n            .mac(\"08:00:20:0a:1c:1d\")\n            .type(\"unknown\")\n            .build());\n\n        var trname = new Devicegroup(\"trname\", DevicegroupArgs.builder()\n            .members(DevicegroupMemberArgs.builder()\n                .name(trnames12.alias())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trnames12:\n    type: fortios:user:Device\n    properties:\n      alias: user_devices2\n      category: amazon-device\n      mac: 08:00:20:0a:1c:1d\n      type: unknown\n  trname:\n    type: fortios:user:Devicegroup\n    properties:\n      members:\n        - name: ${trnames12.alias}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser DeviceGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/devicegroup:Devicegroup 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:user/devicegroup:Devicegroup 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:user%2FDevicegroupMember:DevicegroupMember"
          },
          "description": "Device group member. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Device group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDevicegroupTagging:DevicegroupTagging"
          },
          "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"
        }
      },
      "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:user%2FDevicegroupMember:DevicegroupMember"
          },
          "description": "Device group member. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Device group name.\n",
          "willReplaceOnChanges": true
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDevicegroupTagging:DevicegroupTagging"
          },
          "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
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Devicegroup 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:user%2FDevicegroupMember:DevicegroupMember"
            },
            "description": "Device group member. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Device group name.\n",
            "willReplaceOnChanges": true
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FDevicegroupTagging:DevicegroupTagging"
            },
            "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
          }
        },
        "type": "object"
      }
    },
    "fortios:user/domaincontroller:Domaincontroller": {
      "description": "Configure domain controller entries.\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.user.Ldap(\"trname1\", {\n    accountKeyFilter: \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    accountKeyProcessing: \"same\",\n    cnid: \"cn\",\n    dn: \"EIWNCIEW\",\n    groupMemberCheck: \"user-attr\",\n    groupObjectFilter: \"(&(objectcategory=group)(member=*))\",\n    memberAttr: \"memberOf\",\n    passwordExpiryWarning: \"disable\",\n    passwordRenewal: \"disable\",\n    port: 389,\n    secure: \"disable\",\n    server: \"1.1.1.1\",\n    serverIdentityCheck: \"disable\",\n    sourceIp: \"0.0.0.0\",\n    sslMinProtoVersion: \"default\",\n    type: \"simple\",\n});\nconst trname = new fortios.user.Domaincontroller(\"trname\", {\n    domainName: \"s.com\",\n    ipAddress: \"1.1.1.1\",\n    ldapServer: trname1.name,\n    port: 445,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.user.Ldap(\"trname1\",\n    account_key_filter=\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    account_key_processing=\"same\",\n    cnid=\"cn\",\n    dn=\"EIWNCIEW\",\n    group_member_check=\"user-attr\",\n    group_object_filter=\"(&(objectcategory=group)(member=*))\",\n    member_attr=\"memberOf\",\n    password_expiry_warning=\"disable\",\n    password_renewal=\"disable\",\n    port=389,\n    secure=\"disable\",\n    server=\"1.1.1.1\",\n    server_identity_check=\"disable\",\n    source_ip=\"0.0.0.0\",\n    ssl_min_proto_version=\"default\",\n    type=\"simple\")\ntrname = fortios.user.Domaincontroller(\"trname\",\n    domain_name=\"s.com\",\n    ip_address=\"1.1.1.1\",\n    ldap_server=trname1.name,\n    port=445)\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.User.Ldap(\"trname1\", new()\n    {\n        AccountKeyFilter = \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n        AccountKeyProcessing = \"same\",\n        Cnid = \"cn\",\n        Dn = \"EIWNCIEW\",\n        GroupMemberCheck = \"user-attr\",\n        GroupObjectFilter = \"(&(objectcategory=group)(member=*))\",\n        MemberAttr = \"memberOf\",\n        PasswordExpiryWarning = \"disable\",\n        PasswordRenewal = \"disable\",\n        Port = 389,\n        Secure = \"disable\",\n        Server = \"1.1.1.1\",\n        ServerIdentityCheck = \"disable\",\n        SourceIp = \"0.0.0.0\",\n        SslMinProtoVersion = \"default\",\n        Type = \"simple\",\n    });\n\n    var trname = new Fortios.User.Domaincontroller(\"trname\", new()\n    {\n        DomainName = \"s.com\",\n        IpAddress = \"1.1.1.1\",\n        LdapServer = trname1.Name,\n        Port = 445,\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := user.NewLdap(ctx, \"trname1\", &user.LdapArgs{\n\t\t\tAccountKeyFilter:      pulumi.String(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\"),\n\t\t\tAccountKeyProcessing:  pulumi.String(\"same\"),\n\t\t\tCnid:                  pulumi.String(\"cn\"),\n\t\t\tDn:                    pulumi.String(\"EIWNCIEW\"),\n\t\t\tGroupMemberCheck:      pulumi.String(\"user-attr\"),\n\t\t\tGroupObjectFilter:     pulumi.String(\"(&(objectcategory=group)(member=*))\"),\n\t\t\tMemberAttr:            pulumi.String(\"memberOf\"),\n\t\t\tPasswordExpiryWarning: pulumi.String(\"disable\"),\n\t\t\tPasswordRenewal:       pulumi.String(\"disable\"),\n\t\t\tPort:                  pulumi.Int(389),\n\t\t\tSecure:                pulumi.String(\"disable\"),\n\t\t\tServer:                pulumi.String(\"1.1.1.1\"),\n\t\t\tServerIdentityCheck:   pulumi.String(\"disable\"),\n\t\t\tSourceIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tSslMinProtoVersion:    pulumi.String(\"default\"),\n\t\t\tType:                  pulumi.String(\"simple\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = user.NewDomaincontroller(ctx, \"trname\", &user.DomaincontrollerArgs{\n\t\t\tDomainName: pulumi.String(\"s.com\"),\n\t\t\tIpAddress:  pulumi.String(\"1.1.1.1\"),\n\t\t\tLdapServer: trname1.Name,\n\t\t\tPort:       pulumi.Int(445),\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.Ldap;\nimport com.pulumi.fortios.user.LdapArgs;\nimport com.pulumi.fortios.user.Domaincontroller;\nimport com.pulumi.fortios.user.DomaincontrollerArgs;\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 Ldap(\"trname1\", LdapArgs.builder()\n            .accountKeyFilter(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\")\n            .accountKeyProcessing(\"same\")\n            .cnid(\"cn\")\n            .dn(\"EIWNCIEW\")\n            .groupMemberCheck(\"user-attr\")\n            .groupObjectFilter(\"(&(objectcategory=group)(member=*))\")\n            .memberAttr(\"memberOf\")\n            .passwordExpiryWarning(\"disable\")\n            .passwordRenewal(\"disable\")\n            .port(389)\n            .secure(\"disable\")\n            .server(\"1.1.1.1\")\n            .serverIdentityCheck(\"disable\")\n            .sourceIp(\"0.0.0.0\")\n            .sslMinProtoVersion(\"default\")\n            .type(\"simple\")\n            .build());\n\n        var trname = new Domaincontroller(\"trname\", DomaincontrollerArgs.builder()\n            .domainName(\"s.com\")\n            .ipAddress(\"1.1.1.1\")\n            .ldapServer(trname1.name())\n            .port(445)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:user:Ldap\n    properties:\n      accountKeyFilter: (&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\n      accountKeyProcessing: same\n      cnid: cn\n      dn: EIWNCIEW\n      groupMemberCheck: user-attr\n      groupObjectFilter: (&(objectcategory=group)(member=*))\n      memberAttr: memberOf\n      passwordExpiryWarning: disable\n      passwordRenewal: disable\n      port: 389\n      secure: disable\n      server: 1.1.1.1\n      serverIdentityCheck: disable\n      sourceIp: 0.0.0.0\n      sslMinProtoVersion: default\n      type: simple\n  trname:\n    type: fortios:user:Domaincontroller\n    properties:\n      domainName: s.com\n      ipAddress: 1.1.1.1\n      ldapServer: ${trname1.name}\n      port: 445\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser DomainController can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/domaincontroller:Domaincontroller 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:user/domaincontroller:Domaincontroller labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adMode": {
          "type": "string",
          "description": "Set Active Directory mode. Valid values: `none`, `ds`, `lds`.\n"
        },
        "adldsDn": {
          "type": "string",
          "description": "AD LDS distinguished name.\n"
        },
        "adldsIp6": {
          "type": "string",
          "description": "AD LDS IPv6 address.\n"
        },
        "adldsIpAddress": {
          "type": "string",
          "description": "AD LDS IPv4 address.\n"
        },
        "adldsPort": {
          "type": "integer",
          "description": "Port number of AD LDS service (default = 389).\n"
        },
        "changeDetection": {
          "type": "string",
          "description": "Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.\n"
        },
        "changeDetectionPeriod": {
          "type": "integer",
          "description": "Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).\n"
        },
        "dnsSrvLookup": {
          "type": "string",
          "description": "Enable/disable DNS service lookup. Valid values: `enable`, `disable`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "Domain DNS 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"
        },
        "extraServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDomaincontrollerExtraServer:DomaincontrollerExtraServer"
          },
          "description": "extra servers. The structure of `extra_server` 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"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname of the server to connect to.\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"
        },
        "ip6": {
          "type": "string",
          "description": "Domain controller IPv6 address.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "Domain controller IP address.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Domain controller entry name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to be used for communication with the domain controller (default = 445).\n"
        },
        "replicationPort": {
          "type": "integer",
          "description": "Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "FortiGate IPv6 address to be used for communication with the domain controller.\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"
        },
        "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": [
        "adMode",
        "adldsDn",
        "adldsIp6",
        "adldsIpAddress",
        "adldsPort",
        "changeDetection",
        "changeDetectionPeriod",
        "dnsSrvLookup",
        "domainName",
        "hostname",
        "interface",
        "interfaceSelectMethod",
        "ip6",
        "ipAddress",
        "ldapServer",
        "name",
        "port",
        "replicationPort",
        "sourceIp6",
        "sourceIpAddress",
        "sourcePort",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "adMode": {
          "type": "string",
          "description": "Set Active Directory mode. Valid values: `none`, `ds`, `lds`.\n"
        },
        "adldsDn": {
          "type": "string",
          "description": "AD LDS distinguished name.\n"
        },
        "adldsIp6": {
          "type": "string",
          "description": "AD LDS IPv6 address.\n"
        },
        "adldsIpAddress": {
          "type": "string",
          "description": "AD LDS IPv4 address.\n"
        },
        "adldsPort": {
          "type": "integer",
          "description": "Port number of AD LDS service (default = 389).\n"
        },
        "changeDetection": {
          "type": "string",
          "description": "Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.\n"
        },
        "changeDetectionPeriod": {
          "type": "integer",
          "description": "Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).\n"
        },
        "dnsSrvLookup": {
          "type": "string",
          "description": "Enable/disable DNS service lookup. Valid values: `enable`, `disable`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "Domain DNS 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"
        },
        "extraServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDomaincontrollerExtraServer:DomaincontrollerExtraServer"
          },
          "description": "extra servers. The structure of `extra_server` 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"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname of the server to connect to.\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"
        },
        "ip6": {
          "type": "string",
          "description": "Domain controller IPv6 address.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "Domain controller IP address.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Domain controller entry name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to be used for communication with the domain controller (default = 445).\n"
        },
        "replicationPort": {
          "type": "integer",
          "description": "Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "FortiGate IPv6 address to be used for communication with the domain controller.\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"
        },
        "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
        }
      },
      "requiredInputs": [
        "ipAddress",
        "ldapServer"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Domaincontroller resources.\n",
        "properties": {
          "adMode": {
            "type": "string",
            "description": "Set Active Directory mode. Valid values: `none`, `ds`, `lds`.\n"
          },
          "adldsDn": {
            "type": "string",
            "description": "AD LDS distinguished name.\n"
          },
          "adldsIp6": {
            "type": "string",
            "description": "AD LDS IPv6 address.\n"
          },
          "adldsIpAddress": {
            "type": "string",
            "description": "AD LDS IPv4 address.\n"
          },
          "adldsPort": {
            "type": "integer",
            "description": "Port number of AD LDS service (default = 389).\n"
          },
          "changeDetection": {
            "type": "string",
            "description": "Enable/disable detection of a configuration change in the Active Directory server. Valid values: `enable`, `disable`.\n"
          },
          "changeDetectionPeriod": {
            "type": "integer",
            "description": "Minutes to detect a configuration change in the Active Directory server (5 - 10080 minutes (7 days), default = 60).\n"
          },
          "dnsSrvLookup": {
            "type": "string",
            "description": "Enable/disable DNS service lookup. Valid values: `enable`, `disable`.\n"
          },
          "domainName": {
            "type": "string",
            "description": "Domain DNS 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"
          },
          "extraServers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FDomaincontrollerExtraServer:DomaincontrollerExtraServer"
            },
            "description": "extra servers. The structure of `extra_server` 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"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the server to connect to.\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"
          },
          "ip6": {
            "type": "string",
            "description": "Domain controller IPv6 address.\n"
          },
          "ipAddress": {
            "type": "string",
            "description": "Domain controller IP address.\n"
          },
          "ldapServer": {
            "type": "string",
            "description": "LDAP server name.\n"
          },
          "name": {
            "type": "string",
            "description": "Domain controller entry name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Password for specified username.\n"
          },
          "port": {
            "type": "integer",
            "description": "Port to be used for communication with the domain controller (default = 445).\n"
          },
          "replicationPort": {
            "type": "integer",
            "description": "Port to be used for communication with the domain controller for replication service. Port number 0 indicates automatic discovery.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "FortiGate IPv6 address to be used for communication with the domain controller.\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"
          },
          "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:user/exchange:Exchange": {
      "description": "Configure MS Exchange server entries. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nUser Exchange can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/exchange:Exchange 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:user/exchange:Exchange labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authLevel": {
          "type": "string",
          "description": "Authentication security level used for the RPC protocol layer. Valid values: `connect`, `call`, `packet`, `integrity`, `privacy`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication security type used for the RPC protocol layer. Valid values: `spnego`, `ntlm`, `kerberos`.\n"
        },
        "autoDiscoverKdc": {
          "type": "string",
          "description": "Enable/disable automatic discovery of KDC IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "connectProtocol": {
          "type": "string",
          "description": "Connection protocol used to connect to MS Exchange service. Valid values: `rpc-over-tcp`, `rpc-over-http`, `rpc-over-https`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "MS Exchange server fully qualified domain 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpAuthType": {
          "type": "string",
          "description": "Authentication security type used for the HTTP transport. Valid values: `basic`, `ntlm`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Server IPv4 address.\n"
        },
        "kdcIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FExchangeKdcIp:ExchangeKdcIp"
          },
          "description": "KDC IPv4 addresses for Kerberos authentication. The structure of `kdc_ip` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "MS Exchange server entry name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for the specified username.\n",
          "secret": true
        },
        "serverName": {
          "type": "string",
          "description": "MS Exchange server hostname.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum SSL/TLS protocol version for HTTPS transport (default is to follow system global setting).\n"
        },
        "username": {
          "type": "string",
          "description": "User name used to sign in to the server. 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": [
        "authLevel",
        "authType",
        "autoDiscoverKdc",
        "connectProtocol",
        "domainName",
        "httpAuthType",
        "ip",
        "name",
        "serverName",
        "sslMinProtoVersion",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "authLevel": {
          "type": "string",
          "description": "Authentication security level used for the RPC protocol layer. Valid values: `connect`, `call`, `packet`, `integrity`, `privacy`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication security type used for the RPC protocol layer. Valid values: `spnego`, `ntlm`, `kerberos`.\n"
        },
        "autoDiscoverKdc": {
          "type": "string",
          "description": "Enable/disable automatic discovery of KDC IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "connectProtocol": {
          "type": "string",
          "description": "Connection protocol used to connect to MS Exchange service. Valid values: `rpc-over-tcp`, `rpc-over-http`, `rpc-over-https`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "MS Exchange server fully qualified domain 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpAuthType": {
          "type": "string",
          "description": "Authentication security type used for the HTTP transport. Valid values: `basic`, `ntlm`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Server IPv4 address.\n"
        },
        "kdcIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FExchangeKdcIp:ExchangeKdcIp"
          },
          "description": "KDC IPv4 addresses for Kerberos authentication. The structure of `kdc_ip` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "MS Exchange server entry name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Password for the specified username.\n",
          "secret": true
        },
        "serverName": {
          "type": "string",
          "description": "MS Exchange server hostname.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum SSL/TLS protocol version for HTTPS transport (default is to follow system global setting).\n"
        },
        "username": {
          "type": "string",
          "description": "User name used to sign in to the server. 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 Exchange resources.\n",
        "properties": {
          "authLevel": {
            "type": "string",
            "description": "Authentication security level used for the RPC protocol layer. Valid values: `connect`, `call`, `packet`, `integrity`, `privacy`.\n"
          },
          "authType": {
            "type": "string",
            "description": "Authentication security type used for the RPC protocol layer. Valid values: `spnego`, `ntlm`, `kerberos`.\n"
          },
          "autoDiscoverKdc": {
            "type": "string",
            "description": "Enable/disable automatic discovery of KDC IP addresses. Valid values: `enable`, `disable`.\n"
          },
          "connectProtocol": {
            "type": "string",
            "description": "Connection protocol used to connect to MS Exchange service. Valid values: `rpc-over-tcp`, `rpc-over-http`, `rpc-over-https`.\n"
          },
          "domainName": {
            "type": "string",
            "description": "MS Exchange server fully qualified domain 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "httpAuthType": {
            "type": "string",
            "description": "Authentication security type used for the HTTP transport. Valid values: `basic`, `ntlm`.\n"
          },
          "ip": {
            "type": "string",
            "description": "Server IPv4 address.\n"
          },
          "kdcIps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FExchangeKdcIp:ExchangeKdcIp"
            },
            "description": "KDC IPv4 addresses for Kerberos authentication. The structure of `kdc_ip` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "MS Exchange server entry name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Password for the specified username.\n",
            "secret": true
          },
          "serverName": {
            "type": "string",
            "description": "MS Exchange server hostname.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum SSL/TLS protocol version for HTTPS transport (default is to follow system global setting).\n"
          },
          "username": {
            "type": "string",
            "description": "User name used to sign in to the server. 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:user/externalidentityprovider:Externalidentityprovider": {
      "description": "Configure external identity provider. Applies to FortiOS Version `7.2.8,7.4.2,7.4.3,7.4.4`.\n\n## Import\n\nUser ExternalIdentityProvider can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/externalidentityprovider:Externalidentityprovider 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:user/externalidentityprovider:Externalidentityprovider labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "groupAttrName": {
          "type": "string",
          "description": "Group attribute name in authentication query.\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": "External identity provider name.\n"
        },
        "port": {
          "type": "integer",
          "description": "External identity provider service port number (0 to use default).\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable server's identity check against its certificate and subject alternative name(s). Valid values: `disable`, `enable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Use this IPv4/v6 address to connect to the external identity provider.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Connection timeout value in seconds (default=5).\n"
        },
        "type": {
          "type": "string",
          "description": "External identity provider type. Valid values: `ms-graph`.\n"
        },
        "url": {
          "type": "string",
          "description": "External identity provider URL (e.g. \"https://example.com:8080/api/v1\").\n"
        },
        "userAttrName": {
          "type": "string",
          "description": "User attribute name in authentication query.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "version": {
          "type": "string",
          "description": "External identity API version. Valid values: `v1.0`, `beta`.\n"
        }
      },
      "type": "object",
      "required": [
        "groupAttrName",
        "interface",
        "interfaceSelectMethod",
        "name",
        "port",
        "serverIdentityCheck",
        "sourceIp",
        "timeout",
        "type",
        "url",
        "userAttrName",
        "vdomparam",
        "version"
      ],
      "inputProperties": {
        "groupAttrName": {
          "type": "string",
          "description": "Group attribute name in authentication query.\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": "External identity provider name.\n",
          "willReplaceOnChanges": true
        },
        "port": {
          "type": "integer",
          "description": "External identity provider service port number (0 to use default).\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable server's identity check against its certificate and subject alternative name(s). Valid values: `disable`, `enable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Use this IPv4/v6 address to connect to the external identity provider.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Connection timeout value in seconds (default=5).\n"
        },
        "type": {
          "type": "string",
          "description": "External identity provider type. Valid values: `ms-graph`.\n"
        },
        "url": {
          "type": "string",
          "description": "External identity provider URL (e.g. \"https://example.com:8080/api/v1\").\n"
        },
        "userAttrName": {
          "type": "string",
          "description": "User attribute name in authentication query.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "version": {
          "type": "string",
          "description": "External identity API version. Valid values: `v1.0`, `beta`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Externalidentityprovider resources.\n",
        "properties": {
          "groupAttrName": {
            "type": "string",
            "description": "Group attribute name in authentication query.\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": "External identity provider name.\n",
            "willReplaceOnChanges": true
          },
          "port": {
            "type": "integer",
            "description": "External identity provider service port number (0 to use default).\n"
          },
          "serverIdentityCheck": {
            "type": "string",
            "description": "Enable/disable server's identity check against its certificate and subject alternative name(s). Valid values: `disable`, `enable`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Use this IPv4/v6 address to connect to the external identity provider.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Connection timeout value in seconds (default=5).\n"
          },
          "type": {
            "type": "string",
            "description": "External identity provider type. Valid values: `ms-graph`.\n"
          },
          "url": {
            "type": "string",
            "description": "External identity provider URL (e.g. \"https://example.com:8080/api/v1\").\n"
          },
          "userAttrName": {
            "type": "string",
            "description": "User attribute name in authentication query.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "version": {
            "type": "string",
            "description": "External identity API version. Valid values: `v1.0`, `beta`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:user/fortitoken:Fortitoken": {
      "description": "Configure FortiToken.\n\n## Import\n\nUser Fortitoken can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/fortitoken:Fortitoken labelname {{serial_number}}\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:user/fortitoken:Fortitoken labelname {{serial_number}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "activationCode": {
          "type": "string",
          "description": "Mobile token user activation-code.\n"
        },
        "activationExpire": {
          "type": "integer",
          "description": "Mobile token user activation-code expire time.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "license": {
          "type": "string",
          "description": "Mobile token license.\n"
        },
        "osVer": {
          "type": "string",
          "description": "Device Mobile Version.\n"
        },
        "regId": {
          "type": "string",
          "description": "Device Reg ID.\n"
        },
        "seed": {
          "type": "string",
          "description": "Token seed.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n"
        },
        "status": {
          "type": "string",
          "description": "Status Valid values: `active`, `lock`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "activationCode",
        "activationExpire",
        "license",
        "osVer",
        "regId",
        "seed",
        "serialNumber",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "activationCode": {
          "type": "string",
          "description": "Mobile token user activation-code.\n"
        },
        "activationExpire": {
          "type": "integer",
          "description": "Mobile token user activation-code expire time.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "license": {
          "type": "string",
          "description": "Mobile token license.\n"
        },
        "osVer": {
          "type": "string",
          "description": "Device Mobile Version.\n"
        },
        "regId": {
          "type": "string",
          "description": "Device Reg ID.\n"
        },
        "seed": {
          "type": "string",
          "description": "Token seed.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Status Valid values: `active`, `lock`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Fortitoken resources.\n",
        "properties": {
          "activationCode": {
            "type": "string",
            "description": "Mobile token user activation-code.\n"
          },
          "activationExpire": {
            "type": "integer",
            "description": "Mobile token user activation-code expire time.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "license": {
            "type": "string",
            "description": "Mobile token license.\n"
          },
          "osVer": {
            "type": "string",
            "description": "Device Mobile Version.\n"
          },
          "regId": {
            "type": "string",
            "description": "Device Reg ID.\n"
          },
          "seed": {
            "type": "string",
            "description": "Token seed.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "Serial number.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Status Valid values: `active`, `lock`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/fsso:Fsso": {
      "description": "Configure Fortinet Single Sign On (FSSO) agents.\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.user.Fsso(\"trname\", {\n    port: 32381,\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```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Fsso(\"trname\",\n    port=32381,\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=\"::\")\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.User.Fsso(\"trname\", new()\n    {\n        Port = 32381,\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});\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewFsso(ctx, \"trname\", &user.FssoArgs{\n\t\t\tPort:      pulumi.Int(32381),\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\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 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 Fsso(\"trname\", FssoArgs.builder()\n            .port(32381)\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    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Fsso\n    properties:\n      port: 32381\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<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Fsso can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/fsso:Fsso 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:user/fsso:Fsso labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "groupPollInterval": {
          "type": "integer",
          "description": "Interval in minutes within to fetch groups from FSSO server, or unset to disable.\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"
        },
        "ldapPoll": {
          "type": "string",
          "description": "Enable/disable automatic fetching of groups from LDAP server. Valid values: `enable`, `disable`.\n"
        },
        "ldapPollFilter": {
          "type": "string",
          "description": "Filter used to fetch groups.\n"
        },
        "ldapPollInterval": {
          "type": "integer",
          "description": "Interval in minutes within to fetch groups from LDAP server.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server to get group information.\n"
        },
        "logonTimeout": {
          "type": "integer",
          "description": "Interval in minutes to keep logons after FSSO server down.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password of the first FSSO collector agent.\n",
          "secret": true
        },
        "password2": {
          "type": "string",
          "description": "Password of the second FSSO collector agent.\n",
          "secret": true
        },
        "password3": {
          "type": "string",
          "description": "Password of the third FSSO collector agent.\n",
          "secret": true
        },
        "password4": {
          "type": "string",
          "description": "Password of the fourth FSSO collector agent.\n",
          "secret": true
        },
        "password5": {
          "type": "string",
          "description": "Password of the fifth FSSO collector agent.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port of the first FSSO collector agent.\n"
        },
        "port2": {
          "type": "integer",
          "description": "Port of the second FSSO collector agent.\n"
        },
        "port3": {
          "type": "integer",
          "description": "Port of the third FSSO collector agent.\n"
        },
        "port4": {
          "type": "integer",
          "description": "Port of the fourth FSSO collector agent.\n"
        },
        "port5": {
          "type": "integer",
          "description": "Port of the fifth FSSO collector agent.\n"
        },
        "server": {
          "type": "string",
          "description": "Domain name or IP address of the first FSSO collector agent.\n"
        },
        "server2": {
          "type": "string",
          "description": "Domain name or IP address of the second FSSO collector agent.\n"
        },
        "server3": {
          "type": "string",
          "description": "Domain name or IP address of the third FSSO collector agent.\n"
        },
        "server4": {
          "type": "string",
          "description": "Domain name or IP address of the fourth FSSO collector agent.\n"
        },
        "server5": {
          "type": "string",
          "description": "Domain name or IP address of the fifth FSSO collector agent.\n"
        },
        "sni": {
          "type": "string",
          "description": "Server Name Indication.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications to FSSO agent.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "IPv6 source for communications to FSSO agent.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable use of SSL. Valid values: `enable`, `disable`.\n"
        },
        "sslServerHostIpCheck": {
          "type": "string",
          "description": "Enable/disable server host/IP verification. Valid values: `enable`, `disable`.\n"
        },
        "sslTrustedCert": {
          "type": "string",
          "description": "Trusted server certificate or CA certificate.\n"
        },
        "type": {
          "type": "string",
          "description": "Server type.\n"
        },
        "userInfoServer": {
          "type": "string",
          "description": "LDAP server to get user information.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "groupPollInterval",
        "interface",
        "interfaceSelectMethod",
        "ldapPoll",
        "ldapPollFilter",
        "ldapPollInterval",
        "ldapServer",
        "logonTimeout",
        "name",
        "port",
        "port2",
        "port3",
        "port4",
        "port5",
        "server",
        "server2",
        "server3",
        "server4",
        "server5",
        "sni",
        "sourceIp",
        "sourceIp6",
        "ssl",
        "sslServerHostIpCheck",
        "sslTrustedCert",
        "type",
        "userInfoServer",
        "vdomparam"
      ],
      "inputProperties": {
        "groupPollInterval": {
          "type": "integer",
          "description": "Interval in minutes within to fetch groups from FSSO server, or unset to disable.\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"
        },
        "ldapPoll": {
          "type": "string",
          "description": "Enable/disable automatic fetching of groups from LDAP server. Valid values: `enable`, `disable`.\n"
        },
        "ldapPollFilter": {
          "type": "string",
          "description": "Filter used to fetch groups.\n"
        },
        "ldapPollInterval": {
          "type": "integer",
          "description": "Interval in minutes within to fetch groups from LDAP server.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server to get group information.\n"
        },
        "logonTimeout": {
          "type": "integer",
          "description": "Interval in minutes to keep logons after FSSO server down.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Password of the first FSSO collector agent.\n",
          "secret": true
        },
        "password2": {
          "type": "string",
          "description": "Password of the second FSSO collector agent.\n",
          "secret": true
        },
        "password3": {
          "type": "string",
          "description": "Password of the third FSSO collector agent.\n",
          "secret": true
        },
        "password4": {
          "type": "string",
          "description": "Password of the fourth FSSO collector agent.\n",
          "secret": true
        },
        "password5": {
          "type": "string",
          "description": "Password of the fifth FSSO collector agent.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port of the first FSSO collector agent.\n"
        },
        "port2": {
          "type": "integer",
          "description": "Port of the second FSSO collector agent.\n"
        },
        "port3": {
          "type": "integer",
          "description": "Port of the third FSSO collector agent.\n"
        },
        "port4": {
          "type": "integer",
          "description": "Port of the fourth FSSO collector agent.\n"
        },
        "port5": {
          "type": "integer",
          "description": "Port of the fifth FSSO collector agent.\n"
        },
        "server": {
          "type": "string",
          "description": "Domain name or IP address of the first FSSO collector agent.\n"
        },
        "server2": {
          "type": "string",
          "description": "Domain name or IP address of the second FSSO collector agent.\n"
        },
        "server3": {
          "type": "string",
          "description": "Domain name or IP address of the third FSSO collector agent.\n"
        },
        "server4": {
          "type": "string",
          "description": "Domain name or IP address of the fourth FSSO collector agent.\n"
        },
        "server5": {
          "type": "string",
          "description": "Domain name or IP address of the fifth FSSO collector agent.\n"
        },
        "sni": {
          "type": "string",
          "description": "Server Name Indication.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications to FSSO agent.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "IPv6 source for communications to FSSO agent.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable use of SSL. Valid values: `enable`, `disable`.\n"
        },
        "sslServerHostIpCheck": {
          "type": "string",
          "description": "Enable/disable server host/IP verification. Valid values: `enable`, `disable`.\n"
        },
        "sslTrustedCert": {
          "type": "string",
          "description": "Trusted server certificate or CA certificate.\n"
        },
        "type": {
          "type": "string",
          "description": "Server type.\n"
        },
        "userInfoServer": {
          "type": "string",
          "description": "LDAP server to get user information.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "server"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fsso resources.\n",
        "properties": {
          "groupPollInterval": {
            "type": "integer",
            "description": "Interval in minutes within to fetch groups from FSSO server, or unset to disable.\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"
          },
          "ldapPoll": {
            "type": "string",
            "description": "Enable/disable automatic fetching of groups from LDAP server. Valid values: `enable`, `disable`.\n"
          },
          "ldapPollFilter": {
            "type": "string",
            "description": "Filter used to fetch groups.\n"
          },
          "ldapPollInterval": {
            "type": "integer",
            "description": "Interval in minutes within to fetch groups from LDAP server.\n"
          },
          "ldapServer": {
            "type": "string",
            "description": "LDAP server to get group information.\n"
          },
          "logonTimeout": {
            "type": "integer",
            "description": "Interval in minutes to keep logons after FSSO server down.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Password of the first FSSO collector agent.\n",
            "secret": true
          },
          "password2": {
            "type": "string",
            "description": "Password of the second FSSO collector agent.\n",
            "secret": true
          },
          "password3": {
            "type": "string",
            "description": "Password of the third FSSO collector agent.\n",
            "secret": true
          },
          "password4": {
            "type": "string",
            "description": "Password of the fourth FSSO collector agent.\n",
            "secret": true
          },
          "password5": {
            "type": "string",
            "description": "Password of the fifth FSSO collector agent.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port of the first FSSO collector agent.\n"
          },
          "port2": {
            "type": "integer",
            "description": "Port of the second FSSO collector agent.\n"
          },
          "port3": {
            "type": "integer",
            "description": "Port of the third FSSO collector agent.\n"
          },
          "port4": {
            "type": "integer",
            "description": "Port of the fourth FSSO collector agent.\n"
          },
          "port5": {
            "type": "integer",
            "description": "Port of the fifth FSSO collector agent.\n"
          },
          "server": {
            "type": "string",
            "description": "Domain name or IP address of the first FSSO collector agent.\n"
          },
          "server2": {
            "type": "string",
            "description": "Domain name or IP address of the second FSSO collector agent.\n"
          },
          "server3": {
            "type": "string",
            "description": "Domain name or IP address of the third FSSO collector agent.\n"
          },
          "server4": {
            "type": "string",
            "description": "Domain name or IP address of the fourth FSSO collector agent.\n"
          },
          "server5": {
            "type": "string",
            "description": "Domain name or IP address of the fifth FSSO collector agent.\n"
          },
          "sni": {
            "type": "string",
            "description": "Server Name Indication.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP for communications to FSSO agent.\n"
          },
          "sourceIp6": {
            "type": "string",
            "description": "IPv6 source for communications to FSSO agent.\n"
          },
          "ssl": {
            "type": "string",
            "description": "Enable/disable use of SSL. Valid values: `enable`, `disable`.\n"
          },
          "sslServerHostIpCheck": {
            "type": "string",
            "description": "Enable/disable server host/IP verification. Valid values: `enable`, `disable`.\n"
          },
          "sslTrustedCert": {
            "type": "string",
            "description": "Trusted server certificate or CA certificate.\n"
          },
          "type": {
            "type": "string",
            "description": "Server type.\n"
          },
          "userInfoServer": {
            "type": "string",
            "description": "LDAP server to get user information.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/fssopolling:Fssopolling": {
      "description": "Configure FSSO active directory servers for polling mode.\n\n## Import\n\nUser FssoPolling can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/fssopolling:Fssopolling 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:user/fssopolling:Fssopolling labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adgrps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FFssopollingAdgrp:FssopollingAdgrp"
          },
          "description": "LDAP Group Info. The structure of `adgrp` block is documented below.\n"
        },
        "defaultDomain": {
          "type": "string",
          "description": "Default domain managed by this Active Directory server.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Active Directory server 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"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name used in LDAP connection strings.\n"
        },
        "logonHistory": {
          "type": "integer",
          "description": "Number of hours of logon history to keep, 0 means keep all history.\n"
        },
        "password": {
          "type": "string",
          "description": "Password required to log into this Active Directory server\n",
          "secret": true
        },
        "pollingFrequency": {
          "type": "integer",
          "description": "Polling frequency (every 1 to 30 seconds).\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to communicate with this Active Directory server.\n"
        },
        "server": {
          "type": "string",
          "description": "Host name or IP address of the Active Directory server.\n"
        },
        "smbNtlmv1Auth": {
          "type": "string",
          "description": "Enable/disable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
        },
        "smbv1": {
          "type": "string",
          "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable polling for the status of this Active Directory server. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "User name required to log into this Active Directory 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": [
        "defaultDomain",
        "fosid",
        "ldapServer",
        "logonHistory",
        "pollingFrequency",
        "port",
        "server",
        "smbNtlmv1Auth",
        "smbv1",
        "status",
        "user",
        "vdomparam"
      ],
      "inputProperties": {
        "adgrps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FFssopollingAdgrp:FssopollingAdgrp"
          },
          "description": "LDAP Group Info. The structure of `adgrp` block is documented below.\n"
        },
        "defaultDomain": {
          "type": "string",
          "description": "Default domain managed by this Active Directory server.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Active Directory server 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"
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name used in LDAP connection strings.\n"
        },
        "logonHistory": {
          "type": "integer",
          "description": "Number of hours of logon history to keep, 0 means keep all history.\n"
        },
        "password": {
          "type": "string",
          "description": "Password required to log into this Active Directory server\n",
          "secret": true
        },
        "pollingFrequency": {
          "type": "integer",
          "description": "Polling frequency (every 1 to 30 seconds).\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to communicate with this Active Directory server.\n"
        },
        "server": {
          "type": "string",
          "description": "Host name or IP address of the Active Directory server.\n"
        },
        "smbNtlmv1Auth": {
          "type": "string",
          "description": "Enable/disable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
        },
        "smbv1": {
          "type": "string",
          "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable polling for the status of this Active Directory server. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "User name required to log into this Active Directory 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
        }
      },
      "requiredInputs": [
        "ldapServer",
        "server",
        "user"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fssopolling resources.\n",
        "properties": {
          "adgrps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FFssopollingAdgrp:FssopollingAdgrp"
            },
            "description": "LDAP Group Info. The structure of `adgrp` block is documented below.\n"
          },
          "defaultDomain": {
            "type": "string",
            "description": "Default domain managed by this Active Directory server.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "Active Directory server 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"
          },
          "ldapServer": {
            "type": "string",
            "description": "LDAP server name used in LDAP connection strings.\n"
          },
          "logonHistory": {
            "type": "integer",
            "description": "Number of hours of logon history to keep, 0 means keep all history.\n"
          },
          "password": {
            "type": "string",
            "description": "Password required to log into this Active Directory server\n",
            "secret": true
          },
          "pollingFrequency": {
            "type": "integer",
            "description": "Polling frequency (every 1 to 30 seconds).\n"
          },
          "port": {
            "type": "integer",
            "description": "Port to communicate with this Active Directory server.\n"
          },
          "server": {
            "type": "string",
            "description": "Host name or IP address of the Active Directory server.\n"
          },
          "smbNtlmv1Auth": {
            "type": "string",
            "description": "Enable/disable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
          },
          "smbv1": {
            "type": "string",
            "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable polling for the status of this Active Directory server. Valid values: `enable`, `disable`.\n"
          },
          "user": {
            "type": "string",
            "description": "User name required to log into this Active Directory 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:user/group:Group": {
      "description": "Configure user 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.user.Group(\"trname\", {\n    company: \"optional\",\n    email: \"enable\",\n    expire: 14400,\n    expireType: \"immediately\",\n    groupType: \"firewall\",\n    maxAccounts: 0,\n    members: [{\n        name: \"guest\",\n    }],\n    mobilePhone: \"disable\",\n    multipleGuestAdd: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Group(\"trname\",\n    company=\"optional\",\n    email=\"enable\",\n    expire=14400,\n    expire_type=\"immediately\",\n    group_type=\"firewall\",\n    max_accounts=0,\n    members=[fortios.user.GroupMemberArgs(\n        name=\"guest\",\n    )],\n    mobile_phone=\"disable\",\n    multiple_guest_add=\"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.User.Group(\"trname\", new()\n    {\n        Company = \"optional\",\n        Email = \"enable\",\n        Expire = 14400,\n        ExpireType = \"immediately\",\n        GroupType = \"firewall\",\n        MaxAccounts = 0,\n        Members = new[]\n        {\n            new Fortios.User.Inputs.GroupMemberArgs\n            {\n                Name = \"guest\",\n            },\n        },\n        MobilePhone = \"disable\",\n        MultipleGuestAdd = \"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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewGroup(ctx, \"trname\", &user.GroupArgs{\n\t\t\tCompany:     pulumi.String(\"optional\"),\n\t\t\tEmail:       pulumi.String(\"enable\"),\n\t\t\tExpire:      pulumi.Int(14400),\n\t\t\tExpireType:  pulumi.String(\"immediately\"),\n\t\t\tGroupType:   pulumi.String(\"firewall\"),\n\t\t\tMaxAccounts: pulumi.Int(0),\n\t\t\tMembers: user.GroupMemberArray{\n\t\t\t\t&user.GroupMemberArgs{\n\t\t\t\t\tName: pulumi.String(\"guest\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMobilePhone:      pulumi.String(\"disable\"),\n\t\t\tMultipleGuestAdd: 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.Group;\nimport com.pulumi.fortios.user.GroupArgs;\nimport com.pulumi.fortios.user.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 trname = new Group(\"trname\", GroupArgs.builder()\n            .company(\"optional\")\n            .email(\"enable\")\n            .expire(14400)\n            .expireType(\"immediately\")\n            .groupType(\"firewall\")\n            .maxAccounts(0)\n            .members(GroupMemberArgs.builder()\n                .name(\"guest\")\n                .build())\n            .mobilePhone(\"disable\")\n            .multipleGuestAdd(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Group\n    properties:\n      company: optional\n      email: enable\n      expire: 14400\n      expireType: immediately\n      groupType: firewall\n      maxAccounts: 0\n      members:\n        - name: guest\n      mobilePhone: disable\n      multipleGuestAdd: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/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:user/group:Group labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authConcurrentOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.\n"
        },
        "authConcurrentValue": {
          "type": "integer",
          "description": "Maximum number of concurrent authenticated connections per user (0 - 100).\n"
        },
        "authtimeout": {
          "type": "integer",
          "description": "Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.\n"
        },
        "company": {
          "type": "string",
          "description": "Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "email": {
          "type": "string",
          "description": "Enable/disable the guest user email address field. Valid values: `disable`, `enable`.\n"
        },
        "expire": {
          "type": "integer",
          "description": "Time in seconds before guest user accounts expire (1 - 31536000).\n"
        },
        "expireType": {
          "type": "string",
          "description": "Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Group 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"
        },
        "groupType": {
          "type": "string",
          "description": "Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.\n"
        },
        "guests": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupGuest:GroupGuest"
          },
          "description": "Guest User. The structure of `guest` block is documented below.\n"
        },
        "httpDigestRealm": {
          "type": "string",
          "description": "Realm attribute for MD5-digest authentication.\n"
        },
        "matches": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupMatch:GroupMatch"
          },
          "description": "Group matches. The structure of `match` block is documented below.\n"
        },
        "maxAccounts": {
          "type": "integer",
          "description": "Maximum number of guest accounts that can be created for this group (0 means unlimited).\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupMember:GroupMember"
          },
          "description": "Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.\n"
        },
        "mobilePhone": {
          "type": "string",
          "description": "Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.\n"
        },
        "multipleGuestAdd": {
          "type": "string",
          "description": "Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Group name.\n"
        },
        "password": {
          "type": "string",
          "description": "Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "SMS server.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
        },
        "sponsor": {
          "type": "string",
          "description": "Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
        },
        "ssoAttributeValue": {
          "type": "string",
          "description": "Name of the RADIUS user group that this local user group represents.\n"
        },
        "userId": {
          "type": "string",
          "description": "Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.\n"
        },
        "userName": {
          "type": "string",
          "description": "Enable/disable the guest user name 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": [
        "authConcurrentOverride",
        "authConcurrentValue",
        "authtimeout",
        "company",
        "email",
        "expire",
        "expireType",
        "fosid",
        "groupType",
        "httpDigestRealm",
        "maxAccounts",
        "mobilePhone",
        "multipleGuestAdd",
        "name",
        "password",
        "smsCustomServer",
        "smsServer",
        "sponsor",
        "ssoAttributeValue",
        "userId",
        "userName",
        "vdomparam"
      ],
      "inputProperties": {
        "authConcurrentOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.\n"
        },
        "authConcurrentValue": {
          "type": "integer",
          "description": "Maximum number of concurrent authenticated connections per user (0 - 100).\n"
        },
        "authtimeout": {
          "type": "integer",
          "description": "Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.\n"
        },
        "company": {
          "type": "string",
          "description": "Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "email": {
          "type": "string",
          "description": "Enable/disable the guest user email address field. Valid values: `disable`, `enable`.\n"
        },
        "expire": {
          "type": "integer",
          "description": "Time in seconds before guest user accounts expire (1 - 31536000).\n"
        },
        "expireType": {
          "type": "string",
          "description": "Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Group 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"
        },
        "groupType": {
          "type": "string",
          "description": "Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.\n"
        },
        "guests": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupGuest:GroupGuest"
          },
          "description": "Guest User. The structure of `guest` block is documented below.\n"
        },
        "httpDigestRealm": {
          "type": "string",
          "description": "Realm attribute for MD5-digest authentication.\n"
        },
        "matches": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupMatch:GroupMatch"
          },
          "description": "Group matches. The structure of `match` block is documented below.\n"
        },
        "maxAccounts": {
          "type": "integer",
          "description": "Maximum number of guest accounts that can be created for this group (0 means unlimited).\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FGroupMember:GroupMember"
          },
          "description": "Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.\n"
        },
        "mobilePhone": {
          "type": "string",
          "description": "Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.\n"
        },
        "multipleGuestAdd": {
          "type": "string",
          "description": "Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Group name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "SMS server.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
        },
        "sponsor": {
          "type": "string",
          "description": "Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
        },
        "ssoAttributeValue": {
          "type": "string",
          "description": "Name of the RADIUS user group that this local user group represents.\n"
        },
        "userId": {
          "type": "string",
          "description": "Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.\n"
        },
        "userName": {
          "type": "string",
          "description": "Enable/disable the guest user name 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 Group resources.\n",
        "properties": {
          "authConcurrentOverride": {
            "type": "string",
            "description": "Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.\n"
          },
          "authConcurrentValue": {
            "type": "integer",
            "description": "Maximum number of concurrent authenticated connections per user (0 - 100).\n"
          },
          "authtimeout": {
            "type": "integer",
            "description": "Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.\n"
          },
          "company": {
            "type": "string",
            "description": "Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "email": {
            "type": "string",
            "description": "Enable/disable the guest user email address field. Valid values: `disable`, `enable`.\n"
          },
          "expire": {
            "type": "integer",
            "description": "Time in seconds before guest user accounts expire (1 - 31536000).\n"
          },
          "expireType": {
            "type": "string",
            "description": "Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Group 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"
          },
          "groupType": {
            "type": "string",
            "description": "Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.\n"
          },
          "guests": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FGroupGuest:GroupGuest"
            },
            "description": "Guest User. The structure of `guest` block is documented below.\n"
          },
          "httpDigestRealm": {
            "type": "string",
            "description": "Realm attribute for MD5-digest authentication.\n"
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FGroupMatch:GroupMatch"
            },
            "description": "Group matches. The structure of `match` block is documented below.\n"
          },
          "maxAccounts": {
            "type": "integer",
            "description": "Maximum number of guest accounts that can be created for this group (0 means unlimited).\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FGroupMember:GroupMember"
            },
            "description": "Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.\n"
          },
          "mobilePhone": {
            "type": "string",
            "description": "Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.\n"
          },
          "multipleGuestAdd": {
            "type": "string",
            "description": "Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Group name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.\n"
          },
          "smsCustomServer": {
            "type": "string",
            "description": "SMS server.\n"
          },
          "smsServer": {
            "type": "string",
            "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
          },
          "sponsor": {
            "type": "string",
            "description": "Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.\n"
          },
          "ssoAttributeValue": {
            "type": "string",
            "description": "Name of the RADIUS user group that this local user group represents.\n"
          },
          "userId": {
            "type": "string",
            "description": "Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.\n"
          },
          "userName": {
            "type": "string",
            "description": "Enable/disable the guest user name 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:user/krbkeytab:Krbkeytab": {
      "description": "Configure Kerberos keytab entries.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname2 = new fortios.user.Ldap(\"trname2\", {\n    accountKeyFilter: \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    accountKeyProcessing: \"same\",\n    cnid: \"cn\",\n    dn: \"EIWNCIEW\",\n    groupMemberCheck: \"user-attr\",\n    groupObjectFilter: \"(&(objectcategory=group)(member=*))\",\n    memberAttr: \"memberOf\",\n    passwordExpiryWarning: \"disable\",\n    passwordRenewal: \"disable\",\n    port: 389,\n    secure: \"disable\",\n    server: \"1.1.1.1\",\n    serverIdentityCheck: \"disable\",\n    sourceIp: \"0.0.0.0\",\n    sslMinProtoVersion: \"default\",\n    type: \"simple\",\n});\nconst trname = new fortios.user.Krbkeytab(\"trname\", {\n    keytab: \"ZXdlY2VxcmVxd3Jld3E=\",\n    ldapServer: trname2.name,\n    principal: \"testprin\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname2 = fortios.user.Ldap(\"trname2\",\n    account_key_filter=\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    account_key_processing=\"same\",\n    cnid=\"cn\",\n    dn=\"EIWNCIEW\",\n    group_member_check=\"user-attr\",\n    group_object_filter=\"(&(objectcategory=group)(member=*))\",\n    member_attr=\"memberOf\",\n    password_expiry_warning=\"disable\",\n    password_renewal=\"disable\",\n    port=389,\n    secure=\"disable\",\n    server=\"1.1.1.1\",\n    server_identity_check=\"disable\",\n    source_ip=\"0.0.0.0\",\n    ssl_min_proto_version=\"default\",\n    type=\"simple\")\ntrname = fortios.user.Krbkeytab(\"trname\",\n    keytab=\"ZXdlY2VxcmVxd3Jld3E=\",\n    ldap_server=trname2.name,\n    principal=\"testprin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname2 = new Fortios.User.Ldap(\"trname2\", new()\n    {\n        AccountKeyFilter = \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n        AccountKeyProcessing = \"same\",\n        Cnid = \"cn\",\n        Dn = \"EIWNCIEW\",\n        GroupMemberCheck = \"user-attr\",\n        GroupObjectFilter = \"(&(objectcategory=group)(member=*))\",\n        MemberAttr = \"memberOf\",\n        PasswordExpiryWarning = \"disable\",\n        PasswordRenewal = \"disable\",\n        Port = 389,\n        Secure = \"disable\",\n        Server = \"1.1.1.1\",\n        ServerIdentityCheck = \"disable\",\n        SourceIp = \"0.0.0.0\",\n        SslMinProtoVersion = \"default\",\n        Type = \"simple\",\n    });\n\n    var trname = new Fortios.User.Krbkeytab(\"trname\", new()\n    {\n        Keytab = \"ZXdlY2VxcmVxd3Jld3E=\",\n        LdapServer = trname2.Name,\n        Principal = \"testprin\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname2, err := user.NewLdap(ctx, \"trname2\", &user.LdapArgs{\n\t\t\tAccountKeyFilter:      pulumi.String(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\"),\n\t\t\tAccountKeyProcessing:  pulumi.String(\"same\"),\n\t\t\tCnid:                  pulumi.String(\"cn\"),\n\t\t\tDn:                    pulumi.String(\"EIWNCIEW\"),\n\t\t\tGroupMemberCheck:      pulumi.String(\"user-attr\"),\n\t\t\tGroupObjectFilter:     pulumi.String(\"(&(objectcategory=group)(member=*))\"),\n\t\t\tMemberAttr:            pulumi.String(\"memberOf\"),\n\t\t\tPasswordExpiryWarning: pulumi.String(\"disable\"),\n\t\t\tPasswordRenewal:       pulumi.String(\"disable\"),\n\t\t\tPort:                  pulumi.Int(389),\n\t\t\tSecure:                pulumi.String(\"disable\"),\n\t\t\tServer:                pulumi.String(\"1.1.1.1\"),\n\t\t\tServerIdentityCheck:   pulumi.String(\"disable\"),\n\t\t\tSourceIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tSslMinProtoVersion:    pulumi.String(\"default\"),\n\t\t\tType:                  pulumi.String(\"simple\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = user.NewKrbkeytab(ctx, \"trname\", &user.KrbkeytabArgs{\n\t\t\tKeytab:     pulumi.String(\"ZXdlY2VxcmVxd3Jld3E=\"),\n\t\t\tLdapServer: trname2.Name,\n\t\t\tPrincipal:  pulumi.String(\"testprin\"),\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.Ldap;\nimport com.pulumi.fortios.user.LdapArgs;\nimport com.pulumi.fortios.user.Krbkeytab;\nimport com.pulumi.fortios.user.KrbkeytabArgs;\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 trname2 = new Ldap(\"trname2\", LdapArgs.builder()\n            .accountKeyFilter(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\")\n            .accountKeyProcessing(\"same\")\n            .cnid(\"cn\")\n            .dn(\"EIWNCIEW\")\n            .groupMemberCheck(\"user-attr\")\n            .groupObjectFilter(\"(&(objectcategory=group)(member=*))\")\n            .memberAttr(\"memberOf\")\n            .passwordExpiryWarning(\"disable\")\n            .passwordRenewal(\"disable\")\n            .port(389)\n            .secure(\"disable\")\n            .server(\"1.1.1.1\")\n            .serverIdentityCheck(\"disable\")\n            .sourceIp(\"0.0.0.0\")\n            .sslMinProtoVersion(\"default\")\n            .type(\"simple\")\n            .build());\n\n        var trname = new Krbkeytab(\"trname\", KrbkeytabArgs.builder()\n            .keytab(\"ZXdlY2VxcmVxd3Jld3E=\")\n            .ldapServer(trname2.name())\n            .principal(\"testprin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname2:\n    type: fortios:user:Ldap\n    properties:\n      accountKeyFilter: (&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\n      accountKeyProcessing: same\n      cnid: cn\n      dn: EIWNCIEW\n      groupMemberCheck: user-attr\n      groupObjectFilter: (&(objectcategory=group)(member=*))\n      memberAttr: memberOf\n      passwordExpiryWarning: disable\n      passwordRenewal: disable\n      port: 389\n      secure: disable\n      server: 1.1.1.1\n      serverIdentityCheck: disable\n      sourceIp: 0.0.0.0\n      sslMinProtoVersion: default\n      type: simple\n  trname:\n    type: fortios:user:Krbkeytab\n    properties:\n      keytab: ZXdlY2VxcmVxd3Jld3E=\n      ldapServer: ${trname2.name}\n      principal: testprin\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser KrbKeytab can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/krbkeytab:Krbkeytab 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:user/krbkeytab:Krbkeytab labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "keytab": {
          "type": "string",
          "description": "base64 coded keytab file containing a pre-shared key.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Kerberos keytab entry name.\n"
        },
        "pacData": {
          "type": "string",
          "description": "Enable/disable parsing PAC data in the ticket. Valid values: `enable`, `disable`.\n"
        },
        "principal": {
          "type": "string",
          "description": "Kerberos service principal, e.g. HTTP/fgt.example.com@EXAMPLE.COM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "keytab",
        "ldapServer",
        "name",
        "pacData",
        "principal",
        "vdomparam"
      ],
      "inputProperties": {
        "keytab": {
          "type": "string",
          "description": "base64 coded keytab file containing a pre-shared key.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Kerberos keytab entry name.\n",
          "willReplaceOnChanges": true
        },
        "pacData": {
          "type": "string",
          "description": "Enable/disable parsing PAC data in the ticket. Valid values: `enable`, `disable`.\n"
        },
        "principal": {
          "type": "string",
          "description": "Kerberos service principal, e.g. HTTP/fgt.example.com@EXAMPLE.COM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "keytab",
        "ldapServer",
        "principal"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Krbkeytab resources.\n",
        "properties": {
          "keytab": {
            "type": "string",
            "description": "base64 coded keytab file containing a pre-shared key.\n",
            "secret": true
          },
          "ldapServer": {
            "type": "string",
            "description": "LDAP server name.\n"
          },
          "name": {
            "type": "string",
            "description": "Kerberos keytab entry name.\n",
            "willReplaceOnChanges": true
          },
          "pacData": {
            "type": "string",
            "description": "Enable/disable parsing PAC data in the ticket. Valid values: `enable`, `disable`.\n"
          },
          "principal": {
            "type": "string",
            "description": "Kerberos service principal, e.g. HTTP/fgt.example.com@EXAMPLE.COM.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/ldap:Ldap": {
      "description": "Configure LDAP server entries.\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.user.Ldap(\"trname\", {\n    accountKeyFilter: \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    accountKeyProcessing: \"same\",\n    cnid: \"cn\",\n    dn: \"EIWNCIEW\",\n    groupMemberCheck: \"user-attr\",\n    groupObjectFilter: \"(&(objectcategory=group)(member=*))\",\n    memberAttr: \"memberOf\",\n    passwordExpiryWarning: \"disable\",\n    passwordRenewal: \"disable\",\n    port: 389,\n    secure: \"disable\",\n    server: \"1.1.1.1\",\n    serverIdentityCheck: \"disable\",\n    sourceIp: \"0.0.0.0\",\n    sslMinProtoVersion: \"default\",\n    type: \"simple\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Ldap(\"trname\",\n    account_key_filter=\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    account_key_processing=\"same\",\n    cnid=\"cn\",\n    dn=\"EIWNCIEW\",\n    group_member_check=\"user-attr\",\n    group_object_filter=\"(&(objectcategory=group)(member=*))\",\n    member_attr=\"memberOf\",\n    password_expiry_warning=\"disable\",\n    password_renewal=\"disable\",\n    port=389,\n    secure=\"disable\",\n    server=\"1.1.1.1\",\n    server_identity_check=\"disable\",\n    source_ip=\"0.0.0.0\",\n    ssl_min_proto_version=\"default\",\n    type=\"simple\")\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.User.Ldap(\"trname\", new()\n    {\n        AccountKeyFilter = \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n        AccountKeyProcessing = \"same\",\n        Cnid = \"cn\",\n        Dn = \"EIWNCIEW\",\n        GroupMemberCheck = \"user-attr\",\n        GroupObjectFilter = \"(&(objectcategory=group)(member=*))\",\n        MemberAttr = \"memberOf\",\n        PasswordExpiryWarning = \"disable\",\n        PasswordRenewal = \"disable\",\n        Port = 389,\n        Secure = \"disable\",\n        Server = \"1.1.1.1\",\n        ServerIdentityCheck = \"disable\",\n        SourceIp = \"0.0.0.0\",\n        SslMinProtoVersion = \"default\",\n        Type = \"simple\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewLdap(ctx, \"trname\", &user.LdapArgs{\n\t\t\tAccountKeyFilter:      pulumi.String(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\"),\n\t\t\tAccountKeyProcessing:  pulumi.String(\"same\"),\n\t\t\tCnid:                  pulumi.String(\"cn\"),\n\t\t\tDn:                    pulumi.String(\"EIWNCIEW\"),\n\t\t\tGroupMemberCheck:      pulumi.String(\"user-attr\"),\n\t\t\tGroupObjectFilter:     pulumi.String(\"(&(objectcategory=group)(member=*))\"),\n\t\t\tMemberAttr:            pulumi.String(\"memberOf\"),\n\t\t\tPasswordExpiryWarning: pulumi.String(\"disable\"),\n\t\t\tPasswordRenewal:       pulumi.String(\"disable\"),\n\t\t\tPort:                  pulumi.Int(389),\n\t\t\tSecure:                pulumi.String(\"disable\"),\n\t\t\tServer:                pulumi.String(\"1.1.1.1\"),\n\t\t\tServerIdentityCheck:   pulumi.String(\"disable\"),\n\t\t\tSourceIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tSslMinProtoVersion:    pulumi.String(\"default\"),\n\t\t\tType:                  pulumi.String(\"simple\"),\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.Ldap;\nimport com.pulumi.fortios.user.LdapArgs;\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 Ldap(\"trname\", LdapArgs.builder()\n            .accountKeyFilter(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\")\n            .accountKeyProcessing(\"same\")\n            .cnid(\"cn\")\n            .dn(\"EIWNCIEW\")\n            .groupMemberCheck(\"user-attr\")\n            .groupObjectFilter(\"(&(objectcategory=group)(member=*))\")\n            .memberAttr(\"memberOf\")\n            .passwordExpiryWarning(\"disable\")\n            .passwordRenewal(\"disable\")\n            .port(389)\n            .secure(\"disable\")\n            .server(\"1.1.1.1\")\n            .serverIdentityCheck(\"disable\")\n            .sourceIp(\"0.0.0.0\")\n            .sslMinProtoVersion(\"default\")\n            .type(\"simple\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Ldap\n    properties:\n      accountKeyFilter: (&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\n      accountKeyProcessing: same\n      cnid: cn\n      dn: EIWNCIEW\n      groupMemberCheck: user-attr\n      groupObjectFilter: (&(objectcategory=group)(member=*))\n      memberAttr: memberOf\n      passwordExpiryWarning: disable\n      passwordRenewal: disable\n      port: 389\n      secure: disable\n      server: 1.1.1.1\n      serverIdentityCheck: disable\n      sourceIp: 0.0.0.0\n      sslMinProtoVersion: default\n      type: simple\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Ldap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/ldap:Ldap 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:user/ldap:Ldap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accountKeyCertField": {
          "type": "string",
          "description": "Define subject identity field in certificate for user access right checking.\n"
        },
        "accountKeyFilter": {
          "type": "string",
          "description": "Account key filter, using the UPN as the search filter.\n"
        },
        "accountKeyProcessing": {
          "type": "string",
          "description": "Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`.\n"
        },
        "accountKeyUpnSan": {
          "type": "string",
          "description": "Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`.\n"
        },
        "antiphish": {
          "type": "string",
          "description": "Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA certificate name.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Client certificate name.\n"
        },
        "clientCertAuth": {
          "type": "string",
          "description": "Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`.\n"
        },
        "cnid": {
          "type": "string",
          "description": "Common name identifier for the LDAP server. The common name identifier for most LDAP servers is \"cn\".\n"
        },
        "dn": {
          "type": "string",
          "description": "Distinguished name used to look up entries on the LDAP server.\n"
        },
        "groupFilter": {
          "type": "string",
          "description": "Filter used for group matching.\n"
        },
        "groupMemberCheck": {
          "type": "string",
          "description": "Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`.\n"
        },
        "groupObjectFilter": {
          "type": "string",
          "description": "Filter used for group searching.\n"
        },
        "groupSearchBase": {
          "type": "string",
          "description": "Search base used for group searching.\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"
        },
        "memberAttr": {
          "type": "string",
          "description": "Name of attribute from which to get group membership.\n"
        },
        "name": {
          "type": "string",
          "description": "LDAP server entry name.\n"
        },
        "obtainUserInfo": {
          "type": "string",
          "description": "Enable/disable obtaining of user information. Valid values: `enable`, `disable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for initial binding.\n",
          "secret": true
        },
        "passwordAttr": {
          "type": "string",
          "description": "Name of attribute to get password hash.\n"
        },
        "passwordExpiryWarning": {
          "type": "string",
          "description": "Enable/disable password expiry warnings. Valid values: `enable`, `disable`.\n"
        },
        "passwordRenewal": {
          "type": "string",
          "description": "Enable/disable online password renewal. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to be used for communication with the LDAP server (default = 389).\n"
        },
        "searchType": {
          "type": "string",
          "description": "Search type. Valid values: `recursive`.\n"
        },
        "secondaryServer": {
          "type": "string",
          "description": "Secondary LDAP server CN domain name or IP.\n"
        },
        "secure": {
          "type": "string",
          "description": "Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`.\n"
        },
        "server": {
          "type": "string",
          "description": "LDAP server CN domain name or IP.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications to LDAP server.\n"
        },
        "sourcePort": {
          "type": "integer",
          "description": "Source port to be used for communication with the LDAP server.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "tertiaryServer": {
          "type": "string",
          "description": "Tertiary LDAP server CN domain name or IP.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorFilter": {
          "type": "string",
          "description": "Filter used to synchronize users to FortiToken Cloud.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "type": {
          "type": "string",
          "description": "Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`.\n"
        },
        "userInfoExchangeServer": {
          "type": "string",
          "description": "MS Exchange server from which to fetch user information.\n"
        },
        "username": {
          "type": "string",
          "description": "Username (full DN) for initial binding.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "accountKeyCertField",
        "accountKeyFilter",
        "accountKeyProcessing",
        "accountKeyUpnSan",
        "antiphish",
        "caCert",
        "clientCert",
        "clientCertAuth",
        "cnid",
        "dn",
        "groupFilter",
        "groupMemberCheck",
        "groupObjectFilter",
        "groupSearchBase",
        "interface",
        "interfaceSelectMethod",
        "memberAttr",
        "name",
        "obtainUserInfo",
        "passwordAttr",
        "passwordExpiryWarning",
        "passwordRenewal",
        "port",
        "searchType",
        "secondaryServer",
        "secure",
        "server",
        "serverIdentityCheck",
        "sourceIp",
        "sourcePort",
        "sslMinProtoVersion",
        "statusTtl",
        "tertiaryServer",
        "twoFactor",
        "twoFactorAuthentication",
        "twoFactorFilter",
        "twoFactorNotification",
        "type",
        "userInfoExchangeServer",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "accountKeyCertField": {
          "type": "string",
          "description": "Define subject identity field in certificate for user access right checking.\n"
        },
        "accountKeyFilter": {
          "type": "string",
          "description": "Account key filter, using the UPN as the search filter.\n"
        },
        "accountKeyProcessing": {
          "type": "string",
          "description": "Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`.\n"
        },
        "accountKeyUpnSan": {
          "type": "string",
          "description": "Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`.\n"
        },
        "antiphish": {
          "type": "string",
          "description": "Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA certificate name.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Client certificate name.\n"
        },
        "clientCertAuth": {
          "type": "string",
          "description": "Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`.\n"
        },
        "cnid": {
          "type": "string",
          "description": "Common name identifier for the LDAP server. The common name identifier for most LDAP servers is \"cn\".\n"
        },
        "dn": {
          "type": "string",
          "description": "Distinguished name used to look up entries on the LDAP server.\n"
        },
        "groupFilter": {
          "type": "string",
          "description": "Filter used for group matching.\n"
        },
        "groupMemberCheck": {
          "type": "string",
          "description": "Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`.\n"
        },
        "groupObjectFilter": {
          "type": "string",
          "description": "Filter used for group searching.\n"
        },
        "groupSearchBase": {
          "type": "string",
          "description": "Search base used for group searching.\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"
        },
        "memberAttr": {
          "type": "string",
          "description": "Name of attribute from which to get group membership.\n"
        },
        "name": {
          "type": "string",
          "description": "LDAP server entry name.\n",
          "willReplaceOnChanges": true
        },
        "obtainUserInfo": {
          "type": "string",
          "description": "Enable/disable obtaining of user information. Valid values: `enable`, `disable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for initial binding.\n",
          "secret": true
        },
        "passwordAttr": {
          "type": "string",
          "description": "Name of attribute to get password hash.\n"
        },
        "passwordExpiryWarning": {
          "type": "string",
          "description": "Enable/disable password expiry warnings. Valid values: `enable`, `disable`.\n"
        },
        "passwordRenewal": {
          "type": "string",
          "description": "Enable/disable online password renewal. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to be used for communication with the LDAP server (default = 389).\n"
        },
        "searchType": {
          "type": "string",
          "description": "Search type. Valid values: `recursive`.\n"
        },
        "secondaryServer": {
          "type": "string",
          "description": "Secondary LDAP server CN domain name or IP.\n"
        },
        "secure": {
          "type": "string",
          "description": "Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`.\n"
        },
        "server": {
          "type": "string",
          "description": "LDAP server CN domain name or IP.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP for communications to LDAP server.\n"
        },
        "sourcePort": {
          "type": "integer",
          "description": "Source port to be used for communication with the LDAP server.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "tertiaryServer": {
          "type": "string",
          "description": "Tertiary LDAP server CN domain name or IP.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorFilter": {
          "type": "string",
          "description": "Filter used to synchronize users to FortiToken Cloud.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "type": {
          "type": "string",
          "description": "Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`.\n"
        },
        "userInfoExchangeServer": {
          "type": "string",
          "description": "MS Exchange server from which to fetch user information.\n"
        },
        "username": {
          "type": "string",
          "description": "Username (full DN) for initial binding.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "dn",
        "server"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ldap resources.\n",
        "properties": {
          "accountKeyCertField": {
            "type": "string",
            "description": "Define subject identity field in certificate for user access right checking.\n"
          },
          "accountKeyFilter": {
            "type": "string",
            "description": "Account key filter, using the UPN as the search filter.\n"
          },
          "accountKeyProcessing": {
            "type": "string",
            "description": "Account key processing operation, either keep or strip domain string of UPN in the token. Valid values: `same`, `strip`.\n"
          },
          "accountKeyUpnSan": {
            "type": "string",
            "description": "Define SAN in certificate for user principle name matching. Valid values: `othername`, `rfc822name`, `dnsname`.\n"
          },
          "antiphish": {
            "type": "string",
            "description": "Enable/disable AntiPhishing credential backend. Valid values: `enable`, `disable`.\n"
          },
          "caCert": {
            "type": "string",
            "description": "CA certificate name.\n"
          },
          "clientCert": {
            "type": "string",
            "description": "Client certificate name.\n"
          },
          "clientCertAuth": {
            "type": "string",
            "description": "Enable/disable using client certificate for TLS authentication. Valid values: `enable`, `disable`.\n"
          },
          "cnid": {
            "type": "string",
            "description": "Common name identifier for the LDAP server. The common name identifier for most LDAP servers is \"cn\".\n"
          },
          "dn": {
            "type": "string",
            "description": "Distinguished name used to look up entries on the LDAP server.\n"
          },
          "groupFilter": {
            "type": "string",
            "description": "Filter used for group matching.\n"
          },
          "groupMemberCheck": {
            "type": "string",
            "description": "Group member checking methods. Valid values: `user-attr`, `group-object`, `posix-group-object`.\n"
          },
          "groupObjectFilter": {
            "type": "string",
            "description": "Filter used for group searching.\n"
          },
          "groupSearchBase": {
            "type": "string",
            "description": "Search base used for group searching.\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"
          },
          "memberAttr": {
            "type": "string",
            "description": "Name of attribute from which to get group membership.\n"
          },
          "name": {
            "type": "string",
            "description": "LDAP server entry name.\n",
            "willReplaceOnChanges": true
          },
          "obtainUserInfo": {
            "type": "string",
            "description": "Enable/disable obtaining of user information. Valid values: `enable`, `disable`.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for initial binding.\n",
            "secret": true
          },
          "passwordAttr": {
            "type": "string",
            "description": "Name of attribute to get password hash.\n"
          },
          "passwordExpiryWarning": {
            "type": "string",
            "description": "Enable/disable password expiry warnings. Valid values: `enable`, `disable`.\n"
          },
          "passwordRenewal": {
            "type": "string",
            "description": "Enable/disable online password renewal. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Port to be used for communication with the LDAP server (default = 389).\n"
          },
          "searchType": {
            "type": "string",
            "description": "Search type. Valid values: `recursive`.\n"
          },
          "secondaryServer": {
            "type": "string",
            "description": "Secondary LDAP server CN domain name or IP.\n"
          },
          "secure": {
            "type": "string",
            "description": "Port to be used for authentication. Valid values: `disable`, `starttls`, `ldaps`.\n"
          },
          "server": {
            "type": "string",
            "description": "LDAP server CN domain name or IP.\n"
          },
          "serverIdentityCheck": {
            "type": "string",
            "description": "Enable/disable LDAP server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP for communications to LDAP server.\n"
          },
          "sourcePort": {
            "type": "integer",
            "description": "Source port to be used for communication with the LDAP server.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "statusTtl": {
            "type": "integer",
            "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
          },
          "tertiaryServer": {
            "type": "string",
            "description": "Tertiary LDAP server CN domain name or IP.\n"
          },
          "twoFactor": {
            "type": "string",
            "description": "Enable/disable two-factor authentication. Valid values: `disable`, `fortitoken-cloud`.\n"
          },
          "twoFactorAuthentication": {
            "type": "string",
            "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
          },
          "twoFactorFilter": {
            "type": "string",
            "description": "Filter used to synchronize users to FortiToken Cloud.\n"
          },
          "twoFactorNotification": {
            "type": "string",
            "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
          },
          "type": {
            "type": "string",
            "description": "Authentication type for LDAP searches. Valid values: `simple`, `anonymous`, `regular`.\n"
          },
          "userInfoExchangeServer": {
            "type": "string",
            "description": "MS Exchange server from which to fetch user information.\n"
          },
          "username": {
            "type": "string",
            "description": "Username (full DN) for initial binding.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/local:Local": {
      "description": "Configure local users.\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.Ldap(\"trname3\", {\n    accountKeyFilter: \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    accountKeyProcessing: \"same\",\n    cnid: \"cn\",\n    dn: \"EIWNCIEW\",\n    groupMemberCheck: \"user-attr\",\n    groupObjectFilter: \"(&(objectcategory=group)(member=*))\",\n    memberAttr: \"memberOf\",\n    passwordExpiryWarning: \"disable\",\n    passwordRenewal: \"disable\",\n    port: 389,\n    secure: \"disable\",\n    server: \"1.1.1.1\",\n    serverIdentityCheck: \"disable\",\n    sourceIp: \"0.0.0.0\",\n    sslMinProtoVersion: \"default\",\n    type: \"simple\",\n});\nconst trname = new fortios.user.Local(\"trname\", {\n    authConcurrentOverride: \"disable\",\n    authConcurrentValue: 0,\n    authtimeout: 0,\n    ldapServer: trname3.name,\n    passwdTime: \"0000-00-00 00:00:00\",\n    smsServer: \"fortiguard\",\n    status: \"enable\",\n    twoFactor: \"disable\",\n    type: \"ldap\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname3 = fortios.user.Ldap(\"trname3\",\n    account_key_filter=\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n    account_key_processing=\"same\",\n    cnid=\"cn\",\n    dn=\"EIWNCIEW\",\n    group_member_check=\"user-attr\",\n    group_object_filter=\"(&(objectcategory=group)(member=*))\",\n    member_attr=\"memberOf\",\n    password_expiry_warning=\"disable\",\n    password_renewal=\"disable\",\n    port=389,\n    secure=\"disable\",\n    server=\"1.1.1.1\",\n    server_identity_check=\"disable\",\n    source_ip=\"0.0.0.0\",\n    ssl_min_proto_version=\"default\",\n    type=\"simple\")\ntrname = fortios.user.Local(\"trname\",\n    auth_concurrent_override=\"disable\",\n    auth_concurrent_value=0,\n    authtimeout=0,\n    ldap_server=trname3.name,\n    passwd_time=\"0000-00-00 00:00:00\",\n    sms_server=\"fortiguard\",\n    status=\"enable\",\n    two_factor=\"disable\",\n    type=\"ldap\")\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.Ldap(\"trname3\", new()\n    {\n        AccountKeyFilter = \"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\",\n        AccountKeyProcessing = \"same\",\n        Cnid = \"cn\",\n        Dn = \"EIWNCIEW\",\n        GroupMemberCheck = \"user-attr\",\n        GroupObjectFilter = \"(&(objectcategory=group)(member=*))\",\n        MemberAttr = \"memberOf\",\n        PasswordExpiryWarning = \"disable\",\n        PasswordRenewal = \"disable\",\n        Port = 389,\n        Secure = \"disable\",\n        Server = \"1.1.1.1\",\n        ServerIdentityCheck = \"disable\",\n        SourceIp = \"0.0.0.0\",\n        SslMinProtoVersion = \"default\",\n        Type = \"simple\",\n    });\n\n    var trname = new Fortios.User.Local(\"trname\", new()\n    {\n        AuthConcurrentOverride = \"disable\",\n        AuthConcurrentValue = 0,\n        Authtimeout = 0,\n        LdapServer = trname3.Name,\n        PasswdTime = \"0000-00-00 00:00:00\",\n        SmsServer = \"fortiguard\",\n        Status = \"enable\",\n        TwoFactor = \"disable\",\n        Type = \"ldap\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname3, err := user.NewLdap(ctx, \"trname3\", &user.LdapArgs{\n\t\t\tAccountKeyFilter:      pulumi.String(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\"),\n\t\t\tAccountKeyProcessing:  pulumi.String(\"same\"),\n\t\t\tCnid:                  pulumi.String(\"cn\"),\n\t\t\tDn:                    pulumi.String(\"EIWNCIEW\"),\n\t\t\tGroupMemberCheck:      pulumi.String(\"user-attr\"),\n\t\t\tGroupObjectFilter:     pulumi.String(\"(&(objectcategory=group)(member=*))\"),\n\t\t\tMemberAttr:            pulumi.String(\"memberOf\"),\n\t\t\tPasswordExpiryWarning: pulumi.String(\"disable\"),\n\t\t\tPasswordRenewal:       pulumi.String(\"disable\"),\n\t\t\tPort:                  pulumi.Int(389),\n\t\t\tSecure:                pulumi.String(\"disable\"),\n\t\t\tServer:                pulumi.String(\"1.1.1.1\"),\n\t\t\tServerIdentityCheck:   pulumi.String(\"disable\"),\n\t\t\tSourceIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tSslMinProtoVersion:    pulumi.String(\"default\"),\n\t\t\tType:                  pulumi.String(\"simple\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = user.NewLocal(ctx, \"trname\", &user.LocalArgs{\n\t\t\tAuthConcurrentOverride: pulumi.String(\"disable\"),\n\t\t\tAuthConcurrentValue:    pulumi.Int(0),\n\t\t\tAuthtimeout:            pulumi.Int(0),\n\t\t\tLdapServer:             trname3.Name,\n\t\t\tPasswdTime:             pulumi.String(\"0000-00-00 00:00:00\"),\n\t\t\tSmsServer:              pulumi.String(\"fortiguard\"),\n\t\t\tStatus:                 pulumi.String(\"enable\"),\n\t\t\tTwoFactor:              pulumi.String(\"disable\"),\n\t\t\tType:                   pulumi.String(\"ldap\"),\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.Ldap;\nimport com.pulumi.fortios.user.LdapArgs;\nimport com.pulumi.fortios.user.Local;\nimport com.pulumi.fortios.user.LocalArgs;\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 Ldap(\"trname3\", LdapArgs.builder()\n            .accountKeyFilter(\"(&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\")\n            .accountKeyProcessing(\"same\")\n            .cnid(\"cn\")\n            .dn(\"EIWNCIEW\")\n            .groupMemberCheck(\"user-attr\")\n            .groupObjectFilter(\"(&(objectcategory=group)(member=*))\")\n            .memberAttr(\"memberOf\")\n            .passwordExpiryWarning(\"disable\")\n            .passwordRenewal(\"disable\")\n            .port(389)\n            .secure(\"disable\")\n            .server(\"1.1.1.1\")\n            .serverIdentityCheck(\"disable\")\n            .sourceIp(\"0.0.0.0\")\n            .sslMinProtoVersion(\"default\")\n            .type(\"simple\")\n            .build());\n\n        var trname = new Local(\"trname\", LocalArgs.builder()\n            .authConcurrentOverride(\"disable\")\n            .authConcurrentValue(0)\n            .authtimeout(0)\n            .ldapServer(trname3.name())\n            .passwdTime(\"0000-00-00 00:00:00\")\n            .smsServer(\"fortiguard\")\n            .status(\"enable\")\n            .twoFactor(\"disable\")\n            .type(\"ldap\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname3:\n    type: fortios:user:Ldap\n    properties:\n      accountKeyFilter: (&(userPrincipalName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))\n      accountKeyProcessing: same\n      cnid: cn\n      dn: EIWNCIEW\n      groupMemberCheck: user-attr\n      groupObjectFilter: (&(objectcategory=group)(member=*))\n      memberAttr: memberOf\n      passwordExpiryWarning: disable\n      passwordRenewal: disable\n      port: 389\n      secure: disable\n      server: 1.1.1.1\n      serverIdentityCheck: disable\n      sourceIp: 0.0.0.0\n      sslMinProtoVersion: default\n      type: simple\n  trname:\n    type: fortios:user:Local\n    properties:\n      authConcurrentOverride: disable\n      authConcurrentValue: 0\n      authtimeout: 0\n      ldapServer: ${trname3.name}\n      passwdTime: 0000-00-00 00:00:00\n      smsServer: fortiguard\n      status: enable\n      twoFactor: disable\n      type: ldap\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Local can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/local:Local 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:user/local:Local labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authConcurrentOverride": {
          "type": "string",
          "description": "Enable/disable overriding the policy-auth-concurrent under config system global. Valid values: `enable`, `disable`.\n"
        },
        "authConcurrentValue": {
          "type": "integer",
          "description": "Maximum number of concurrent logins permitted from the same user.\n"
        },
        "authtimeout": {
          "type": "integer",
          "description": "Time in minutes before the authentication timeout for a user is reached.\n"
        },
        "emailTo": {
          "type": "string",
          "description": "Two-factor recipient's email address.\n"
        },
        "fortitoken": {
          "type": "string",
          "description": "Two-factor recipient's FortiToken serial number.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "User ID.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "Name of LDAP server with which the user must authenticate.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n"
        },
        "passwd": {
          "type": "string",
          "description": "User's password.\n",
          "secret": true
        },
        "passwdPolicy": {
          "type": "string",
          "description": "Password policy to apply to this user, as defined in config user password-policy.\n"
        },
        "passwdTime": {
          "type": "string",
          "description": "Time of the last password update.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) profile.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "Name of RADIUS server with which the user must authenticate.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "Two-factor recipient's SMS server.\n"
        },
        "smsPhone": {
          "type": "string",
          "description": "Two-factor recipient's mobile phone number.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable allowing the local user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
        },
        "tacacsServer": {
          "type": "string",
          "description": "Name of TACACS+ server with which the user must authenticate.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "type": {
          "type": "string",
          "description": "Authentication method. Valid values: `password`, `radius`, `tacacs+`, `ldap`.\n"
        },
        "usernameCaseInsensitivity": {
          "type": "string",
          "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `enable`, `disable`.\n"
        },
        "usernameCaseSensitivity": {
          "type": "string",
          "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `disable`, `enable`.\n"
        },
        "usernameSensitivity": {
          "type": "string",
          "description": "Enable/disable case and accent sensitivity when performing username matching (accents are stripped and case is ignored when disabled). 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"
        },
        "workstation": {
          "type": "string",
          "description": "Name of the remote user workstation, if you want to limit the user to authenticate only from a particular workstation.\n"
        }
      },
      "type": "object",
      "required": [
        "authConcurrentOverride",
        "authConcurrentValue",
        "authtimeout",
        "emailTo",
        "fortitoken",
        "fosid",
        "ldapServer",
        "name",
        "passwdPolicy",
        "passwdTime",
        "ppkIdentity",
        "qkdProfile",
        "radiusServer",
        "smsCustomServer",
        "smsPhone",
        "smsServer",
        "status",
        "tacacsServer",
        "twoFactor",
        "twoFactorAuthentication",
        "twoFactorNotification",
        "type",
        "usernameCaseInsensitivity",
        "usernameCaseSensitivity",
        "usernameSensitivity",
        "vdomparam",
        "workstation"
      ],
      "inputProperties": {
        "authConcurrentOverride": {
          "type": "string",
          "description": "Enable/disable overriding the policy-auth-concurrent under config system global. Valid values: `enable`, `disable`.\n"
        },
        "authConcurrentValue": {
          "type": "integer",
          "description": "Maximum number of concurrent logins permitted from the same user.\n"
        },
        "authtimeout": {
          "type": "integer",
          "description": "Time in minutes before the authentication timeout for a user is reached.\n"
        },
        "emailTo": {
          "type": "string",
          "description": "Two-factor recipient's email address.\n"
        },
        "fortitoken": {
          "type": "string",
          "description": "Two-factor recipient's FortiToken serial number.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "User ID.\n"
        },
        "ldapServer": {
          "type": "string",
          "description": "Name of LDAP server with which the user must authenticate.\n"
        },
        "name": {
          "type": "string",
          "description": "User name.\n",
          "willReplaceOnChanges": true
        },
        "passwd": {
          "type": "string",
          "description": "User's password.\n",
          "secret": true
        },
        "passwdPolicy": {
          "type": "string",
          "description": "Password policy to apply to this user, as defined in config user password-policy.\n"
        },
        "passwdTime": {
          "type": "string",
          "description": "Time of the last password update.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) profile.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "Name of RADIUS server with which the user must authenticate.\n"
        },
        "smsCustomServer": {
          "type": "string",
          "description": "Two-factor recipient's SMS server.\n"
        },
        "smsPhone": {
          "type": "string",
          "description": "Two-factor recipient's mobile phone number.\n"
        },
        "smsServer": {
          "type": "string",
          "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable allowing the local user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
        },
        "tacacsServer": {
          "type": "string",
          "description": "Name of TACACS+ server with which the user must authenticate.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication.\n"
        },
        "twoFactorAuthentication": {
          "type": "string",
          "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
        },
        "twoFactorNotification": {
          "type": "string",
          "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
        },
        "type": {
          "type": "string",
          "description": "Authentication method. Valid values: `password`, `radius`, `tacacs+`, `ldap`.\n"
        },
        "usernameCaseInsensitivity": {
          "type": "string",
          "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `enable`, `disable`.\n"
        },
        "usernameCaseSensitivity": {
          "type": "string",
          "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `disable`, `enable`.\n"
        },
        "usernameSensitivity": {
          "type": "string",
          "description": "Enable/disable case and accent sensitivity when performing username matching (accents are stripped and case is ignored when disabled). 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
        },
        "workstation": {
          "type": "string",
          "description": "Name of the remote user workstation, if you want to limit the user to authenticate only from a particular workstation.\n"
        }
      },
      "requiredInputs": [
        "status",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Local resources.\n",
        "properties": {
          "authConcurrentOverride": {
            "type": "string",
            "description": "Enable/disable overriding the policy-auth-concurrent under config system global. Valid values: `enable`, `disable`.\n"
          },
          "authConcurrentValue": {
            "type": "integer",
            "description": "Maximum number of concurrent logins permitted from the same user.\n"
          },
          "authtimeout": {
            "type": "integer",
            "description": "Time in minutes before the authentication timeout for a user is reached.\n"
          },
          "emailTo": {
            "type": "string",
            "description": "Two-factor recipient's email address.\n"
          },
          "fortitoken": {
            "type": "string",
            "description": "Two-factor recipient's FortiToken serial number.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "User ID.\n"
          },
          "ldapServer": {
            "type": "string",
            "description": "Name of LDAP server with which the user must authenticate.\n"
          },
          "name": {
            "type": "string",
            "description": "User name.\n",
            "willReplaceOnChanges": true
          },
          "passwd": {
            "type": "string",
            "description": "User's password.\n",
            "secret": true
          },
          "passwdPolicy": {
            "type": "string",
            "description": "Password policy to apply to this user, as defined in config user password-policy.\n"
          },
          "passwdTime": {
            "type": "string",
            "description": "Time of the last password update.\n"
          },
          "ppkIdentity": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key Identity.\n"
          },
          "ppkSecret": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "qkdProfile": {
            "type": "string",
            "description": "Quantum Key Distribution (QKD) profile.\n"
          },
          "radiusServer": {
            "type": "string",
            "description": "Name of RADIUS server with which the user must authenticate.\n"
          },
          "smsCustomServer": {
            "type": "string",
            "description": "Two-factor recipient's SMS server.\n"
          },
          "smsPhone": {
            "type": "string",
            "description": "Two-factor recipient's mobile phone number.\n"
          },
          "smsServer": {
            "type": "string",
            "description": "Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable allowing the local user to authenticate with the FortiGate unit. Valid values: `enable`, `disable`.\n"
          },
          "tacacsServer": {
            "type": "string",
            "description": "Name of TACACS+ server with which the user must authenticate.\n"
          },
          "twoFactor": {
            "type": "string",
            "description": "Enable/disable two-factor authentication.\n"
          },
          "twoFactorAuthentication": {
            "type": "string",
            "description": "Authentication method by FortiToken Cloud. Valid values: `fortitoken`, `email`, `sms`.\n"
          },
          "twoFactorNotification": {
            "type": "string",
            "description": "Notification method for user activation by FortiToken Cloud. Valid values: `email`, `sms`.\n"
          },
          "type": {
            "type": "string",
            "description": "Authentication method. Valid values: `password`, `radius`, `tacacs+`, `ldap`.\n"
          },
          "usernameCaseInsensitivity": {
            "type": "string",
            "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `enable`, `disable`.\n"
          },
          "usernameCaseSensitivity": {
            "type": "string",
            "description": "Enable/disable case sensitivity when performing username matching (uppercase and lowercase letters are treated either as distinct or equivalent). Valid values: `disable`, `enable`.\n"
          },
          "usernameSensitivity": {
            "type": "string",
            "description": "Enable/disable case and accent sensitivity when performing username matching (accents are stripped and case is ignored when disabled). 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
          },
          "workstation": {
            "type": "string",
            "description": "Name of the remote user workstation, if you want to limit the user to authenticate only from a particular workstation.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:user/nacpolicy:Nacpolicy": {
      "description": "Configure NAC policy matching pattern to identify matching NAC devices. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nUser NacPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/nacpolicy:Nacpolicy 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:user/nacpolicy:Nacpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "category": {
          "type": "string",
          "description": "Category of NAC policy.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the NAC policy matching pattern.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emsTag": {
          "type": "string",
          "description": "NAC policy matching EMS tag.\n"
        },
        "family": {
          "type": "string",
          "description": "NAC policy matching family.\n"
        },
        "firewallAddress": {
          "type": "string",
          "description": "Dynamic firewall address to associate MAC which match this policy.\n"
        },
        "fortivoiceTag": {
          "type": "string",
          "description": "NAC policy matching FortiVoice tag.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "NAC policy matching host.\n"
        },
        "hwVendor": {
          "type": "string",
          "description": "NAC policy matching hardware vendor.\n"
        },
        "hwVersion": {
          "type": "string",
          "description": "NAC policy matching hardware version.\n"
        },
        "mac": {
          "type": "string",
          "description": "NAC policy matching MAC address.\n"
        },
        "matchPeriod": {
          "type": "integer",
          "description": "Number of days the matched devices will be retained (0 - always retain)\n"
        },
        "matchType": {
          "type": "string",
          "description": "Match and retain the devices based on the type. Valid values: `dynamic`, `override`.\n"
        },
        "name": {
          "type": "string",
          "description": "NAC policy name.\n"
        },
        "os": {
          "type": "string",
          "description": "NAC policy matching operating system.\n"
        },
        "severities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySeverity:NacpolicySeverity"
          },
          "description": "NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.\n"
        },
        "src": {
          "type": "string",
          "description": "NAC policy matching source.\n"
        },
        "ssidPolicy": {
          "type": "string",
          "description": "SSID policy to be applied on the matched NAC policy.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NAC policy. Valid values: `enable`, `disable`.\n"
        },
        "swVersion": {
          "type": "string",
          "description": "NAC policy matching software version.\n"
        },
        "switchAutoAuth": {
          "type": "string",
          "description": "NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.\n"
        },
        "switchFortilink": {
          "type": "string",
          "description": "FortiLink interface for which this NAC policy belongs to.\n"
        },
        "switchGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySwitchGroup:NacpolicySwitchGroup"
          },
          "description": "List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switch_group` block is documented below.\n"
        },
        "switchMacPolicy": {
          "type": "string",
          "description": "switch-mac-policy to be applied on the matched NAC policy.\n"
        },
        "switchPortPolicy": {
          "type": "string",
          "description": "switch-port-policy to be applied on the matched NAC policy.\n"
        },
        "switchScopes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySwitchScope:NacpolicySwitchScope"
          },
          "description": "List of managed FortiSwitches on which NAC policy can be applied. The structure of `switch_scope` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "NAC policy matching type.\n"
        },
        "user": {
          "type": "string",
          "description": "NAC policy matching user.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "NAC policy matching user 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"
        }
      },
      "type": "object",
      "required": [
        "category",
        "description",
        "emsTag",
        "family",
        "firewallAddress",
        "fortivoiceTag",
        "host",
        "hwVendor",
        "hwVersion",
        "mac",
        "matchPeriod",
        "matchType",
        "name",
        "os",
        "src",
        "ssidPolicy",
        "status",
        "swVersion",
        "switchAutoAuth",
        "switchFortilink",
        "switchMacPolicy",
        "switchPortPolicy",
        "type",
        "user",
        "userGroup",
        "vdomparam"
      ],
      "inputProperties": {
        "category": {
          "type": "string",
          "description": "Category of NAC policy.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the NAC policy matching pattern.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emsTag": {
          "type": "string",
          "description": "NAC policy matching EMS tag.\n"
        },
        "family": {
          "type": "string",
          "description": "NAC policy matching family.\n"
        },
        "firewallAddress": {
          "type": "string",
          "description": "Dynamic firewall address to associate MAC which match this policy.\n"
        },
        "fortivoiceTag": {
          "type": "string",
          "description": "NAC policy matching FortiVoice tag.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "NAC policy matching host.\n"
        },
        "hwVendor": {
          "type": "string",
          "description": "NAC policy matching hardware vendor.\n"
        },
        "hwVersion": {
          "type": "string",
          "description": "NAC policy matching hardware version.\n"
        },
        "mac": {
          "type": "string",
          "description": "NAC policy matching MAC address.\n"
        },
        "matchPeriod": {
          "type": "integer",
          "description": "Number of days the matched devices will be retained (0 - always retain)\n"
        },
        "matchType": {
          "type": "string",
          "description": "Match and retain the devices based on the type. Valid values: `dynamic`, `override`.\n"
        },
        "name": {
          "type": "string",
          "description": "NAC policy name.\n",
          "willReplaceOnChanges": true
        },
        "os": {
          "type": "string",
          "description": "NAC policy matching operating system.\n"
        },
        "severities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySeverity:NacpolicySeverity"
          },
          "description": "NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.\n"
        },
        "src": {
          "type": "string",
          "description": "NAC policy matching source.\n"
        },
        "ssidPolicy": {
          "type": "string",
          "description": "SSID policy to be applied on the matched NAC policy.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NAC policy. Valid values: `enable`, `disable`.\n"
        },
        "swVersion": {
          "type": "string",
          "description": "NAC policy matching software version.\n"
        },
        "switchAutoAuth": {
          "type": "string",
          "description": "NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.\n"
        },
        "switchFortilink": {
          "type": "string",
          "description": "FortiLink interface for which this NAC policy belongs to.\n"
        },
        "switchGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySwitchGroup:NacpolicySwitchGroup"
          },
          "description": "List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switch_group` block is documented below.\n"
        },
        "switchMacPolicy": {
          "type": "string",
          "description": "switch-mac-policy to be applied on the matched NAC policy.\n"
        },
        "switchPortPolicy": {
          "type": "string",
          "description": "switch-port-policy to be applied on the matched NAC policy.\n"
        },
        "switchScopes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FNacpolicySwitchScope:NacpolicySwitchScope"
          },
          "description": "List of managed FortiSwitches on which NAC policy can be applied. The structure of `switch_scope` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "NAC policy matching type.\n"
        },
        "user": {
          "type": "string",
          "description": "NAC policy matching user.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "NAC policy matching user 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
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Nacpolicy resources.\n",
        "properties": {
          "category": {
            "type": "string",
            "description": "Category of NAC policy.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for the NAC policy matching pattern.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emsTag": {
            "type": "string",
            "description": "NAC policy matching EMS tag.\n"
          },
          "family": {
            "type": "string",
            "description": "NAC policy matching family.\n"
          },
          "firewallAddress": {
            "type": "string",
            "description": "Dynamic firewall address to associate MAC which match this policy.\n"
          },
          "fortivoiceTag": {
            "type": "string",
            "description": "NAC policy matching FortiVoice tag.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "NAC policy matching host.\n"
          },
          "hwVendor": {
            "type": "string",
            "description": "NAC policy matching hardware vendor.\n"
          },
          "hwVersion": {
            "type": "string",
            "description": "NAC policy matching hardware version.\n"
          },
          "mac": {
            "type": "string",
            "description": "NAC policy matching MAC address.\n"
          },
          "matchPeriod": {
            "type": "integer",
            "description": "Number of days the matched devices will be retained (0 - always retain)\n"
          },
          "matchType": {
            "type": "string",
            "description": "Match and retain the devices based on the type. Valid values: `dynamic`, `override`.\n"
          },
          "name": {
            "type": "string",
            "description": "NAC policy name.\n",
            "willReplaceOnChanges": true
          },
          "os": {
            "type": "string",
            "description": "NAC policy matching operating system.\n"
          },
          "severities": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FNacpolicySeverity:NacpolicySeverity"
            },
            "description": "NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.\n"
          },
          "src": {
            "type": "string",
            "description": "NAC policy matching source.\n"
          },
          "ssidPolicy": {
            "type": "string",
            "description": "SSID policy to be applied on the matched NAC policy.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable NAC policy. Valid values: `enable`, `disable`.\n"
          },
          "swVersion": {
            "type": "string",
            "description": "NAC policy matching software version.\n"
          },
          "switchAutoAuth": {
            "type": "string",
            "description": "NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.\n"
          },
          "switchFortilink": {
            "type": "string",
            "description": "FortiLink interface for which this NAC policy belongs to.\n"
          },
          "switchGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FNacpolicySwitchGroup:NacpolicySwitchGroup"
            },
            "description": "List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switch_group` block is documented below.\n"
          },
          "switchMacPolicy": {
            "type": "string",
            "description": "switch-mac-policy to be applied on the matched NAC policy.\n"
          },
          "switchPortPolicy": {
            "type": "string",
            "description": "switch-port-policy to be applied on the matched NAC policy.\n"
          },
          "switchScopes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FNacpolicySwitchScope:NacpolicySwitchScope"
            },
            "description": "List of managed FortiSwitches on which NAC policy can be applied. The structure of `switch_scope` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "NAC policy matching type.\n"
          },
          "user": {
            "type": "string",
            "description": "NAC policy matching user.\n"
          },
          "userGroup": {
            "type": "string",
            "description": "NAC policy matching user 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
          }
        },
        "type": "object"
      }
    },
    "fortios:user/passwordpolicy:Passwordpolicy": {
      "description": "Configure user password policy.\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.user.Passwordpolicy(\"trname\", {\n    expireDays: 22,\n    warnDays: 13,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Passwordpolicy(\"trname\",\n    expire_days=22,\n    warn_days=13)\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.User.Passwordpolicy(\"trname\", new()\n    {\n        ExpireDays = 22,\n        WarnDays = 13,\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewPasswordpolicy(ctx, \"trname\", &user.PasswordpolicyArgs{\n\t\t\tExpireDays: pulumi.Int(22),\n\t\t\tWarnDays:   pulumi.Int(13),\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.Passwordpolicy;\nimport com.pulumi.fortios.user.PasswordpolicyArgs;\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 Passwordpolicy(\"trname\", PasswordpolicyArgs.builder()\n            .expireDays(22)\n            .warnDays(13)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Passwordpolicy\n    properties:\n      expireDays: 22\n      warnDays: 13\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser PasswordPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/passwordpolicy:Passwordpolicy 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:user/passwordpolicy:Passwordpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "expireDays": {
          "type": "integer",
          "description": "Time in days before the user's password expires.\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "expiredPasswordRenewal": {
          "type": "string",
          "description": "Enable/disable renewal of a password that already is expired. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "name": {
          "type": "string",
          "description": "Password policy name.\n"
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. If both reuse-password and min-change-characters are enabled, min-change-characters overrides. 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"
        },
        "warnDays": {
          "type": "integer",
          "description": "Time in days before a password expiration warning message is displayed to the user upon login.\n"
        }
      },
      "type": "object",
      "required": [
        "expireDays",
        "expireStatus",
        "expiredPasswordRenewal",
        "minChangeCharacters",
        "minLowerCaseLetter",
        "minNonAlphanumeric",
        "minNumber",
        "minUpperCaseLetter",
        "minimumLength",
        "name",
        "reusePassword",
        "vdomparam",
        "warnDays"
      ],
      "inputProperties": {
        "expireDays": {
          "type": "integer",
          "description": "Time in days before the user's password expires.\n"
        },
        "expireStatus": {
          "type": "string",
          "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
        },
        "expiredPasswordRenewal": {
          "type": "string",
          "description": "Enable/disable renewal of a password that already is expired. Valid values: `enable`, `disable`.\n"
        },
        "minChangeCharacters": {
          "type": "integer",
          "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
        },
        "minLowerCaseLetter": {
          "type": "integer",
          "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
        },
        "minNonAlphanumeric": {
          "type": "integer",
          "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
        },
        "minNumber": {
          "type": "integer",
          "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
        },
        "minUpperCaseLetter": {
          "type": "integer",
          "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
        },
        "minimumLength": {
          "type": "integer",
          "description": "Minimum password length (8 - 128, default = 8).\n"
        },
        "name": {
          "type": "string",
          "description": "Password policy name.\n",
          "willReplaceOnChanges": true
        },
        "reusePassword": {
          "type": "string",
          "description": "Enable/disable reuse of password. If both reuse-password and min-change-characters are enabled, min-change-characters overrides. 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
        },
        "warnDays": {
          "type": "integer",
          "description": "Time in days before a password expiration warning message is displayed to the user upon login.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Passwordpolicy resources.\n",
        "properties": {
          "expireDays": {
            "type": "integer",
            "description": "Time in days before the user's password expires.\n"
          },
          "expireStatus": {
            "type": "string",
            "description": "Enable/disable password expiration. Valid values: `enable`, `disable`.\n"
          },
          "expiredPasswordRenewal": {
            "type": "string",
            "description": "Enable/disable renewal of a password that already is expired. Valid values: `enable`, `disable`.\n"
          },
          "minChangeCharacters": {
            "type": "integer",
            "description": "Minimum number of unique characters in new password which do not exist in old password (0 - 128, default = 0. This attribute overrides reuse-password if both are enabled).\n"
          },
          "minLowerCaseLetter": {
            "type": "integer",
            "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n"
          },
          "minNonAlphanumeric": {
            "type": "integer",
            "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n"
          },
          "minNumber": {
            "type": "integer",
            "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n"
          },
          "minUpperCaseLetter": {
            "type": "integer",
            "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n"
          },
          "minimumLength": {
            "type": "integer",
            "description": "Minimum password length (8 - 128, default = 8).\n"
          },
          "name": {
            "type": "string",
            "description": "Password policy name.\n",
            "willReplaceOnChanges": true
          },
          "reusePassword": {
            "type": "string",
            "description": "Enable/disable reuse of password. If both reuse-password and min-change-characters are enabled, min-change-characters overrides. 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
          },
          "warnDays": {
            "type": "integer",
            "description": "Time in days before a password expiration warning message is displayed to the user upon login.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:user/peer:Peer": {
      "description": "Configure peer users.\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.user.Peer(\"trname1\", {\n    ca: \"EC-ACC\",\n    cnType: \"string\",\n    ldapMode: \"password\",\n    mandatoryCaVerify: \"enable\",\n    twoFactor: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.user.Peer(\"trname1\",\n    ca=\"EC-ACC\",\n    cn_type=\"string\",\n    ldap_mode=\"password\",\n    mandatory_ca_verify=\"enable\",\n    two_factor=\"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 trname1 = new Fortios.User.Peer(\"trname1\", new()\n    {\n        Ca = \"EC-ACC\",\n        CnType = \"string\",\n        LdapMode = \"password\",\n        MandatoryCaVerify = \"enable\",\n        TwoFactor = \"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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewPeer(ctx, \"trname1\", &user.PeerArgs{\n\t\t\tCa:                pulumi.String(\"EC-ACC\"),\n\t\t\tCnType:            pulumi.String(\"string\"),\n\t\t\tLdapMode:          pulumi.String(\"password\"),\n\t\t\tMandatoryCaVerify: pulumi.String(\"enable\"),\n\t\t\tTwoFactor:         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.Peer;\nimport com.pulumi.fortios.user.PeerArgs;\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 Peer(\"trname1\", PeerArgs.builder()\n            .ca(\"EC-ACC\")\n            .cnType(\"string\")\n            .ldapMode(\"password\")\n            .mandatoryCaVerify(\"enable\")\n            .twoFactor(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:user:Peer\n    properties:\n      ca: EC-ACC\n      cnType: string\n      ldapMode: password\n      mandatoryCaVerify: enable\n      twoFactor: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Peer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/peer:Peer 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:user/peer:Peer labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ca": {
          "type": "string",
          "description": "Name of the CA certificate as returned by the execute vpn certificate ca list command.\n"
        },
        "cn": {
          "type": "string",
          "description": "Peer certificate common name.\n"
        },
        "cnType": {
          "type": "string",
          "description": "Peer certificate common name type. Valid values: `string`, `email`, `FQDN`, `ipv4`, `ipv6`.\n"
        },
        "ldapMode": {
          "type": "string",
          "description": "Mode for LDAP peer authentication. Valid values: `password`, `principal-name`.\n"
        },
        "ldapPassword": {
          "type": "string",
          "description": "Password for LDAP server bind.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "Name of an LDAP server defined under the user ldap command. Performs client access rights check.\n"
        },
        "ldapUsername": {
          "type": "string",
          "description": "Username for LDAP server bind.\n"
        },
        "mandatoryCaVerify": {
          "type": "string",
          "description": "Determine what happens to the peer if the CA certificate is not installed. Disable to automatically consider the peer certificate as valid. Valid values: `enable`, `disable`.\n"
        },
        "mfaMode": {
          "type": "string",
          "description": "MFA mode for remote peer authentication/authorization. Valid values: `none`, `password`, `subject-identity`.\n"
        },
        "mfaPassword": {
          "type": "string",
          "description": "Unified password for remote authentication. This field may be left empty when RADIUS authentication is used, in which case the FortiGate will use the RADIUS username as a password.\n"
        },
        "mfaServer": {
          "type": "string",
          "description": "Name of a remote authenticator. Performs client access right check.\n"
        },
        "mfaUsername": {
          "type": "string",
          "description": "Unified username for remote authentication.\n"
        },
        "name": {
          "type": "string",
          "description": "Peer name.\n"
        },
        "ocspOverrideServer": {
          "type": "string",
          "description": "Online Certificate Status Protocol (OCSP) server for certificate retrieval.\n"
        },
        "passwd": {
          "type": "string",
          "description": "Peer's password used for two-factor authentication.\n",
          "secret": true
        },
        "subject": {
          "type": "string",
          "description": "Peer certificate name constraints.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication, applying certificate and password-based authentication. 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": [
        "ca",
        "cn",
        "cnType",
        "ldapMode",
        "ldapServer",
        "ldapUsername",
        "mandatoryCaVerify",
        "mfaMode",
        "mfaServer",
        "mfaUsername",
        "name",
        "ocspOverrideServer",
        "subject",
        "twoFactor",
        "vdomparam"
      ],
      "inputProperties": {
        "ca": {
          "type": "string",
          "description": "Name of the CA certificate as returned by the execute vpn certificate ca list command.\n"
        },
        "cn": {
          "type": "string",
          "description": "Peer certificate common name.\n"
        },
        "cnType": {
          "type": "string",
          "description": "Peer certificate common name type. Valid values: `string`, `email`, `FQDN`, `ipv4`, `ipv6`.\n"
        },
        "ldapMode": {
          "type": "string",
          "description": "Mode for LDAP peer authentication. Valid values: `password`, `principal-name`.\n"
        },
        "ldapPassword": {
          "type": "string",
          "description": "Password for LDAP server bind.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "Name of an LDAP server defined under the user ldap command. Performs client access rights check.\n"
        },
        "ldapUsername": {
          "type": "string",
          "description": "Username for LDAP server bind.\n"
        },
        "mandatoryCaVerify": {
          "type": "string",
          "description": "Determine what happens to the peer if the CA certificate is not installed. Disable to automatically consider the peer certificate as valid. Valid values: `enable`, `disable`.\n"
        },
        "mfaMode": {
          "type": "string",
          "description": "MFA mode for remote peer authentication/authorization. Valid values: `none`, `password`, `subject-identity`.\n"
        },
        "mfaPassword": {
          "type": "string",
          "description": "Unified password for remote authentication. This field may be left empty when RADIUS authentication is used, in which case the FortiGate will use the RADIUS username as a password.\n"
        },
        "mfaServer": {
          "type": "string",
          "description": "Name of a remote authenticator. Performs client access right check.\n"
        },
        "mfaUsername": {
          "type": "string",
          "description": "Unified username for remote authentication.\n"
        },
        "name": {
          "type": "string",
          "description": "Peer name.\n",
          "willReplaceOnChanges": true
        },
        "ocspOverrideServer": {
          "type": "string",
          "description": "Online Certificate Status Protocol (OCSP) server for certificate retrieval.\n"
        },
        "passwd": {
          "type": "string",
          "description": "Peer's password used for two-factor authentication.\n",
          "secret": true
        },
        "subject": {
          "type": "string",
          "description": "Peer certificate name constraints.\n"
        },
        "twoFactor": {
          "type": "string",
          "description": "Enable/disable two-factor authentication, applying certificate and password-based authentication. 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 Peer resources.\n",
        "properties": {
          "ca": {
            "type": "string",
            "description": "Name of the CA certificate as returned by the execute vpn certificate ca list command.\n"
          },
          "cn": {
            "type": "string",
            "description": "Peer certificate common name.\n"
          },
          "cnType": {
            "type": "string",
            "description": "Peer certificate common name type. Valid values: `string`, `email`, `FQDN`, `ipv4`, `ipv6`.\n"
          },
          "ldapMode": {
            "type": "string",
            "description": "Mode for LDAP peer authentication. Valid values: `password`, `principal-name`.\n"
          },
          "ldapPassword": {
            "type": "string",
            "description": "Password for LDAP server bind.\n",
            "secret": true
          },
          "ldapServer": {
            "type": "string",
            "description": "Name of an LDAP server defined under the user ldap command. Performs client access rights check.\n"
          },
          "ldapUsername": {
            "type": "string",
            "description": "Username for LDAP server bind.\n"
          },
          "mandatoryCaVerify": {
            "type": "string",
            "description": "Determine what happens to the peer if the CA certificate is not installed. Disable to automatically consider the peer certificate as valid. Valid values: `enable`, `disable`.\n"
          },
          "mfaMode": {
            "type": "string",
            "description": "MFA mode for remote peer authentication/authorization. Valid values: `none`, `password`, `subject-identity`.\n"
          },
          "mfaPassword": {
            "type": "string",
            "description": "Unified password for remote authentication. This field may be left empty when RADIUS authentication is used, in which case the FortiGate will use the RADIUS username as a password.\n"
          },
          "mfaServer": {
            "type": "string",
            "description": "Name of a remote authenticator. Performs client access right check.\n"
          },
          "mfaUsername": {
            "type": "string",
            "description": "Unified username for remote authentication.\n"
          },
          "name": {
            "type": "string",
            "description": "Peer name.\n",
            "willReplaceOnChanges": true
          },
          "ocspOverrideServer": {
            "type": "string",
            "description": "Online Certificate Status Protocol (OCSP) server for certificate retrieval.\n"
          },
          "passwd": {
            "type": "string",
            "description": "Peer's password used for two-factor authentication.\n",
            "secret": true
          },
          "subject": {
            "type": "string",
            "description": "Peer certificate name constraints.\n"
          },
          "twoFactor": {
            "type": "string",
            "description": "Enable/disable two-factor authentication, applying certificate and password-based authentication. 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:user/peergrp:Peergrp": {
      "description": "Configure peer 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 trname2 = new fortios.user.Peer(\"trname2\", {\n    ca: \"EC-ACC\",\n    cnType: \"string\",\n    ldapMode: \"password\",\n    mandatoryCaVerify: \"enable\",\n    twoFactor: \"disable\",\n});\nconst trname = new fortios.user.Peergrp(\"trname\", {members: [{\n    name: trname2.name,\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname2 = fortios.user.Peer(\"trname2\",\n    ca=\"EC-ACC\",\n    cn_type=\"string\",\n    ldap_mode=\"password\",\n    mandatory_ca_verify=\"enable\",\n    two_factor=\"disable\")\ntrname = fortios.user.Peergrp(\"trname\", members=[fortios.user.PeergrpMemberArgs(\n    name=trname2.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 trname2 = new Fortios.User.Peer(\"trname2\", new()\n    {\n        Ca = \"EC-ACC\",\n        CnType = \"string\",\n        LdapMode = \"password\",\n        MandatoryCaVerify = \"enable\",\n        TwoFactor = \"disable\",\n    });\n\n    var trname = new Fortios.User.Peergrp(\"trname\", new()\n    {\n        Members = new[]\n        {\n            new Fortios.User.Inputs.PeergrpMemberArgs\n            {\n                Name = trname2.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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname2, err := user.NewPeer(ctx, \"trname2\", &user.PeerArgs{\n\t\t\tCa:                pulumi.String(\"EC-ACC\"),\n\t\t\tCnType:            pulumi.String(\"string\"),\n\t\t\tLdapMode:          pulumi.String(\"password\"),\n\t\t\tMandatoryCaVerify: pulumi.String(\"enable\"),\n\t\t\tTwoFactor:         pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = user.NewPeergrp(ctx, \"trname\", &user.PeergrpArgs{\n\t\t\tMembers: user.PeergrpMemberArray{\n\t\t\t\t&user.PeergrpMemberArgs{\n\t\t\t\t\tName: trname2.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.user.Peer;\nimport com.pulumi.fortios.user.PeerArgs;\nimport com.pulumi.fortios.user.Peergrp;\nimport com.pulumi.fortios.user.PeergrpArgs;\nimport com.pulumi.fortios.user.inputs.PeergrpMemberArgs;\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 trname2 = new Peer(\"trname2\", PeerArgs.builder()\n            .ca(\"EC-ACC\")\n            .cnType(\"string\")\n            .ldapMode(\"password\")\n            .mandatoryCaVerify(\"enable\")\n            .twoFactor(\"disable\")\n            .build());\n\n        var trname = new Peergrp(\"trname\", PeergrpArgs.builder()\n            .members(PeergrpMemberArgs.builder()\n                .name(trname2.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname2:\n    type: fortios:user:Peer\n    properties:\n      ca: EC-ACC\n      cnType: string\n      ldapMode: password\n      mandatoryCaVerify: enable\n      twoFactor: disable\n  trname:\n    type: fortios:user:Peergrp\n    properties:\n      members:\n        - name: ${trname2.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Peergrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/peergrp:Peergrp 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:user/peergrp:Peergrp 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"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FPeergrpMember:PeergrpMember"
          },
          "description": "Peer group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Peer 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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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:user%2FPeergrpMember:PeergrpMember"
          },
          "description": "Peer group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Peer group 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 Peergrp 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"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FPeergrpMember:PeergrpMember"
            },
            "description": "Peer group members. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Peer group 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:user/pop3:Pop3": {
      "description": "POP3 server entry 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.user.Pop3(\"trname\", {\n    port: 0,\n    secure: \"pop3s\",\n    server: \"1.1.1.1\",\n    sslMinProtoVersion: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Pop3(\"trname\",\n    port=0,\n    secure=\"pop3s\",\n    server=\"1.1.1.1\",\n    ssl_min_proto_version=\"default\")\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.User.Pop3(\"trname\", new()\n    {\n        Port = 0,\n        Secure = \"pop3s\",\n        Server = \"1.1.1.1\",\n        SslMinProtoVersion = \"default\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewPop3(ctx, \"trname\", &user.Pop3Args{\n\t\t\tPort:               pulumi.Int(0),\n\t\t\tSecure:             pulumi.String(\"pop3s\"),\n\t\t\tServer:             pulumi.String(\"1.1.1.1\"),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\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.Pop3;\nimport com.pulumi.fortios.user.Pop3Args;\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 Pop3(\"trname\", Pop3Args.builder()\n            .port(0)\n            .secure(\"pop3s\")\n            .server(\"1.1.1.1\")\n            .sslMinProtoVersion(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Pop3\n    properties:\n      port: 0\n      secure: pop3s\n      server: 1.1.1.1\n      sslMinProtoVersion: default\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Pop3 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/pop3:Pop3 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:user/pop3:Pop3 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "POP3 server entry name.\n"
        },
        "port": {
          "type": "integer",
          "description": "POP3 service port number.\n"
        },
        "secure": {
          "type": "string",
          "description": "SSL connection. Valid values: `none`, `starttls`, `pop3s`.\n"
        },
        "server": {
          "type": "string",
          "description": "{<name_str|ip_str>} server domain name or IP.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "port",
        "secure",
        "server",
        "sslMinProtoVersion",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "POP3 server entry name.\n",
          "willReplaceOnChanges": true
        },
        "port": {
          "type": "integer",
          "description": "POP3 service port number.\n"
        },
        "secure": {
          "type": "string",
          "description": "SSL connection. Valid values: `none`, `starttls`, `pop3s`.\n"
        },
        "server": {
          "type": "string",
          "description": "{<name_str|ip_str>} server domain name or IP.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "server"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Pop3 resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "POP3 server entry name.\n",
            "willReplaceOnChanges": true
          },
          "port": {
            "type": "integer",
            "description": "POP3 service port number.\n"
          },
          "secure": {
            "type": "string",
            "description": "SSL connection. Valid values: `none`, `starttls`, `pop3s`.\n"
          },
          "server": {
            "type": "string",
            "description": "{<name_str|ip_str>} server domain name or IP.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/quarantine:Quarantine": {
      "description": "Configure quarantine support.\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.user.Quarantine(\"trname\", {quarantine: \"enable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Quarantine(\"trname\", quarantine=\"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.User.Quarantine(\"trname\", new()\n    {\n        Data = \"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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewQuarantine(ctx, \"trname\", &user.QuarantineArgs{\n\t\t\tQuarantine: 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.user.Quarantine;\nimport com.pulumi.fortios.user.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            .quarantine(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Quarantine\n    properties:\n      quarantine: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Quarantine can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/quarantine:Quarantine labelname UserQuarantine\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:user/quarantine:Quarantine labelname UserQuarantine\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"
        },
        "firewallGroups": {
          "type": "string",
          "description": "Firewall address group which includes all quarantine MAC 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"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FQuarantineTarget:QuarantineTarget"
          },
          "description": "Quarantine entry to hold multiple MACs. The structure of `targets` block is documented below.\n"
        },
        "trafficPolicy": {
          "type": "string",
          "description": "Traffic policy for quarantined MACs.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "firewallGroups",
        "quarantine",
        "trafficPolicy",
        "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"
        },
        "firewallGroups": {
          "type": "string",
          "description": "Firewall address group which includes all quarantine MAC 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"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
          "language": {
            "csharp": {
              "name": "Data"
            }
          }
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FQuarantineTarget:QuarantineTarget"
          },
          "description": "Quarantine entry to hold multiple MACs. The structure of `targets` block is documented below.\n"
        },
        "trafficPolicy": {
          "type": "string",
          "description": "Traffic policy for quarantined MACs.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "firewallGroups": {
            "type": "string",
            "description": "Firewall address group which includes all quarantine MAC 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"
          },
          "quarantine": {
            "type": "string",
            "description": "Enable/disable quarantine. Valid values: `enable`, `disable`.\n",
            "language": {
              "csharp": {
                "name": "Data"
              }
            }
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FQuarantineTarget:QuarantineTarget"
            },
            "description": "Quarantine entry to hold multiple MACs. The structure of `targets` block is documented below.\n"
          },
          "trafficPolicy": {
            "type": "string",
            "description": "Traffic policy for quarantined MACs.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/radius:Radius": {
      "description": "Configure RADIUS server entries.\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.user.Radius(\"trname\", {\n    acctAllServers: \"disable\",\n    allUsergroup: \"disable\",\n    authType: \"auto\",\n    h3cCompatibility: \"disable\",\n    nasIp: \"0.0.0.0\",\n    passwordEncoding: \"auto\",\n    passwordRenewal: \"disable\",\n    radiusCoa: \"disable\",\n    radiusPort: 0,\n    rsso: \"disable\",\n    rssoContextTimeout: 28800,\n    rssoEndpointAttribute: \"Calling-Station-Id\",\n    rssoEpOneIpOnly: \"disable\",\n    rssoFlushIpSession: \"disable\",\n    rssoLogFlags: \"protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\",\n    rssoLogPeriod: 0,\n    rssoRadiusResponse: \"disable\",\n    rssoRadiusServerPort: 1813,\n    rssoValidateRequestSecret: \"disable\",\n    secret: \"FDaaewjkeiw32\",\n    server: \"1.1.1.1\",\n    ssoAttribute: \"Class\",\n    ssoAttributeValueOverride: \"enable\",\n    timeout: 5,\n    useManagementVdom: \"disable\",\n    usernameCaseSensitive: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Radius(\"trname\",\n    acct_all_servers=\"disable\",\n    all_usergroup=\"disable\",\n    auth_type=\"auto\",\n    h3c_compatibility=\"disable\",\n    nas_ip=\"0.0.0.0\",\n    password_encoding=\"auto\",\n    password_renewal=\"disable\",\n    radius_coa=\"disable\",\n    radius_port=0,\n    rsso=\"disable\",\n    rsso_context_timeout=28800,\n    rsso_endpoint_attribute=\"Calling-Station-Id\",\n    rsso_ep_one_ip_only=\"disable\",\n    rsso_flush_ip_session=\"disable\",\n    rsso_log_flags=\"protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\",\n    rsso_log_period=0,\n    rsso_radius_response=\"disable\",\n    rsso_radius_server_port=1813,\n    rsso_validate_request_secret=\"disable\",\n    secret=\"FDaaewjkeiw32\",\n    server=\"1.1.1.1\",\n    sso_attribute=\"Class\",\n    sso_attribute_value_override=\"enable\",\n    timeout=5,\n    use_management_vdom=\"disable\",\n    username_case_sensitive=\"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.User.Radius(\"trname\", new()\n    {\n        AcctAllServers = \"disable\",\n        AllUsergroup = \"disable\",\n        AuthType = \"auto\",\n        H3cCompatibility = \"disable\",\n        NasIp = \"0.0.0.0\",\n        PasswordEncoding = \"auto\",\n        PasswordRenewal = \"disable\",\n        RadiusCoa = \"disable\",\n        RadiusPort = 0,\n        Rsso = \"disable\",\n        RssoContextTimeout = 28800,\n        RssoEndpointAttribute = \"Calling-Station-Id\",\n        RssoEpOneIpOnly = \"disable\",\n        RssoFlushIpSession = \"disable\",\n        RssoLogFlags = \"protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\",\n        RssoLogPeriod = 0,\n        RssoRadiusResponse = \"disable\",\n        RssoRadiusServerPort = 1813,\n        RssoValidateRequestSecret = \"disable\",\n        Secret = \"FDaaewjkeiw32\",\n        Server = \"1.1.1.1\",\n        SsoAttribute = \"Class\",\n        SsoAttributeValueOverride = \"enable\",\n        Timeout = 5,\n        UseManagementVdom = \"disable\",\n        UsernameCaseSensitive = \"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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewRadius(ctx, \"trname\", &user.RadiusArgs{\n\t\t\tAcctAllServers:            pulumi.String(\"disable\"),\n\t\t\tAllUsergroup:              pulumi.String(\"disable\"),\n\t\t\tAuthType:                  pulumi.String(\"auto\"),\n\t\t\tH3cCompatibility:          pulumi.String(\"disable\"),\n\t\t\tNasIp:                     pulumi.String(\"0.0.0.0\"),\n\t\t\tPasswordEncoding:          pulumi.String(\"auto\"),\n\t\t\tPasswordRenewal:           pulumi.String(\"disable\"),\n\t\t\tRadiusCoa:                 pulumi.String(\"disable\"),\n\t\t\tRadiusPort:                pulumi.Int(0),\n\t\t\tRsso:                      pulumi.String(\"disable\"),\n\t\t\tRssoContextTimeout:        pulumi.Int(28800),\n\t\t\tRssoEndpointAttribute:     pulumi.String(\"Calling-Station-Id\"),\n\t\t\tRssoEpOneIpOnly:           pulumi.String(\"disable\"),\n\t\t\tRssoFlushIpSession:        pulumi.String(\"disable\"),\n\t\t\tRssoLogFlags:              pulumi.String(\"protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\"),\n\t\t\tRssoLogPeriod:             pulumi.Int(0),\n\t\t\tRssoRadiusResponse:        pulumi.String(\"disable\"),\n\t\t\tRssoRadiusServerPort:      pulumi.Int(1813),\n\t\t\tRssoValidateRequestSecret: pulumi.String(\"disable\"),\n\t\t\tSecret:                    pulumi.String(\"FDaaewjkeiw32\"),\n\t\t\tServer:                    pulumi.String(\"1.1.1.1\"),\n\t\t\tSsoAttribute:              pulumi.String(\"Class\"),\n\t\t\tSsoAttributeValueOverride: pulumi.String(\"enable\"),\n\t\t\tTimeout:                   pulumi.Int(5),\n\t\t\tUseManagementVdom:         pulumi.String(\"disable\"),\n\t\t\tUsernameCaseSensitive:     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.Radius;\nimport com.pulumi.fortios.user.RadiusArgs;\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 Radius(\"trname\", RadiusArgs.builder()\n            .acctAllServers(\"disable\")\n            .allUsergroup(\"disable\")\n            .authType(\"auto\")\n            .h3cCompatibility(\"disable\")\n            .nasIp(\"0.0.0.0\")\n            .passwordEncoding(\"auto\")\n            .passwordRenewal(\"disable\")\n            .radiusCoa(\"disable\")\n            .radiusPort(0)\n            .rsso(\"disable\")\n            .rssoContextTimeout(28800)\n            .rssoEndpointAttribute(\"Calling-Station-Id\")\n            .rssoEpOneIpOnly(\"disable\")\n            .rssoFlushIpSession(\"disable\")\n            .rssoLogFlags(\"protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\")\n            .rssoLogPeriod(0)\n            .rssoRadiusResponse(\"disable\")\n            .rssoRadiusServerPort(1813)\n            .rssoValidateRequestSecret(\"disable\")\n            .secret(\"FDaaewjkeiw32\")\n            .server(\"1.1.1.1\")\n            .ssoAttribute(\"Class\")\n            .ssoAttributeValueOverride(\"enable\")\n            .timeout(5)\n            .useManagementVdom(\"disable\")\n            .usernameCaseSensitive(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Radius\n    properties:\n      acctAllServers: disable\n      allUsergroup: disable\n      authType: auto\n      h3cCompatibility: disable\n      nasIp: 0.0.0.0\n      passwordEncoding: auto\n      passwordRenewal: disable\n      radiusCoa: disable\n      radiusPort: 0\n      rsso: disable\n      rssoContextTimeout: 28800\n      rssoEndpointAttribute: Calling-Station-Id\n      rssoEpOneIpOnly: disable\n      rssoFlushIpSession: disable\n      rssoLogFlags: protocol-error profile-missing accounting-stop-missed accounting-event endpoint-block radiusd-other\n      rssoLogPeriod: 0\n      rssoRadiusResponse: disable\n      rssoRadiusServerPort: 1813\n      rssoValidateRequestSecret: disable\n      secret: FDaaewjkeiw32\n      server: 1.1.1.1\n      ssoAttribute: Class\n      ssoAttributeValueOverride: enable\n      timeout: 5\n      useManagementVdom: disable\n      usernameCaseSensitive: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Radius can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/radius:Radius 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:user/radius:Radius labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accountKeyCertField": {
          "type": "string",
          "description": "Define subject identity field in certificate for user access right checking.\n"
        },
        "accountKeyProcessing": {
          "type": "string",
          "description": "Account key processing operation. The FortiGate will keep either the whole domain or strip the domain from the subject identity. Valid values: `same`, `strip`.\n"
        },
        "accountingServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FRadiusAccountingServer:RadiusAccountingServer"
          },
          "description": "Additional accounting servers. The structure of `accounting_server` block is documented below.\n"
        },
        "acctAllServers": {
          "type": "string",
          "description": "Enable/disable sending of accounting messages to all configured servers (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "acctInterimInterval": {
          "type": "integer",
          "description": "Time in seconds between each accounting interim update message.\n"
        },
        "allUsergroup": {
          "type": "string",
          "description": "Enable/disable automatically including this RADIUS server in all user groups. Valid values: `disable`, `enable`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication methods/protocols permitted for this RADIUS server. Valid values: `auto`, `ms_chap_v2`, `ms_chap`, `chap`, `pap`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA of server to trust under TLS.\n"
        },
        "callStationIdType": {
          "type": "string",
          "description": "Calling & Called station identifier type configuration (default = legacy), this option is not available for 802.1x authentication.  Valid values: `legacy`, `IP`, `MAC`.\n"
        },
        "classes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FRadiusClass:RadiusClass"
          },
          "description": "Class attribute name(s). The structure of `class` block is documented below.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Client certificate to use under TLS.\n"
        },
        "delimiter": {
          "type": "string",
          "description": "Configure delimiter to be used for separating profile group names in the SSO attribute (default = plus character \"+\"). Valid values: `plus`, `comma`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "groupOverrideAttrType": {
          "type": "string",
          "description": "RADIUS attribute type to override user group information. Valid values: `filter-Id`, `class`.\n"
        },
        "h3cCompatibility": {
          "type": "string",
          "description": "Enable/disable compatibility with the H3C, a mechanism that performs security checking for authentication. Valid values: `enable`, `disable`.\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"
        },
        "macCase": {
          "type": "string",
          "description": "MAC authentication case (default = lowercase). Valid values: `uppercase`, `lowercase`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "name": {
          "type": "string",
          "description": "RADIUS server entry name.\n"
        },
        "nasId": {
          "type": "string",
          "description": "Custom NAS identifier.\n"
        },
        "nasIdType": {
          "type": "string",
          "description": "NAS identifier type configuration (default = legacy). Valid values: `legacy`, `custom`, `hostname`.\n"
        },
        "nasIp": {
          "type": "string",
          "description": "IP address used to communicate with the RADIUS server and used as NAS-IP-Address and Called-Station-ID attributes.\n"
        },
        "passwordEncoding": {
          "type": "string",
          "description": "Password encoding. Valid values: `auto`, `ISO-8859-1`.\n"
        },
        "passwordRenewal": {
          "type": "string",
          "description": "Enable/disable password renewal. Valid values: `enable`, `disable`.\n"
        },
        "radiusCoa": {
          "type": "string",
          "description": "Enable to allow a mechanism to change the attributes of an authentication, authorization, and accounting session after it is authenticated. Valid values: `enable`, `disable`.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS based single sign on feature. Valid values: `enable`, `disable`.\n"
        },
        "rssoContextTimeout": {
          "type": "integer",
          "description": "Time in seconds before the logged out user is removed from the \"user context list\" of logged on users.\n"
        },
        "rssoEndpointAttribute": {
          "type": "string",
          "description": "RADIUS attributes used to extract the user end point identifer from the RADIUS Start record. 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"
        },
        "rssoEndpointBlockAttribute": {
          "type": "string",
          "description": "RADIUS attributes used to block a user. 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"
        },
        "rssoEpOneIpOnly": {
          "type": "string",
          "description": "Enable/disable the replacement of old IP addresses with new ones for the same endpoint on RADIUS accounting Start messages. Valid values: `enable`, `disable`.\n"
        },
        "rssoFlushIpSession": {
          "type": "string",
          "description": "Enable/disable flushing user IP sessions on RADIUS accounting Stop messages. Valid values: `enable`, `disable`.\n"
        },
        "rssoLogFlags": {
          "type": "string",
          "description": "Events to log. Valid values: `protocol-error`, `profile-missing`, `accounting-stop-missed`, `accounting-event`, `endpoint-block`, `radiusd-other`, `none`.\n"
        },
        "rssoLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that group event log messages will be generated for dynamic profile events.\n"
        },
        "rssoRadiusResponse": {
          "type": "string",
          "description": "Enable/disable sending RADIUS response packets after receiving Start and Stop records. Valid values: `enable`, `disable`.\n"
        },
        "rssoRadiusServerPort": {
          "type": "integer",
          "description": "UDP port to listen on for RADIUS Start and Stop records.\n"
        },
        "rssoSecret": {
          "type": "string",
          "description": "RADIUS secret used by the RADIUS accounting server.\n",
          "secret": true
        },
        "rssoValidateRequestSecret": {
          "type": "string",
          "description": "Enable/disable validating the RADIUS request shared secret in the Start or End record. Valid values: `enable`, `disable`.\n"
        },
        "secondarySecret": {
          "type": "string",
          "description": "Secret key to access the secondary server.\n",
          "secret": true
        },
        "secondaryServer": {
          "type": "string",
          "description": "{<name_str|ip_str>} secondary RADIUS CN domain name or IP.\n"
        },
        "secret": {
          "type": "string",
          "description": "Pre-shared secret key used to access the primary RADIUS server.\n",
          "secret": true
        },
        "server": {
          "type": "string",
          "description": "Primary RADIUS server CN domain name or IP address.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable RADIUS server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the RADIUS server.\n"
        },
        "ssoAttribute": {
          "type": "string",
          "description": "RADIUS attribute that contains the profile group name to be extracted from the RADIUS Start record. 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"
        },
        "ssoAttributeKey": {
          "type": "string",
          "description": "Key prefix for SSO group value in the SSO attribute.\n",
          "secret": true
        },
        "ssoAttributeValueOverride": {
          "type": "string",
          "description": "Enable/disable override old attribute value with new value for the same endpoint. Valid values: `enable`, `disable`.\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "switchControllerAcctFastFramedipDetect": {
          "type": "integer",
          "description": "Switch controller accounting message Framed-IP detection from DHCP snooping (seconds, default=2).\n"
        },
        "switchControllerNasIpDynamic": {
          "type": "string",
          "description": "Enable/Disable switch-controller nas-ip dynamic to dynamically set nas-ip. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerServiceType": {
          "type": "string",
          "description": "RADIUS service type. Valid values: `login`, `framed`, `callback-login`, `callback-framed`, `outbound`, `administrative`, `nas-prompt`, `authenticate-only`, `callback-nas-prompt`, `call-check`, `callback-administrative`.\n"
        },
        "tertiarySecret": {
          "type": "string",
          "description": "Secret key to access the tertiary server.\n",
          "secret": true
        },
        "tertiaryServer": {
          "type": "string",
          "description": "{<name_str|ip_str>} tertiary RADIUS CN domain name or IP.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time in seconds between re-sending authentication requests.\n"
        },
        "tlsMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for TLS connections (default is to follow system global setting).\n"
        },
        "transportProtocol": {
          "type": "string",
          "description": "Transport protocol to be used (default = udp). Valid values: `udp`, `tcp`, `tls`.\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
        },
        "usernameCaseSensitive": {
          "type": "string",
          "description": "Enable/disable case sensitive user names. 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": [
        "accountKeyCertField",
        "accountKeyProcessing",
        "acctAllServers",
        "acctInterimInterval",
        "allUsergroup",
        "authType",
        "caCert",
        "callStationIdType",
        "clientCert",
        "delimiter",
        "groupOverrideAttrType",
        "h3cCompatibility",
        "interface",
        "interfaceSelectMethod",
        "macCase",
        "macPasswordDelimiter",
        "macUsernameDelimiter",
        "name",
        "nasId",
        "nasIdType",
        "nasIp",
        "passwordEncoding",
        "passwordRenewal",
        "radiusCoa",
        "radiusPort",
        "rsso",
        "rssoContextTimeout",
        "rssoEndpointAttribute",
        "rssoEndpointBlockAttribute",
        "rssoEpOneIpOnly",
        "rssoFlushIpSession",
        "rssoLogFlags",
        "rssoLogPeriod",
        "rssoRadiusResponse",
        "rssoRadiusServerPort",
        "rssoValidateRequestSecret",
        "secondaryServer",
        "server",
        "serverIdentityCheck",
        "sourceIp",
        "ssoAttribute",
        "ssoAttributeKey",
        "ssoAttributeValueOverride",
        "statusTtl",
        "switchControllerAcctFastFramedipDetect",
        "switchControllerNasIpDynamic",
        "switchControllerServiceType",
        "tertiaryServer",
        "timeout",
        "tlsMinProtoVersion",
        "transportProtocol",
        "useManagementVdom",
        "usernameCaseSensitive",
        "vdomparam"
      ],
      "inputProperties": {
        "accountKeyCertField": {
          "type": "string",
          "description": "Define subject identity field in certificate for user access right checking.\n"
        },
        "accountKeyProcessing": {
          "type": "string",
          "description": "Account key processing operation. The FortiGate will keep either the whole domain or strip the domain from the subject identity. Valid values: `same`, `strip`.\n"
        },
        "accountingServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FRadiusAccountingServer:RadiusAccountingServer"
          },
          "description": "Additional accounting servers. The structure of `accounting_server` block is documented below.\n"
        },
        "acctAllServers": {
          "type": "string",
          "description": "Enable/disable sending of accounting messages to all configured servers (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "acctInterimInterval": {
          "type": "integer",
          "description": "Time in seconds between each accounting interim update message.\n"
        },
        "allUsergroup": {
          "type": "string",
          "description": "Enable/disable automatically including this RADIUS server in all user groups. Valid values: `disable`, `enable`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication methods/protocols permitted for this RADIUS server. Valid values: `auto`, `ms_chap_v2`, `ms_chap`, `chap`, `pap`.\n"
        },
        "caCert": {
          "type": "string",
          "description": "CA of server to trust under TLS.\n"
        },
        "callStationIdType": {
          "type": "string",
          "description": "Calling & Called station identifier type configuration (default = legacy), this option is not available for 802.1x authentication.  Valid values: `legacy`, `IP`, `MAC`.\n"
        },
        "classes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FRadiusClass:RadiusClass"
          },
          "description": "Class attribute name(s). The structure of `class` block is documented below.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Client certificate to use under TLS.\n"
        },
        "delimiter": {
          "type": "string",
          "description": "Configure delimiter to be used for separating profile group names in the SSO attribute (default = plus character \"+\"). Valid values: `plus`, `comma`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "groupOverrideAttrType": {
          "type": "string",
          "description": "RADIUS attribute type to override user group information. Valid values: `filter-Id`, `class`.\n"
        },
        "h3cCompatibility": {
          "type": "string",
          "description": "Enable/disable compatibility with the H3C, a mechanism that performs security checking for authentication. Valid values: `enable`, `disable`.\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"
        },
        "macCase": {
          "type": "string",
          "description": "MAC authentication case (default = lowercase). Valid values: `uppercase`, `lowercase`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "name": {
          "type": "string",
          "description": "RADIUS server entry name.\n",
          "willReplaceOnChanges": true
        },
        "nasId": {
          "type": "string",
          "description": "Custom NAS identifier.\n"
        },
        "nasIdType": {
          "type": "string",
          "description": "NAS identifier type configuration (default = legacy). Valid values: `legacy`, `custom`, `hostname`.\n"
        },
        "nasIp": {
          "type": "string",
          "description": "IP address used to communicate with the RADIUS server and used as NAS-IP-Address and Called-Station-ID attributes.\n"
        },
        "passwordEncoding": {
          "type": "string",
          "description": "Password encoding. Valid values: `auto`, `ISO-8859-1`.\n"
        },
        "passwordRenewal": {
          "type": "string",
          "description": "Enable/disable password renewal. Valid values: `enable`, `disable`.\n"
        },
        "radiusCoa": {
          "type": "string",
          "description": "Enable to allow a mechanism to change the attributes of an authentication, authorization, and accounting session after it is authenticated. Valid values: `enable`, `disable`.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS based single sign on feature. Valid values: `enable`, `disable`.\n"
        },
        "rssoContextTimeout": {
          "type": "integer",
          "description": "Time in seconds before the logged out user is removed from the \"user context list\" of logged on users.\n"
        },
        "rssoEndpointAttribute": {
          "type": "string",
          "description": "RADIUS attributes used to extract the user end point identifer from the RADIUS Start record. 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"
        },
        "rssoEndpointBlockAttribute": {
          "type": "string",
          "description": "RADIUS attributes used to block a user. 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"
        },
        "rssoEpOneIpOnly": {
          "type": "string",
          "description": "Enable/disable the replacement of old IP addresses with new ones for the same endpoint on RADIUS accounting Start messages. Valid values: `enable`, `disable`.\n"
        },
        "rssoFlushIpSession": {
          "type": "string",
          "description": "Enable/disable flushing user IP sessions on RADIUS accounting Stop messages. Valid values: `enable`, `disable`.\n"
        },
        "rssoLogFlags": {
          "type": "string",
          "description": "Events to log. Valid values: `protocol-error`, `profile-missing`, `accounting-stop-missed`, `accounting-event`, `endpoint-block`, `radiusd-other`, `none`.\n"
        },
        "rssoLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that group event log messages will be generated for dynamic profile events.\n"
        },
        "rssoRadiusResponse": {
          "type": "string",
          "description": "Enable/disable sending RADIUS response packets after receiving Start and Stop records. Valid values: `enable`, `disable`.\n"
        },
        "rssoRadiusServerPort": {
          "type": "integer",
          "description": "UDP port to listen on for RADIUS Start and Stop records.\n"
        },
        "rssoSecret": {
          "type": "string",
          "description": "RADIUS secret used by the RADIUS accounting server.\n",
          "secret": true
        },
        "rssoValidateRequestSecret": {
          "type": "string",
          "description": "Enable/disable validating the RADIUS request shared secret in the Start or End record. Valid values: `enable`, `disable`.\n"
        },
        "secondarySecret": {
          "type": "string",
          "description": "Secret key to access the secondary server.\n",
          "secret": true
        },
        "secondaryServer": {
          "type": "string",
          "description": "{<name_str|ip_str>} secondary RADIUS CN domain name or IP.\n"
        },
        "secret": {
          "type": "string",
          "description": "Pre-shared secret key used to access the primary RADIUS server.\n",
          "secret": true
        },
        "server": {
          "type": "string",
          "description": "Primary RADIUS server CN domain name or IP address.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable RADIUS server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the RADIUS server.\n"
        },
        "ssoAttribute": {
          "type": "string",
          "description": "RADIUS attribute that contains the profile group name to be extracted from the RADIUS Start record. 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"
        },
        "ssoAttributeKey": {
          "type": "string",
          "description": "Key prefix for SSO group value in the SSO attribute.\n",
          "secret": true
        },
        "ssoAttributeValueOverride": {
          "type": "string",
          "description": "Enable/disable override old attribute value with new value for the same endpoint. Valid values: `enable`, `disable`.\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "switchControllerAcctFastFramedipDetect": {
          "type": "integer",
          "description": "Switch controller accounting message Framed-IP detection from DHCP snooping (seconds, default=2).\n"
        },
        "switchControllerNasIpDynamic": {
          "type": "string",
          "description": "Enable/Disable switch-controller nas-ip dynamic to dynamically set nas-ip. Valid values: `enable`, `disable`.\n"
        },
        "switchControllerServiceType": {
          "type": "string",
          "description": "RADIUS service type. Valid values: `login`, `framed`, `callback-login`, `callback-framed`, `outbound`, `administrative`, `nas-prompt`, `authenticate-only`, `callback-nas-prompt`, `call-check`, `callback-administrative`.\n"
        },
        "tertiarySecret": {
          "type": "string",
          "description": "Secret key to access the tertiary server.\n",
          "secret": true
        },
        "tertiaryServer": {
          "type": "string",
          "description": "{<name_str|ip_str>} tertiary RADIUS CN domain name or IP.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time in seconds between re-sending authentication requests.\n"
        },
        "tlsMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for TLS connections (default is to follow system global setting).\n"
        },
        "transportProtocol": {
          "type": "string",
          "description": "Transport protocol to be used (default = udp). Valid values: `udp`, `tcp`, `tls`.\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
        },
        "usernameCaseSensitive": {
          "type": "string",
          "description": "Enable/disable case sensitive user names. 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 Radius resources.\n",
        "properties": {
          "accountKeyCertField": {
            "type": "string",
            "description": "Define subject identity field in certificate for user access right checking.\n"
          },
          "accountKeyProcessing": {
            "type": "string",
            "description": "Account key processing operation. The FortiGate will keep either the whole domain or strip the domain from the subject identity. Valid values: `same`, `strip`.\n"
          },
          "accountingServers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FRadiusAccountingServer:RadiusAccountingServer"
            },
            "description": "Additional accounting servers. The structure of `accounting_server` block is documented below.\n"
          },
          "acctAllServers": {
            "type": "string",
            "description": "Enable/disable sending of accounting messages to all configured servers (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "acctInterimInterval": {
            "type": "integer",
            "description": "Time in seconds between each accounting interim update message.\n"
          },
          "allUsergroup": {
            "type": "string",
            "description": "Enable/disable automatically including this RADIUS server in all user groups. Valid values: `disable`, `enable`.\n"
          },
          "authType": {
            "type": "string",
            "description": "Authentication methods/protocols permitted for this RADIUS server. Valid values: `auto`, `ms_chap_v2`, `ms_chap`, `chap`, `pap`.\n"
          },
          "caCert": {
            "type": "string",
            "description": "CA of server to trust under TLS.\n"
          },
          "callStationIdType": {
            "type": "string",
            "description": "Calling & Called station identifier type configuration (default = legacy), this option is not available for 802.1x authentication.  Valid values: `legacy`, `IP`, `MAC`.\n"
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FRadiusClass:RadiusClass"
            },
            "description": "Class attribute name(s). The structure of `class` block is documented below.\n"
          },
          "clientCert": {
            "type": "string",
            "description": "Client certificate to use under TLS.\n"
          },
          "delimiter": {
            "type": "string",
            "description": "Configure delimiter to be used for separating profile group names in the SSO attribute (default = plus character \"+\"). Valid values: `plus`, `comma`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "groupOverrideAttrType": {
            "type": "string",
            "description": "RADIUS attribute type to override user group information. Valid values: `filter-Id`, `class`.\n"
          },
          "h3cCompatibility": {
            "type": "string",
            "description": "Enable/disable compatibility with the H3C, a mechanism that performs security checking for authentication. Valid values: `enable`, `disable`.\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"
          },
          "macCase": {
            "type": "string",
            "description": "MAC authentication case (default = lowercase). Valid values: `uppercase`, `lowercase`.\n"
          },
          "macPasswordDelimiter": {
            "type": "string",
            "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "macUsernameDelimiter": {
            "type": "string",
            "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "name": {
            "type": "string",
            "description": "RADIUS server entry name.\n",
            "willReplaceOnChanges": true
          },
          "nasId": {
            "type": "string",
            "description": "Custom NAS identifier.\n"
          },
          "nasIdType": {
            "type": "string",
            "description": "NAS identifier type configuration (default = legacy). Valid values: `legacy`, `custom`, `hostname`.\n"
          },
          "nasIp": {
            "type": "string",
            "description": "IP address used to communicate with the RADIUS server and used as NAS-IP-Address and Called-Station-ID attributes.\n"
          },
          "passwordEncoding": {
            "type": "string",
            "description": "Password encoding. Valid values: `auto`, `ISO-8859-1`.\n"
          },
          "passwordRenewal": {
            "type": "string",
            "description": "Enable/disable password renewal. Valid values: `enable`, `disable`.\n"
          },
          "radiusCoa": {
            "type": "string",
            "description": "Enable to allow a mechanism to change the attributes of an authentication, authorization, and accounting session after it is authenticated. Valid values: `enable`, `disable`.\n"
          },
          "radiusPort": {
            "type": "integer",
            "description": "RADIUS service port number.\n"
          },
          "rsso": {
            "type": "string",
            "description": "Enable/disable RADIUS based single sign on feature. Valid values: `enable`, `disable`.\n"
          },
          "rssoContextTimeout": {
            "type": "integer",
            "description": "Time in seconds before the logged out user is removed from the \"user context list\" of logged on users.\n"
          },
          "rssoEndpointAttribute": {
            "type": "string",
            "description": "RADIUS attributes used to extract the user end point identifer from the RADIUS Start record. 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"
          },
          "rssoEndpointBlockAttribute": {
            "type": "string",
            "description": "RADIUS attributes used to block a user. 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"
          },
          "rssoEpOneIpOnly": {
            "type": "string",
            "description": "Enable/disable the replacement of old IP addresses with new ones for the same endpoint on RADIUS accounting Start messages. Valid values: `enable`, `disable`.\n"
          },
          "rssoFlushIpSession": {
            "type": "string",
            "description": "Enable/disable flushing user IP sessions on RADIUS accounting Stop messages. Valid values: `enable`, `disable`.\n"
          },
          "rssoLogFlags": {
            "type": "string",
            "description": "Events to log. Valid values: `protocol-error`, `profile-missing`, `accounting-stop-missed`, `accounting-event`, `endpoint-block`, `radiusd-other`, `none`.\n"
          },
          "rssoLogPeriod": {
            "type": "integer",
            "description": "Time interval in seconds that group event log messages will be generated for dynamic profile events.\n"
          },
          "rssoRadiusResponse": {
            "type": "string",
            "description": "Enable/disable sending RADIUS response packets after receiving Start and Stop records. Valid values: `enable`, `disable`.\n"
          },
          "rssoRadiusServerPort": {
            "type": "integer",
            "description": "UDP port to listen on for RADIUS Start and Stop records.\n"
          },
          "rssoSecret": {
            "type": "string",
            "description": "RADIUS secret used by the RADIUS accounting server.\n",
            "secret": true
          },
          "rssoValidateRequestSecret": {
            "type": "string",
            "description": "Enable/disable validating the RADIUS request shared secret in the Start or End record. Valid values: `enable`, `disable`.\n"
          },
          "secondarySecret": {
            "type": "string",
            "description": "Secret key to access the secondary server.\n",
            "secret": true
          },
          "secondaryServer": {
            "type": "string",
            "description": "{<name_str|ip_str>} secondary RADIUS CN domain name or IP.\n"
          },
          "secret": {
            "type": "string",
            "description": "Pre-shared secret key used to access the primary RADIUS server.\n",
            "secret": true
          },
          "server": {
            "type": "string",
            "description": "Primary RADIUS server CN domain name or IP address.\n"
          },
          "serverIdentityCheck": {
            "type": "string",
            "description": "Enable/disable RADIUS server identity check (verify server domain name/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to the RADIUS server.\n"
          },
          "ssoAttribute": {
            "type": "string",
            "description": "RADIUS attribute that contains the profile group name to be extracted from the RADIUS Start record. 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"
          },
          "ssoAttributeKey": {
            "type": "string",
            "description": "Key prefix for SSO group value in the SSO attribute.\n",
            "secret": true
          },
          "ssoAttributeValueOverride": {
            "type": "string",
            "description": "Enable/disable override old attribute value with new value for the same endpoint. Valid values: `enable`, `disable`.\n"
          },
          "statusTtl": {
            "type": "integer",
            "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
          },
          "switchControllerAcctFastFramedipDetect": {
            "type": "integer",
            "description": "Switch controller accounting message Framed-IP detection from DHCP snooping (seconds, default=2).\n"
          },
          "switchControllerNasIpDynamic": {
            "type": "string",
            "description": "Enable/Disable switch-controller nas-ip dynamic to dynamically set nas-ip. Valid values: `enable`, `disable`.\n"
          },
          "switchControllerServiceType": {
            "type": "string",
            "description": "RADIUS service type. Valid values: `login`, `framed`, `callback-login`, `callback-framed`, `outbound`, `administrative`, `nas-prompt`, `authenticate-only`, `callback-nas-prompt`, `call-check`, `callback-administrative`.\n"
          },
          "tertiarySecret": {
            "type": "string",
            "description": "Secret key to access the tertiary server.\n",
            "secret": true
          },
          "tertiaryServer": {
            "type": "string",
            "description": "{<name_str|ip_str>} tertiary RADIUS CN domain name or IP.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Time in seconds between re-sending authentication requests.\n"
          },
          "tlsMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for TLS connections (default is to follow system global setting).\n"
          },
          "transportProtocol": {
            "type": "string",
            "description": "Transport protocol to be used (default = udp). Valid values: `udp`, `tcp`, `tls`.\n"
          },
          "useManagementVdom": {
            "type": "string",
            "description": "Enable/disable using management VDOM to send requests. Valid values: `enable`, `disable`.\n"
          },
          "usernameCaseSensitive": {
            "type": "string",
            "description": "Enable/disable case sensitive user names. 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:user/saml:Saml": {
      "description": "SAML server entry configuration. 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 tr3 = new fortios.user.Saml(\"tr3\", {\n    cert: \"Fortinet_Factory\",\n    entityId: \"https://1.1.1.1\",\n    idpCert: \"cer11\",\n    idpEntityId: \"https://1.1.1.1/acc\",\n    idpSingleLogoutUrl: \"https://1.1.1.1/lo\",\n    idpSingleSignOnUrl: \"https://1.1.1.1/sou\",\n    singleLogoutUrl: \"https://1.1.1.1/logout\",\n    singleSignOnUrl: \"https://1.1.1.1/sign\",\n    userName: \"ad111\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntr3 = fortios.user.Saml(\"tr3\",\n    cert=\"Fortinet_Factory\",\n    entity_id=\"https://1.1.1.1\",\n    idp_cert=\"cer11\",\n    idp_entity_id=\"https://1.1.1.1/acc\",\n    idp_single_logout_url=\"https://1.1.1.1/lo\",\n    idp_single_sign_on_url=\"https://1.1.1.1/sou\",\n    single_logout_url=\"https://1.1.1.1/logout\",\n    single_sign_on_url=\"https://1.1.1.1/sign\",\n    user_name=\"ad111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var tr3 = new Fortios.User.Saml(\"tr3\", new()\n    {\n        Cert = \"Fortinet_Factory\",\n        EntityId = \"https://1.1.1.1\",\n        IdpCert = \"cer11\",\n        IdpEntityId = \"https://1.1.1.1/acc\",\n        IdpSingleLogoutUrl = \"https://1.1.1.1/lo\",\n        IdpSingleSignOnUrl = \"https://1.1.1.1/sou\",\n        SingleLogoutUrl = \"https://1.1.1.1/logout\",\n        SingleSignOnUrl = \"https://1.1.1.1/sign\",\n        UserName = \"ad111\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewSaml(ctx, \"tr3\", &user.SamlArgs{\n\t\t\tCert:               pulumi.String(\"Fortinet_Factory\"),\n\t\t\tEntityId:           pulumi.String(\"https://1.1.1.1\"),\n\t\t\tIdpCert:            pulumi.String(\"cer11\"),\n\t\t\tIdpEntityId:        pulumi.String(\"https://1.1.1.1/acc\"),\n\t\t\tIdpSingleLogoutUrl: pulumi.String(\"https://1.1.1.1/lo\"),\n\t\t\tIdpSingleSignOnUrl: pulumi.String(\"https://1.1.1.1/sou\"),\n\t\t\tSingleLogoutUrl:    pulumi.String(\"https://1.1.1.1/logout\"),\n\t\t\tSingleSignOnUrl:    pulumi.String(\"https://1.1.1.1/sign\"),\n\t\t\tUserName:           pulumi.String(\"ad111\"),\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.Saml;\nimport com.pulumi.fortios.user.SamlArgs;\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 tr3 = new Saml(\"tr3\", SamlArgs.builder()\n            .cert(\"Fortinet_Factory\")\n            .entityId(\"https://1.1.1.1\")\n            .idpCert(\"cer11\")\n            .idpEntityId(\"https://1.1.1.1/acc\")\n            .idpSingleLogoutUrl(\"https://1.1.1.1/lo\")\n            .idpSingleSignOnUrl(\"https://1.1.1.1/sou\")\n            .singleLogoutUrl(\"https://1.1.1.1/logout\")\n            .singleSignOnUrl(\"https://1.1.1.1/sign\")\n            .userName(\"ad111\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tr3:\n    type: fortios:user:Saml\n    properties:\n      cert: Fortinet_Factory\n      entityId: https://1.1.1.1\n      idpCert: cer11\n      idpEntityId: https://1.1.1.1/acc\n      idpSingleLogoutUrl: https://1.1.1.1/lo\n      idpSingleSignOnUrl: https://1.1.1.1/sou\n      singleLogoutUrl: https://1.1.1.1/logout\n      singleSignOnUrl: https://1.1.1.1/sign\n      userName: ad111\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Saml can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/saml:Saml 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:user/saml:Saml labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adfsClaim": {
          "type": "string",
          "description": "Enable/disable ADFS Claim for user/group attribute in assertion statement (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "authUrl": {
          "type": "string",
          "description": "URL to verify authentication.\n"
        },
        "cert": {
          "type": "string",
          "description": "Certificate to sign SAML messages.\n"
        },
        "clockTolerance": {
          "type": "integer",
          "description": "Clock skew tolerance in seconds (0 - 300, default = 15, 0 = no tolerance).\n"
        },
        "digestMethod": {
          "type": "string",
          "description": "Digest Method Algorithm. (default = sha1). Valid values: `sha1`, `sha256`.\n"
        },
        "entityId": {
          "type": "string",
          "description": "SP entity ID.\n"
        },
        "groupClaimType": {
          "type": "string",
          "description": "Group claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
        },
        "groupName": {
          "type": "string",
          "description": "Group name in assertion statement.\n"
        },
        "idpCert": {
          "type": "string",
          "description": "IDP Certificate name.\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"
        },
        "limitRelaystate": {
          "type": "string",
          "description": "Enable/disable limiting of relay-state parameter when it exceeds SAML 2.0 specification limits (80 bytes). Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "SAML server entry name.\n"
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable signalling of IDP to force user re-authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "singleLogoutUrl": {
          "type": "string",
          "description": "SP single logout URL.\n"
        },
        "singleSignOnUrl": {
          "type": "string",
          "description": "SP single sign-on URL.\n"
        },
        "userClaimType": {
          "type": "string",
          "description": "User name claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
        },
        "userName": {
          "type": "string",
          "description": "User name in assertion statement.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "adfsClaim",
        "cert",
        "clockTolerance",
        "digestMethod",
        "entityId",
        "groupClaimType",
        "groupName",
        "idpCert",
        "idpEntityId",
        "idpSingleLogoutUrl",
        "idpSingleSignOnUrl",
        "limitRelaystate",
        "name",
        "reauth",
        "singleLogoutUrl",
        "singleSignOnUrl",
        "userClaimType",
        "userName",
        "vdomparam"
      ],
      "inputProperties": {
        "adfsClaim": {
          "type": "string",
          "description": "Enable/disable ADFS Claim for user/group attribute in assertion statement (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "authUrl": {
          "type": "string",
          "description": "URL to verify authentication.\n"
        },
        "cert": {
          "type": "string",
          "description": "Certificate to sign SAML messages.\n"
        },
        "clockTolerance": {
          "type": "integer",
          "description": "Clock skew tolerance in seconds (0 - 300, default = 15, 0 = no tolerance).\n"
        },
        "digestMethod": {
          "type": "string",
          "description": "Digest Method Algorithm. (default = sha1). Valid values: `sha1`, `sha256`.\n"
        },
        "entityId": {
          "type": "string",
          "description": "SP entity ID.\n"
        },
        "groupClaimType": {
          "type": "string",
          "description": "Group claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
        },
        "groupName": {
          "type": "string",
          "description": "Group name in assertion statement.\n"
        },
        "idpCert": {
          "type": "string",
          "description": "IDP Certificate name.\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"
        },
        "limitRelaystate": {
          "type": "string",
          "description": "Enable/disable limiting of relay-state parameter when it exceeds SAML 2.0 specification limits (80 bytes). Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "SAML server entry name.\n",
          "willReplaceOnChanges": true
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable signalling of IDP to force user re-authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "singleLogoutUrl": {
          "type": "string",
          "description": "SP single logout URL.\n"
        },
        "singleSignOnUrl": {
          "type": "string",
          "description": "SP single sign-on URL.\n"
        },
        "userClaimType": {
          "type": "string",
          "description": "User name claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
        },
        "userName": {
          "type": "string",
          "description": "User name in assertion statement.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "entityId",
        "idpCert",
        "idpEntityId",
        "idpSingleSignOnUrl",
        "singleSignOnUrl"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Saml resources.\n",
        "properties": {
          "adfsClaim": {
            "type": "string",
            "description": "Enable/disable ADFS Claim for user/group attribute in assertion statement (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "authUrl": {
            "type": "string",
            "description": "URL to verify authentication.\n"
          },
          "cert": {
            "type": "string",
            "description": "Certificate to sign SAML messages.\n"
          },
          "clockTolerance": {
            "type": "integer",
            "description": "Clock skew tolerance in seconds (0 - 300, default = 15, 0 = no tolerance).\n"
          },
          "digestMethod": {
            "type": "string",
            "description": "Digest Method Algorithm. (default = sha1). Valid values: `sha1`, `sha256`.\n"
          },
          "entityId": {
            "type": "string",
            "description": "SP entity ID.\n"
          },
          "groupClaimType": {
            "type": "string",
            "description": "Group claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
          },
          "groupName": {
            "type": "string",
            "description": "Group name in assertion statement.\n"
          },
          "idpCert": {
            "type": "string",
            "description": "IDP Certificate name.\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"
          },
          "limitRelaystate": {
            "type": "string",
            "description": "Enable/disable limiting of relay-state parameter when it exceeds SAML 2.0 specification limits (80 bytes). Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "SAML server entry name.\n",
            "willReplaceOnChanges": true
          },
          "reauth": {
            "type": "string",
            "description": "Enable/disable signalling of IDP to force user re-authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "singleLogoutUrl": {
            "type": "string",
            "description": "SP single logout URL.\n"
          },
          "singleSignOnUrl": {
            "type": "string",
            "description": "SP single sign-on URL.\n"
          },
          "userClaimType": {
            "type": "string",
            "description": "User name claim in assertion statement. Valid values: `email`, `given-name`, `name`, `upn`, `common-name`, `email-adfs-1x`, `group`, `upn-adfs-1x`, `role`, `sur-name`, `ppid`, `name-identifier`, `authentication-method`, `deny-only-group-sid`, `deny-only-primary-sid`, `deny-only-primary-group-sid`, `group-sid`, `primary-group-sid`, `primary-sid`, `windows-account-name`.\n"
          },
          "userName": {
            "type": "string",
            "description": "User name in assertion statement.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/securityexemptlist:Securityexemptlist": {
      "description": "Configure security exemption list.\n\n## Import\n\nUser SecurityExemptList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/securityexemptlist:Securityexemptlist 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:user/securityexemptlist:Securityexemptlist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "name": {
          "type": "string",
          "description": "Name of the exempt list.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRule:SecurityexemptlistRule"
          },
          "description": "Configure rules for exempting users from captive portal authentication. 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": [
        "description",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "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"
        },
        "name": {
          "type": "string",
          "description": "Name of the exempt list.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRule:SecurityexemptlistRule"
          },
          "description": "Configure rules for exempting users from captive portal authentication. 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 Securityexemptlist resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "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"
          },
          "name": {
            "type": "string",
            "description": "Name of the exempt list.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FSecurityexemptlistRule:SecurityexemptlistRule"
            },
            "description": "Configure rules for exempting users from captive portal authentication. 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:user/setting:Setting": {
      "description": "Configure user 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.user.Setting(\"trname\", {\n    authBlackoutTime: 0,\n    authCert: \"Fortinet_Factory\",\n    authHttpBasic: \"disable\",\n    authInvalidMax: 5,\n    authLockoutDuration: 0,\n    authLockoutThreshold: 3,\n    authOnDemand: \"implicitly\",\n    authPortalTimeout: 3,\n    authSecureHttp: \"disable\",\n    authSrcMac: \"enable\",\n    authSslAllowRenegotiation: \"disable\",\n    authTimeout: 5,\n    authTimeoutType: \"idle-timeout\",\n    authType: \"http https ftp telnet\",\n    radiusSesTimeoutAct: \"hard-timeout\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Setting(\"trname\",\n    auth_blackout_time=0,\n    auth_cert=\"Fortinet_Factory\",\n    auth_http_basic=\"disable\",\n    auth_invalid_max=5,\n    auth_lockout_duration=0,\n    auth_lockout_threshold=3,\n    auth_on_demand=\"implicitly\",\n    auth_portal_timeout=3,\n    auth_secure_http=\"disable\",\n    auth_src_mac=\"enable\",\n    auth_ssl_allow_renegotiation=\"disable\",\n    auth_timeout=5,\n    auth_timeout_type=\"idle-timeout\",\n    auth_type=\"http https ftp telnet\",\n    radius_ses_timeout_act=\"hard-timeout\")\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.User.Setting(\"trname\", new()\n    {\n        AuthBlackoutTime = 0,\n        AuthCert = \"Fortinet_Factory\",\n        AuthHttpBasic = \"disable\",\n        AuthInvalidMax = 5,\n        AuthLockoutDuration = 0,\n        AuthLockoutThreshold = 3,\n        AuthOnDemand = \"implicitly\",\n        AuthPortalTimeout = 3,\n        AuthSecureHttp = \"disable\",\n        AuthSrcMac = \"enable\",\n        AuthSslAllowRenegotiation = \"disable\",\n        AuthTimeout = 5,\n        AuthTimeoutType = \"idle-timeout\",\n        AuthType = \"http https ftp telnet\",\n        RadiusSesTimeoutAct = \"hard-timeout\",\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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewSetting(ctx, \"trname\", &user.SettingArgs{\n\t\t\tAuthBlackoutTime:          pulumi.Int(0),\n\t\t\tAuthCert:                  pulumi.String(\"Fortinet_Factory\"),\n\t\t\tAuthHttpBasic:             pulumi.String(\"disable\"),\n\t\t\tAuthInvalidMax:            pulumi.Int(5),\n\t\t\tAuthLockoutDuration:       pulumi.Int(0),\n\t\t\tAuthLockoutThreshold:      pulumi.Int(3),\n\t\t\tAuthOnDemand:              pulumi.String(\"implicitly\"),\n\t\t\tAuthPortalTimeout:         pulumi.Int(3),\n\t\t\tAuthSecureHttp:            pulumi.String(\"disable\"),\n\t\t\tAuthSrcMac:                pulumi.String(\"enable\"),\n\t\t\tAuthSslAllowRenegotiation: pulumi.String(\"disable\"),\n\t\t\tAuthTimeout:               pulumi.Int(5),\n\t\t\tAuthTimeoutType:           pulumi.String(\"idle-timeout\"),\n\t\t\tAuthType:                  pulumi.String(\"http https ftp telnet\"),\n\t\t\tRadiusSesTimeoutAct:       pulumi.String(\"hard-timeout\"),\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.Setting;\nimport com.pulumi.fortios.user.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            .authBlackoutTime(0)\n            .authCert(\"Fortinet_Factory\")\n            .authHttpBasic(\"disable\")\n            .authInvalidMax(5)\n            .authLockoutDuration(0)\n            .authLockoutThreshold(3)\n            .authOnDemand(\"implicitly\")\n            .authPortalTimeout(3)\n            .authSecureHttp(\"disable\")\n            .authSrcMac(\"enable\")\n            .authSslAllowRenegotiation(\"disable\")\n            .authTimeout(5)\n            .authTimeoutType(\"idle-timeout\")\n            .authType(\"http https ftp telnet\")\n            .radiusSesTimeoutAct(\"hard-timeout\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Setting\n    properties:\n      authBlackoutTime: 0\n      authCert: Fortinet_Factory\n      authHttpBasic: disable\n      authInvalidMax: 5\n      authLockoutDuration: 0\n      authLockoutThreshold: 3\n      authOnDemand: implicitly\n      authPortalTimeout: 3\n      authSecureHttp: disable\n      authSrcMac: enable\n      authSslAllowRenegotiation: disable\n      authTimeout: 5\n      authTimeoutType: idle-timeout\n      authType: http https ftp telnet\n      radiusSesTimeoutAct: hard-timeout\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/setting:Setting labelname UserSetting\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:user/setting:Setting labelname UserSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authBlackoutTime": {
          "type": "integer",
          "description": "Time in seconds an IP address is denied access after failing to authenticate five times within one minute.\n"
        },
        "authCaCert": {
          "type": "string",
          "description": "HTTPS CA certificate for policy authentication.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate for policy authentication.\n"
        },
        "authHttpBasic": {
          "type": "string",
          "description": "Enable/disable use of HTTP basic authentication for identity-based firewall policies. Valid values: `enable`, `disable`.\n"
        },
        "authInvalidMax": {
          "type": "integer",
          "description": "Maximum number of failed authentication attempts before the user is blocked.\n"
        },
        "authLockoutDuration": {
          "type": "integer",
          "description": "Lockout period in seconds after too many login failures.\n"
        },
        "authLockoutThreshold": {
          "type": "integer",
          "description": "Maximum number of failed login attempts before login lockout is triggered.\n"
        },
        "authOnDemand": {
          "type": "string",
          "description": "Always/implicitly trigger firewall authentication on demand. Valid values: `always`, `implicitly`.\n"
        },
        "authPortalTimeout": {
          "type": "integer",
          "description": "Time in minutes before captive portal user have to re-authenticate (1 - 30 min, default 3 min).\n"
        },
        "authPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSettingAuthPort:SettingAuthPort"
          },
          "description": "Set up non-standard ports for authentication with HTTP, HTTPS, FTP, and TELNET. The structure of `auth_ports` block is documented below.\n"
        },
        "authSecureHttp": {
          "type": "string",
          "description": "Enable/disable redirecting HTTP user authentication to more secure HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "authSrcMac": {
          "type": "string",
          "description": "Enable/disable source MAC for user identity. Valid values: `enable`, `disable`.\n"
        },
        "authSslAllowRenegotiation": {
          "type": "string",
          "description": "Allow/forbid SSL re-negotiation for HTTPS authentication. Valid values: `enable`, `disable`.\n"
        },
        "authSslMaxProtoVersion": {
          "type": "string",
          "description": "Maximum supported protocol version for SSL/TLS connections (default is no limit). Valid values: `sslv3`, `tlsv1`, `tlsv1-1`, `tlsv1-2`, `tlsv1-3`.\n"
        },
        "authSslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "authSslSigalgs": {
          "type": "string",
          "description": "Set signature algorithms related to HTTPS authentication (affects TLS version <= 1.2 only, default is to enable all). Valid values: `no-rsa-pss`, `all`.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "Time in minutes before the firewall user authentication timeout requires the user to re-authenticate.\n"
        },
        "authTimeoutType": {
          "type": "string",
          "description": "Control if authenticated users have to login again after a hard timeout, after an idle timeout, or after a session timeout. Valid values: `idle-timeout`, `hard-timeout`, `new-session`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Supported firewall policy authentication protocols/methods. Valid values: `http`, `https`, `ftp`, `telnet`.\n"
        },
        "defaultUserPasswordPolicy": {
          "type": "string",
          "description": "Default password policy to apply to all local users unless otherwise specified, as defined in config user password-policy.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "perPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable per policy disclaimer. Valid values: `enable`, `disable`.\n"
        },
        "radiusSesTimeoutAct": {
          "type": "string",
          "description": "Set the RADIUS session timeout to a hard timeout or to ignore RADIUS server session timeouts. Valid values: `hard-timeout`, `ignore-timeout`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "authBlackoutTime",
        "authCaCert",
        "authCert",
        "authHttpBasic",
        "authInvalidMax",
        "authLockoutDuration",
        "authLockoutThreshold",
        "authOnDemand",
        "authPortalTimeout",
        "authSecureHttp",
        "authSrcMac",
        "authSslAllowRenegotiation",
        "authSslMaxProtoVersion",
        "authSslMinProtoVersion",
        "authSslSigalgs",
        "authTimeout",
        "authTimeoutType",
        "authType",
        "defaultUserPasswordPolicy",
        "perPolicyDisclaimer",
        "radiusSesTimeoutAct",
        "vdomparam"
      ],
      "inputProperties": {
        "authBlackoutTime": {
          "type": "integer",
          "description": "Time in seconds an IP address is denied access after failing to authenticate five times within one minute.\n"
        },
        "authCaCert": {
          "type": "string",
          "description": "HTTPS CA certificate for policy authentication.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate for policy authentication.\n"
        },
        "authHttpBasic": {
          "type": "string",
          "description": "Enable/disable use of HTTP basic authentication for identity-based firewall policies. Valid values: `enable`, `disable`.\n"
        },
        "authInvalidMax": {
          "type": "integer",
          "description": "Maximum number of failed authentication attempts before the user is blocked.\n"
        },
        "authLockoutDuration": {
          "type": "integer",
          "description": "Lockout period in seconds after too many login failures.\n"
        },
        "authLockoutThreshold": {
          "type": "integer",
          "description": "Maximum number of failed login attempts before login lockout is triggered.\n"
        },
        "authOnDemand": {
          "type": "string",
          "description": "Always/implicitly trigger firewall authentication on demand. Valid values: `always`, `implicitly`.\n"
        },
        "authPortalTimeout": {
          "type": "integer",
          "description": "Time in minutes before captive portal user have to re-authenticate (1 - 30 min, default 3 min).\n"
        },
        "authPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSettingAuthPort:SettingAuthPort"
          },
          "description": "Set up non-standard ports for authentication with HTTP, HTTPS, FTP, and TELNET. The structure of `auth_ports` block is documented below.\n"
        },
        "authSecureHttp": {
          "type": "string",
          "description": "Enable/disable redirecting HTTP user authentication to more secure HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "authSrcMac": {
          "type": "string",
          "description": "Enable/disable source MAC for user identity. Valid values: `enable`, `disable`.\n"
        },
        "authSslAllowRenegotiation": {
          "type": "string",
          "description": "Allow/forbid SSL re-negotiation for HTTPS authentication. Valid values: `enable`, `disable`.\n"
        },
        "authSslMaxProtoVersion": {
          "type": "string",
          "description": "Maximum supported protocol version for SSL/TLS connections (default is no limit). Valid values: `sslv3`, `tlsv1`, `tlsv1-1`, `tlsv1-2`, `tlsv1-3`.\n"
        },
        "authSslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "authSslSigalgs": {
          "type": "string",
          "description": "Set signature algorithms related to HTTPS authentication (affects TLS version <= 1.2 only, default is to enable all). Valid values: `no-rsa-pss`, `all`.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "Time in minutes before the firewall user authentication timeout requires the user to re-authenticate.\n"
        },
        "authTimeoutType": {
          "type": "string",
          "description": "Control if authenticated users have to login again after a hard timeout, after an idle timeout, or after a session timeout. Valid values: `idle-timeout`, `hard-timeout`, `new-session`.\n"
        },
        "authType": {
          "type": "string",
          "description": "Supported firewall policy authentication protocols/methods. Valid values: `http`, `https`, `ftp`, `telnet`.\n"
        },
        "defaultUserPasswordPolicy": {
          "type": "string",
          "description": "Default password policy to apply to all local users unless otherwise specified, as defined in config user password-policy.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "perPolicyDisclaimer": {
          "type": "string",
          "description": "Enable/disable per policy disclaimer. Valid values: `enable`, `disable`.\n"
        },
        "radiusSesTimeoutAct": {
          "type": "string",
          "description": "Set the RADIUS session timeout to a hard timeout or to ignore RADIUS server session timeouts. Valid values: `hard-timeout`, `ignore-timeout`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "authBlackoutTime": {
            "type": "integer",
            "description": "Time in seconds an IP address is denied access after failing to authenticate five times within one minute.\n"
          },
          "authCaCert": {
            "type": "string",
            "description": "HTTPS CA certificate for policy authentication.\n"
          },
          "authCert": {
            "type": "string",
            "description": "HTTPS server certificate for policy authentication.\n"
          },
          "authHttpBasic": {
            "type": "string",
            "description": "Enable/disable use of HTTP basic authentication for identity-based firewall policies. Valid values: `enable`, `disable`.\n"
          },
          "authInvalidMax": {
            "type": "integer",
            "description": "Maximum number of failed authentication attempts before the user is blocked.\n"
          },
          "authLockoutDuration": {
            "type": "integer",
            "description": "Lockout period in seconds after too many login failures.\n"
          },
          "authLockoutThreshold": {
            "type": "integer",
            "description": "Maximum number of failed login attempts before login lockout is triggered.\n"
          },
          "authOnDemand": {
            "type": "string",
            "description": "Always/implicitly trigger firewall authentication on demand. Valid values: `always`, `implicitly`.\n"
          },
          "authPortalTimeout": {
            "type": "integer",
            "description": "Time in minutes before captive portal user have to re-authenticate (1 - 30 min, default 3 min).\n"
          },
          "authPorts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:user%2FSettingAuthPort:SettingAuthPort"
            },
            "description": "Set up non-standard ports for authentication with HTTP, HTTPS, FTP, and TELNET. The structure of `auth_ports` block is documented below.\n"
          },
          "authSecureHttp": {
            "type": "string",
            "description": "Enable/disable redirecting HTTP user authentication to more secure HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "authSrcMac": {
            "type": "string",
            "description": "Enable/disable source MAC for user identity. Valid values: `enable`, `disable`.\n"
          },
          "authSslAllowRenegotiation": {
            "type": "string",
            "description": "Allow/forbid SSL re-negotiation for HTTPS authentication. Valid values: `enable`, `disable`.\n"
          },
          "authSslMaxProtoVersion": {
            "type": "string",
            "description": "Maximum supported protocol version for SSL/TLS connections (default is no limit). Valid values: `sslv3`, `tlsv1`, `tlsv1-1`, `tlsv1-2`, `tlsv1-3`.\n"
          },
          "authSslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "authSslSigalgs": {
            "type": "string",
            "description": "Set signature algorithms related to HTTPS authentication (affects TLS version <= 1.2 only, default is to enable all). Valid values: `no-rsa-pss`, `all`.\n"
          },
          "authTimeout": {
            "type": "integer",
            "description": "Time in minutes before the firewall user authentication timeout requires the user to re-authenticate.\n"
          },
          "authTimeoutType": {
            "type": "string",
            "description": "Control if authenticated users have to login again after a hard timeout, after an idle timeout, or after a session timeout. Valid values: `idle-timeout`, `hard-timeout`, `new-session`.\n"
          },
          "authType": {
            "type": "string",
            "description": "Supported firewall policy authentication protocols/methods. Valid values: `http`, `https`, `ftp`, `telnet`.\n"
          },
          "defaultUserPasswordPolicy": {
            "type": "string",
            "description": "Default password policy to apply to all local users unless otherwise specified, as defined in config user password-policy.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "perPolicyDisclaimer": {
            "type": "string",
            "description": "Enable/disable per policy disclaimer. Valid values: `enable`, `disable`.\n"
          },
          "radiusSesTimeoutAct": {
            "type": "string",
            "description": "Set the RADIUS session timeout to a hard timeout or to ignore RADIUS server session timeouts. Valid values: `hard-timeout`, `ignore-timeout`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:user/tacacs:Tacacs": {
      "description": "Configure TACACS+ server entries.\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.user.Tacacs(\"trname\", {\n    authenType: \"auto\",\n    authorization: \"disable\",\n    port: 2342,\n    server: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.user.Tacacs(\"trname\",\n    authen_type=\"auto\",\n    authorization=\"disable\",\n    port=2342,\n    server=\"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.User.Tacacs(\"trname\", new()\n    {\n        AuthenType = \"auto\",\n        Authorization = \"disable\",\n        Port = 2342,\n        Server = \"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/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := user.NewTacacs(ctx, \"trname\", &user.TacacsArgs{\n\t\t\tAuthenType:    pulumi.String(\"auto\"),\n\t\t\tAuthorization: pulumi.String(\"disable\"),\n\t\t\tPort:          pulumi.Int(2342),\n\t\t\tServer:        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.user.Tacacs;\nimport com.pulumi.fortios.user.TacacsArgs;\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 Tacacs(\"trname\", TacacsArgs.builder()\n            .authenType(\"auto\")\n            .authorization(\"disable\")\n            .port(2342)\n            .server(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:user:Tacacs\n    properties:\n      authenType: auto\n      authorization: disable\n      port: 2342\n      server: 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUser Tacacs can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:user/tacacs:Tacacs 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:user/tacacs:Tacacs labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authenType": {
          "type": "string",
          "description": "Allowed authentication protocols/methods. Valid values: `mschap`, `chap`, `pap`, `ascii`, `auto`.\n"
        },
        "authorization": {
          "type": "string",
          "description": "Enable/disable TACACS+ authorization. Valid values: `enable`, `disable`.\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"
        },
        "key": {
          "type": "string",
          "description": "Key to access the primary server.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "TACACS+ server entry name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port number of the TACACS+ server.\n"
        },
        "secondaryKey": {
          "type": "string",
          "description": "Key to access the secondary server.\n",
          "secret": true
        },
        "secondaryServer": {
          "type": "string",
          "description": "Secondary TACACS+ server CN domain name or IP address.\n"
        },
        "server": {
          "type": "string",
          "description": "Primary TACACS+ server CN domain name or IP address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "source IP for communications to TACACS+ server.\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "tertiaryKey": {
          "type": "string",
          "description": "Key to access the tertiary server.\n",
          "secret": true
        },
        "tertiaryServer": {
          "type": "string",
          "description": "Tertiary TACACS+ server CN domain name or IP 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": [
        "authenType",
        "authorization",
        "interface",
        "interfaceSelectMethod",
        "name",
        "port",
        "secondaryServer",
        "server",
        "sourceIp",
        "statusTtl",
        "tertiaryServer",
        "vdomparam"
      ],
      "inputProperties": {
        "authenType": {
          "type": "string",
          "description": "Allowed authentication protocols/methods. Valid values: `mschap`, `chap`, `pap`, `ascii`, `auto`.\n"
        },
        "authorization": {
          "type": "string",
          "description": "Enable/disable TACACS+ authorization. Valid values: `enable`, `disable`.\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"
        },
        "key": {
          "type": "string",
          "description": "Key to access the primary server.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "TACACS+ server entry name.\n",
          "willReplaceOnChanges": true
        },
        "port": {
          "type": "integer",
          "description": "Port number of the TACACS+ server.\n"
        },
        "secondaryKey": {
          "type": "string",
          "description": "Key to access the secondary server.\n",
          "secret": true
        },
        "secondaryServer": {
          "type": "string",
          "description": "Secondary TACACS+ server CN domain name or IP address.\n"
        },
        "server": {
          "type": "string",
          "description": "Primary TACACS+ server CN domain name or IP address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "source IP for communications to TACACS+ server.\n"
        },
        "statusTtl": {
          "type": "integer",
          "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
        },
        "tertiaryKey": {
          "type": "string",
          "description": "Key to access the tertiary server.\n",
          "secret": true
        },
        "tertiaryServer": {
          "type": "string",
          "description": "Tertiary TACACS+ server CN domain name or IP 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 Tacacs resources.\n",
        "properties": {
          "authenType": {
            "type": "string",
            "description": "Allowed authentication protocols/methods. Valid values: `mschap`, `chap`, `pap`, `ascii`, `auto`.\n"
          },
          "authorization": {
            "type": "string",
            "description": "Enable/disable TACACS+ authorization. Valid values: `enable`, `disable`.\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"
          },
          "key": {
            "type": "string",
            "description": "Key to access the primary server.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "TACACS+ server entry name.\n",
            "willReplaceOnChanges": true
          },
          "port": {
            "type": "integer",
            "description": "Port number of the TACACS+ server.\n"
          },
          "secondaryKey": {
            "type": "string",
            "description": "Key to access the secondary server.\n",
            "secret": true
          },
          "secondaryServer": {
            "type": "string",
            "description": "Secondary TACACS+ server CN domain name or IP address.\n"
          },
          "server": {
            "type": "string",
            "description": "Primary TACACS+ server CN domain name or IP address.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "source IP for communications to TACACS+ server.\n"
          },
          "statusTtl": {
            "type": "integer",
            "description": "Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300).\n"
          },
          "tertiaryKey": {
            "type": "string",
            "description": "Key to access the tertiary server.\n",
            "secret": true
          },
          "tertiaryServer": {
            "type": "string",
            "description": "Tertiary TACACS+ server CN domain name or IP 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:virtualpatch/profile:Profile": {
      "description": "Configure virtual-patch profile. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nVirtualPatch Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:virtualpatch/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:virtualpatch/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action (pass/block). Valid values: `pass`, `block`.\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"
        },
        "exemptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:virtualpatch%2FProfileExemption:ProfileExemption"
          },
          "description": "Exempt devices or rules. The structure of `exemption` 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 of detection. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "severity": {
          "type": "string",
          "description": "Relative severity of the signature (low, medium, high, critical). Valid values: `low`, `medium`, `high`, `critical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "log",
        "name",
        "severity",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action (pass/block). Valid values: `pass`, `block`.\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"
        },
        "exemptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:virtualpatch%2FProfileExemption:ProfileExemption"
          },
          "description": "Exempt devices or rules. The structure of `exemption` 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 of detection. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "severity": {
          "type": "string",
          "description": "Relative severity of the signature (low, medium, high, critical). Valid values: `low`, `medium`, `high`, `critical`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "action": {
            "type": "string",
            "description": "Action (pass/block). Valid values: `pass`, `block`.\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"
          },
          "exemptions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:virtualpatch%2FProfileExemption:ProfileExemption"
            },
            "description": "Exempt devices or rules. The structure of `exemption` 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 of detection. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "severity": {
            "type": "string",
            "description": "Relative severity of the signature (low, medium, high, critical). Valid values: `low`, `medium`, `high`, `critical`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:voip/profile:Profile": {
      "description": "Configure VoIP 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.voip.Profile(\"trname\", {\n    comment: \"test\",\n    sccp: {\n        blockMcast: \"disable\",\n        logCallSummary: \"disable\",\n        logViolations: \"disable\",\n        maxCalls: 0,\n        status: \"enable\",\n        verifyHeader: \"disable\",\n    },\n    sip: {\n        ackRate: 0,\n        byeRate: 0,\n        callKeepalive: 0,\n        cancelRate: 0,\n        contactFixup: \"enable\",\n        hntRestrictSourceIp: \"disable\",\n        hostedNatTraversal: \"disable\",\n        infoRate: 0,\n        inviteRate: 0,\n        ipsRtp: \"enable\",\n        logCallSummary: \"enable\",\n        logViolations: \"disable\",\n        maxBodyLength: 0,\n        maxDialogs: 0,\n        maxIdleDialogs: 0,\n        maxLineLength: 998,\n        messageRate: 0,\n        natTrace: \"enable\",\n        noSdpFixup: \"disable\",\n        notifyRate: 0,\n        openContactPinhole: \"enable\",\n        openRecordRoutePinhole: \"enable\",\n        openRegisterPinhole: \"enable\",\n        openViaPinhole: \"disable\",\n        optionsRate: 0,\n        prackRate: 0,\n        preserveOverride: \"disable\",\n        provisionalInviteExpiryTime: 210,\n        publishRate: 0,\n        referRate: 0,\n        registerContactTrace: \"disable\",\n        registerRate: 0,\n        rfc2543Branch: \"disable\",\n        rtp: \"enable\",\n        sslAlgorithm: \"high\",\n        sslClientRenegotiation: \"allow\",\n        sslMaxVersion: \"tls-1.2\",\n        sslMinVersion: \"tls-1.1\",\n        sslMode: \"off\",\n        sslPfs: \"allow\",\n        sslSendEmptyFrags: \"enable\",\n        status: \"enable\",\n        strictRegister: \"enable\",\n        subscribeRate: 0,\n        unknownHeader: \"pass\",\n        updateRate: 0,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.voip.Profile(\"trname\",\n    comment=\"test\",\n    sccp=fortios.voip.ProfileSccpArgs(\n        block_mcast=\"disable\",\n        log_call_summary=\"disable\",\n        log_violations=\"disable\",\n        max_calls=0,\n        status=\"enable\",\n        verify_header=\"disable\",\n    ),\n    sip=fortios.voip.ProfileSipArgs(\n        ack_rate=0,\n        bye_rate=0,\n        call_keepalive=0,\n        cancel_rate=0,\n        contact_fixup=\"enable\",\n        hnt_restrict_source_ip=\"disable\",\n        hosted_nat_traversal=\"disable\",\n        info_rate=0,\n        invite_rate=0,\n        ips_rtp=\"enable\",\n        log_call_summary=\"enable\",\n        log_violations=\"disable\",\n        max_body_length=0,\n        max_dialogs=0,\n        max_idle_dialogs=0,\n        max_line_length=998,\n        message_rate=0,\n        nat_trace=\"enable\",\n        no_sdp_fixup=\"disable\",\n        notify_rate=0,\n        open_contact_pinhole=\"enable\",\n        open_record_route_pinhole=\"enable\",\n        open_register_pinhole=\"enable\",\n        open_via_pinhole=\"disable\",\n        options_rate=0,\n        prack_rate=0,\n        preserve_override=\"disable\",\n        provisional_invite_expiry_time=210,\n        publish_rate=0,\n        refer_rate=0,\n        register_contact_trace=\"disable\",\n        register_rate=0,\n        rfc2543_branch=\"disable\",\n        rtp=\"enable\",\n        ssl_algorithm=\"high\",\n        ssl_client_renegotiation=\"allow\",\n        ssl_max_version=\"tls-1.2\",\n        ssl_min_version=\"tls-1.1\",\n        ssl_mode=\"off\",\n        ssl_pfs=\"allow\",\n        ssl_send_empty_frags=\"enable\",\n        status=\"enable\",\n        strict_register=\"enable\",\n        subscribe_rate=0,\n        unknown_header=\"pass\",\n        update_rate=0,\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.Voip.Profile(\"trname\", new()\n    {\n        Comment = \"test\",\n        Sccp = new Fortios.Voip.Inputs.ProfileSccpArgs\n        {\n            BlockMcast = \"disable\",\n            LogCallSummary = \"disable\",\n            LogViolations = \"disable\",\n            MaxCalls = 0,\n            Status = \"enable\",\n            VerifyHeader = \"disable\",\n        },\n        Sip = new Fortios.Voip.Inputs.ProfileSipArgs\n        {\n            AckRate = 0,\n            ByeRate = 0,\n            CallKeepalive = 0,\n            CancelRate = 0,\n            ContactFixup = \"enable\",\n            HntRestrictSourceIp = \"disable\",\n            HostedNatTraversal = \"disable\",\n            InfoRate = 0,\n            InviteRate = 0,\n            IpsRtp = \"enable\",\n            LogCallSummary = \"enable\",\n            LogViolations = \"disable\",\n            MaxBodyLength = 0,\n            MaxDialogs = 0,\n            MaxIdleDialogs = 0,\n            MaxLineLength = 998,\n            MessageRate = 0,\n            NatTrace = \"enable\",\n            NoSdpFixup = \"disable\",\n            NotifyRate = 0,\n            OpenContactPinhole = \"enable\",\n            OpenRecordRoutePinhole = \"enable\",\n            OpenRegisterPinhole = \"enable\",\n            OpenViaPinhole = \"disable\",\n            OptionsRate = 0,\n            PrackRate = 0,\n            PreserveOverride = \"disable\",\n            ProvisionalInviteExpiryTime = 210,\n            PublishRate = 0,\n            ReferRate = 0,\n            RegisterContactTrace = \"disable\",\n            RegisterRate = 0,\n            Rfc2543Branch = \"disable\",\n            Rtp = \"enable\",\n            SslAlgorithm = \"high\",\n            SslClientRenegotiation = \"allow\",\n            SslMaxVersion = \"tls-1.2\",\n            SslMinVersion = \"tls-1.1\",\n            SslMode = \"off\",\n            SslPfs = \"allow\",\n            SslSendEmptyFrags = \"enable\",\n            Status = \"enable\",\n            StrictRegister = \"enable\",\n            SubscribeRate = 0,\n            UnknownHeader = \"pass\",\n            UpdateRate = 0,\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/voip\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := voip.NewProfile(ctx, \"trname\", &voip.ProfileArgs{\n\t\t\tComment: pulumi.String(\"test\"),\n\t\t\tSccp: &voip.ProfileSccpArgs{\n\t\t\t\tBlockMcast:     pulumi.String(\"disable\"),\n\t\t\t\tLogCallSummary: pulumi.String(\"disable\"),\n\t\t\t\tLogViolations:  pulumi.String(\"disable\"),\n\t\t\t\tMaxCalls:       pulumi.Int(0),\n\t\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\t\tVerifyHeader:   pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tSip: &voip.ProfileSipArgs{\n\t\t\t\tAckRate:                     pulumi.Int(0),\n\t\t\t\tByeRate:                     pulumi.Int(0),\n\t\t\t\tCallKeepalive:               pulumi.Int(0),\n\t\t\t\tCancelRate:                  pulumi.Int(0),\n\t\t\t\tContactFixup:                pulumi.String(\"enable\"),\n\t\t\t\tHntRestrictSourceIp:         pulumi.String(\"disable\"),\n\t\t\t\tHostedNatTraversal:          pulumi.String(\"disable\"),\n\t\t\t\tInfoRate:                    pulumi.Int(0),\n\t\t\t\tInviteRate:                  pulumi.Int(0),\n\t\t\t\tIpsRtp:                      pulumi.String(\"enable\"),\n\t\t\t\tLogCallSummary:              pulumi.String(\"enable\"),\n\t\t\t\tLogViolations:               pulumi.String(\"disable\"),\n\t\t\t\tMaxBodyLength:               pulumi.Int(0),\n\t\t\t\tMaxDialogs:                  pulumi.Int(0),\n\t\t\t\tMaxIdleDialogs:              pulumi.Int(0),\n\t\t\t\tMaxLineLength:               pulumi.Int(998),\n\t\t\t\tMessageRate:                 pulumi.Int(0),\n\t\t\t\tNatTrace:                    pulumi.String(\"enable\"),\n\t\t\t\tNoSdpFixup:                  pulumi.String(\"disable\"),\n\t\t\t\tNotifyRate:                  pulumi.Int(0),\n\t\t\t\tOpenContactPinhole:          pulumi.String(\"enable\"),\n\t\t\t\tOpenRecordRoutePinhole:      pulumi.String(\"enable\"),\n\t\t\t\tOpenRegisterPinhole:         pulumi.String(\"enable\"),\n\t\t\t\tOpenViaPinhole:              pulumi.String(\"disable\"),\n\t\t\t\tOptionsRate:                 pulumi.Int(0),\n\t\t\t\tPrackRate:                   pulumi.Int(0),\n\t\t\t\tPreserveOverride:            pulumi.String(\"disable\"),\n\t\t\t\tProvisionalInviteExpiryTime: pulumi.Int(210),\n\t\t\t\tPublishRate:                 pulumi.Int(0),\n\t\t\t\tReferRate:                   pulumi.Int(0),\n\t\t\t\tRegisterContactTrace:        pulumi.String(\"disable\"),\n\t\t\t\tRegisterRate:                pulumi.Int(0),\n\t\t\t\tRfc2543Branch:               pulumi.String(\"disable\"),\n\t\t\t\tRtp:                         pulumi.String(\"enable\"),\n\t\t\t\tSslAlgorithm:                pulumi.String(\"high\"),\n\t\t\t\tSslClientRenegotiation:      pulumi.String(\"allow\"),\n\t\t\t\tSslMaxVersion:               pulumi.String(\"tls-1.2\"),\n\t\t\t\tSslMinVersion:               pulumi.String(\"tls-1.1\"),\n\t\t\t\tSslMode:                     pulumi.String(\"off\"),\n\t\t\t\tSslPfs:                      pulumi.String(\"allow\"),\n\t\t\t\tSslSendEmptyFrags:           pulumi.String(\"enable\"),\n\t\t\t\tStatus:                      pulumi.String(\"enable\"),\n\t\t\t\tStrictRegister:              pulumi.String(\"enable\"),\n\t\t\t\tSubscribeRate:               pulumi.Int(0),\n\t\t\t\tUnknownHeader:               pulumi.String(\"pass\"),\n\t\t\t\tUpdateRate:                  pulumi.Int(0),\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.voip.Profile;\nimport com.pulumi.fortios.voip.ProfileArgs;\nimport com.pulumi.fortios.voip.inputs.ProfileSccpArgs;\nimport com.pulumi.fortios.voip.inputs.ProfileSipArgs;\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(\"test\")\n            .sccp(ProfileSccpArgs.builder()\n                .blockMcast(\"disable\")\n                .logCallSummary(\"disable\")\n                .logViolations(\"disable\")\n                .maxCalls(0)\n                .status(\"enable\")\n                .verifyHeader(\"disable\")\n                .build())\n            .sip(ProfileSipArgs.builder()\n                .ackRate(0)\n                .byeRate(0)\n                .callKeepalive(0)\n                .cancelRate(0)\n                .contactFixup(\"enable\")\n                .hntRestrictSourceIp(\"disable\")\n                .hostedNatTraversal(\"disable\")\n                .infoRate(0)\n                .inviteRate(0)\n                .ipsRtp(\"enable\")\n                .logCallSummary(\"enable\")\n                .logViolations(\"disable\")\n                .maxBodyLength(0)\n                .maxDialogs(0)\n                .maxIdleDialogs(0)\n                .maxLineLength(998)\n                .messageRate(0)\n                .natTrace(\"enable\")\n                .noSdpFixup(\"disable\")\n                .notifyRate(0)\n                .openContactPinhole(\"enable\")\n                .openRecordRoutePinhole(\"enable\")\n                .openRegisterPinhole(\"enable\")\n                .openViaPinhole(\"disable\")\n                .optionsRate(0)\n                .prackRate(0)\n                .preserveOverride(\"disable\")\n                .provisionalInviteExpiryTime(210)\n                .publishRate(0)\n                .referRate(0)\n                .registerContactTrace(\"disable\")\n                .registerRate(0)\n                .rfc2543Branch(\"disable\")\n                .rtp(\"enable\")\n                .sslAlgorithm(\"high\")\n                .sslClientRenegotiation(\"allow\")\n                .sslMaxVersion(\"tls-1.2\")\n                .sslMinVersion(\"tls-1.1\")\n                .sslMode(\"off\")\n                .sslPfs(\"allow\")\n                .sslSendEmptyFrags(\"enable\")\n                .status(\"enable\")\n                .strictRegister(\"enable\")\n                .subscribeRate(0)\n                .unknownHeader(\"pass\")\n                .updateRate(0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:voip:Profile\n    properties:\n      comment: test\n      sccp:\n        blockMcast: disable\n        logCallSummary: disable\n        logViolations: disable\n        maxCalls: 0\n        status: enable\n        verifyHeader: disable\n      sip:\n        ackRate: 0\n        byeRate: 0\n        callKeepalive: 0\n        cancelRate: 0\n        contactFixup: enable\n        hntRestrictSourceIp: disable\n        hostedNatTraversal: disable\n        infoRate: 0\n        inviteRate: 0\n        ipsRtp: enable\n        logCallSummary: enable\n        logViolations: disable\n        maxBodyLength: 0\n        maxDialogs: 0\n        maxIdleDialogs: 0\n        maxLineLength: 998\n        messageRate: 0\n        natTrace: enable\n        noSdpFixup: disable\n        notifyRate: 0\n        openContactPinhole: enable\n        openRecordRoutePinhole: enable\n        openRegisterPinhole: enable\n        openViaPinhole: disable\n        optionsRate: 0\n        prackRate: 0\n        preserveOverride: disable\n        provisionalInviteExpiryTime: 210\n        publishRate: 0\n        referRate: 0\n        registerContactTrace: disable\n        registerRate: 0\n        rfc2543Branch: disable\n        rtp: enable\n        sslAlgorithm: high\n        sslClientRenegotiation: allow\n        sslMaxVersion: tls-1.2\n        sslMinVersion: tls-1.1\n        sslMode: off\n        sslPfs: allow\n        sslSendEmptyFrags: enable\n        status: enable\n        strictRegister: enable\n        subscribeRate: 0\n        unknownHeader: pass\n        updateRate: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVoip Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:voip/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:voip/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "IPS or voipd (SIP-ALG) inspection feature set.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "msrp": {
          "$ref": "#/types/fortios:voip%2FProfileMsrp:ProfileMsrp",
          "description": "MSRP. The structure of `msrp` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "sccp": {
          "$ref": "#/types/fortios:voip%2FProfileSccp:ProfileSccp",
          "description": "SCCP. The structure of `sccp` block is documented below.\n"
        },
        "sip": {
          "$ref": "#/types/fortios:voip%2FProfileSip:ProfileSip",
          "description": "SIP. The structure of `sip` 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": [
        "featureSet",
        "msrp",
        "name",
        "sccp",
        "sip",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "IPS or voipd (SIP-ALG) inspection feature set.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "msrp": {
          "$ref": "#/types/fortios:voip%2FProfileMsrp:ProfileMsrp",
          "description": "MSRP. The structure of `msrp` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "sccp": {
          "$ref": "#/types/fortios:voip%2FProfileSccp:ProfileSccp",
          "description": "SCCP. The structure of `sccp` block is documented below.\n"
        },
        "sip": {
          "$ref": "#/types/fortios:voip%2FProfileSip:ProfileSip",
          "description": "SIP. The structure of `sip` 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"
          },
          "featureSet": {
            "type": "string",
            "description": "IPS or voipd (SIP-ALG) inspection feature set.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "msrp": {
            "$ref": "#/types/fortios:voip%2FProfileMsrp:ProfileMsrp",
            "description": "MSRP. The structure of `msrp` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "sccp": {
            "$ref": "#/types/fortios:voip%2FProfileSccp:ProfileSccp",
            "description": "SCCP. The structure of `sccp` block is documented below.\n"
          },
          "sip": {
            "$ref": "#/types/fortios:voip%2FProfileSip:ProfileSip",
            "description": "SIP. The structure of `sip` 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:vpn/certificate/ca:Ca": {
      "description": "CA certificate.\n\n## Import\n\nVpnCertificate Ca can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/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:vpn/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:vpn/certificate/crl:Crl": {
      "description": "Certificate Revocation List as a PEM file.\n\n## Import\n\nVpnCertificate Crl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/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:vpn/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:vpn/certificate/local:Local": {
      "description": "Local keys and certificates.\n\n## Import\n\nVpnCertificate Local can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/certificate/local:Local 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:vpn/certificate/local:Local labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acmeCaUrl": {
          "type": "string",
          "description": "The URL for the ACME CA server (Let's Encrypt is the default provider).\n"
        },
        "acmeDomain": {
          "type": "string",
          "description": "A valid domain that resolves to this Fortigate.\n"
        },
        "acmeEmail": {
          "type": "string",
          "description": "Contact email address that is required by some CAs like LetsEncrypt.\n"
        },
        "acmeRenewWindow": {
          "type": "integer",
          "description": "Beginning of the renewal window (in days before certificate expiration, 30 by default).\n"
        },
        "acmeRsaKeySize": {
          "type": "integer",
          "description": "Length of the RSA private key of the generated cert (Minimum 2048 bits).\n"
        },
        "autoRegenerateDays": {
          "type": "integer",
          "description": "Number of days to wait before expiry of an updated local certificate is requested (0 = disabled).\n"
        },
        "autoRegenerateDaysWarning": {
          "type": "integer",
          "description": "Number of days to wait before an expiry warning message is generated (0 = disabled).\n"
        },
        "caIdentifier": {
          "type": "string",
          "description": "CA identifier of the CA server for signing via SCEP.\n"
        },
        "certificate": {
          "type": "string",
          "description": "PEM format certificate.\n",
          "secret": true
        },
        "cmpPath": {
          "type": "string",
          "description": "Path location inside CMP server.\n"
        },
        "cmpRegenerationMethod": {
          "type": "string",
          "description": "CMP auto-regeneration method. Valid values: `keyupate`, `renewal`.\n"
        },
        "cmpServer": {
          "type": "string",
          "description": "Address and port for CMP server (format = address:port).\n"
        },
        "cmpServerCert": {
          "type": "string",
          "description": "CMP server certificate.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "csr": {
          "type": "string",
          "description": "Certificate Signing Request.\n"
        },
        "enrollProtocol": {
          "type": "string",
          "description": "Certificate enrollment protocol.\n"
        },
        "estCaId": {
          "type": "string",
          "description": "CA identifier of the CA server for signing via EST.\n"
        },
        "estClientCert": {
          "type": "string",
          "description": "Certificate used to authenticate this FortiGate to EST server.\n"
        },
        "estHttpPassword": {
          "type": "string",
          "description": "HTTP Authentication password for signing via EST.\n"
        },
        "estHttpUsername": {
          "type": "string",
          "description": "HTTP Authentication username for signing via EST.\n"
        },
        "estServer": {
          "type": "string",
          "description": "Address and port for EST server (e.g. https://example.com:1234).\n"
        },
        "estServerCert": {
          "type": "string",
          "description": "EST server's certificate must be verifiable by this certificate to be authenticated.\n"
        },
        "estSrpPassword": {
          "type": "string",
          "description": "EST SRP authentication password.\n"
        },
        "estSrpUsername": {
          "type": "string",
          "description": "EST SRP authentication username.\n"
        },
        "ikeLocalid": {
          "type": "string",
          "description": "Local ID the FortiGate uses for authentication as a VPN client.\n"
        },
        "ikeLocalidType": {
          "type": "string",
          "description": "IKE local ID type. Valid values: `asn1dn`, `fqdn`.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which certificate was last updated.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "nameEncoding": {
          "type": "string",
          "description": "Name encoding method for auto-regeneration. Valid values: `printable`, `utf8`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password as a PEM file.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "PEM format key, encrypted with a password.\n",
          "secret": true
        },
        "privateKeyRetain": {
          "type": "string",
          "description": "Enable/disable retention of private key during SCEP renewal (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "range": {
          "type": "string",
          "description": "Either a global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepPassword": {
          "type": "string",
          "description": "SCEP server challenge password for auto-regeneration.\n",
          "secret": true
        },
        "scepUrl": {
          "type": "string",
          "description": "SCEP server URL.\n"
        },
        "source": {
          "type": "string",
          "description": "Certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the SCEP server.\n"
        },
        "state": {
          "type": "string",
          "description": "Certificate Signing Request State.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "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",
          "description": "The URL for the ACME CA server (Let's Encrypt is the default provider).\n"
        },
        "acmeDomain": {
          "type": "string",
          "description": "A valid domain that resolves to this Fortigate.\n"
        },
        "acmeEmail": {
          "type": "string",
          "description": "Contact email address that is required by some CAs like LetsEncrypt.\n"
        },
        "acmeRenewWindow": {
          "type": "integer",
          "description": "Beginning of the renewal window (in days before certificate expiration, 30 by default).\n"
        },
        "acmeRsaKeySize": {
          "type": "integer",
          "description": "Length of the RSA private key of the generated cert (Minimum 2048 bits).\n"
        },
        "autoRegenerateDays": {
          "type": "integer",
          "description": "Number of days to wait before expiry of an updated local certificate is requested (0 = disabled).\n"
        },
        "autoRegenerateDaysWarning": {
          "type": "integer",
          "description": "Number of days to wait before an expiry warning message is generated (0 = disabled).\n"
        },
        "caIdentifier": {
          "type": "string",
          "description": "CA identifier of the CA server for signing via SCEP.\n"
        },
        "certificate": {
          "type": "string",
          "description": "PEM format certificate.\n",
          "secret": true
        },
        "cmpPath": {
          "type": "string",
          "description": "Path location inside CMP server.\n"
        },
        "cmpRegenerationMethod": {
          "type": "string",
          "description": "CMP auto-regeneration method. Valid values: `keyupate`, `renewal`.\n"
        },
        "cmpServer": {
          "type": "string",
          "description": "Address and port for CMP server (format = address:port).\n"
        },
        "cmpServerCert": {
          "type": "string",
          "description": "CMP server certificate.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "csr": {
          "type": "string",
          "description": "Certificate Signing Request.\n"
        },
        "enrollProtocol": {
          "type": "string",
          "description": "Certificate enrollment protocol.\n"
        },
        "estCaId": {
          "type": "string",
          "description": "CA identifier of the CA server for signing via EST.\n"
        },
        "estClientCert": {
          "type": "string",
          "description": "Certificate used to authenticate this FortiGate to EST server.\n"
        },
        "estHttpPassword": {
          "type": "string",
          "description": "HTTP Authentication password for signing via EST.\n"
        },
        "estHttpUsername": {
          "type": "string",
          "description": "HTTP Authentication username for signing via EST.\n"
        },
        "estServer": {
          "type": "string",
          "description": "Address and port for EST server (e.g. https://example.com:1234).\n"
        },
        "estServerCert": {
          "type": "string",
          "description": "EST server's certificate must be verifiable by this certificate to be authenticated.\n"
        },
        "estSrpPassword": {
          "type": "string",
          "description": "EST SRP authentication password.\n"
        },
        "estSrpUsername": {
          "type": "string",
          "description": "EST SRP authentication username.\n"
        },
        "ikeLocalid": {
          "type": "string",
          "description": "Local ID the FortiGate uses for authentication as a VPN client.\n"
        },
        "ikeLocalidType": {
          "type": "string",
          "description": "IKE local ID type. Valid values: `asn1dn`, `fqdn`.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which certificate was last updated.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "nameEncoding": {
          "type": "string",
          "description": "Name encoding method for auto-regeneration. Valid values: `printable`, `utf8`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password as a PEM file.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "PEM format key, encrypted with a password.\n",
          "secret": true
        },
        "privateKeyRetain": {
          "type": "string",
          "description": "Enable/disable retention of private key during SCEP renewal (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "range": {
          "type": "string",
          "description": "Either a global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepPassword": {
          "type": "string",
          "description": "SCEP server challenge password for auto-regeneration.\n",
          "secret": true
        },
        "scepUrl": {
          "type": "string",
          "description": "SCEP server URL.\n"
        },
        "source": {
          "type": "string",
          "description": "Certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the SCEP server.\n"
        },
        "state": {
          "type": "string",
          "description": "Certificate Signing Request State.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Local resources.\n",
        "properties": {
          "acmeCaUrl": {
            "type": "string",
            "description": "The URL for the ACME CA server (Let's Encrypt is the default provider).\n"
          },
          "acmeDomain": {
            "type": "string",
            "description": "A valid domain that resolves to this Fortigate.\n"
          },
          "acmeEmail": {
            "type": "string",
            "description": "Contact email address that is required by some CAs like LetsEncrypt.\n"
          },
          "acmeRenewWindow": {
            "type": "integer",
            "description": "Beginning of the renewal window (in days before certificate expiration, 30 by default).\n"
          },
          "acmeRsaKeySize": {
            "type": "integer",
            "description": "Length of the RSA private key of the generated cert (Minimum 2048 bits).\n"
          },
          "autoRegenerateDays": {
            "type": "integer",
            "description": "Number of days to wait before expiry of an updated local certificate is requested (0 = disabled).\n"
          },
          "autoRegenerateDaysWarning": {
            "type": "integer",
            "description": "Number of days to wait before an expiry warning message is generated (0 = disabled).\n"
          },
          "caIdentifier": {
            "type": "string",
            "description": "CA identifier of the CA server for signing via SCEP.\n"
          },
          "certificate": {
            "type": "string",
            "description": "PEM format certificate.\n",
            "secret": true
          },
          "cmpPath": {
            "type": "string",
            "description": "Path location inside CMP server.\n"
          },
          "cmpRegenerationMethod": {
            "type": "string",
            "description": "CMP auto-regeneration method. Valid values: `keyupate`, `renewal`.\n"
          },
          "cmpServer": {
            "type": "string",
            "description": "Address and port for CMP server (format = address:port).\n"
          },
          "cmpServerCert": {
            "type": "string",
            "description": "CMP server certificate.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "csr": {
            "type": "string",
            "description": "Certificate Signing Request.\n"
          },
          "enrollProtocol": {
            "type": "string",
            "description": "Certificate enrollment protocol.\n"
          },
          "estCaId": {
            "type": "string",
            "description": "CA identifier of the CA server for signing via EST.\n"
          },
          "estClientCert": {
            "type": "string",
            "description": "Certificate used to authenticate this FortiGate to EST server.\n"
          },
          "estHttpPassword": {
            "type": "string",
            "description": "HTTP Authentication password for signing via EST.\n"
          },
          "estHttpUsername": {
            "type": "string",
            "description": "HTTP Authentication username for signing via EST.\n"
          },
          "estServer": {
            "type": "string",
            "description": "Address and port for EST server (e.g. https://example.com:1234).\n"
          },
          "estServerCert": {
            "type": "string",
            "description": "EST server's certificate must be verifiable by this certificate to be authenticated.\n"
          },
          "estSrpPassword": {
            "type": "string",
            "description": "EST SRP authentication password.\n"
          },
          "estSrpUsername": {
            "type": "string",
            "description": "EST SRP authentication username.\n"
          },
          "ikeLocalid": {
            "type": "string",
            "description": "Local ID the FortiGate uses for authentication as a VPN client.\n"
          },
          "ikeLocalidType": {
            "type": "string",
            "description": "IKE local ID type. Valid values: `asn1dn`, `fqdn`.\n"
          },
          "lastUpdated": {
            "type": "integer",
            "description": "Time at which certificate was last updated.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "nameEncoding": {
            "type": "string",
            "description": "Name encoding method for auto-regeneration. Valid values: `printable`, `utf8`.\n"
          },
          "password": {
            "type": "string",
            "description": "Password as a PEM file.\n",
            "secret": true
          },
          "privateKey": {
            "type": "string",
            "description": "PEM format key, encrypted with a password.\n",
            "secret": true
          },
          "privateKeyRetain": {
            "type": "string",
            "description": "Enable/disable retention of private key during SCEP renewal (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "range": {
            "type": "string",
            "description": "Either a global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
          },
          "scepPassword": {
            "type": "string",
            "description": "SCEP server challenge password for auto-regeneration.\n",
            "secret": true
          },
          "scepUrl": {
            "type": "string",
            "description": "SCEP server URL.\n"
          },
          "source": {
            "type": "string",
            "description": "Certificate source type.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to the SCEP server.\n"
          },
          "state": {
            "type": "string",
            "description": "Certificate Signing Request State.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/certificate/ocspserver:Ocspserver": {
      "description": "OCSP server 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.vpn.certificate.Ocspserver(\"trname\", {\n    cert: \"ACCVRAIZ1\",\n    sourceIp: \"0.0.0.0\",\n    unavailAction: \"revoke\",\n    url: \"www.tetserv.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.certificate.Ocspserver(\"trname\",\n    cert=\"ACCVRAIZ1\",\n    source_ip=\"0.0.0.0\",\n    unavail_action=\"revoke\",\n    url=\"www.tetserv.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.Vpn.Certificate.Ocspserver(\"trname\", new()\n    {\n        Cert = \"ACCVRAIZ1\",\n        SourceIp = \"0.0.0.0\",\n        UnavailAction = \"revoke\",\n        Url = \"www.tetserv.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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewOcspserver(ctx, \"trname\", &vpn.OcspserverArgs{\n\t\t\tCert:          pulumi.String(\"ACCVRAIZ1\"),\n\t\t\tSourceIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tUnavailAction: pulumi.String(\"revoke\"),\n\t\t\tUrl:           pulumi.String(\"www.tetserv.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.vpn.Ocspserver;\nimport com.pulumi.fortios.vpn.OcspserverArgs;\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 Ocspserver(\"trname\", OcspserverArgs.builder()\n            .cert(\"ACCVRAIZ1\")\n            .sourceIp(\"0.0.0.0\")\n            .unavailAction(\"revoke\")\n            .url(\"www.tetserv.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/certificate:Ocspserver\n    properties:\n      cert: ACCVRAIZ1\n      sourceIp: 0.0.0.0\n      unavailAction: revoke\n      url: www.tetserv.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnCertificate OcspServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/certificate/ocspserver:Ocspserver 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:vpn/certificate/ocspserver:Ocspserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cert": {
          "type": "string",
          "description": "OCSP server certificate.\n"
        },
        "name": {
          "type": "string",
          "description": "OCSP server entry name.\n"
        },
        "secondaryCert": {
          "type": "string",
          "description": "Secondary OCSP server certificate.\n"
        },
        "secondaryUrl": {
          "type": "string",
          "description": "Secondary OCSP server URL.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the OCSP server.\n"
        },
        "unavailAction": {
          "type": "string",
          "description": "Action when server is unavailable (revoke the certificate or ignore the result of the check). Valid values: `revoke`, `ignore`.\n"
        },
        "url": {
          "type": "string",
          "description": "OCSP server URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "cert",
        "name",
        "secondaryCert",
        "secondaryUrl",
        "sourceIp",
        "unavailAction",
        "url",
        "vdomparam"
      ],
      "inputProperties": {
        "cert": {
          "type": "string",
          "description": "OCSP server certificate.\n"
        },
        "name": {
          "type": "string",
          "description": "OCSP server entry name.\n",
          "willReplaceOnChanges": true
        },
        "secondaryCert": {
          "type": "string",
          "description": "Secondary OCSP server certificate.\n"
        },
        "secondaryUrl": {
          "type": "string",
          "description": "Secondary OCSP server URL.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the OCSP server.\n"
        },
        "unavailAction": {
          "type": "string",
          "description": "Action when server is unavailable (revoke the certificate or ignore the result of the check). Valid values: `revoke`, `ignore`.\n"
        },
        "url": {
          "type": "string",
          "description": "OCSP server URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Ocspserver resources.\n",
        "properties": {
          "cert": {
            "type": "string",
            "description": "OCSP server certificate.\n"
          },
          "name": {
            "type": "string",
            "description": "OCSP server entry name.\n",
            "willReplaceOnChanges": true
          },
          "secondaryCert": {
            "type": "string",
            "description": "Secondary OCSP server certificate.\n"
          },
          "secondaryUrl": {
            "type": "string",
            "description": "Secondary OCSP server URL.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to the OCSP server.\n"
          },
          "unavailAction": {
            "type": "string",
            "description": "Action when server is unavailable (revoke the certificate or ignore the result of the check). Valid values: `revoke`, `ignore`.\n"
          },
          "url": {
            "type": "string",
            "description": "OCSP server URL.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/certificate/remote:Remote": {
      "description": "Remote certificate as a PEM file.\n\n## Import\n\nVpnCertificate Remote can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/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:vpn/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": "Data"
            }
          }
        },
        "source": {
          "type": "string",
          "description": "Remote certificate source 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"
        }
      },
      "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": "Data"
            }
          }
        },
        "source": {
          "type": "string",
          "description": "Remote certificate source 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
        }
      },
      "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": "Data"
              }
            }
          },
          "source": {
            "type": "string",
            "description": "Remote certificate source 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
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/certificate/setting:Setting": {
      "description": "VPN certificate 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.vpn.certificate.Setting(\"trname\", {\n    certnameDsa1024: \"Fortinet_SSL_DSA1024\",\n    certnameDsa2048: \"Fortinet_SSL_DSA2048\",\n    certnameEcdsa256: \"Fortinet_SSL_ECDSA256\",\n    certnameEcdsa384: \"Fortinet_SSL_ECDSA384\",\n    certnameRsa1024: \"Fortinet_SSL_RSA1024\",\n    certnameRsa2048: \"Fortinet_SSL_RSA2048\",\n    checkCaCert: \"enable\",\n    checkCaChain: \"disable\",\n    cmpSaveExtraCerts: \"disable\",\n    cnMatch: \"substring\",\n    ocspOption: \"server\",\n    ocspStatus: \"disable\",\n    sslMinProtoVersion: \"default\",\n    strictCrlCheck: \"disable\",\n    strictOcspCheck: \"disable\",\n    subjectMatch: \"substring\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.certificate.Setting(\"trname\",\n    certname_dsa1024=\"Fortinet_SSL_DSA1024\",\n    certname_dsa2048=\"Fortinet_SSL_DSA2048\",\n    certname_ecdsa256=\"Fortinet_SSL_ECDSA256\",\n    certname_ecdsa384=\"Fortinet_SSL_ECDSA384\",\n    certname_rsa1024=\"Fortinet_SSL_RSA1024\",\n    certname_rsa2048=\"Fortinet_SSL_RSA2048\",\n    check_ca_cert=\"enable\",\n    check_ca_chain=\"disable\",\n    cmp_save_extra_certs=\"disable\",\n    cn_match=\"substring\",\n    ocsp_option=\"server\",\n    ocsp_status=\"disable\",\n    ssl_min_proto_version=\"default\",\n    strict_crl_check=\"disable\",\n    strict_ocsp_check=\"disable\",\n    subject_match=\"substring\")\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.Vpn.Certificate.Setting(\"trname\", new()\n    {\n        CertnameDsa1024 = \"Fortinet_SSL_DSA1024\",\n        CertnameDsa2048 = \"Fortinet_SSL_DSA2048\",\n        CertnameEcdsa256 = \"Fortinet_SSL_ECDSA256\",\n        CertnameEcdsa384 = \"Fortinet_SSL_ECDSA384\",\n        CertnameRsa1024 = \"Fortinet_SSL_RSA1024\",\n        CertnameRsa2048 = \"Fortinet_SSL_RSA2048\",\n        CheckCaCert = \"enable\",\n        CheckCaChain = \"disable\",\n        CmpSaveExtraCerts = \"disable\",\n        CnMatch = \"substring\",\n        OcspOption = \"server\",\n        OcspStatus = \"disable\",\n        SslMinProtoVersion = \"default\",\n        StrictCrlCheck = \"disable\",\n        StrictOcspCheck = \"disable\",\n        SubjectMatch = \"substring\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewSetting(ctx, \"trname\", &vpn.SettingArgs{\n\t\t\tCertnameDsa1024:    pulumi.String(\"Fortinet_SSL_DSA1024\"),\n\t\t\tCertnameDsa2048:    pulumi.String(\"Fortinet_SSL_DSA2048\"),\n\t\t\tCertnameEcdsa256:   pulumi.String(\"Fortinet_SSL_ECDSA256\"),\n\t\t\tCertnameEcdsa384:   pulumi.String(\"Fortinet_SSL_ECDSA384\"),\n\t\t\tCertnameRsa1024:    pulumi.String(\"Fortinet_SSL_RSA1024\"),\n\t\t\tCertnameRsa2048:    pulumi.String(\"Fortinet_SSL_RSA2048\"),\n\t\t\tCheckCaCert:        pulumi.String(\"enable\"),\n\t\t\tCheckCaChain:       pulumi.String(\"disable\"),\n\t\t\tCmpSaveExtraCerts:  pulumi.String(\"disable\"),\n\t\t\tCnMatch:            pulumi.String(\"substring\"),\n\t\t\tOcspOption:         pulumi.String(\"server\"),\n\t\t\tOcspStatus:         pulumi.String(\"disable\"),\n\t\t\tSslMinProtoVersion: pulumi.String(\"default\"),\n\t\t\tStrictCrlCheck:     pulumi.String(\"disable\"),\n\t\t\tStrictOcspCheck:    pulumi.String(\"disable\"),\n\t\t\tSubjectMatch:       pulumi.String(\"substring\"),\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.vpn.Setting;\nimport com.pulumi.fortios.vpn.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            .certnameDsa1024(\"Fortinet_SSL_DSA1024\")\n            .certnameDsa2048(\"Fortinet_SSL_DSA2048\")\n            .certnameEcdsa256(\"Fortinet_SSL_ECDSA256\")\n            .certnameEcdsa384(\"Fortinet_SSL_ECDSA384\")\n            .certnameRsa1024(\"Fortinet_SSL_RSA1024\")\n            .certnameRsa2048(\"Fortinet_SSL_RSA2048\")\n            .checkCaCert(\"enable\")\n            .checkCaChain(\"disable\")\n            .cmpSaveExtraCerts(\"disable\")\n            .cnMatch(\"substring\")\n            .ocspOption(\"server\")\n            .ocspStatus(\"disable\")\n            .sslMinProtoVersion(\"default\")\n            .strictCrlCheck(\"disable\")\n            .strictOcspCheck(\"disable\")\n            .subjectMatch(\"substring\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/certificate:Setting\n    properties:\n      certnameDsa1024: Fortinet_SSL_DSA1024\n      certnameDsa2048: Fortinet_SSL_DSA2048\n      certnameEcdsa256: Fortinet_SSL_ECDSA256\n      certnameEcdsa384: Fortinet_SSL_ECDSA384\n      certnameRsa1024: Fortinet_SSL_RSA1024\n      certnameRsa2048: Fortinet_SSL_RSA2048\n      checkCaCert: enable\n      checkCaChain: disable\n      cmpSaveExtraCerts: disable\n      cnMatch: substring\n      ocspOption: server\n      ocspStatus: disable\n      sslMinProtoVersion: default\n      strictCrlCheck: disable\n      strictOcspCheck: disable\n      subjectMatch: substring\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnCertificate Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/certificate/setting:Setting labelname VpnCertificateSetting\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:vpn/certificate/setting:Setting labelname VpnCertificateSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certExpireWarning": {
          "type": "integer",
          "description": "Number of days before a certificate expires to send a warning. Set to 0 to disable sending of the warning (0 - 100, default = 14).\n"
        },
        "certnameDsa1024": {
          "type": "string",
          "description": "1024 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameDsa2048": {
          "type": "string",
          "description": "2048 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa256": {
          "type": "string",
          "description": "256 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa384": {
          "type": "string",
          "description": "384 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa521": {
          "type": "string",
          "description": "521 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEd25519": {
          "type": "string",
          "description": "253 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEd448": {
          "type": "string",
          "description": "456 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa1024": {
          "type": "string",
          "description": "1024 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa2048": {
          "type": "string",
          "description": "2048 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa4096": {
          "type": "string",
          "description": "4096 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "checkCaCert": {
          "type": "string",
          "description": "Enable/disable verification of the user certificate and pass authentication if any CA in the chain is trusted (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "checkCaChain": {
          "type": "string",
          "description": "Enable/disable verification of the entire certificate chain and pass authentication only if the chain is complete and all of the CAs in the chain are trusted (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "cmpKeyUsageChecking": {
          "type": "string",
          "description": "Enable/disable server certificate key usage checking in CMP mode (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "cmpSaveExtraCerts": {
          "type": "string",
          "description": "Enable/disable saving extra certificates in CMP mode (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "cnAllowMulti": {
          "type": "string",
          "description": "When searching for a matching certificate, allow multiple CN fields in certificate subject name (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "cnMatch": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do CN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
        },
        "crlVerification": {
          "$ref": "#/types/fortios:vpn%2Fcertificate%2FSettingCrlVerification:SettingCrlVerification",
          "description": "CRL verification options. The structure of `crl_verification` 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"
        },
        "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"
        },
        "ocspDefaultServer": {
          "type": "string",
          "description": "Default OCSP server.\n"
        },
        "ocspOption": {
          "type": "string",
          "description": "Specify whether the OCSP URL is from certificate or configured OCSP server. Valid values: `certificate`, `server`.\n"
        },
        "ocspStatus": {
          "type": "string",
          "description": "Enable/disable receiving certificates using the OCSP.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Proxy server FQDN or IP for OCSP/CA queries during certificate verification.\n"
        },
        "proxyPassword": {
          "type": "string",
          "description": "Proxy server password.\n"
        },
        "proxyPort": {
          "type": "integer",
          "description": "Proxy server port (1 - 65535, default = 8080).\n"
        },
        "proxyUsername": {
          "type": "string",
          "description": "Proxy server user name.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for dynamic AIA and OCSP queries.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "sslOcspSourceIp": {
          "type": "string",
          "description": "Source IP address to use to communicate with the OCSP server.\n"
        },
        "strictCrlCheck": {
          "type": "string",
          "description": "Enable/disable strict mode CRL checking. Valid values: `enable`, `disable`.\n"
        },
        "strictOcspCheck": {
          "type": "string",
          "description": "Enable/disable strict mode OCSP checking. Valid values: `enable`, `disable`.\n"
        },
        "subjectMatch": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do RDN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
        },
        "subjectSet": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do RDN set matching with certificate subject name (default = subset). Valid values: `subset`, `superset`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certExpireWarning",
        "certnameDsa1024",
        "certnameDsa2048",
        "certnameEcdsa256",
        "certnameEcdsa384",
        "certnameEcdsa521",
        "certnameEd25519",
        "certnameEd448",
        "certnameRsa1024",
        "certnameRsa2048",
        "certnameRsa4096",
        "checkCaCert",
        "checkCaChain",
        "cmpKeyUsageChecking",
        "cmpSaveExtraCerts",
        "cnAllowMulti",
        "cnMatch",
        "crlVerification",
        "interface",
        "interfaceSelectMethod",
        "ocspDefaultServer",
        "ocspOption",
        "ocspStatus",
        "proxy",
        "proxyPort",
        "proxyUsername",
        "sourceIp",
        "sslMinProtoVersion",
        "sslOcspSourceIp",
        "strictCrlCheck",
        "strictOcspCheck",
        "subjectMatch",
        "subjectSet",
        "vdomparam"
      ],
      "inputProperties": {
        "certExpireWarning": {
          "type": "integer",
          "description": "Number of days before a certificate expires to send a warning. Set to 0 to disable sending of the warning (0 - 100, default = 14).\n"
        },
        "certnameDsa1024": {
          "type": "string",
          "description": "1024 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameDsa2048": {
          "type": "string",
          "description": "2048 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa256": {
          "type": "string",
          "description": "256 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa384": {
          "type": "string",
          "description": "384 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEcdsa521": {
          "type": "string",
          "description": "521 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEd25519": {
          "type": "string",
          "description": "253 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameEd448": {
          "type": "string",
          "description": "456 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa1024": {
          "type": "string",
          "description": "1024 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa2048": {
          "type": "string",
          "description": "2048 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "certnameRsa4096": {
          "type": "string",
          "description": "4096 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
        },
        "checkCaCert": {
          "type": "string",
          "description": "Enable/disable verification of the user certificate and pass authentication if any CA in the chain is trusted (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "checkCaChain": {
          "type": "string",
          "description": "Enable/disable verification of the entire certificate chain and pass authentication only if the chain is complete and all of the CAs in the chain are trusted (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "cmpKeyUsageChecking": {
          "type": "string",
          "description": "Enable/disable server certificate key usage checking in CMP mode (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "cmpSaveExtraCerts": {
          "type": "string",
          "description": "Enable/disable saving extra certificates in CMP mode (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "cnAllowMulti": {
          "type": "string",
          "description": "When searching for a matching certificate, allow multiple CN fields in certificate subject name (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "cnMatch": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do CN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
        },
        "crlVerification": {
          "$ref": "#/types/fortios:vpn%2Fcertificate%2FSettingCrlVerification:SettingCrlVerification",
          "description": "CRL verification options. The structure of `crl_verification` 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"
        },
        "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"
        },
        "ocspDefaultServer": {
          "type": "string",
          "description": "Default OCSP server.\n"
        },
        "ocspOption": {
          "type": "string",
          "description": "Specify whether the OCSP URL is from certificate or configured OCSP server. Valid values: `certificate`, `server`.\n"
        },
        "ocspStatus": {
          "type": "string",
          "description": "Enable/disable receiving certificates using the OCSP.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Proxy server FQDN or IP for OCSP/CA queries during certificate verification.\n"
        },
        "proxyPassword": {
          "type": "string",
          "description": "Proxy server password.\n"
        },
        "proxyPort": {
          "type": "integer",
          "description": "Proxy server port (1 - 65535, default = 8080).\n"
        },
        "proxyUsername": {
          "type": "string",
          "description": "Proxy server user name.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for dynamic AIA and OCSP queries.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "sslOcspSourceIp": {
          "type": "string",
          "description": "Source IP address to use to communicate with the OCSP server.\n"
        },
        "strictCrlCheck": {
          "type": "string",
          "description": "Enable/disable strict mode CRL checking. Valid values: `enable`, `disable`.\n"
        },
        "strictOcspCheck": {
          "type": "string",
          "description": "Enable/disable strict mode OCSP checking. Valid values: `enable`, `disable`.\n"
        },
        "subjectMatch": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do RDN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
        },
        "subjectSet": {
          "type": "string",
          "description": "When searching for a matching certificate, control how to do RDN set matching with certificate subject name (default = subset). Valid values: `subset`, `superset`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "certnameDsa1024",
        "certnameDsa2048",
        "certnameEcdsa256",
        "certnameEcdsa384",
        "certnameRsa1024",
        "certnameRsa2048"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "certExpireWarning": {
            "type": "integer",
            "description": "Number of days before a certificate expires to send a warning. Set to 0 to disable sending of the warning (0 - 100, default = 14).\n"
          },
          "certnameDsa1024": {
            "type": "string",
            "description": "1024 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameDsa2048": {
            "type": "string",
            "description": "2048 bit DSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameEcdsa256": {
            "type": "string",
            "description": "256 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameEcdsa384": {
            "type": "string",
            "description": "384 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameEcdsa521": {
            "type": "string",
            "description": "521 bit ECDSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameEd25519": {
            "type": "string",
            "description": "253 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameEd448": {
            "type": "string",
            "description": "456 bit EdDSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameRsa1024": {
            "type": "string",
            "description": "1024 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameRsa2048": {
            "type": "string",
            "description": "2048 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "certnameRsa4096": {
            "type": "string",
            "description": "4096 bit RSA key certificate for re-signing server certificates for SSL inspection.\n"
          },
          "checkCaCert": {
            "type": "string",
            "description": "Enable/disable verification of the user certificate and pass authentication if any CA in the chain is trusted (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "checkCaChain": {
            "type": "string",
            "description": "Enable/disable verification of the entire certificate chain and pass authentication only if the chain is complete and all of the CAs in the chain are trusted (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "cmpKeyUsageChecking": {
            "type": "string",
            "description": "Enable/disable server certificate key usage checking in CMP mode (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "cmpSaveExtraCerts": {
            "type": "string",
            "description": "Enable/disable saving extra certificates in CMP mode (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "cnAllowMulti": {
            "type": "string",
            "description": "When searching for a matching certificate, allow multiple CN fields in certificate subject name (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "cnMatch": {
            "type": "string",
            "description": "When searching for a matching certificate, control how to do CN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
          },
          "crlVerification": {
            "$ref": "#/types/fortios:vpn%2Fcertificate%2FSettingCrlVerification:SettingCrlVerification",
            "description": "CRL verification options. The structure of `crl_verification` 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"
          },
          "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"
          },
          "ocspDefaultServer": {
            "type": "string",
            "description": "Default OCSP server.\n"
          },
          "ocspOption": {
            "type": "string",
            "description": "Specify whether the OCSP URL is from certificate or configured OCSP server. Valid values: `certificate`, `server`.\n"
          },
          "ocspStatus": {
            "type": "string",
            "description": "Enable/disable receiving certificates using the OCSP.\n"
          },
          "proxy": {
            "type": "string",
            "description": "Proxy server FQDN or IP for OCSP/CA queries during certificate verification.\n"
          },
          "proxyPassword": {
            "type": "string",
            "description": "Proxy server password.\n"
          },
          "proxyPort": {
            "type": "integer",
            "description": "Proxy server port (1 - 65535, default = 8080).\n"
          },
          "proxyUsername": {
            "type": "string",
            "description": "Proxy server user name.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for dynamic AIA and OCSP queries.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "sslOcspSourceIp": {
            "type": "string",
            "description": "Source IP address to use to communicate with the OCSP server.\n"
          },
          "strictCrlCheck": {
            "type": "string",
            "description": "Enable/disable strict mode CRL checking. Valid values: `enable`, `disable`.\n"
          },
          "strictOcspCheck": {
            "type": "string",
            "description": "Enable/disable strict mode OCSP checking. Valid values: `enable`, `disable`.\n"
          },
          "subjectMatch": {
            "type": "string",
            "description": "When searching for a matching certificate, control how to do RDN value matching with certificate subject name (default = substring). Valid values: `substring`, `value`.\n"
          },
          "subjectSet": {
            "type": "string",
            "description": "When searching for a matching certificate, control how to do RDN set matching with certificate subject name (default = subset). Valid values: `subset`, `superset`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ipsec/concentrator:Concentrator": {
      "description": "Concentrator 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.vpn.ipsec.Concentrator(\"trname\", {srcCheck: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ipsec.Concentrator(\"trname\", src_check=\"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.Vpn.Ipsec.Concentrator(\"trname\", new()\n    {\n        SrcCheck = \"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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewConcentrator(ctx, \"trname\", &vpn.ConcentratorArgs{\n\t\t\tSrcCheck: 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.vpn.Concentrator;\nimport com.pulumi.fortios.vpn.ConcentratorArgs;\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 Concentrator(\"trname\", ConcentratorArgs.builder()\n            .srcCheck(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ipsec:Concentrator\n    properties:\n      srcCheck: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Concentrator can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/concentrator:Concentrator 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:vpn/ipsec/concentrator:Concentrator 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"
        },
        "fosid": {
          "type": "integer",
          "description": "Concentrator ID. (1-65535)\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:vpn%2Fipsec%2FConcentratorMember:ConcentratorMember"
          },
          "description": "Names of up to 3 VPN tunnels to add to the concentrator. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Concentrator name.\n"
        },
        "srcCheck": {
          "type": "string",
          "description": "Enable to check source address of phase 2 selector. Disable to check only the destination selector. 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": [
        "fosid",
        "name",
        "srcCheck",
        "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": "Concentrator ID. (1-65535)\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:vpn%2Fipsec%2FConcentratorMember:ConcentratorMember"
          },
          "description": "Names of up to 3 VPN tunnels to add to the concentrator. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Concentrator name.\n",
          "willReplaceOnChanges": true
        },
        "srcCheck": {
          "type": "string",
          "description": "Enable to check source address of phase 2 selector. Disable to check only the destination selector. 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 Concentrator 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": "Concentrator ID. (1-65535)\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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:vpn%2Fipsec%2FConcentratorMember:ConcentratorMember"
            },
            "description": "Names of up to 3 VPN tunnels to add to the concentrator. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Concentrator name.\n",
            "willReplaceOnChanges": true
          },
          "srcCheck": {
            "type": "string",
            "description": "Enable to check source address of phase 2 selector. Disable to check only the destination selector. 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:vpn/ipsec/fec:Fec": {
      "description": "Configure Forward Error Correction (FEC) mapping profiles. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nVpnIpsec Fec can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/fec:Fec 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:vpn/ipsec/fec:Fec 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"
        },
        "mappings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FFecMapping:FecMapping"
          },
          "description": "FEC redundancy mapping table. The structure of `mappings` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "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": [
        "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"
        },
        "mappings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FFecMapping:FecMapping"
          },
          "description": "FEC redundancy mapping table. The structure of `mappings` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "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 Fec 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"
          },
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FFecMapping:FecMapping"
            },
            "description": "FEC redundancy mapping table. The structure of `mappings` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "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:vpn/ipsec/forticlient:Forticlient": {
      "description": "Configure FortiClient policy realm.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\n// fortios_vpnipsec_phase1interface.trname2:\nconst trname4 = new fortios.vpn.ipsec.Phase1interface(\"trname4\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"enable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    authusrgrp: \"Guest-group\",\n    autoDiscoveryForwarder: \"disable\",\n    autoDiscoveryPsk: \"disable\",\n    autoDiscoveryReceiver: \"disable\",\n    autoDiscoverySender: \"disable\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    comments: \"VPN: Dialup_IPsec (Created by VPN wizard)\",\n    defaultGw: \"0.0.0.0\",\n    defaultGwPriority: 0,\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"auto\",\n    dpd: \"on-idle\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"60\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    encapLocalGw4: \"0.0.0.0\",\n    encapLocalGw6: \"::\",\n    encapRemoteGw4: \"0.0.0.0\",\n    encapRemoteGw6: \"::\",\n    encapsulation: \"none\",\n    encapsulationAddress: \"ike\",\n    enforceUniqueId: \"disable\",\n    exchangeInterfaceIp: \"disable\",\n    exchangeIpAddr4: \"0.0.0.0\",\n    exchangeIpAddr6: \"::\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port4\",\n    ipVersion: \"4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"10.10.10.10\",\n    ipv4Netmask: \"255.255.255.192\",\n    ipv4SplitInclude: \"FIREWALL_AUTH_PORTAL_ADDRESS\",\n    ipv4StartIp: \"10.10.10.1\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localGw6: \"::\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"aggressive\",\n    modeCfg: \"enable\",\n    monitorHoldDownDelay: 0,\n    monitorHoldDownTime: \"00:00\",\n    monitorHoldDownType: \"immediate\",\n    monitorHoldDownWeekday: \"sunday\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    netDevice: \"enable\",\n    passiveMode: \"disable\",\n    peertype: \"any\",\n    psksecret: \"NCIEW32930293203932\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"0.0.0.0\",\n    remoteGw6: \"::\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"enable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    tunnelSearch: \"selectors\",\n    type: \"dynamic\",\n    unitySupport: \"enable\",\n    wizardType: \"dialup-forticlient\",\n    xauthtype: \"auto\",\n});\n// fortios_vpnipsec_phase2interface.trname1:\nconst trname3 = new fortios.vpn.ipsec.Phase2interface(\"trname3\", {\n    addRoute: \"phase1\",\n    autoDiscoveryForwarder: \"phase1\",\n    autoDiscoverySender: \"phase1\",\n    autoNegotiate: \"disable\",\n    dhcpIpsec: \"disable\",\n    dhgrp: \"14 5\",\n    dstAddrType: \"subnet\",\n    dstEndIp: \"0.0.0.0\",\n    dstEndIp6: \"::\",\n    dstPort: 0,\n    dstStartIp: \"0.0.0.0\",\n    dstStartIp6: \"::\",\n    dstSubnet: \"0.0.0.0 0.0.0.0\",\n    dstSubnet6: \"::/0\",\n    encapsulation: \"tunnel-mode\",\n    keepalive: \"disable\",\n    keylifeType: \"seconds\",\n    keylifekbs: 5120,\n    keylifeseconds: 43200,\n    l2tp: \"disable\",\n    pfs: \"enable\",\n    phase1name: trname4.name,\n    proposal: \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol: 0,\n    replay: \"enable\",\n    routeOverlap: \"use-new\",\n    singleSource: \"disable\",\n    srcAddrType: \"subnet\",\n    srcEndIp: \"0.0.0.0\",\n    srcEndIp6: \"::\",\n    srcPort: 0,\n    srcStartIp: \"0.0.0.0\",\n    srcStartIp6: \"::\",\n    srcSubnet: \"0.0.0.0 0.0.0.0\",\n    srcSubnet6: \"::/0\",\n});\nconst trname = new fortios.vpn.ipsec.Forticlient(\"trname\", {\n    phase2name: trname3.name,\n    realm: \"1\",\n    status: \"enable\",\n    usergroupname: \"Guest-group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\n# fortios_vpnipsec_phase1interface.trname2:\ntrname4 = fortios.vpn.ipsec.Phase1interface(\"trname4\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"enable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    authusrgrp=\"Guest-group\",\n    auto_discovery_forwarder=\"disable\",\n    auto_discovery_psk=\"disable\",\n    auto_discovery_receiver=\"disable\",\n    auto_discovery_sender=\"disable\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    comments=\"VPN: Dialup_IPsec (Created by VPN wizard)\",\n    default_gw=\"0.0.0.0\",\n    default_gw_priority=0,\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"auto\",\n    dpd=\"on-idle\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"60\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    encap_local_gw4=\"0.0.0.0\",\n    encap_local_gw6=\"::\",\n    encap_remote_gw4=\"0.0.0.0\",\n    encap_remote_gw6=\"::\",\n    encapsulation=\"none\",\n    encapsulation_address=\"ike\",\n    enforce_unique_id=\"disable\",\n    exchange_interface_ip=\"disable\",\n    exchange_ip_addr4=\"0.0.0.0\",\n    exchange_ip_addr6=\"::\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port4\",\n    ip_version=\"4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"10.10.10.10\",\n    ipv4_netmask=\"255.255.255.192\",\n    ipv4_split_include=\"FIREWALL_AUTH_PORTAL_ADDRESS\",\n    ipv4_start_ip=\"10.10.10.1\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    local_gw6=\"::\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"aggressive\",\n    mode_cfg=\"enable\",\n    monitor_hold_down_delay=0,\n    monitor_hold_down_time=\"00:00\",\n    monitor_hold_down_type=\"immediate\",\n    monitor_hold_down_weekday=\"sunday\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    net_device=\"enable\",\n    passive_mode=\"disable\",\n    peertype=\"any\",\n    psksecret=\"NCIEW32930293203932\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"0.0.0.0\",\n    remote_gw6=\"::\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"enable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    tunnel_search=\"selectors\",\n    type=\"dynamic\",\n    unity_support=\"enable\",\n    wizard_type=\"dialup-forticlient\",\n    xauthtype=\"auto\")\n# fortios_vpnipsec_phase2interface.trname1:\ntrname3 = fortios.vpn.ipsec.Phase2interface(\"trname3\",\n    add_route=\"phase1\",\n    auto_discovery_forwarder=\"phase1\",\n    auto_discovery_sender=\"phase1\",\n    auto_negotiate=\"disable\",\n    dhcp_ipsec=\"disable\",\n    dhgrp=\"14 5\",\n    dst_addr_type=\"subnet\",\n    dst_end_ip=\"0.0.0.0\",\n    dst_end_ip6=\"::\",\n    dst_port=0,\n    dst_start_ip=\"0.0.0.0\",\n    dst_start_ip6=\"::\",\n    dst_subnet=\"0.0.0.0 0.0.0.0\",\n    dst_subnet6=\"::/0\",\n    encapsulation=\"tunnel-mode\",\n    keepalive=\"disable\",\n    keylife_type=\"seconds\",\n    keylifekbs=5120,\n    keylifeseconds=43200,\n    l2tp=\"disable\",\n    pfs=\"enable\",\n    phase1name=trname4.name,\n    proposal=\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol=0,\n    replay=\"enable\",\n    route_overlap=\"use-new\",\n    single_source=\"disable\",\n    src_addr_type=\"subnet\",\n    src_end_ip=\"0.0.0.0\",\n    src_end_ip6=\"::\",\n    src_port=0,\n    src_start_ip=\"0.0.0.0\",\n    src_start_ip6=\"::\",\n    src_subnet=\"0.0.0.0 0.0.0.0\",\n    src_subnet6=\"::/0\")\ntrname = fortios.vpn.ipsec.Forticlient(\"trname\",\n    phase2name=trname3.name,\n    realm=\"1\",\n    status=\"enable\",\n    usergroupname=\"Guest-group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    // fortios_vpnipsec_phase1interface.trname2:\n    var trname4 = new Fortios.Vpn.Ipsec.Phase1interface(\"trname4\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"enable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        Authusrgrp = \"Guest-group\",\n        AutoDiscoveryForwarder = \"disable\",\n        AutoDiscoveryPsk = \"disable\",\n        AutoDiscoveryReceiver = \"disable\",\n        AutoDiscoverySender = \"disable\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        Comments = \"VPN: Dialup_IPsec (Created by VPN wizard)\",\n        DefaultGw = \"0.0.0.0\",\n        DefaultGwPriority = 0,\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"auto\",\n        Dpd = \"on-idle\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"60\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EncapLocalGw4 = \"0.0.0.0\",\n        EncapLocalGw6 = \"::\",\n        EncapRemoteGw4 = \"0.0.0.0\",\n        EncapRemoteGw6 = \"::\",\n        Encapsulation = \"none\",\n        EncapsulationAddress = \"ike\",\n        EnforceUniqueId = \"disable\",\n        ExchangeInterfaceIp = \"disable\",\n        ExchangeIpAddr4 = \"0.0.0.0\",\n        ExchangeIpAddr6 = \"::\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port4\",\n        IpVersion = \"4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"10.10.10.10\",\n        Ipv4Netmask = \"255.255.255.192\",\n        Ipv4SplitInclude = \"FIREWALL_AUTH_PORTAL_ADDRESS\",\n        Ipv4StartIp = \"10.10.10.1\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalGw6 = \"::\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"aggressive\",\n        ModeCfg = \"enable\",\n        MonitorHoldDownDelay = 0,\n        MonitorHoldDownTime = \"00:00\",\n        MonitorHoldDownType = \"immediate\",\n        MonitorHoldDownWeekday = \"sunday\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        NetDevice = \"enable\",\n        PassiveMode = \"disable\",\n        Peertype = \"any\",\n        Psksecret = \"NCIEW32930293203932\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"0.0.0.0\",\n        RemoteGw6 = \"::\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"enable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        TunnelSearch = \"selectors\",\n        Type = \"dynamic\",\n        UnitySupport = \"enable\",\n        WizardType = \"dialup-forticlient\",\n        Xauthtype = \"auto\",\n    });\n\n    // fortios_vpnipsec_phase2interface.trname1:\n    var trname3 = new Fortios.Vpn.Ipsec.Phase2interface(\"trname3\", new()\n    {\n        AddRoute = \"phase1\",\n        AutoDiscoveryForwarder = \"phase1\",\n        AutoDiscoverySender = \"phase1\",\n        AutoNegotiate = \"disable\",\n        DhcpIpsec = \"disable\",\n        Dhgrp = \"14 5\",\n        DstAddrType = \"subnet\",\n        DstEndIp = \"0.0.0.0\",\n        DstEndIp6 = \"::\",\n        DstPort = 0,\n        DstStartIp = \"0.0.0.0\",\n        DstStartIp6 = \"::\",\n        DstSubnet = \"0.0.0.0 0.0.0.0\",\n        DstSubnet6 = \"::/0\",\n        Encapsulation = \"tunnel-mode\",\n        Keepalive = \"disable\",\n        KeylifeType = \"seconds\",\n        Keylifekbs = 5120,\n        Keylifeseconds = 43200,\n        L2tp = \"disable\",\n        Pfs = \"enable\",\n        Phase1name = trname4.Name,\n        Proposal = \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n        Protocol = 0,\n        Replay = \"enable\",\n        RouteOverlap = \"use-new\",\n        SingleSource = \"disable\",\n        SrcAddrType = \"subnet\",\n        SrcEndIp = \"0.0.0.0\",\n        SrcEndIp6 = \"::\",\n        SrcPort = 0,\n        SrcStartIp = \"0.0.0.0\",\n        SrcStartIp6 = \"::\",\n        SrcSubnet = \"0.0.0.0 0.0.0.0\",\n        SrcSubnet6 = \"::/0\",\n    });\n\n    var trname = new Fortios.Vpn.Ipsec.Forticlient(\"trname\", new()\n    {\n        Phase2name = trname3.Name,\n        Realm = \"1\",\n        Status = \"enable\",\n        Usergroupname = \"Guest-group\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// fortios_vpnipsec_phase1interface.trname2:\n\t\ttrname4, err := vpn.NewPhase1interface(ctx, \"trname4\", &vpn.Phase1interfaceArgs{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"enable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAuthusrgrp:             pulumi.String(\"Guest-group\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryPsk:       pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryReceiver:  pulumi.String(\"disable\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"disable\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tComments:               pulumi.String(\"VPN: Dialup_IPsec (Created by VPN wizard)\"),\n\t\t\tDefaultGw:              pulumi.String(\"0.0.0.0\"),\n\t\t\tDefaultGwPriority:      pulumi.Int(0),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"auto\"),\n\t\t\tDpd:                    pulumi.String(\"on-idle\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"60\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEncapLocalGw4:          pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapLocalGw6:          pulumi.String(\"::\"),\n\t\t\tEncapRemoteGw4:         pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapRemoteGw6:         pulumi.String(\"::\"),\n\t\t\tEncapsulation:          pulumi.String(\"none\"),\n\t\t\tEncapsulationAddress:   pulumi.String(\"ike\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tExchangeInterfaceIp:    pulumi.String(\"disable\"),\n\t\t\tExchangeIpAddr4:        pulumi.String(\"0.0.0.0\"),\n\t\t\tExchangeIpAddr6:        pulumi.String(\"::\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port4\"),\n\t\t\tIpVersion:              pulumi.String(\"4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"10.10.10.10\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.192\"),\n\t\t\tIpv4SplitInclude:       pulumi.String(\"FIREWALL_AUTH_PORTAL_ADDRESS\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"10.10.10.1\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalGw6:               pulumi.String(\"::\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"aggressive\"),\n\t\t\tModeCfg:                pulumi.String(\"enable\"),\n\t\t\tMonitorHoldDownDelay:   pulumi.Int(0),\n\t\t\tMonitorHoldDownTime:    pulumi.String(\"00:00\"),\n\t\t\tMonitorHoldDownType:    pulumi.String(\"immediate\"),\n\t\t\tMonitorHoldDownWeekday: pulumi.String(\"sunday\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tNetDevice:              pulumi.String(\"enable\"),\n\t\t\tPassiveMode:            pulumi.String(\"disable\"),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPsksecret:              pulumi.String(\"NCIEW32930293203932\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"0.0.0.0\"),\n\t\t\tRemoteGw6:              pulumi.String(\"::\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"enable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tTunnelSearch:           pulumi.String(\"selectors\"),\n\t\t\tType:                   pulumi.String(\"dynamic\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"dialup-forticlient\"),\n\t\t\tXauthtype:              pulumi.String(\"auto\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// fortios_vpnipsec_phase2interface.trname1:\n\t\ttrname3, err := vpn.NewPhase2interface(ctx, \"trname3\", &vpn.Phase2interfaceArgs{\n\t\t\tAddRoute:               pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"phase1\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"disable\"),\n\t\t\tDhcpIpsec:              pulumi.String(\"disable\"),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDstAddrType:            pulumi.String(\"subnet\"),\n\t\t\tDstEndIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tDstEndIp6:              pulumi.String(\"::\"),\n\t\t\tDstPort:                pulumi.Int(0),\n\t\t\tDstStartIp:             pulumi.String(\"0.0.0.0\"),\n\t\t\tDstStartIp6:            pulumi.String(\"::\"),\n\t\t\tDstSubnet:              pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tDstSubnet6:             pulumi.String(\"::/0\"),\n\t\t\tEncapsulation:          pulumi.String(\"tunnel-mode\"),\n\t\t\tKeepalive:              pulumi.String(\"disable\"),\n\t\t\tKeylifeType:            pulumi.String(\"seconds\"),\n\t\t\tKeylifekbs:             pulumi.Int(5120),\n\t\t\tKeylifeseconds:         pulumi.Int(43200),\n\t\t\tL2tp:                   pulumi.String(\"disable\"),\n\t\t\tPfs:                    pulumi.String(\"enable\"),\n\t\t\tPhase1name:             trname4.Name,\n\t\t\tProposal:               pulumi.String(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\"),\n\t\t\tProtocol:               pulumi.Int(0),\n\t\t\tReplay:                 pulumi.String(\"enable\"),\n\t\t\tRouteOverlap:           pulumi.String(\"use-new\"),\n\t\t\tSingleSource:           pulumi.String(\"disable\"),\n\t\t\tSrcAddrType:            pulumi.String(\"subnet\"),\n\t\t\tSrcEndIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tSrcEndIp6:              pulumi.String(\"::\"),\n\t\t\tSrcPort:                pulumi.Int(0),\n\t\t\tSrcStartIp:             pulumi.String(\"0.0.0.0\"),\n\t\t\tSrcStartIp6:            pulumi.String(\"::\"),\n\t\t\tSrcSubnet:              pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tSrcSubnet6:             pulumi.String(\"::/0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewForticlient(ctx, \"trname\", &vpn.ForticlientArgs{\n\t\t\tPhase2name:    trname3.Name,\n\t\t\tRealm:         pulumi.String(\"1\"),\n\t\t\tStatus:        pulumi.String(\"enable\"),\n\t\t\tUsergroupname: pulumi.String(\"Guest-group\"),\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.vpn.Phase1interface;\nimport com.pulumi.fortios.vpn.Phase1interfaceArgs;\nimport com.pulumi.fortios.vpn.Phase2interface;\nimport com.pulumi.fortios.vpn.Phase2interfaceArgs;\nimport com.pulumi.fortios.vpn.Forticlient;\nimport com.pulumi.fortios.vpn.ForticlientArgs;\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        // fortios_vpnipsec_phase1interface.trname2:\n        var trname4 = new Phase1interface(\"trname4\", Phase1interfaceArgs.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"enable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .authusrgrp(\"Guest-group\")\n            .autoDiscoveryForwarder(\"disable\")\n            .autoDiscoveryPsk(\"disable\")\n            .autoDiscoveryReceiver(\"disable\")\n            .autoDiscoverySender(\"disable\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .comments(\"VPN: Dialup_IPsec (Created by VPN wizard)\")\n            .defaultGw(\"0.0.0.0\")\n            .defaultGwPriority(0)\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"auto\")\n            .dpd(\"on-idle\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"60\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .encapLocalGw4(\"0.0.0.0\")\n            .encapLocalGw6(\"::\")\n            .encapRemoteGw4(\"0.0.0.0\")\n            .encapRemoteGw6(\"::\")\n            .encapsulation(\"none\")\n            .encapsulationAddress(\"ike\")\n            .enforceUniqueId(\"disable\")\n            .exchangeInterfaceIp(\"disable\")\n            .exchangeIpAddr4(\"0.0.0.0\")\n            .exchangeIpAddr6(\"::\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port4\")\n            .ipVersion(\"4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"10.10.10.10\")\n            .ipv4Netmask(\"255.255.255.192\")\n            .ipv4SplitInclude(\"FIREWALL_AUTH_PORTAL_ADDRESS\")\n            .ipv4StartIp(\"10.10.10.1\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localGw6(\"::\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"aggressive\")\n            .modeCfg(\"enable\")\n            .monitorHoldDownDelay(0)\n            .monitorHoldDownTime(\"00:00\")\n            .monitorHoldDownType(\"immediate\")\n            .monitorHoldDownWeekday(\"sunday\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .netDevice(\"enable\")\n            .passiveMode(\"disable\")\n            .peertype(\"any\")\n            .psksecret(\"NCIEW32930293203932\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"0.0.0.0\")\n            .remoteGw6(\"::\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"enable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .tunnelSearch(\"selectors\")\n            .type(\"dynamic\")\n            .unitySupport(\"enable\")\n            .wizardType(\"dialup-forticlient\")\n            .xauthtype(\"auto\")\n            .build());\n\n        // fortios_vpnipsec_phase2interface.trname1:\n        var trname3 = new Phase2interface(\"trname3\", Phase2interfaceArgs.builder()\n            .addRoute(\"phase1\")\n            .autoDiscoveryForwarder(\"phase1\")\n            .autoDiscoverySender(\"phase1\")\n            .autoNegotiate(\"disable\")\n            .dhcpIpsec(\"disable\")\n            .dhgrp(\"14 5\")\n            .dstAddrType(\"subnet\")\n            .dstEndIp(\"0.0.0.0\")\n            .dstEndIp6(\"::\")\n            .dstPort(0)\n            .dstStartIp(\"0.0.0.0\")\n            .dstStartIp6(\"::\")\n            .dstSubnet(\"0.0.0.0 0.0.0.0\")\n            .dstSubnet6(\"::/0\")\n            .encapsulation(\"tunnel-mode\")\n            .keepalive(\"disable\")\n            .keylifeType(\"seconds\")\n            .keylifekbs(5120)\n            .keylifeseconds(43200)\n            .l2tp(\"disable\")\n            .pfs(\"enable\")\n            .phase1name(trname4.name())\n            .proposal(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\")\n            .protocol(0)\n            .replay(\"enable\")\n            .routeOverlap(\"use-new\")\n            .singleSource(\"disable\")\n            .srcAddrType(\"subnet\")\n            .srcEndIp(\"0.0.0.0\")\n            .srcEndIp6(\"::\")\n            .srcPort(0)\n            .srcStartIp(\"0.0.0.0\")\n            .srcStartIp6(\"::\")\n            .srcSubnet(\"0.0.0.0 0.0.0.0\")\n            .srcSubnet6(\"::/0\")\n            .build());\n\n        var trname = new Forticlient(\"trname\", ForticlientArgs.builder()\n            .phase2name(trname3.name())\n            .realm(\"1\")\n            .status(\"enable\")\n            .usergroupname(\"Guest-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # fortios_vpnipsec_phase1interface.trname2:\n  trname4:\n    type: fortios:vpn/ipsec:Phase1interface\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: enable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      authusrgrp: Guest-group\n      autoDiscoveryForwarder: disable\n      autoDiscoveryPsk: disable\n      autoDiscoveryReceiver: disable\n      autoDiscoverySender: disable\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      comments: 'VPN: Dialup_IPsec (Created by VPN wizard)'\n      defaultGw: 0.0.0.0\n      defaultGwPriority: 0\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: auto\n      dpd: on-idle\n      dpdRetrycount: 3\n      dpdRetryinterval: '60'\n      eap: disable\n      eapIdentity: use-id-payload\n      encapLocalGw4: 0.0.0.0\n      encapLocalGw6: '::'\n      encapRemoteGw4: 0.0.0.0\n      encapRemoteGw6: '::'\n      encapsulation: none\n      encapsulationAddress: ike\n      enforceUniqueId: disable\n      exchangeInterfaceIp: disable\n      exchangeIpAddr4: 0.0.0.0\n      exchangeIpAddr6: '::'\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port4\n      ipVersion: '4'\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 10.10.10.10\n      ipv4Netmask: 255.255.255.192\n      ipv4SplitInclude: FIREWALL_AUTH_PORTAL_ADDRESS\n      ipv4StartIp: 10.10.10.1\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localGw6: '::'\n      localidType: auto\n      meshSelectorType: disable\n      mode: aggressive\n      modeCfg: enable\n      monitorHoldDownDelay: 0\n      monitorHoldDownTime: 00:00\n      monitorHoldDownType: immediate\n      monitorHoldDownWeekday: sunday\n      nattraversal: enable\n      negotiateTimeout: 30\n      netDevice: enable\n      passiveMode: disable\n      peertype: any\n      psksecret: NCIEW32930293203932\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      reauth: disable\n      rekey: enable\n      remoteGw: 0.0.0.0\n      remoteGw6: '::'\n      rsaSignatureFormat: pkcs1\n      savePassword: enable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      tunnelSearch: selectors\n      type: dynamic\n      unitySupport: enable\n      wizardType: dialup-forticlient\n      xauthtype: auto\n  # fortios_vpnipsec_phase2interface.trname1:\n  trname3:\n    type: fortios:vpn/ipsec:Phase2interface\n    properties:\n      addRoute: phase1\n      autoDiscoveryForwarder: phase1\n      autoDiscoverySender: phase1\n      autoNegotiate: disable\n      dhcpIpsec: disable\n      dhgrp: 14 5\n      dstAddrType: subnet\n      dstEndIp: 0.0.0.0\n      dstEndIp6: '::'\n      dstPort: 0\n      dstStartIp: 0.0.0.0\n      dstStartIp6: '::'\n      dstSubnet: 0.0.0.0 0.0.0.0\n      dstSubnet6: ::/0\n      encapsulation: tunnel-mode\n      keepalive: disable\n      keylifeType: seconds\n      keylifekbs: 5120\n      keylifeseconds: 43200\n      l2tp: disable\n      pfs: enable\n      phase1name: ${trname4.name}\n      proposal: aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\n      protocol: 0\n      replay: enable\n      routeOverlap: use-new\n      singleSource: disable\n      srcAddrType: subnet\n      srcEndIp: 0.0.0.0\n      srcEndIp6: '::'\n      srcPort: 0\n      srcStartIp: 0.0.0.0\n      srcStartIp6: '::'\n      srcSubnet: 0.0.0.0 0.0.0.0\n      srcSubnet6: ::/0\n  trname:\n    type: fortios:vpn/ipsec:Forticlient\n    properties:\n      phase2name: ${trname3.name}\n      realm: '1'\n      status: enable\n      usergroupname: Guest-group\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Forticlient can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/forticlient:Forticlient labelname {{realm}}\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:vpn/ipsec/forticlient:Forticlient labelname {{realm}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "phase2name": {
          "type": "string",
          "description": "Phase 2 tunnel name that you defined in the FortiClient dialup configuration.\n"
        },
        "realm": {
          "type": "string",
          "description": "FortiClient realm name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this FortiClient configuration. Valid values: `enable`, `disable`.\n"
        },
        "usergroupname": {
          "type": "string",
          "description": "User group name for FortiClient users.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "phase2name",
        "realm",
        "status",
        "usergroupname",
        "vdomparam"
      ],
      "inputProperties": {
        "phase2name": {
          "type": "string",
          "description": "Phase 2 tunnel name that you defined in the FortiClient dialup configuration.\n"
        },
        "realm": {
          "type": "string",
          "description": "FortiClient realm name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this FortiClient configuration. Valid values: `enable`, `disable`.\n"
        },
        "usergroupname": {
          "type": "string",
          "description": "User group name for FortiClient users.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "phase2name",
        "usergroupname"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Forticlient resources.\n",
        "properties": {
          "phase2name": {
            "type": "string",
            "description": "Phase 2 tunnel name that you defined in the FortiClient dialup configuration.\n"
          },
          "realm": {
            "type": "string",
            "description": "FortiClient realm name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this FortiClient configuration. Valid values: `enable`, `disable`.\n"
          },
          "usergroupname": {
            "type": "string",
            "description": "User group name for FortiClient users.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ipsec/manualkey:Manualkey": {
      "description": "Configure IPsec manual 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.vpn.ipsec.Manualkey(\"trname\", {\n    authentication: \"md5\",\n    authkey: \"EE32CA121ECD772A-ECACAABA212345EC\",\n    enckey: \"-\",\n    encryption: \"null\",\n    \"interface\": \"port4\",\n    localGw: \"0.0.0.0\",\n    localspi: \"0x100\",\n    remoteGw: \"1.1.1.1\",\n    remotespi: \"0x100\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ipsec.Manualkey(\"trname\",\n    authentication=\"md5\",\n    authkey=\"EE32CA121ECD772A-ECACAABA212345EC\",\n    enckey=\"-\",\n    encryption=\"null\",\n    interface=\"port4\",\n    local_gw=\"0.0.0.0\",\n    localspi=\"0x100\",\n    remote_gw=\"1.1.1.1\",\n    remotespi=\"0x100\")\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.Vpn.Ipsec.Manualkey(\"trname\", new()\n    {\n        Authentication = \"md5\",\n        Authkey = \"EE32CA121ECD772A-ECACAABA212345EC\",\n        Enckey = \"-\",\n        Encryption = \"null\",\n        Interface = \"port4\",\n        LocalGw = \"0.0.0.0\",\n        Localspi = \"0x100\",\n        RemoteGw = \"1.1.1.1\",\n        Remotespi = \"0x100\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewManualkey(ctx, \"trname\", &vpn.ManualkeyArgs{\n\t\t\tAuthentication: pulumi.String(\"md5\"),\n\t\t\tAuthkey:        pulumi.String(\"EE32CA121ECD772A-ECACAABA212345EC\"),\n\t\t\tEnckey:         pulumi.String(\"-\"),\n\t\t\tEncryption:     pulumi.String(\"null\"),\n\t\t\tInterface:      pulumi.String(\"port4\"),\n\t\t\tLocalGw:        pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalspi:       pulumi.String(\"0x100\"),\n\t\t\tRemoteGw:       pulumi.String(\"1.1.1.1\"),\n\t\t\tRemotespi:      pulumi.String(\"0x100\"),\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.vpn.Manualkey;\nimport com.pulumi.fortios.vpn.ManualkeyArgs;\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 Manualkey(\"trname\", ManualkeyArgs.builder()\n            .authentication(\"md5\")\n            .authkey(\"EE32CA121ECD772A-ECACAABA212345EC\")\n            .enckey(\"-\")\n            .encryption(\"null\")\n            .interface_(\"port4\")\n            .localGw(\"0.0.0.0\")\n            .localspi(\"0x100\")\n            .remoteGw(\"1.1.1.1\")\n            .remotespi(\"0x100\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ipsec:Manualkey\n    properties:\n      authentication: md5\n      authkey: EE32CA121ECD772A-ECACAABA212345EC\n      enckey: '-'\n      encryption: null\n      interface: port4\n      localGw: 0.0.0.0\n      localspi: 0x100\n      remoteGw: 1.1.1.1\n      remotespi: 0x100\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Manualkey can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/manualkey:Manualkey 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:vpn/ipsec/manualkey:Manualkey labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "authkey": {
          "type": "string",
          "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "enckey": {
          "type": "string",
          "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "encryption": {
          "type": "string",
          "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of the physical, aggregate, or VLAN interface.\n"
        },
        "localGw": {
          "type": "string",
          "description": "Local gateway.\n"
        },
        "localspi": {
          "type": "string",
          "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable NPU offloading. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "Peer gateway.\n"
        },
        "remotespi": {
          "type": "string",
          "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "authentication",
        "authkey",
        "enckey",
        "encryption",
        "interface",
        "localGw",
        "localspi",
        "name",
        "npuOffload",
        "remoteGw",
        "remotespi",
        "vdomparam"
      ],
      "inputProperties": {
        "authentication": {
          "type": "string",
          "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "authkey": {
          "type": "string",
          "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "enckey": {
          "type": "string",
          "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "encryption": {
          "type": "string",
          "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of the physical, aggregate, or VLAN interface.\n"
        },
        "localGw": {
          "type": "string",
          "description": "Local gateway.\n"
        },
        "localspi": {
          "type": "string",
          "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable NPU offloading. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "Peer gateway.\n"
        },
        "remotespi": {
          "type": "string",
          "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "authentication",
        "encryption",
        "interface",
        "remoteGw"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Manualkey resources.\n",
        "properties": {
          "authentication": {
            "type": "string",
            "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
          },
          "authkey": {
            "type": "string",
            "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
            "secret": true
          },
          "enckey": {
            "type": "string",
            "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
            "secret": true
          },
          "encryption": {
            "type": "string",
            "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
          },
          "interface": {
            "type": "string",
            "description": "Name of the physical, aggregate, or VLAN interface.\n"
          },
          "localGw": {
            "type": "string",
            "description": "Local gateway.\n"
          },
          "localspi": {
            "type": "string",
            "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "npuOffload": {
            "type": "string",
            "description": "Enable/disable NPU offloading. Valid values: `enable`, `disable`.\n"
          },
          "remoteGw": {
            "type": "string",
            "description": "Peer gateway.\n"
          },
          "remotespi": {
            "type": "string",
            "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ipsec/manualkeyinterface:Manualkeyinterface": {
      "description": "Configure IPsec manual 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.vpn.ipsec.Manualkeyinterface(\"trname\", {\n    addrType: \"4\",\n    authAlg: \"null\",\n    authKey: \"-\",\n    encAlg: \"des\",\n    encKey: \"CECA2184ACADAEEF\",\n    \"interface\": \"port3\",\n    ipVersion: \"4\",\n    localGw: \"0.0.0.0\",\n    localGw6: \"::\",\n    localSpi: \"0x100\",\n    remoteGw: \"2.2.2.2\",\n    remoteGw6: \"::\",\n    remoteSpi: \"0x100\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ipsec.Manualkeyinterface(\"trname\",\n    addr_type=\"4\",\n    auth_alg=\"null\",\n    auth_key=\"-\",\n    enc_alg=\"des\",\n    enc_key=\"CECA2184ACADAEEF\",\n    interface=\"port3\",\n    ip_version=\"4\",\n    local_gw=\"0.0.0.0\",\n    local_gw6=\"::\",\n    local_spi=\"0x100\",\n    remote_gw=\"2.2.2.2\",\n    remote_gw6=\"::\",\n    remote_spi=\"0x100\")\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.Vpn.Ipsec.Manualkeyinterface(\"trname\", new()\n    {\n        AddrType = \"4\",\n        AuthAlg = \"null\",\n        AuthKey = \"-\",\n        EncAlg = \"des\",\n        EncKey = \"CECA2184ACADAEEF\",\n        Interface = \"port3\",\n        IpVersion = \"4\",\n        LocalGw = \"0.0.0.0\",\n        LocalGw6 = \"::\",\n        LocalSpi = \"0x100\",\n        RemoteGw = \"2.2.2.2\",\n        RemoteGw6 = \"::\",\n        RemoteSpi = \"0x100\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewManualkeyinterface(ctx, \"trname\", &vpn.ManualkeyinterfaceArgs{\n\t\t\tAddrType:  pulumi.String(\"4\"),\n\t\t\tAuthAlg:   pulumi.String(\"null\"),\n\t\t\tAuthKey:   pulumi.String(\"-\"),\n\t\t\tEncAlg:    pulumi.String(\"des\"),\n\t\t\tEncKey:    pulumi.String(\"CECA2184ACADAEEF\"),\n\t\t\tInterface: pulumi.String(\"port3\"),\n\t\t\tIpVersion: pulumi.String(\"4\"),\n\t\t\tLocalGw:   pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalGw6:  pulumi.String(\"::\"),\n\t\t\tLocalSpi:  pulumi.String(\"0x100\"),\n\t\t\tRemoteGw:  pulumi.String(\"2.2.2.2\"),\n\t\t\tRemoteGw6: pulumi.String(\"::\"),\n\t\t\tRemoteSpi: pulumi.String(\"0x100\"),\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.vpn.Manualkeyinterface;\nimport com.pulumi.fortios.vpn.ManualkeyinterfaceArgs;\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 Manualkeyinterface(\"trname\", ManualkeyinterfaceArgs.builder()\n            .addrType(\"4\")\n            .authAlg(\"null\")\n            .authKey(\"-\")\n            .encAlg(\"des\")\n            .encKey(\"CECA2184ACADAEEF\")\n            .interface_(\"port3\")\n            .ipVersion(\"4\")\n            .localGw(\"0.0.0.0\")\n            .localGw6(\"::\")\n            .localSpi(\"0x100\")\n            .remoteGw(\"2.2.2.2\")\n            .remoteGw6(\"::\")\n            .remoteSpi(\"0x100\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ipsec:Manualkeyinterface\n    properties:\n      addrType: '4'\n      authAlg: null\n      authKey: '-'\n      encAlg: des\n      encKey: CECA2184ACADAEEF\n      interface: port3\n      ipVersion: '4'\n      localGw: 0.0.0.0\n      localGw6: '::'\n      localSpi: 0x100\n      remoteGw: 2.2.2.2\n      remoteGw6: '::'\n      remoteSpi: 0x100\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec ManualkeyInterface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/manualkeyinterface:Manualkeyinterface 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:vpn/ipsec/manualkeyinterface:Manualkeyinterface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrType": {
          "type": "string",
          "description": "IP version to use for IP packets. Valid values: `4`, `6`.\n"
        },
        "authAlg": {
          "type": "string",
          "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "authKey": {
          "type": "string",
          "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "encAlg": {
          "type": "string",
          "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
        },
        "encKey": {
          "type": "string",
          "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "interface": {
          "type": "string",
          "description": "Name of the physical, aggregate, or VLAN interface.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address of the local gateway's external interface.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "Local IPv6 address of VPN gateway.\n"
        },
        "localSpi": {
          "type": "string",
          "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading IPsec VPN manual key sessions to NPUs. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address of the remote gateway's external interface.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "Remote IPv6 address of VPN gateway.\n"
        },
        "remoteSpi": {
          "type": "string",
          "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "authAlg",
        "authKey",
        "encAlg",
        "encKey",
        "interface",
        "ipVersion",
        "localGw",
        "localGw6",
        "localSpi",
        "name",
        "npuOffload",
        "remoteGw",
        "remoteGw6",
        "remoteSpi",
        "vdomparam"
      ],
      "inputProperties": {
        "addrType": {
          "type": "string",
          "description": "IP version to use for IP packets. Valid values: `4`, `6`.\n"
        },
        "authAlg": {
          "type": "string",
          "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "authKey": {
          "type": "string",
          "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "encAlg": {
          "type": "string",
          "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
        },
        "encKey": {
          "type": "string",
          "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
          "secret": true
        },
        "interface": {
          "type": "string",
          "description": "Name of the physical, aggregate, or VLAN interface.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address of the local gateway's external interface.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "Local IPv6 address of VPN gateway.\n"
        },
        "localSpi": {
          "type": "string",
          "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading IPsec VPN manual key sessions to NPUs. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address of the remote gateway's external interface.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "Remote IPv6 address of VPN gateway.\n"
        },
        "remoteSpi": {
          "type": "string",
          "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "authAlg",
        "encAlg",
        "interface",
        "remoteGw",
        "remoteGw6"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Manualkeyinterface resources.\n",
        "properties": {
          "addrType": {
            "type": "string",
            "description": "IP version to use for IP packets. Valid values: `4`, `6`.\n"
          },
          "authAlg": {
            "type": "string",
            "description": "Authentication algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
          },
          "authKey": {
            "type": "string",
            "description": "Hexadecimal authentication key in 16-digit (8-byte) segments separated by hyphens.\n",
            "secret": true
          },
          "encAlg": {
            "type": "string",
            "description": "Encryption algorithm. Must be the same for both ends of the tunnel. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`, `aria128`, `aria192`, `aria256`, `seed`.\n"
          },
          "encKey": {
            "type": "string",
            "description": "Hexadecimal encryption key in 16-digit (8-byte) segments separated by hyphens.\n",
            "secret": true
          },
          "interface": {
            "type": "string",
            "description": "Name of the physical, aggregate, or VLAN interface.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
          },
          "localGw": {
            "type": "string",
            "description": "IPv4 address of the local gateway's external interface.\n"
          },
          "localGw6": {
            "type": "string",
            "description": "Local IPv6 address of VPN gateway.\n"
          },
          "localSpi": {
            "type": "string",
            "description": "Local SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "npuOffload": {
            "type": "string",
            "description": "Enable/disable offloading IPsec VPN manual key sessions to NPUs. Valid values: `enable`, `disable`.\n"
          },
          "remoteGw": {
            "type": "string",
            "description": "IPv4 address of the remote gateway's external interface.\n"
          },
          "remoteGw6": {
            "type": "string",
            "description": "Remote IPv6 address of VPN gateway.\n"
          },
          "remoteSpi": {
            "type": "string",
            "description": "Remote SPI, a hexadecimal 8-digit (4-byte) tag. Discerns between two traffic streams with different encryption rules.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ipsec/phase1:Phase1": {
      "description": "Configure VPN remote gateway.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trnamex1 = new fortios.vpn.ipsec.Phase1(\"trnamex1\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"disable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"manual\",\n    dpd: \"on-demand\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"20\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    enforceUniqueId: \"disable\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"0.0.0.0\",\n    ipv4Netmask: \"255.255.255.255\",\n    ipv4StartIp: \"0.0.0.0\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"main\",\n    modeCfg: \"disable\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    peertype: \"any\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret: \"dewcEde2112\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"1.1.1.1\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"disable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    type: \"static\",\n    unitySupport: \"enable\",\n    wizardType: \"custom\",\n    xauthtype: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrnamex1 = fortios.vpn.ipsec.Phase1(\"trnamex1\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"disable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"manual\",\n    dpd=\"on-demand\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"20\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    enforce_unique_id=\"disable\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"0.0.0.0\",\n    ipv4_netmask=\"255.255.255.255\",\n    ipv4_start_ip=\"0.0.0.0\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"main\",\n    mode_cfg=\"disable\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    peertype=\"any\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret=\"dewcEde2112\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"1.1.1.1\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"disable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    type=\"static\",\n    unity_support=\"enable\",\n    wizard_type=\"custom\",\n    xauthtype=\"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 trnamex1 = new Fortios.Vpn.Ipsec.Phase1(\"trnamex1\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"disable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"manual\",\n        Dpd = \"on-demand\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"20\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EnforceUniqueId = \"disable\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"0.0.0.0\",\n        Ipv4Netmask = \"255.255.255.255\",\n        Ipv4StartIp = \"0.0.0.0\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"main\",\n        ModeCfg = \"disable\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        Peertype = \"any\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Psksecret = \"dewcEde2112\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"1.1.1.1\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"disable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        Type = \"static\",\n        UnitySupport = \"enable\",\n        WizardType = \"custom\",\n        Xauthtype = \"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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewPhase1(ctx, \"trnamex1\", &vpn.Phase1Args{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"disable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"manual\"),\n\t\t\tDpd:                    pulumi.String(\"on-demand\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"20\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.255\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"main\"),\n\t\t\tModeCfg:                pulumi.String(\"disable\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tPsksecret:              pulumi.String(\"dewcEde2112\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"1.1.1.1\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"disable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tType:                   pulumi.String(\"static\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"custom\"),\n\t\t\tXauthtype:              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.vpn.Phase1;\nimport com.pulumi.fortios.vpn.Phase1Args;\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 trnamex1 = new Phase1(\"trnamex1\", Phase1Args.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"disable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"manual\")\n            .dpd(\"on-demand\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"20\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .enforceUniqueId(\"disable\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"0.0.0.0\")\n            .ipv4Netmask(\"255.255.255.255\")\n            .ipv4StartIp(\"0.0.0.0\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"main\")\n            .modeCfg(\"disable\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .peertype(\"any\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .psksecret(\"dewcEde2112\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"1.1.1.1\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"disable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .type(\"static\")\n            .unitySupport(\"enable\")\n            .wizardType(\"custom\")\n            .xauthtype(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trnamex1:\n    type: fortios:vpn/ipsec:Phase1\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: disable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: manual\n      dpd: on-demand\n      dpdRetrycount: 3\n      dpdRetryinterval: '20'\n      eap: disable\n      eapIdentity: use-id-payload\n      enforceUniqueId: disable\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port4\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 0.0.0.0\n      ipv4Netmask: 255.255.255.255\n      ipv4StartIp: 0.0.0.0\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localidType: auto\n      meshSelectorType: disable\n      mode: main\n      modeCfg: disable\n      nattraversal: enable\n      negotiateTimeout: 30\n      peertype: any\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      psksecret: dewcEde2112\n      reauth: disable\n      rekey: enable\n      remoteGw: 1.1.1.1\n      rsaSignatureFormat: pkcs1\n      savePassword: disable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      type: static\n      unitySupport: enable\n      wizardType: custom\n      xauthtype: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Phase1 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/phase1:Phase1 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:vpn/ipsec/phase1:Phase1 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acctVerify": {
          "type": "string",
          "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
        },
        "addGwRoute": {
          "type": "string",
          "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
        },
        "addRoute": {
          "type": "string",
          "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
        },
        "assignIp": {
          "type": "string",
          "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
        },
        "assignIpFrom": {
          "type": "string",
          "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
        },
        "authmethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `signature`.\n"
        },
        "authmethodRemote": {
          "type": "string",
          "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
        },
        "authpasswd": {
          "type": "string",
          "description": "XAuth password (max 35 characters).\n",
          "secret": true
        },
        "authusr": {
          "type": "string",
          "description": "XAuth user name.\n"
        },
        "authusrgrp": {
          "type": "string",
          "description": "Authentication user group.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
        },
        "azureAdAutoconnect": {
          "type": "string",
          "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "backupGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1BackupGateway:Phase1BackupGateway"
          },
          "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
        },
        "banner": {
          "type": "string",
          "description": "Message that unity client should display after connecting.\n"
        },
        "certIdValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
        },
        "certPeerUsernameStrip": {
          "type": "string",
          "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
        },
        "certPeerUsernameValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
        },
        "certTrustStore": {
          "type": "string",
          "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
        },
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Certificate:Phase1Certificate"
          },
          "description": "Names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
        },
        "childlessIke": {
          "type": "string",
          "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
        },
        "clientAutoNegotiate": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientKeepAlive": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientResume": {
          "type": "string",
          "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
        },
        "clientResumeInterval": {
          "type": "integer",
          "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "devId": {
          "type": "string",
          "description": "Device ID carried by the device ID notification.\n"
        },
        "devIdNotification": {
          "type": "string",
          "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "digitalSignatureAuth": {
          "type": "string",
          "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by IKE (1 - 255).\n"
        },
        "dnsMode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Instruct unity clients about the default DNS domain.\n"
        },
        "dpd": {
          "type": "string",
          "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
        },
        "dpdRetrycount": {
          "type": "integer",
          "description": "Number of DPD retry attempts.\n"
        },
        "dpdRetryinterval": {
          "type": "string",
          "description": "DPD retry interval.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapCertAuth": {
          "type": "string",
          "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
        },
        "eapExcludePeergrp": {
          "type": "string",
          "description": "Peer group excluded from EAP authentication.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
        },
        "emsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
        },
        "enforceUniqueId": {
          "type": "string",
          "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
        },
        "esn": {
          "type": "string",
          "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
        },
        "exchangeFgtDeviceId": {
          "type": "string",
          "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
        },
        "fallbackTcpThreshold": {
          "type": "integer",
          "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
        },
        "fecBase": {
          "type": "integer",
          "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
        },
        "fecCodec": {
          "type": "integer",
          "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
        },
        "fecCodecString": {
          "type": "string",
          "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
        },
        "fecEgress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecHealthCheck": {
          "type": "string",
          "description": "SD-WAN health check.\n"
        },
        "fecIngress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecMappingProfile": {
          "type": "string",
          "description": "Forward Error Correction (FEC) mapping profile.\n"
        },
        "fecReceiveTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
        },
        "fecRedundant": {
          "type": "integer",
          "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
        },
        "fecSendTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
        },
        "fgspSync": {
          "type": "string",
          "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEnforcement": {
          "type": "string",
          "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
        },
        "fortinetEsp": {
          "type": "string",
          "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
        },
        "fragmentation": {
          "type": "string",
          "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
        },
        "fragmentationMtu": {
          "type": "integer",
          "description": "IKE fragmentation MTU (500 - 16000).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupAuthentication": {
          "type": "string",
          "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
        },
        "groupAuthenticationSecret": {
          "type": "string",
          "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
          "secret": true
        },
        "haSyncEspSeqno": {
          "type": "string",
          "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "string",
          "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeoutinterval": {
          "type": "integer",
          "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
        },
        "ikeVersion": {
          "type": "string",
          "description": "IKE protocol version. Valid values: `1`, `2`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
        },
        "includeLocalLan": {
          "type": "string",
          "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
        },
        "internalDomainLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1InternalDomainList:Phase1InternalDomainList"
          },
          "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
        },
        "ipDelayInterval": {
          "type": "integer",
          "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
        },
        "ipv4DnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "ipv4DnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "ipv4DnsServer3": {
          "type": "string",
          "description": "IPv4 DNS server 3.\n"
        },
        "ipv4EndIp": {
          "type": "string",
          "description": "End of IPv4 range.\n"
        },
        "ipv4ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv4ExcludeRange:Phase1Ipv4ExcludeRange"
          },
          "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
        },
        "ipv4Name": {
          "type": "string",
          "description": "IPv4 address name.\n"
        },
        "ipv4Netmask": {
          "type": "string",
          "description": "IPv4 Netmask.\n"
        },
        "ipv4SplitExclude": {
          "type": "string",
          "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv4SplitInclude": {
          "type": "string",
          "description": "IPv4 split-include subnets.\n"
        },
        "ipv4StartIp": {
          "type": "string",
          "description": "Start of IPv4 range.\n"
        },
        "ipv4WinsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "ipv4WinsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6DnsServer3": {
          "type": "string",
          "description": "IPv6 DNS server 3.\n"
        },
        "ipv6EndIp": {
          "type": "string",
          "description": "End of IPv6 range.\n"
        },
        "ipv6ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv6ExcludeRange:Phase1Ipv6ExcludeRange"
          },
          "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
        },
        "ipv6Name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        },
        "ipv6Prefix": {
          "type": "integer",
          "description": "IPv6 prefix.\n"
        },
        "ipv6SplitExclude": {
          "type": "string",
          "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv6SplitInclude": {
          "type": "string",
          "description": "IPv6 split-include subnets.\n"
        },
        "ipv6StartIp": {
          "type": "string",
          "description": "Start of IPv6 range.\n"
        },
        "keepalive": {
          "type": "integer",
          "description": "NAT-T keep alive interval.\n"
        },
        "keylife": {
          "type": "integer",
          "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
        },
        "kms": {
          "type": "string",
          "description": "Key Management Services server.\n"
        },
        "linkCost": {
          "type": "integer",
          "description": "VPN tunnel underlay link cost.\n"
        },
        "localGw": {
          "type": "string",
          "description": "Local VPN gateway.\n"
        },
        "localid": {
          "type": "string",
          "description": "Local ID.\n"
        },
        "localidType": {
          "type": "string",
          "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
        },
        "loopbackAsymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
        },
        "meshSelectorType": {
          "type": "string",
          "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
        },
        "mode": {
          "type": "string",
          "description": "ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
        },
        "modeCfg": {
          "type": "string",
          "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
        },
        "modeCfgAllowClientSelector": {
          "type": "string",
          "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec remote gateway name.\n"
        },
        "nattraversal": {
          "type": "string",
          "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
        },
        "negotiateTimeout": {
          "type": "integer",
          "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
        },
        "networkId": {
          "type": "integer",
          "description": "VPN gateway network ID.\n"
        },
        "networkOverlay": {
          "type": "string",
          "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
        },
        "peer": {
          "type": "string",
          "description": "Accept this peer certificate.\n"
        },
        "peergrp": {
          "type": "string",
          "description": "Accept this peer certificate group.\n"
        },
        "peerid": {
          "type": "string",
          "description": "Accept this peer identity.\n"
        },
        "peertype": {
          "type": "string",
          "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
        },
        "ppk": {
          "type": "string",
          "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "psksecretRemote": {
          "type": "string",
          "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkd": {
          "type": "string",
          "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) server profile.\n"
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
        },
        "rekey": {
          "type": "string",
          "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "Remote VPN gateway.\n"
        },
        "remoteGw6Country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "remoteGw6EndIp": {
          "type": "string",
          "description": "Last IPv6 address in the range.\n"
        },
        "remoteGw6Match": {
          "type": "string",
          "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
        },
        "remoteGw6StartIp": {
          "type": "string",
          "description": "First IPv6 address in the range.\n"
        },
        "remoteGw6Subnet": {
          "type": "string",
          "description": "IPv6 address and prefix.\n"
        },
        "remoteGwCountry": {
          "type": "string",
          "description": "IPv4 addresses associated to a specific country.\n"
        },
        "remoteGwEndIp": {
          "type": "string",
          "description": "Last IPv4 address in the range.\n"
        },
        "remoteGwMatch": {
          "type": "string",
          "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
        },
        "remoteGwStartIp": {
          "type": "string",
          "description": "First IPv4 address in the range.\n"
        },
        "remoteGwSubnet": {
          "type": "string",
          "description": "IPv4 address and subnet mask.\n"
        },
        "remotegwDdns": {
          "type": "string",
          "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
        },
        "rsaSignatureFormat": {
          "type": "string",
          "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
        },
        "rsaSignatureHashOverride": {
          "type": "string",
          "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
        },
        "sendCertChain": {
          "type": "string",
          "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
        },
        "signatureHashAlg": {
          "type": "string",
          "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
        },
        "splitIncludeService": {
          "type": "string",
          "description": "Split-include services.\n"
        },
        "suiteB": {
          "type": "string",
          "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
        },
        "type": {
          "type": "string",
          "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
        },
        "unitySupport": {
          "type": "string",
          "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User group name for dialup peers.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wizardType": {
          "type": "string",
          "description": "GUI VPN Wizard Type.\n"
        },
        "xauthtype": {
          "type": "string",
          "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
        }
      },
      "type": "object",
      "required": [
        "acctVerify",
        "addGwRoute",
        "addRoute",
        "assignIp",
        "assignIpFrom",
        "authmethod",
        "authmethodRemote",
        "authusr",
        "authusrgrp",
        "autoNegotiate",
        "azureAdAutoconnect",
        "certIdValidation",
        "certPeerUsernameStrip",
        "certPeerUsernameValidation",
        "certTrustStore",
        "childlessIke",
        "clientAutoNegotiate",
        "clientKeepAlive",
        "clientResume",
        "clientResumeInterval",
        "devId",
        "devIdNotification",
        "dhcp6RaLinkaddr",
        "dhcpRaGiaddr",
        "dhgrp",
        "digitalSignatureAuth",
        "distance",
        "dnsMode",
        "domain",
        "dpd",
        "dpdRetrycount",
        "dpdRetryinterval",
        "eap",
        "eapCertAuth",
        "eapExcludePeergrp",
        "eapIdentity",
        "emsSnCheck",
        "enforceUniqueId",
        "esn",
        "exchangeFgtDeviceId",
        "fallbackTcpThreshold",
        "fecBase",
        "fecCodec",
        "fecCodecString",
        "fecEgress",
        "fecHealthCheck",
        "fecIngress",
        "fecMappingProfile",
        "fecReceiveTimeout",
        "fecRedundant",
        "fecSendTimeout",
        "fgspSync",
        "forticlientEnforcement",
        "fortinetEsp",
        "fragmentation",
        "fragmentationMtu",
        "groupAuthentication",
        "haSyncEspSeqno",
        "idleTimeout",
        "idleTimeoutinterval",
        "ikeVersion",
        "inboundDscpCopy",
        "includeLocalLan",
        "interface",
        "ipDelayInterval",
        "ipv4DnsServer1",
        "ipv4DnsServer2",
        "ipv4DnsServer3",
        "ipv4EndIp",
        "ipv4Name",
        "ipv4Netmask",
        "ipv4SplitExclude",
        "ipv4SplitInclude",
        "ipv4StartIp",
        "ipv4WinsServer1",
        "ipv4WinsServer2",
        "ipv6DnsServer1",
        "ipv6DnsServer2",
        "ipv6DnsServer3",
        "ipv6EndIp",
        "ipv6Name",
        "ipv6Prefix",
        "ipv6SplitExclude",
        "ipv6SplitInclude",
        "ipv6StartIp",
        "keepalive",
        "keylife",
        "kms",
        "linkCost",
        "localGw",
        "localid",
        "localidType",
        "loopbackAsymroute",
        "meshSelectorType",
        "mode",
        "modeCfg",
        "modeCfgAllowClientSelector",
        "name",
        "nattraversal",
        "negotiateTimeout",
        "networkId",
        "networkOverlay",
        "npuOffload",
        "peer",
        "peergrp",
        "peerid",
        "peertype",
        "ppk",
        "ppkIdentity",
        "priority",
        "proposal",
        "psksecret",
        "qkd",
        "qkdProfile",
        "reauth",
        "rekey",
        "remoteGw",
        "remoteGw6Country",
        "remoteGw6EndIp",
        "remoteGw6Match",
        "remoteGw6StartIp",
        "remoteGw6Subnet",
        "remoteGwCountry",
        "remoteGwEndIp",
        "remoteGwMatch",
        "remoteGwStartIp",
        "remoteGwSubnet",
        "remotegwDdns",
        "rsaSignatureFormat",
        "rsaSignatureHashOverride",
        "savePassword",
        "sendCertChain",
        "signatureHashAlg",
        "splitIncludeService",
        "suiteB",
        "transport",
        "type",
        "unitySupport",
        "usrgrp",
        "vdomparam",
        "wizardType",
        "xauthtype"
      ],
      "inputProperties": {
        "acctVerify": {
          "type": "string",
          "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
        },
        "addGwRoute": {
          "type": "string",
          "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
        },
        "addRoute": {
          "type": "string",
          "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
        },
        "assignIp": {
          "type": "string",
          "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
        },
        "assignIpFrom": {
          "type": "string",
          "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
        },
        "authmethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `signature`.\n"
        },
        "authmethodRemote": {
          "type": "string",
          "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
        },
        "authpasswd": {
          "type": "string",
          "description": "XAuth password (max 35 characters).\n",
          "secret": true
        },
        "authusr": {
          "type": "string",
          "description": "XAuth user name.\n"
        },
        "authusrgrp": {
          "type": "string",
          "description": "Authentication user group.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
        },
        "azureAdAutoconnect": {
          "type": "string",
          "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "backupGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1BackupGateway:Phase1BackupGateway"
          },
          "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
        },
        "banner": {
          "type": "string",
          "description": "Message that unity client should display after connecting.\n"
        },
        "certIdValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
        },
        "certPeerUsernameStrip": {
          "type": "string",
          "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
        },
        "certPeerUsernameValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
        },
        "certTrustStore": {
          "type": "string",
          "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
        },
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Certificate:Phase1Certificate"
          },
          "description": "Names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
        },
        "childlessIke": {
          "type": "string",
          "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
        },
        "clientAutoNegotiate": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientKeepAlive": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientResume": {
          "type": "string",
          "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
        },
        "clientResumeInterval": {
          "type": "integer",
          "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "devId": {
          "type": "string",
          "description": "Device ID carried by the device ID notification.\n"
        },
        "devIdNotification": {
          "type": "string",
          "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "digitalSignatureAuth": {
          "type": "string",
          "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by IKE (1 - 255).\n"
        },
        "dnsMode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Instruct unity clients about the default DNS domain.\n"
        },
        "dpd": {
          "type": "string",
          "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
        },
        "dpdRetrycount": {
          "type": "integer",
          "description": "Number of DPD retry attempts.\n"
        },
        "dpdRetryinterval": {
          "type": "string",
          "description": "DPD retry interval.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapCertAuth": {
          "type": "string",
          "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
        },
        "eapExcludePeergrp": {
          "type": "string",
          "description": "Peer group excluded from EAP authentication.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
        },
        "emsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
        },
        "enforceUniqueId": {
          "type": "string",
          "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
        },
        "esn": {
          "type": "string",
          "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
        },
        "exchangeFgtDeviceId": {
          "type": "string",
          "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
        },
        "fallbackTcpThreshold": {
          "type": "integer",
          "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
        },
        "fecBase": {
          "type": "integer",
          "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
        },
        "fecCodec": {
          "type": "integer",
          "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
        },
        "fecCodecString": {
          "type": "string",
          "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
        },
        "fecEgress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecHealthCheck": {
          "type": "string",
          "description": "SD-WAN health check.\n"
        },
        "fecIngress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecMappingProfile": {
          "type": "string",
          "description": "Forward Error Correction (FEC) mapping profile.\n"
        },
        "fecReceiveTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
        },
        "fecRedundant": {
          "type": "integer",
          "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
        },
        "fecSendTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
        },
        "fgspSync": {
          "type": "string",
          "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEnforcement": {
          "type": "string",
          "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
        },
        "fortinetEsp": {
          "type": "string",
          "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
        },
        "fragmentation": {
          "type": "string",
          "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
        },
        "fragmentationMtu": {
          "type": "integer",
          "description": "IKE fragmentation MTU (500 - 16000).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupAuthentication": {
          "type": "string",
          "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
        },
        "groupAuthenticationSecret": {
          "type": "string",
          "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
          "secret": true
        },
        "haSyncEspSeqno": {
          "type": "string",
          "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "string",
          "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeoutinterval": {
          "type": "integer",
          "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
        },
        "ikeVersion": {
          "type": "string",
          "description": "IKE protocol version. Valid values: `1`, `2`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
        },
        "includeLocalLan": {
          "type": "string",
          "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
        },
        "internalDomainLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1InternalDomainList:Phase1InternalDomainList"
          },
          "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
        },
        "ipDelayInterval": {
          "type": "integer",
          "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
        },
        "ipv4DnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "ipv4DnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "ipv4DnsServer3": {
          "type": "string",
          "description": "IPv4 DNS server 3.\n"
        },
        "ipv4EndIp": {
          "type": "string",
          "description": "End of IPv4 range.\n"
        },
        "ipv4ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv4ExcludeRange:Phase1Ipv4ExcludeRange"
          },
          "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
        },
        "ipv4Name": {
          "type": "string",
          "description": "IPv4 address name.\n"
        },
        "ipv4Netmask": {
          "type": "string",
          "description": "IPv4 Netmask.\n"
        },
        "ipv4SplitExclude": {
          "type": "string",
          "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv4SplitInclude": {
          "type": "string",
          "description": "IPv4 split-include subnets.\n"
        },
        "ipv4StartIp": {
          "type": "string",
          "description": "Start of IPv4 range.\n"
        },
        "ipv4WinsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "ipv4WinsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6DnsServer3": {
          "type": "string",
          "description": "IPv6 DNS server 3.\n"
        },
        "ipv6EndIp": {
          "type": "string",
          "description": "End of IPv6 range.\n"
        },
        "ipv6ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv6ExcludeRange:Phase1Ipv6ExcludeRange"
          },
          "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
        },
        "ipv6Name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        },
        "ipv6Prefix": {
          "type": "integer",
          "description": "IPv6 prefix.\n"
        },
        "ipv6SplitExclude": {
          "type": "string",
          "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv6SplitInclude": {
          "type": "string",
          "description": "IPv6 split-include subnets.\n"
        },
        "ipv6StartIp": {
          "type": "string",
          "description": "Start of IPv6 range.\n"
        },
        "keepalive": {
          "type": "integer",
          "description": "NAT-T keep alive interval.\n"
        },
        "keylife": {
          "type": "integer",
          "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
        },
        "kms": {
          "type": "string",
          "description": "Key Management Services server.\n"
        },
        "linkCost": {
          "type": "integer",
          "description": "VPN tunnel underlay link cost.\n"
        },
        "localGw": {
          "type": "string",
          "description": "Local VPN gateway.\n"
        },
        "localid": {
          "type": "string",
          "description": "Local ID.\n"
        },
        "localidType": {
          "type": "string",
          "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
        },
        "loopbackAsymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
        },
        "meshSelectorType": {
          "type": "string",
          "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
        },
        "mode": {
          "type": "string",
          "description": "ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
        },
        "modeCfg": {
          "type": "string",
          "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
        },
        "modeCfgAllowClientSelector": {
          "type": "string",
          "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec remote gateway name.\n",
          "willReplaceOnChanges": true
        },
        "nattraversal": {
          "type": "string",
          "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
        },
        "negotiateTimeout": {
          "type": "integer",
          "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
        },
        "networkId": {
          "type": "integer",
          "description": "VPN gateway network ID.\n"
        },
        "networkOverlay": {
          "type": "string",
          "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
        },
        "peer": {
          "type": "string",
          "description": "Accept this peer certificate.\n"
        },
        "peergrp": {
          "type": "string",
          "description": "Accept this peer certificate group.\n"
        },
        "peerid": {
          "type": "string",
          "description": "Accept this peer identity.\n"
        },
        "peertype": {
          "type": "string",
          "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
        },
        "ppk": {
          "type": "string",
          "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "psksecretRemote": {
          "type": "string",
          "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkd": {
          "type": "string",
          "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) server profile.\n"
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
        },
        "rekey": {
          "type": "string",
          "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "Remote VPN gateway.\n"
        },
        "remoteGw6Country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "remoteGw6EndIp": {
          "type": "string",
          "description": "Last IPv6 address in the range.\n"
        },
        "remoteGw6Match": {
          "type": "string",
          "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
        },
        "remoteGw6StartIp": {
          "type": "string",
          "description": "First IPv6 address in the range.\n"
        },
        "remoteGw6Subnet": {
          "type": "string",
          "description": "IPv6 address and prefix.\n"
        },
        "remoteGwCountry": {
          "type": "string",
          "description": "IPv4 addresses associated to a specific country.\n"
        },
        "remoteGwEndIp": {
          "type": "string",
          "description": "Last IPv4 address in the range.\n"
        },
        "remoteGwMatch": {
          "type": "string",
          "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
        },
        "remoteGwStartIp": {
          "type": "string",
          "description": "First IPv4 address in the range.\n"
        },
        "remoteGwSubnet": {
          "type": "string",
          "description": "IPv4 address and subnet mask.\n"
        },
        "remotegwDdns": {
          "type": "string",
          "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
        },
        "rsaSignatureFormat": {
          "type": "string",
          "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
        },
        "rsaSignatureHashOverride": {
          "type": "string",
          "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
        },
        "sendCertChain": {
          "type": "string",
          "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
        },
        "signatureHashAlg": {
          "type": "string",
          "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
        },
        "splitIncludeService": {
          "type": "string",
          "description": "Split-include services.\n"
        },
        "suiteB": {
          "type": "string",
          "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
        },
        "type": {
          "type": "string",
          "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
        },
        "unitySupport": {
          "type": "string",
          "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User group name for dialup peers.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wizardType": {
          "type": "string",
          "description": "GUI VPN Wizard Type.\n"
        },
        "xauthtype": {
          "type": "string",
          "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
        }
      },
      "requiredInputs": [
        "interface",
        "proposal",
        "psksecret"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Phase1 resources.\n",
        "properties": {
          "acctVerify": {
            "type": "string",
            "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
          },
          "addGwRoute": {
            "type": "string",
            "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
          },
          "addRoute": {
            "type": "string",
            "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
          },
          "assignIp": {
            "type": "string",
            "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
          },
          "assignIpFrom": {
            "type": "string",
            "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
          },
          "authmethod": {
            "type": "string",
            "description": "Authentication method. Valid values: `psk`, `signature`.\n"
          },
          "authmethodRemote": {
            "type": "string",
            "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
          },
          "authpasswd": {
            "type": "string",
            "description": "XAuth password (max 35 characters).\n",
            "secret": true
          },
          "authusr": {
            "type": "string",
            "description": "XAuth user name.\n"
          },
          "authusrgrp": {
            "type": "string",
            "description": "Authentication user group.\n"
          },
          "autoNegotiate": {
            "type": "string",
            "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
          },
          "azureAdAutoconnect": {
            "type": "string",
            "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
          },
          "backupGateways": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1BackupGateway:Phase1BackupGateway"
            },
            "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
          },
          "banner": {
            "type": "string",
            "description": "Message that unity client should display after connecting.\n"
          },
          "certIdValidation": {
            "type": "string",
            "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
          },
          "certPeerUsernameStrip": {
            "type": "string",
            "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
          },
          "certPeerUsernameValidation": {
            "type": "string",
            "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
          },
          "certTrustStore": {
            "type": "string",
            "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
          },
          "certificates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Certificate:Phase1Certificate"
            },
            "description": "Names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
          },
          "childlessIke": {
            "type": "string",
            "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
          },
          "clientAutoNegotiate": {
            "type": "string",
            "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
          },
          "clientKeepAlive": {
            "type": "string",
            "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
          },
          "clientResume": {
            "type": "string",
            "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
          },
          "clientResumeInterval": {
            "type": "integer",
            "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "devId": {
            "type": "string",
            "description": "Device ID carried by the device ID notification.\n"
          },
          "devIdNotification": {
            "type": "string",
            "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
          },
          "dhcp6RaLinkaddr": {
            "type": "string",
            "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
          },
          "dhcpRaGiaddr": {
            "type": "string",
            "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
          },
          "dhgrp": {
            "type": "string",
            "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
          },
          "digitalSignatureAuth": {
            "type": "string",
            "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance for routes added by IKE (1 - 255).\n"
          },
          "dnsMode": {
            "type": "string",
            "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
          },
          "domain": {
            "type": "string",
            "description": "Instruct unity clients about the default DNS domain.\n"
          },
          "dpd": {
            "type": "string",
            "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
          },
          "dpdRetrycount": {
            "type": "integer",
            "description": "Number of DPD retry attempts.\n"
          },
          "dpdRetryinterval": {
            "type": "string",
            "description": "DPD retry interval.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "eap": {
            "type": "string",
            "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
          },
          "eapCertAuth": {
            "type": "string",
            "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
          },
          "eapExcludePeergrp": {
            "type": "string",
            "description": "Peer group excluded from EAP authentication.\n"
          },
          "eapIdentity": {
            "type": "string",
            "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
          },
          "emsSnCheck": {
            "type": "string",
            "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
          },
          "enforceUniqueId": {
            "type": "string",
            "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
          },
          "esn": {
            "type": "string",
            "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
          },
          "exchangeFgtDeviceId": {
            "type": "string",
            "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
          },
          "fallbackTcpThreshold": {
            "type": "integer",
            "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
          },
          "fecBase": {
            "type": "integer",
            "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
          },
          "fecCodec": {
            "type": "integer",
            "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
          },
          "fecCodecString": {
            "type": "string",
            "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
          },
          "fecEgress": {
            "type": "string",
            "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
          },
          "fecHealthCheck": {
            "type": "string",
            "description": "SD-WAN health check.\n"
          },
          "fecIngress": {
            "type": "string",
            "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
          },
          "fecMappingProfile": {
            "type": "string",
            "description": "Forward Error Correction (FEC) mapping profile.\n"
          },
          "fecReceiveTimeout": {
            "type": "integer",
            "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
          },
          "fecRedundant": {
            "type": "integer",
            "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
          },
          "fecSendTimeout": {
            "type": "integer",
            "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
          },
          "fgspSync": {
            "type": "string",
            "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
          },
          "forticlientEnforcement": {
            "type": "string",
            "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
          },
          "fortinetEsp": {
            "type": "string",
            "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
          },
          "fragmentation": {
            "type": "string",
            "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
          },
          "fragmentationMtu": {
            "type": "integer",
            "description": "IKE fragmentation MTU (500 - 16000).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groupAuthentication": {
            "type": "string",
            "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
          },
          "groupAuthenticationSecret": {
            "type": "string",
            "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
            "secret": true
          },
          "haSyncEspSeqno": {
            "type": "string",
            "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeout": {
            "type": "string",
            "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeoutinterval": {
            "type": "integer",
            "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
          },
          "ikeVersion": {
            "type": "string",
            "description": "IKE protocol version. Valid values: `1`, `2`.\n"
          },
          "inboundDscpCopy": {
            "type": "string",
            "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
          },
          "includeLocalLan": {
            "type": "string",
            "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
          },
          "interface": {
            "type": "string",
            "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
          },
          "internalDomainLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1InternalDomainList:Phase1InternalDomainList"
            },
            "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
          },
          "ipDelayInterval": {
            "type": "integer",
            "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
          },
          "ipv4DnsServer1": {
            "type": "string",
            "description": "IPv4 DNS server 1.\n"
          },
          "ipv4DnsServer2": {
            "type": "string",
            "description": "IPv4 DNS server 2.\n"
          },
          "ipv4DnsServer3": {
            "type": "string",
            "description": "IPv4 DNS server 3.\n"
          },
          "ipv4EndIp": {
            "type": "string",
            "description": "End of IPv4 range.\n"
          },
          "ipv4ExcludeRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv4ExcludeRange:Phase1Ipv4ExcludeRange"
            },
            "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
          },
          "ipv4Name": {
            "type": "string",
            "description": "IPv4 address name.\n"
          },
          "ipv4Netmask": {
            "type": "string",
            "description": "IPv4 Netmask.\n"
          },
          "ipv4SplitExclude": {
            "type": "string",
            "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
          },
          "ipv4SplitInclude": {
            "type": "string",
            "description": "IPv4 split-include subnets.\n"
          },
          "ipv4StartIp": {
            "type": "string",
            "description": "Start of IPv4 range.\n"
          },
          "ipv4WinsServer1": {
            "type": "string",
            "description": "WINS server 1.\n"
          },
          "ipv4WinsServer2": {
            "type": "string",
            "description": "WINS server 2.\n"
          },
          "ipv6DnsServer1": {
            "type": "string",
            "description": "IPv6 DNS server 1.\n"
          },
          "ipv6DnsServer2": {
            "type": "string",
            "description": "IPv6 DNS server 2.\n"
          },
          "ipv6DnsServer3": {
            "type": "string",
            "description": "IPv6 DNS server 3.\n"
          },
          "ipv6EndIp": {
            "type": "string",
            "description": "End of IPv6 range.\n"
          },
          "ipv6ExcludeRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1Ipv6ExcludeRange:Phase1Ipv6ExcludeRange"
            },
            "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
          },
          "ipv6Name": {
            "type": "string",
            "description": "IPv6 address name.\n"
          },
          "ipv6Prefix": {
            "type": "integer",
            "description": "IPv6 prefix.\n"
          },
          "ipv6SplitExclude": {
            "type": "string",
            "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
          },
          "ipv6SplitInclude": {
            "type": "string",
            "description": "IPv6 split-include subnets.\n"
          },
          "ipv6StartIp": {
            "type": "string",
            "description": "Start of IPv6 range.\n"
          },
          "keepalive": {
            "type": "integer",
            "description": "NAT-T keep alive interval.\n"
          },
          "keylife": {
            "type": "integer",
            "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
          },
          "kms": {
            "type": "string",
            "description": "Key Management Services server.\n"
          },
          "linkCost": {
            "type": "integer",
            "description": "VPN tunnel underlay link cost.\n"
          },
          "localGw": {
            "type": "string",
            "description": "Local VPN gateway.\n"
          },
          "localid": {
            "type": "string",
            "description": "Local ID.\n"
          },
          "localidType": {
            "type": "string",
            "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
          },
          "loopbackAsymroute": {
            "type": "string",
            "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
          },
          "meshSelectorType": {
            "type": "string",
            "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
          },
          "mode": {
            "type": "string",
            "description": "ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
          },
          "modeCfg": {
            "type": "string",
            "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
          },
          "modeCfgAllowClientSelector": {
            "type": "string",
            "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec remote gateway name.\n",
            "willReplaceOnChanges": true
          },
          "nattraversal": {
            "type": "string",
            "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
          },
          "negotiateTimeout": {
            "type": "integer",
            "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
          },
          "networkId": {
            "type": "integer",
            "description": "VPN gateway network ID.\n"
          },
          "networkOverlay": {
            "type": "string",
            "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
          },
          "npuOffload": {
            "type": "string",
            "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
          },
          "peer": {
            "type": "string",
            "description": "Accept this peer certificate.\n"
          },
          "peergrp": {
            "type": "string",
            "description": "Accept this peer certificate group.\n"
          },
          "peerid": {
            "type": "string",
            "description": "Accept this peer identity.\n"
          },
          "peertype": {
            "type": "string",
            "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
          },
          "ppk": {
            "type": "string",
            "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
          },
          "ppkIdentity": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key Identity.\n"
          },
          "ppkSecret": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "priority": {
            "type": "integer",
            "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
          },
          "proposal": {
            "type": "string",
            "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
          },
          "psksecret": {
            "type": "string",
            "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "psksecretRemote": {
            "type": "string",
            "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "qkd": {
            "type": "string",
            "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
          },
          "qkdProfile": {
            "type": "string",
            "description": "Quantum Key Distribution (QKD) server profile.\n"
          },
          "reauth": {
            "type": "string",
            "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
          },
          "rekey": {
            "type": "string",
            "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
          },
          "remoteGw": {
            "type": "string",
            "description": "Remote VPN gateway.\n"
          },
          "remoteGw6Country": {
            "type": "string",
            "description": "IPv6 addresses associated to a specific country.\n"
          },
          "remoteGw6EndIp": {
            "type": "string",
            "description": "Last IPv6 address in the range.\n"
          },
          "remoteGw6Match": {
            "type": "string",
            "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
          },
          "remoteGw6StartIp": {
            "type": "string",
            "description": "First IPv6 address in the range.\n"
          },
          "remoteGw6Subnet": {
            "type": "string",
            "description": "IPv6 address and prefix.\n"
          },
          "remoteGwCountry": {
            "type": "string",
            "description": "IPv4 addresses associated to a specific country.\n"
          },
          "remoteGwEndIp": {
            "type": "string",
            "description": "Last IPv4 address in the range.\n"
          },
          "remoteGwMatch": {
            "type": "string",
            "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
          },
          "remoteGwStartIp": {
            "type": "string",
            "description": "First IPv4 address in the range.\n"
          },
          "remoteGwSubnet": {
            "type": "string",
            "description": "IPv4 address and subnet mask.\n"
          },
          "remotegwDdns": {
            "type": "string",
            "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
          },
          "rsaSignatureFormat": {
            "type": "string",
            "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
          },
          "rsaSignatureHashOverride": {
            "type": "string",
            "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
          },
          "savePassword": {
            "type": "string",
            "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
          },
          "sendCertChain": {
            "type": "string",
            "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
          },
          "signatureHashAlg": {
            "type": "string",
            "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
          },
          "splitIncludeService": {
            "type": "string",
            "description": "Split-include services.\n"
          },
          "suiteB": {
            "type": "string",
            "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
          },
          "transport": {
            "type": "string",
            "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
          },
          "type": {
            "type": "string",
            "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
          },
          "unitySupport": {
            "type": "string",
            "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
          },
          "usrgrp": {
            "type": "string",
            "description": "User group name for dialup peers.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wizardType": {
            "type": "string",
            "description": "GUI VPN Wizard Type.\n"
          },
          "xauthtype": {
            "type": "string",
            "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ipsec/phase1interface:Phase1interface": {
      "description": "Configure VPN remote gateway.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname2 = new fortios.vpn.ipsec.Phase1interface(\"trname2\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"enable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    autoDiscoveryForwarder: \"disable\",\n    autoDiscoveryPsk: \"disable\",\n    autoDiscoveryReceiver: \"disable\",\n    autoDiscoverySender: \"disable\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    defaultGw: \"0.0.0.0\",\n    defaultGwPriority: 0,\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"manual\",\n    dpd: \"on-demand\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"20\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    encapLocalGw4: \"0.0.0.0\",\n    encapLocalGw6: \"::\",\n    encapRemoteGw4: \"0.0.0.0\",\n    encapRemoteGw6: \"::\",\n    encapsulation: \"none\",\n    encapsulationAddress: \"ike\",\n    enforceUniqueId: \"disable\",\n    exchangeInterfaceIp: \"disable\",\n    exchangeIpAddr4: \"0.0.0.0\",\n    exchangeIpAddr6: \"::\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port3\",\n    ipVersion: \"4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"0.0.0.0\",\n    ipv4Netmask: \"255.255.255.255\",\n    ipv4StartIp: \"0.0.0.0\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localGw6: \"::\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"main\",\n    modeCfg: \"disable\",\n    monitorHoldDownDelay: 0,\n    monitorHoldDownTime: \"00:00\",\n    monitorHoldDownType: \"immediate\",\n    monitorHoldDownWeekday: \"sunday\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    netDevice: \"disable\",\n    passiveMode: \"disable\",\n    peertype: \"any\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret: \"eweeeeeeeecee\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"102.2.2.12\",\n    remoteGw6: \"::\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"disable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    tunnelSearch: \"selectors\",\n    type: \"static\",\n    unitySupport: \"enable\",\n    wizardType: \"custom\",\n    xauthtype: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname2 = fortios.vpn.ipsec.Phase1interface(\"trname2\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"enable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    auto_discovery_forwarder=\"disable\",\n    auto_discovery_psk=\"disable\",\n    auto_discovery_receiver=\"disable\",\n    auto_discovery_sender=\"disable\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    default_gw=\"0.0.0.0\",\n    default_gw_priority=0,\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"manual\",\n    dpd=\"on-demand\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"20\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    encap_local_gw4=\"0.0.0.0\",\n    encap_local_gw6=\"::\",\n    encap_remote_gw4=\"0.0.0.0\",\n    encap_remote_gw6=\"::\",\n    encapsulation=\"none\",\n    encapsulation_address=\"ike\",\n    enforce_unique_id=\"disable\",\n    exchange_interface_ip=\"disable\",\n    exchange_ip_addr4=\"0.0.0.0\",\n    exchange_ip_addr6=\"::\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port3\",\n    ip_version=\"4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"0.0.0.0\",\n    ipv4_netmask=\"255.255.255.255\",\n    ipv4_start_ip=\"0.0.0.0\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    local_gw6=\"::\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"main\",\n    mode_cfg=\"disable\",\n    monitor_hold_down_delay=0,\n    monitor_hold_down_time=\"00:00\",\n    monitor_hold_down_type=\"immediate\",\n    monitor_hold_down_weekday=\"sunday\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    net_device=\"disable\",\n    passive_mode=\"disable\",\n    peertype=\"any\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret=\"eweeeeeeeecee\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"102.2.2.12\",\n    remote_gw6=\"::\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"disable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    tunnel_search=\"selectors\",\n    type=\"static\",\n    unity_support=\"enable\",\n    wizard_type=\"custom\",\n    xauthtype=\"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 trname2 = new Fortios.Vpn.Ipsec.Phase1interface(\"trname2\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"enable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        AutoDiscoveryForwarder = \"disable\",\n        AutoDiscoveryPsk = \"disable\",\n        AutoDiscoveryReceiver = \"disable\",\n        AutoDiscoverySender = \"disable\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        DefaultGw = \"0.0.0.0\",\n        DefaultGwPriority = 0,\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"manual\",\n        Dpd = \"on-demand\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"20\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EncapLocalGw4 = \"0.0.0.0\",\n        EncapLocalGw6 = \"::\",\n        EncapRemoteGw4 = \"0.0.0.0\",\n        EncapRemoteGw6 = \"::\",\n        Encapsulation = \"none\",\n        EncapsulationAddress = \"ike\",\n        EnforceUniqueId = \"disable\",\n        ExchangeInterfaceIp = \"disable\",\n        ExchangeIpAddr4 = \"0.0.0.0\",\n        ExchangeIpAddr6 = \"::\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port3\",\n        IpVersion = \"4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"0.0.0.0\",\n        Ipv4Netmask = \"255.255.255.255\",\n        Ipv4StartIp = \"0.0.0.0\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalGw6 = \"::\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"main\",\n        ModeCfg = \"disable\",\n        MonitorHoldDownDelay = 0,\n        MonitorHoldDownTime = \"00:00\",\n        MonitorHoldDownType = \"immediate\",\n        MonitorHoldDownWeekday = \"sunday\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        NetDevice = \"disable\",\n        PassiveMode = \"disable\",\n        Peertype = \"any\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Psksecret = \"eweeeeeeeecee\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"102.2.2.12\",\n        RemoteGw6 = \"::\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"disable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        TunnelSearch = \"selectors\",\n        Type = \"static\",\n        UnitySupport = \"enable\",\n        WizardType = \"custom\",\n        Xauthtype = \"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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewPhase1interface(ctx, \"trname2\", &vpn.Phase1interfaceArgs{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"enable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryPsk:       pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryReceiver:  pulumi.String(\"disable\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"disable\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tDefaultGw:              pulumi.String(\"0.0.0.0\"),\n\t\t\tDefaultGwPriority:      pulumi.Int(0),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"manual\"),\n\t\t\tDpd:                    pulumi.String(\"on-demand\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"20\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEncapLocalGw4:          pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapLocalGw6:          pulumi.String(\"::\"),\n\t\t\tEncapRemoteGw4:         pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapRemoteGw6:         pulumi.String(\"::\"),\n\t\t\tEncapsulation:          pulumi.String(\"none\"),\n\t\t\tEncapsulationAddress:   pulumi.String(\"ike\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tExchangeInterfaceIp:    pulumi.String(\"disable\"),\n\t\t\tExchangeIpAddr4:        pulumi.String(\"0.0.0.0\"),\n\t\t\tExchangeIpAddr6:        pulumi.String(\"::\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port3\"),\n\t\t\tIpVersion:              pulumi.String(\"4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.255\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalGw6:               pulumi.String(\"::\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"main\"),\n\t\t\tModeCfg:                pulumi.String(\"disable\"),\n\t\t\tMonitorHoldDownDelay:   pulumi.Int(0),\n\t\t\tMonitorHoldDownTime:    pulumi.String(\"00:00\"),\n\t\t\tMonitorHoldDownType:    pulumi.String(\"immediate\"),\n\t\t\tMonitorHoldDownWeekday: pulumi.String(\"sunday\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tNetDevice:              pulumi.String(\"disable\"),\n\t\t\tPassiveMode:            pulumi.String(\"disable\"),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tPsksecret:              pulumi.String(\"eweeeeeeeecee\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"102.2.2.12\"),\n\t\t\tRemoteGw6:              pulumi.String(\"::\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"disable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tTunnelSearch:           pulumi.String(\"selectors\"),\n\t\t\tType:                   pulumi.String(\"static\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"custom\"),\n\t\t\tXauthtype:              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.vpn.Phase1interface;\nimport com.pulumi.fortios.vpn.Phase1interfaceArgs;\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 trname2 = new Phase1interface(\"trname2\", Phase1interfaceArgs.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"enable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .autoDiscoveryForwarder(\"disable\")\n            .autoDiscoveryPsk(\"disable\")\n            .autoDiscoveryReceiver(\"disable\")\n            .autoDiscoverySender(\"disable\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .defaultGw(\"0.0.0.0\")\n            .defaultGwPriority(0)\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"manual\")\n            .dpd(\"on-demand\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"20\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .encapLocalGw4(\"0.0.0.0\")\n            .encapLocalGw6(\"::\")\n            .encapRemoteGw4(\"0.0.0.0\")\n            .encapRemoteGw6(\"::\")\n            .encapsulation(\"none\")\n            .encapsulationAddress(\"ike\")\n            .enforceUniqueId(\"disable\")\n            .exchangeInterfaceIp(\"disable\")\n            .exchangeIpAddr4(\"0.0.0.0\")\n            .exchangeIpAddr6(\"::\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port3\")\n            .ipVersion(\"4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"0.0.0.0\")\n            .ipv4Netmask(\"255.255.255.255\")\n            .ipv4StartIp(\"0.0.0.0\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localGw6(\"::\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"main\")\n            .modeCfg(\"disable\")\n            .monitorHoldDownDelay(0)\n            .monitorHoldDownTime(\"00:00\")\n            .monitorHoldDownType(\"immediate\")\n            .monitorHoldDownWeekday(\"sunday\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .netDevice(\"disable\")\n            .passiveMode(\"disable\")\n            .peertype(\"any\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .psksecret(\"eweeeeeeeecee\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"102.2.2.12\")\n            .remoteGw6(\"::\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"disable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .tunnelSearch(\"selectors\")\n            .type(\"static\")\n            .unitySupport(\"enable\")\n            .wizardType(\"custom\")\n            .xauthtype(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname2:\n    type: fortios:vpn/ipsec:Phase1interface\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: enable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      autoDiscoveryForwarder: disable\n      autoDiscoveryPsk: disable\n      autoDiscoveryReceiver: disable\n      autoDiscoverySender: disable\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      defaultGw: 0.0.0.0\n      defaultGwPriority: 0\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: manual\n      dpd: on-demand\n      dpdRetrycount: 3\n      dpdRetryinterval: '20'\n      eap: disable\n      eapIdentity: use-id-payload\n      encapLocalGw4: 0.0.0.0\n      encapLocalGw6: '::'\n      encapRemoteGw4: 0.0.0.0\n      encapRemoteGw6: '::'\n      encapsulation: none\n      encapsulationAddress: ike\n      enforceUniqueId: disable\n      exchangeInterfaceIp: disable\n      exchangeIpAddr4: 0.0.0.0\n      exchangeIpAddr6: '::'\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port3\n      ipVersion: '4'\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 0.0.0.0\n      ipv4Netmask: 255.255.255.255\n      ipv4StartIp: 0.0.0.0\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localGw6: '::'\n      localidType: auto\n      meshSelectorType: disable\n      mode: main\n      modeCfg: disable\n      monitorHoldDownDelay: 0\n      monitorHoldDownTime: 00:00\n      monitorHoldDownType: immediate\n      monitorHoldDownWeekday: sunday\n      nattraversal: enable\n      negotiateTimeout: 30\n      netDevice: disable\n      passiveMode: disable\n      peertype: any\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      psksecret: eweeeeeeeecee\n      reauth: disable\n      rekey: enable\n      remoteGw: 102.2.2.12\n      remoteGw6: '::'\n      rsaSignatureFormat: pkcs1\n      savePassword: disable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      tunnelSearch: selectors\n      type: static\n      unitySupport: enable\n      wizardType: custom\n      xauthtype: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Phase1Interface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/phase1interface:Phase1interface 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:vpn/ipsec/phase1interface:Phase1interface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acctVerify": {
          "type": "string",
          "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
        },
        "addGwRoute": {
          "type": "string",
          "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
        },
        "addRoute": {
          "type": "string",
          "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
        },
        "aggregateMember": {
          "type": "string",
          "description": "Enable/disable use as an aggregate member. Valid values: `enable`, `disable`.\n"
        },
        "aggregateWeight": {
          "type": "integer",
          "description": "Link weight for aggregate.\n"
        },
        "assignIp": {
          "type": "string",
          "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
        },
        "assignIpFrom": {
          "type": "string",
          "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
        },
        "authmethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `signature`.\n"
        },
        "authmethodRemote": {
          "type": "string",
          "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
        },
        "authpasswd": {
          "type": "string",
          "description": "XAuth password (max 35 characters).\n",
          "secret": true
        },
        "authusr": {
          "type": "string",
          "description": "XAuth user name.\n"
        },
        "authusrgrp": {
          "type": "string",
          "description": "Authentication user group.\n"
        },
        "autoDiscoveryCrossover": {
          "type": "string",
          "description": "Allow/block set-up of short-cut tunnels between different network IDs. Valid values: `allow`, `block`.\n"
        },
        "autoDiscoveryForwarder": {
          "type": "string",
          "description": "Enable/disable forwarding auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryOfferInterval": {
          "type": "integer",
          "description": "Interval between shortcut offer messages in seconds (1 - 300, default = 5).\n"
        },
        "autoDiscoveryPsk": {
          "type": "string",
          "description": "Enable/disable use of pre-shared secrets for authentication of auto-discovery tunnels. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryReceiver": {
          "type": "string",
          "description": "Enable/disable accepting auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoverySender": {
          "type": "string",
          "description": "Enable/disable sending auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryShortcuts": {
          "type": "string",
          "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
        },
        "azureAdAutoconnect": {
          "type": "string",
          "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "backupGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceBackupGateway:Phase1interfaceBackupGateway"
          },
          "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
        },
        "banner": {
          "type": "string",
          "description": "Message that unity client should display after connecting.\n"
        },
        "certIdValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
        },
        "certPeerUsernameStrip": {
          "type": "string",
          "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
        },
        "certPeerUsernameValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
        },
        "certTrustStore": {
          "type": "string",
          "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
        },
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceCertificate:Phase1interfaceCertificate"
          },
          "description": "The names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
        },
        "childlessIke": {
          "type": "string",
          "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
        },
        "clientAutoNegotiate": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientKeepAlive": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientResume": {
          "type": "string",
          "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
        },
        "clientResumeInterval": {
          "type": "integer",
          "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultGw": {
          "type": "string",
          "description": "IPv4 address of default route gateway to use for traffic exiting the interface.\n"
        },
        "defaultGwPriority": {
          "type": "integer",
          "description": "Priority for default gateway route. A higher priority number signifies a less preferred route.\n"
        },
        "devId": {
          "type": "string",
          "description": "Device ID carried by the device ID notification.\n"
        },
        "devIdNotification": {
          "type": "string",
          "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "digitalSignatureAuth": {
          "type": "string",
          "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by IKE (1 - 255).\n"
        },
        "dnsMode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Instruct unity clients about the default DNS domain.\n"
        },
        "dpd": {
          "type": "string",
          "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
        },
        "dpdRetrycount": {
          "type": "integer",
          "description": "Number of DPD retry attempts.\n"
        },
        "dpdRetryinterval": {
          "type": "string",
          "description": "DPD retry interval.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapCertAuth": {
          "type": "string",
          "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
        },
        "eapExcludePeergrp": {
          "type": "string",
          "description": "Peer group excluded from EAP authentication.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
        },
        "emsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
        },
        "encapLocalGw4": {
          "type": "string",
          "description": "Local IPv4 address of GRE/VXLAN tunnel.\n"
        },
        "encapLocalGw6": {
          "type": "string",
          "description": "Local IPv6 address of GRE/VXLAN tunnel.\n"
        },
        "encapRemoteGw4": {
          "type": "string",
          "description": "Remote IPv4 address of GRE/VXLAN tunnel.\n"
        },
        "encapRemoteGw6": {
          "type": "string",
          "description": "Remote IPv6 address of GRE/VXLAN tunnel.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "Enable/disable GRE/VXLAN encapsulation.\n"
        },
        "encapsulationAddress": {
          "type": "string",
          "description": "Source for GRE/VXLAN tunnel address. Valid values: `ike`, `ipv4`, `ipv6`.\n"
        },
        "enforceUniqueId": {
          "type": "string",
          "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
        },
        "esn": {
          "type": "string",
          "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
        },
        "exchangeFgtDeviceId": {
          "type": "string",
          "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
        },
        "exchangeInterfaceIp": {
          "type": "string",
          "description": "Enable/disable exchange of IPsec interface IP address. Valid values: `enable`, `disable`.\n"
        },
        "exchangeIpAddr4": {
          "type": "string",
          "description": "IPv4 address to exchange with peers.\n"
        },
        "exchangeIpAddr6": {
          "type": "string",
          "description": "IPv6 address to exchange with peers\n"
        },
        "fallbackTcpThreshold": {
          "type": "integer",
          "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
        },
        "fecBase": {
          "type": "integer",
          "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
        },
        "fecCodec": {
          "type": "integer",
          "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
        },
        "fecCodecString": {
          "type": "string",
          "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
        },
        "fecEgress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecHealthCheck": {
          "type": "string",
          "description": "SD-WAN health check.\n"
        },
        "fecIngress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecMappingProfile": {
          "type": "string",
          "description": "Forward Error Correction (FEC) mapping profile.\n"
        },
        "fecReceiveTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
        },
        "fecRedundant": {
          "type": "integer",
          "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
        },
        "fecSendTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
        },
        "fgspSync": {
          "type": "string",
          "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEnforcement": {
          "type": "string",
          "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
        },
        "fortinetEsp": {
          "type": "string",
          "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
        },
        "fragmentation": {
          "type": "string",
          "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
        },
        "fragmentationMtu": {
          "type": "integer",
          "description": "IKE fragmentation MTU (500 - 16000).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupAuthentication": {
          "type": "string",
          "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
        },
        "groupAuthenticationSecret": {
          "type": "string",
          "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
          "secret": true
        },
        "haSyncEspSeqno": {
          "type": "string",
          "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "string",
          "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeoutinterval": {
          "type": "integer",
          "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
        },
        "ikeVersion": {
          "type": "string",
          "description": "IKE protocol version. Valid values: `1`, `2`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
        },
        "includeLocalLan": {
          "type": "string",
          "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
        },
        "internalDomainLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceInternalDomainList:Phase1interfaceInternalDomainList"
          },
          "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
        },
        "ipDelayInterval": {
          "type": "integer",
          "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
        },
        "ipFragmentation": {
          "type": "string",
          "description": "Determine whether IP packets are fragmented before or after IPsec encapsulation. Valid values: `pre-encapsulation`, `post-encapsulation`.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "ipv4DnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "ipv4DnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "ipv4DnsServer3": {
          "type": "string",
          "description": "IPv4 DNS server 3.\n"
        },
        "ipv4EndIp": {
          "type": "string",
          "description": "End of IPv4 range.\n"
        },
        "ipv4ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv4ExcludeRange:Phase1interfaceIpv4ExcludeRange"
          },
          "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
        },
        "ipv4Name": {
          "type": "string",
          "description": "IPv4 address name.\n"
        },
        "ipv4Netmask": {
          "type": "string",
          "description": "IPv4 Netmask.\n"
        },
        "ipv4SplitExclude": {
          "type": "string",
          "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv4SplitInclude": {
          "type": "string",
          "description": "IPv4 split-include subnets.\n"
        },
        "ipv4StartIp": {
          "type": "string",
          "description": "Start of IPv4 range.\n"
        },
        "ipv4WinsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "ipv4WinsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6DnsServer3": {
          "type": "string",
          "description": "IPv6 DNS server 3.\n"
        },
        "ipv6EndIp": {
          "type": "string",
          "description": "End of IPv6 range.\n"
        },
        "ipv6ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv6ExcludeRange:Phase1interfaceIpv6ExcludeRange"
          },
          "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
        },
        "ipv6Name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        },
        "ipv6Prefix": {
          "type": "integer",
          "description": "IPv6 prefix.\n"
        },
        "ipv6SplitExclude": {
          "type": "string",
          "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv6SplitInclude": {
          "type": "string",
          "description": "IPv6 split-include subnets.\n"
        },
        "ipv6StartIp": {
          "type": "string",
          "description": "Start of IPv6 range.\n"
        },
        "keepalive": {
          "type": "integer",
          "description": "NAT-T keep alive interval.\n"
        },
        "keylife": {
          "type": "integer",
          "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
        },
        "kms": {
          "type": "string",
          "description": "Key Management Services server.\n"
        },
        "linkCost": {
          "type": "integer",
          "description": "VPN tunnel underlay link cost.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address of the local gateway's external interface.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "IPv6 address of the local gateway's external interface.\n"
        },
        "localid": {
          "type": "string",
          "description": "Local ID.\n"
        },
        "localidType": {
          "type": "string",
          "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
        },
        "loopbackAsymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
        },
        "meshSelectorType": {
          "type": "string",
          "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
        },
        "mode": {
          "type": "string",
          "description": "The ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
        },
        "modeCfg": {
          "type": "string",
          "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
        },
        "modeCfgAllowClientSelector": {
          "type": "string",
          "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "IPsec interface as backup for primary interface.\n"
        },
        "monitorHoldDownDelay": {
          "type": "integer",
          "description": "Time to wait in seconds before recovery once primary re-establishes.\n"
        },
        "monitorHoldDownTime": {
          "type": "string",
          "description": "Time of day at which to fail back to primary after it re-establishes.\n"
        },
        "monitorHoldDownType": {
          "type": "string",
          "description": "Recovery time method when primary interface re-establishes. Valid values: `immediate`, `delay`, `time`.\n"
        },
        "monitorHoldDownWeekday": {
          "type": "string",
          "description": "Day of the week to recover once primary re-establishes. Valid values: `everyday`, `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "monitorMin": {
          "type": "integer",
          "description": "Minimum number of links to become degraded before activating this interface.  Zero (0) means all links must be down before activating this interface.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec remote gateway name.\n"
        },
        "nattraversal": {
          "type": "string",
          "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
        },
        "negotiateTimeout": {
          "type": "integer",
          "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
        },
        "netDevice": {
          "type": "string",
          "description": "Enable/disable kernel device creation. Valid values: `enable`, `disable`.\n"
        },
        "networkId": {
          "type": "integer",
          "description": "VPN gateway network ID.\n"
        },
        "networkOverlay": {
          "type": "string",
          "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
        },
        "packetRedistribution": {
          "type": "string",
          "description": "Enable/disable packet distribution (RPS) on the IPsec interface. Valid values: `enable`, `disable`.\n"
        },
        "passiveMode": {
          "type": "string",
          "description": "Enable/disable IPsec passive mode for static tunnels. Valid values: `enable`, `disable`.\n"
        },
        "peer": {
          "type": "string",
          "description": "Accept this peer certificate.\n"
        },
        "peergrp": {
          "type": "string",
          "description": "Accept this peer certificate group.\n"
        },
        "peerid": {
          "type": "string",
          "description": "Accept this peer identity.\n"
        },
        "peertype": {
          "type": "string",
          "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
        },
        "ppk": {
          "type": "string",
          "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "psksecretRemote": {
          "type": "string",
          "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkd": {
          "type": "string",
          "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) server profile.\n"
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
        },
        "rekey": {
          "type": "string",
          "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address of the remote gateway's external interface.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "IPv6 address of the remote gateway's external interface.\n"
        },
        "remoteGw6Country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "remoteGw6EndIp": {
          "type": "string",
          "description": "Last IPv6 address in the range.\n"
        },
        "remoteGw6Match": {
          "type": "string",
          "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
        },
        "remoteGw6StartIp": {
          "type": "string",
          "description": "First IPv6 address in the range.\n"
        },
        "remoteGw6Subnet": {
          "type": "string",
          "description": "IPv6 address and prefix.\n"
        },
        "remoteGwCountry": {
          "type": "string",
          "description": "IPv4 addresses associated to a specific country.\n"
        },
        "remoteGwEndIp": {
          "type": "string",
          "description": "Last IPv4 address in the range.\n"
        },
        "remoteGwMatch": {
          "type": "string",
          "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
        },
        "remoteGwStartIp": {
          "type": "string",
          "description": "First IPv4 address in the range.\n"
        },
        "remoteGwSubnet": {
          "type": "string",
          "description": "IPv4 address and subnet mask.\n"
        },
        "remotegwDdns": {
          "type": "string",
          "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
        },
        "rsaSignatureFormat": {
          "type": "string",
          "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
        },
        "rsaSignatureHashOverride": {
          "type": "string",
          "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
        },
        "sendCertChain": {
          "type": "string",
          "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
        },
        "signatureHashAlg": {
          "type": "string",
          "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
        },
        "splitIncludeService": {
          "type": "string",
          "description": "Split-include services.\n"
        },
        "suiteB": {
          "type": "string",
          "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
        },
        "tunnelSearch": {
          "type": "string",
          "description": "Tunnel search method for when the interface is shared. Valid values: `selectors`, `nexthop`.\n"
        },
        "type": {
          "type": "string",
          "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
        },
        "unitySupport": {
          "type": "string",
          "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User group name for dialup peers.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vni": {
          "type": "integer",
          "description": "VNI of VXLAN tunnel.\n"
        },
        "wizardType": {
          "type": "string",
          "description": "GUI VPN Wizard Type.\n"
        },
        "xauthtype": {
          "type": "string",
          "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
        }
      },
      "type": "object",
      "required": [
        "acctVerify",
        "addGwRoute",
        "addRoute",
        "aggregateMember",
        "aggregateWeight",
        "assignIp",
        "assignIpFrom",
        "authmethod",
        "authmethodRemote",
        "authusr",
        "authusrgrp",
        "autoDiscoveryCrossover",
        "autoDiscoveryForwarder",
        "autoDiscoveryOfferInterval",
        "autoDiscoveryPsk",
        "autoDiscoveryReceiver",
        "autoDiscoverySender",
        "autoDiscoveryShortcuts",
        "autoNegotiate",
        "azureAdAutoconnect",
        "certIdValidation",
        "certPeerUsernameStrip",
        "certPeerUsernameValidation",
        "certTrustStore",
        "childlessIke",
        "clientAutoNegotiate",
        "clientKeepAlive",
        "clientResume",
        "clientResumeInterval",
        "defaultGw",
        "defaultGwPriority",
        "devId",
        "devIdNotification",
        "dhcp6RaLinkaddr",
        "dhcpRaGiaddr",
        "dhgrp",
        "digitalSignatureAuth",
        "distance",
        "dnsMode",
        "domain",
        "dpd",
        "dpdRetrycount",
        "dpdRetryinterval",
        "eap",
        "eapCertAuth",
        "eapExcludePeergrp",
        "eapIdentity",
        "emsSnCheck",
        "encapLocalGw4",
        "encapLocalGw6",
        "encapRemoteGw4",
        "encapRemoteGw6",
        "encapsulation",
        "encapsulationAddress",
        "enforceUniqueId",
        "esn",
        "exchangeFgtDeviceId",
        "exchangeInterfaceIp",
        "exchangeIpAddr4",
        "exchangeIpAddr6",
        "fallbackTcpThreshold",
        "fecBase",
        "fecCodec",
        "fecCodecString",
        "fecEgress",
        "fecHealthCheck",
        "fecIngress",
        "fecMappingProfile",
        "fecReceiveTimeout",
        "fecRedundant",
        "fecSendTimeout",
        "fgspSync",
        "forticlientEnforcement",
        "fortinetEsp",
        "fragmentation",
        "fragmentationMtu",
        "groupAuthentication",
        "haSyncEspSeqno",
        "idleTimeout",
        "idleTimeoutinterval",
        "ikeVersion",
        "inboundDscpCopy",
        "includeLocalLan",
        "interface",
        "ipDelayInterval",
        "ipFragmentation",
        "ipVersion",
        "ipv4DnsServer1",
        "ipv4DnsServer2",
        "ipv4DnsServer3",
        "ipv4EndIp",
        "ipv4Name",
        "ipv4Netmask",
        "ipv4SplitExclude",
        "ipv4SplitInclude",
        "ipv4StartIp",
        "ipv4WinsServer1",
        "ipv4WinsServer2",
        "ipv6DnsServer1",
        "ipv6DnsServer2",
        "ipv6DnsServer3",
        "ipv6EndIp",
        "ipv6Name",
        "ipv6Prefix",
        "ipv6SplitExclude",
        "ipv6SplitInclude",
        "ipv6StartIp",
        "keepalive",
        "keylife",
        "kms",
        "linkCost",
        "localGw",
        "localGw6",
        "localid",
        "localidType",
        "loopbackAsymroute",
        "meshSelectorType",
        "mode",
        "modeCfg",
        "modeCfgAllowClientSelector",
        "monitor",
        "monitorHoldDownDelay",
        "monitorHoldDownTime",
        "monitorHoldDownType",
        "monitorHoldDownWeekday",
        "monitorMin",
        "name",
        "nattraversal",
        "negotiateTimeout",
        "netDevice",
        "networkId",
        "networkOverlay",
        "npuOffload",
        "packetRedistribution",
        "passiveMode",
        "peer",
        "peergrp",
        "peerid",
        "peertype",
        "ppk",
        "ppkIdentity",
        "priority",
        "proposal",
        "qkd",
        "qkdProfile",
        "reauth",
        "rekey",
        "remoteGw",
        "remoteGw6",
        "remoteGw6Country",
        "remoteGw6EndIp",
        "remoteGw6Match",
        "remoteGw6StartIp",
        "remoteGw6Subnet",
        "remoteGwCountry",
        "remoteGwEndIp",
        "remoteGwMatch",
        "remoteGwStartIp",
        "remoteGwSubnet",
        "remotegwDdns",
        "rsaSignatureFormat",
        "rsaSignatureHashOverride",
        "savePassword",
        "sendCertChain",
        "signatureHashAlg",
        "splitIncludeService",
        "suiteB",
        "transport",
        "tunnelSearch",
        "type",
        "unitySupport",
        "usrgrp",
        "vdomparam",
        "vni",
        "wizardType",
        "xauthtype"
      ],
      "inputProperties": {
        "acctVerify": {
          "type": "string",
          "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
        },
        "addGwRoute": {
          "type": "string",
          "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
        },
        "addRoute": {
          "type": "string",
          "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
        },
        "aggregateMember": {
          "type": "string",
          "description": "Enable/disable use as an aggregate member. Valid values: `enable`, `disable`.\n"
        },
        "aggregateWeight": {
          "type": "integer",
          "description": "Link weight for aggregate.\n"
        },
        "assignIp": {
          "type": "string",
          "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
        },
        "assignIpFrom": {
          "type": "string",
          "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
        },
        "authmethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `signature`.\n"
        },
        "authmethodRemote": {
          "type": "string",
          "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
        },
        "authpasswd": {
          "type": "string",
          "description": "XAuth password (max 35 characters).\n",
          "secret": true
        },
        "authusr": {
          "type": "string",
          "description": "XAuth user name.\n"
        },
        "authusrgrp": {
          "type": "string",
          "description": "Authentication user group.\n"
        },
        "autoDiscoveryCrossover": {
          "type": "string",
          "description": "Allow/block set-up of short-cut tunnels between different network IDs. Valid values: `allow`, `block`.\n"
        },
        "autoDiscoveryForwarder": {
          "type": "string",
          "description": "Enable/disable forwarding auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryOfferInterval": {
          "type": "integer",
          "description": "Interval between shortcut offer messages in seconds (1 - 300, default = 5).\n"
        },
        "autoDiscoveryPsk": {
          "type": "string",
          "description": "Enable/disable use of pre-shared secrets for authentication of auto-discovery tunnels. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryReceiver": {
          "type": "string",
          "description": "Enable/disable accepting auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoverySender": {
          "type": "string",
          "description": "Enable/disable sending auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryShortcuts": {
          "type": "string",
          "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
        },
        "azureAdAutoconnect": {
          "type": "string",
          "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "backupGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceBackupGateway:Phase1interfaceBackupGateway"
          },
          "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
        },
        "banner": {
          "type": "string",
          "description": "Message that unity client should display after connecting.\n"
        },
        "certIdValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
        },
        "certPeerUsernameStrip": {
          "type": "string",
          "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
        },
        "certPeerUsernameValidation": {
          "type": "string",
          "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
        },
        "certTrustStore": {
          "type": "string",
          "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
        },
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceCertificate:Phase1interfaceCertificate"
          },
          "description": "The names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
        },
        "childlessIke": {
          "type": "string",
          "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
        },
        "clientAutoNegotiate": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientKeepAlive": {
          "type": "string",
          "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
        },
        "clientResume": {
          "type": "string",
          "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
        },
        "clientResumeInterval": {
          "type": "integer",
          "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultGw": {
          "type": "string",
          "description": "IPv4 address of default route gateway to use for traffic exiting the interface.\n"
        },
        "defaultGwPriority": {
          "type": "integer",
          "description": "Priority for default gateway route. A higher priority number signifies a less preferred route.\n"
        },
        "devId": {
          "type": "string",
          "description": "Device ID carried by the device ID notification.\n"
        },
        "devIdNotification": {
          "type": "string",
          "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "digitalSignatureAuth": {
          "type": "string",
          "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by IKE (1 - 255).\n"
        },
        "dnsMode": {
          "type": "string",
          "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Instruct unity clients about the default DNS domain.\n"
        },
        "dpd": {
          "type": "string",
          "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
        },
        "dpdRetrycount": {
          "type": "integer",
          "description": "Number of DPD retry attempts.\n"
        },
        "dpdRetryinterval": {
          "type": "string",
          "description": "DPD retry interval.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapCertAuth": {
          "type": "string",
          "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
        },
        "eapExcludePeergrp": {
          "type": "string",
          "description": "Peer group excluded from EAP authentication.\n"
        },
        "eapIdentity": {
          "type": "string",
          "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
        },
        "emsSnCheck": {
          "type": "string",
          "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
        },
        "encapLocalGw4": {
          "type": "string",
          "description": "Local IPv4 address of GRE/VXLAN tunnel.\n"
        },
        "encapLocalGw6": {
          "type": "string",
          "description": "Local IPv6 address of GRE/VXLAN tunnel.\n"
        },
        "encapRemoteGw4": {
          "type": "string",
          "description": "Remote IPv4 address of GRE/VXLAN tunnel.\n"
        },
        "encapRemoteGw6": {
          "type": "string",
          "description": "Remote IPv6 address of GRE/VXLAN tunnel.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "Enable/disable GRE/VXLAN encapsulation.\n"
        },
        "encapsulationAddress": {
          "type": "string",
          "description": "Source for GRE/VXLAN tunnel address. Valid values: `ike`, `ipv4`, `ipv6`.\n"
        },
        "enforceUniqueId": {
          "type": "string",
          "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
        },
        "esn": {
          "type": "string",
          "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
        },
        "exchangeFgtDeviceId": {
          "type": "string",
          "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
        },
        "exchangeInterfaceIp": {
          "type": "string",
          "description": "Enable/disable exchange of IPsec interface IP address. Valid values: `enable`, `disable`.\n"
        },
        "exchangeIpAddr4": {
          "type": "string",
          "description": "IPv4 address to exchange with peers.\n"
        },
        "exchangeIpAddr6": {
          "type": "string",
          "description": "IPv6 address to exchange with peers\n"
        },
        "fallbackTcpThreshold": {
          "type": "integer",
          "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
        },
        "fecBase": {
          "type": "integer",
          "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
        },
        "fecCodec": {
          "type": "integer",
          "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
        },
        "fecCodecString": {
          "type": "string",
          "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
        },
        "fecEgress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecHealthCheck": {
          "type": "string",
          "description": "SD-WAN health check.\n"
        },
        "fecIngress": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
        },
        "fecMappingProfile": {
          "type": "string",
          "description": "Forward Error Correction (FEC) mapping profile.\n"
        },
        "fecReceiveTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
        },
        "fecRedundant": {
          "type": "integer",
          "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
        },
        "fecSendTimeout": {
          "type": "integer",
          "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
        },
        "fgspSync": {
          "type": "string",
          "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEnforcement": {
          "type": "string",
          "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
        },
        "fortinetEsp": {
          "type": "string",
          "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
        },
        "fragmentation": {
          "type": "string",
          "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
        },
        "fragmentationMtu": {
          "type": "integer",
          "description": "IKE fragmentation MTU (500 - 16000).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupAuthentication": {
          "type": "string",
          "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
        },
        "groupAuthenticationSecret": {
          "type": "string",
          "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
          "secret": true
        },
        "haSyncEspSeqno": {
          "type": "string",
          "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "string",
          "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeoutinterval": {
          "type": "integer",
          "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
        },
        "ikeVersion": {
          "type": "string",
          "description": "IKE protocol version. Valid values: `1`, `2`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
        },
        "includeLocalLan": {
          "type": "string",
          "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
        },
        "internalDomainLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceInternalDomainList:Phase1interfaceInternalDomainList"
          },
          "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
        },
        "ipDelayInterval": {
          "type": "integer",
          "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
        },
        "ipFragmentation": {
          "type": "string",
          "description": "Determine whether IP packets are fragmented before or after IPsec encapsulation. Valid values: `pre-encapsulation`, `post-encapsulation`.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
        },
        "ipv4DnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "ipv4DnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "ipv4DnsServer3": {
          "type": "string",
          "description": "IPv4 DNS server 3.\n"
        },
        "ipv4EndIp": {
          "type": "string",
          "description": "End of IPv4 range.\n"
        },
        "ipv4ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv4ExcludeRange:Phase1interfaceIpv4ExcludeRange"
          },
          "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
        },
        "ipv4Name": {
          "type": "string",
          "description": "IPv4 address name.\n"
        },
        "ipv4Netmask": {
          "type": "string",
          "description": "IPv4 Netmask.\n"
        },
        "ipv4SplitExclude": {
          "type": "string",
          "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv4SplitInclude": {
          "type": "string",
          "description": "IPv4 split-include subnets.\n"
        },
        "ipv4StartIp": {
          "type": "string",
          "description": "Start of IPv4 range.\n"
        },
        "ipv4WinsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "ipv4WinsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6DnsServer3": {
          "type": "string",
          "description": "IPv6 DNS server 3.\n"
        },
        "ipv6EndIp": {
          "type": "string",
          "description": "End of IPv6 range.\n"
        },
        "ipv6ExcludeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv6ExcludeRange:Phase1interfaceIpv6ExcludeRange"
          },
          "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
        },
        "ipv6Name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        },
        "ipv6Prefix": {
          "type": "integer",
          "description": "IPv6 prefix.\n"
        },
        "ipv6SplitExclude": {
          "type": "string",
          "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
        },
        "ipv6SplitInclude": {
          "type": "string",
          "description": "IPv6 split-include subnets.\n"
        },
        "ipv6StartIp": {
          "type": "string",
          "description": "Start of IPv6 range.\n"
        },
        "keepalive": {
          "type": "integer",
          "description": "NAT-T keep alive interval.\n"
        },
        "keylife": {
          "type": "integer",
          "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
        },
        "kms": {
          "type": "string",
          "description": "Key Management Services server.\n"
        },
        "linkCost": {
          "type": "integer",
          "description": "VPN tunnel underlay link cost.\n"
        },
        "localGw": {
          "type": "string",
          "description": "IPv4 address of the local gateway's external interface.\n"
        },
        "localGw6": {
          "type": "string",
          "description": "IPv6 address of the local gateway's external interface.\n"
        },
        "localid": {
          "type": "string",
          "description": "Local ID.\n"
        },
        "localidType": {
          "type": "string",
          "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
        },
        "loopbackAsymroute": {
          "type": "string",
          "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
        },
        "meshSelectorType": {
          "type": "string",
          "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
        },
        "mode": {
          "type": "string",
          "description": "The ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
        },
        "modeCfg": {
          "type": "string",
          "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
        },
        "modeCfgAllowClientSelector": {
          "type": "string",
          "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "IPsec interface as backup for primary interface.\n"
        },
        "monitorHoldDownDelay": {
          "type": "integer",
          "description": "Time to wait in seconds before recovery once primary re-establishes.\n"
        },
        "monitorHoldDownTime": {
          "type": "string",
          "description": "Time of day at which to fail back to primary after it re-establishes.\n"
        },
        "monitorHoldDownType": {
          "type": "string",
          "description": "Recovery time method when primary interface re-establishes. Valid values: `immediate`, `delay`, `time`.\n"
        },
        "monitorHoldDownWeekday": {
          "type": "string",
          "description": "Day of the week to recover once primary re-establishes. Valid values: `everyday`, `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "monitorMin": {
          "type": "integer",
          "description": "Minimum number of links to become degraded before activating this interface.  Zero (0) means all links must be down before activating this interface.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec remote gateway name.\n",
          "willReplaceOnChanges": true
        },
        "nattraversal": {
          "type": "string",
          "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
        },
        "negotiateTimeout": {
          "type": "integer",
          "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
        },
        "netDevice": {
          "type": "string",
          "description": "Enable/disable kernel device creation. Valid values: `enable`, `disable`.\n"
        },
        "networkId": {
          "type": "integer",
          "description": "VPN gateway network ID.\n"
        },
        "networkOverlay": {
          "type": "string",
          "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
        },
        "npuOffload": {
          "type": "string",
          "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
        },
        "packetRedistribution": {
          "type": "string",
          "description": "Enable/disable packet distribution (RPS) on the IPsec interface. Valid values: `enable`, `disable`.\n"
        },
        "passiveMode": {
          "type": "string",
          "description": "Enable/disable IPsec passive mode for static tunnels. Valid values: `enable`, `disable`.\n"
        },
        "peer": {
          "type": "string",
          "description": "Accept this peer certificate.\n"
        },
        "peergrp": {
          "type": "string",
          "description": "Accept this peer certificate group.\n"
        },
        "peerid": {
          "type": "string",
          "description": "Accept this peer identity.\n"
        },
        "peertype": {
          "type": "string",
          "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
        },
        "ppk": {
          "type": "string",
          "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
        },
        "ppkIdentity": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key Identity.\n"
        },
        "ppkSecret": {
          "type": "string",
          "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "psksecretRemote": {
          "type": "string",
          "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "qkd": {
          "type": "string",
          "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
        },
        "qkdProfile": {
          "type": "string",
          "description": "Quantum Key Distribution (QKD) server profile.\n"
        },
        "reauth": {
          "type": "string",
          "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
        },
        "rekey": {
          "type": "string",
          "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IPv4 address of the remote gateway's external interface.\n"
        },
        "remoteGw6": {
          "type": "string",
          "description": "IPv6 address of the remote gateway's external interface.\n"
        },
        "remoteGw6Country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "remoteGw6EndIp": {
          "type": "string",
          "description": "Last IPv6 address in the range.\n"
        },
        "remoteGw6Match": {
          "type": "string",
          "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
        },
        "remoteGw6StartIp": {
          "type": "string",
          "description": "First IPv6 address in the range.\n"
        },
        "remoteGw6Subnet": {
          "type": "string",
          "description": "IPv6 address and prefix.\n"
        },
        "remoteGwCountry": {
          "type": "string",
          "description": "IPv4 addresses associated to a specific country.\n"
        },
        "remoteGwEndIp": {
          "type": "string",
          "description": "Last IPv4 address in the range.\n"
        },
        "remoteGwMatch": {
          "type": "string",
          "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
        },
        "remoteGwStartIp": {
          "type": "string",
          "description": "First IPv4 address in the range.\n"
        },
        "remoteGwSubnet": {
          "type": "string",
          "description": "IPv4 address and subnet mask.\n"
        },
        "remotegwDdns": {
          "type": "string",
          "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
        },
        "rsaSignatureFormat": {
          "type": "string",
          "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
        },
        "rsaSignatureHashOverride": {
          "type": "string",
          "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
        },
        "sendCertChain": {
          "type": "string",
          "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
        },
        "signatureHashAlg": {
          "type": "string",
          "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
        },
        "splitIncludeService": {
          "type": "string",
          "description": "Split-include services.\n"
        },
        "suiteB": {
          "type": "string",
          "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
        },
        "transport": {
          "type": "string",
          "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
        },
        "tunnelSearch": {
          "type": "string",
          "description": "Tunnel search method for when the interface is shared. Valid values: `selectors`, `nexthop`.\n"
        },
        "type": {
          "type": "string",
          "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
        },
        "unitySupport": {
          "type": "string",
          "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User group name for dialup peers.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vni": {
          "type": "integer",
          "description": "VNI of VXLAN tunnel.\n"
        },
        "wizardType": {
          "type": "string",
          "description": "GUI VPN Wizard Type.\n"
        },
        "xauthtype": {
          "type": "string",
          "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
        }
      },
      "requiredInputs": [
        "interface",
        "proposal"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Phase1interface resources.\n",
        "properties": {
          "acctVerify": {
            "type": "string",
            "description": "Enable/disable verification of RADIUS accounting record. Valid values: `enable`, `disable`.\n"
          },
          "addGwRoute": {
            "type": "string",
            "description": "Enable/disable automatically add a route to the remote gateway. Valid values: `enable`, `disable`.\n"
          },
          "addRoute": {
            "type": "string",
            "description": "Enable/disable control addition of a route to peer destination selector. Valid values: `disable`, `enable`.\n"
          },
          "aggregateMember": {
            "type": "string",
            "description": "Enable/disable use as an aggregate member. Valid values: `enable`, `disable`.\n"
          },
          "aggregateWeight": {
            "type": "integer",
            "description": "Link weight for aggregate.\n"
          },
          "assignIp": {
            "type": "string",
            "description": "Enable/disable assignment of IP to IPsec interface via configuration method. Valid values: `disable`, `enable`.\n"
          },
          "assignIpFrom": {
            "type": "string",
            "description": "Method by which the IP address will be assigned. Valid values: `range`, `usrgrp`, `dhcp`, `name`.\n"
          },
          "authmethod": {
            "type": "string",
            "description": "Authentication method. Valid values: `psk`, `signature`.\n"
          },
          "authmethodRemote": {
            "type": "string",
            "description": "Authentication method (remote side). Valid values: `psk`, `signature`.\n"
          },
          "authpasswd": {
            "type": "string",
            "description": "XAuth password (max 35 characters).\n",
            "secret": true
          },
          "authusr": {
            "type": "string",
            "description": "XAuth user name.\n"
          },
          "authusrgrp": {
            "type": "string",
            "description": "Authentication user group.\n"
          },
          "autoDiscoveryCrossover": {
            "type": "string",
            "description": "Allow/block set-up of short-cut tunnels between different network IDs. Valid values: `allow`, `block`.\n"
          },
          "autoDiscoveryForwarder": {
            "type": "string",
            "description": "Enable/disable forwarding auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
          },
          "autoDiscoveryOfferInterval": {
            "type": "integer",
            "description": "Interval between shortcut offer messages in seconds (1 - 300, default = 5).\n"
          },
          "autoDiscoveryPsk": {
            "type": "string",
            "description": "Enable/disable use of pre-shared secrets for authentication of auto-discovery tunnels. Valid values: `enable`, `disable`.\n"
          },
          "autoDiscoveryReceiver": {
            "type": "string",
            "description": "Enable/disable accepting auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
          },
          "autoDiscoverySender": {
            "type": "string",
            "description": "Enable/disable sending auto-discovery short-cut messages. Valid values: `enable`, `disable`.\n"
          },
          "autoDiscoveryShortcuts": {
            "type": "string",
            "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
          },
          "autoNegotiate": {
            "type": "string",
            "description": "Enable/disable automatic initiation of IKE SA negotiation. Valid values: `enable`, `disable`.\n"
          },
          "azureAdAutoconnect": {
            "type": "string",
            "description": "Enable/disable Azure AD Auto-Connect for FortiClient. Valid values: `enable`, `disable`.\n"
          },
          "backupGateways": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceBackupGateway:Phase1interfaceBackupGateway"
            },
            "description": "Instruct unity clients about the backup gateway address(es). The structure of `backup_gateway` block is documented below.\n"
          },
          "banner": {
            "type": "string",
            "description": "Message that unity client should display after connecting.\n"
          },
          "certIdValidation": {
            "type": "string",
            "description": "Enable/disable cross validation of peer ID and the identity in the peer's certificate as specified in RFC 4945. Valid values: `enable`, `disable`.\n"
          },
          "certPeerUsernameStrip": {
            "type": "string",
            "description": "Enable/disable domain stripping on certificate identity. Valid values: `disable`, `enable`.\n"
          },
          "certPeerUsernameValidation": {
            "type": "string",
            "description": "Enable/disable cross validation of peer username and the identity in the peer's certificate. Valid values: `none`, `othername`, `rfc822name`, `cn`.\n"
          },
          "certTrustStore": {
            "type": "string",
            "description": "CA certificate trust store. Valid values: `local`, `ems`.\n"
          },
          "certificates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceCertificate:Phase1interfaceCertificate"
            },
            "description": "The names of up to 4 signed personal certificates. The structure of `certificate` block is documented below.\n"
          },
          "childlessIke": {
            "type": "string",
            "description": "Enable/disable childless IKEv2 initiation (RFC 6023). Valid values: `enable`, `disable`.\n"
          },
          "clientAutoNegotiate": {
            "type": "string",
            "description": "Enable/disable allowing the VPN client to bring up the tunnel when there is no traffic. Valid values: `disable`, `enable`.\n"
          },
          "clientKeepAlive": {
            "type": "string",
            "description": "Enable/disable allowing the VPN client to keep the tunnel up when there is no traffic. Valid values: `disable`, `enable`.\n"
          },
          "clientResume": {
            "type": "string",
            "description": "Enable/disable resumption of offline FortiClient sessions.  When a FortiClient enabled laptop is closed or enters sleep/hibernate mode, enabling this feature allows FortiClient to keep the tunnel during this period, and allows users to immediately resume using the IPsec tunnel when the device wakes up. Valid values: `enable`, `disable`.\n"
          },
          "clientResumeInterval": {
            "type": "integer",
            "description": "Maximum time in seconds during which a VPN client may resume using a tunnel after a client PC has entered sleep mode or temporarily lost its network connection (120 - 172800, default = 1800).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "defaultGw": {
            "type": "string",
            "description": "IPv4 address of default route gateway to use for traffic exiting the interface.\n"
          },
          "defaultGwPriority": {
            "type": "integer",
            "description": "Priority for default gateway route. A higher priority number signifies a less preferred route.\n"
          },
          "devId": {
            "type": "string",
            "description": "Device ID carried by the device ID notification.\n"
          },
          "devIdNotification": {
            "type": "string",
            "description": "Enable/disable device ID notification. Valid values: `disable`, `enable`.\n"
          },
          "dhcp6RaLinkaddr": {
            "type": "string",
            "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
          },
          "dhcpRaGiaddr": {
            "type": "string",
            "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
          },
          "dhgrp": {
            "type": "string",
            "description": "DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
          },
          "digitalSignatureAuth": {
            "type": "string",
            "description": "Enable/disable IKEv2 Digital Signature Authentication (RFC 7427). Valid values: `enable`, `disable`.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance for routes added by IKE (1 - 255).\n"
          },
          "dnsMode": {
            "type": "string",
            "description": "DNS server mode. Valid values: `manual`, `auto`.\n"
          },
          "domain": {
            "type": "string",
            "description": "Instruct unity clients about the default DNS domain.\n"
          },
          "dpd": {
            "type": "string",
            "description": "Dead Peer Detection mode. Valid values: `disable`, `on-idle`, `on-demand`.\n"
          },
          "dpdRetrycount": {
            "type": "integer",
            "description": "Number of DPD retry attempts.\n"
          },
          "dpdRetryinterval": {
            "type": "string",
            "description": "DPD retry interval.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "eap": {
            "type": "string",
            "description": "Enable/disable IKEv2 EAP authentication. Valid values: `enable`, `disable`.\n"
          },
          "eapCertAuth": {
            "type": "string",
            "description": "Enable/disable peer certificate authentication in addition to EAP if peer is a FortiClient endpoint. Valid values: `enable`, `disable`.\n"
          },
          "eapExcludePeergrp": {
            "type": "string",
            "description": "Peer group excluded from EAP authentication.\n"
          },
          "eapIdentity": {
            "type": "string",
            "description": "IKEv2 EAP peer identity type. Valid values: `use-id-payload`, `send-request`.\n"
          },
          "emsSnCheck": {
            "type": "string",
            "description": "Enable/disable verification of EMS serial number. Valid values: `enable`, `disable`.\n"
          },
          "encapLocalGw4": {
            "type": "string",
            "description": "Local IPv4 address of GRE/VXLAN tunnel.\n"
          },
          "encapLocalGw6": {
            "type": "string",
            "description": "Local IPv6 address of GRE/VXLAN tunnel.\n"
          },
          "encapRemoteGw4": {
            "type": "string",
            "description": "Remote IPv4 address of GRE/VXLAN tunnel.\n"
          },
          "encapRemoteGw6": {
            "type": "string",
            "description": "Remote IPv6 address of GRE/VXLAN tunnel.\n"
          },
          "encapsulation": {
            "type": "string",
            "description": "Enable/disable GRE/VXLAN encapsulation.\n"
          },
          "encapsulationAddress": {
            "type": "string",
            "description": "Source for GRE/VXLAN tunnel address. Valid values: `ike`, `ipv4`, `ipv6`.\n"
          },
          "enforceUniqueId": {
            "type": "string",
            "description": "Enable/disable peer ID uniqueness check. Valid values: `disable`, `keep-new`, `keep-old`.\n"
          },
          "esn": {
            "type": "string",
            "description": "Extended sequence number (ESN) negotiation. Valid values: `require`, `allow`, `disable`.\n"
          },
          "exchangeFgtDeviceId": {
            "type": "string",
            "description": "Enable/disable device identifier exchange with peer FortiGate units for use of VPN monitor data by FortiManager. Valid values: `enable`, `disable`.\n"
          },
          "exchangeInterfaceIp": {
            "type": "string",
            "description": "Enable/disable exchange of IPsec interface IP address. Valid values: `enable`, `disable`.\n"
          },
          "exchangeIpAddr4": {
            "type": "string",
            "description": "IPv4 address to exchange with peers.\n"
          },
          "exchangeIpAddr6": {
            "type": "string",
            "description": "IPv6 address to exchange with peers\n"
          },
          "fallbackTcpThreshold": {
            "type": "integer",
            "description": "Timeout in seconds before falling back IKE/IPsec traffic to tcp.\n"
          },
          "fecBase": {
            "type": "integer",
            "description": "Number of base Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 100. On FortiOS versions >= 7.0.2: 1 - 20.\n"
          },
          "fecCodec": {
            "type": "integer",
            "description": "ipsec fec encoding/decoding algorithm (0: reed-solomon, 1: xor). *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec_string`.*\n"
          },
          "fecCodecString": {
            "type": "string",
            "description": "Forward Error Correction encoding/decoding algorithm. *Due to the data type change of API, for other versions of FortiOS, please check variable `fec-codec`.* Valid values: `rs`, `xor`.\n"
          },
          "fecEgress": {
            "type": "string",
            "description": "Enable/disable Forward Error Correction for egress IPsec traffic. Valid values: `enable`, `disable`.\n"
          },
          "fecHealthCheck": {
            "type": "string",
            "description": "SD-WAN health check.\n"
          },
          "fecIngress": {
            "type": "string",
            "description": "Enable/disable Forward Error Correction for ingress IPsec traffic. Valid values: `enable`, `disable`.\n"
          },
          "fecMappingProfile": {
            "type": "string",
            "description": "Forward Error Correction (FEC) mapping profile.\n"
          },
          "fecReceiveTimeout": {
            "type": "integer",
            "description": "Timeout in milliseconds before dropping Forward Error Correction packets. On FortiOS versions 6.2.4-7.0.1: 1 - 10000. On FortiOS versions >= 7.0.2: 1 - 1000.\n"
          },
          "fecRedundant": {
            "type": "integer",
            "description": "Number of redundant Forward Error Correction packets. On FortiOS versions 6.2.4-6.2.6: 0 - 100,  when fec-codec is reed-solomon  or 1 when fec-codec is xor. On FortiOS versions >= 7.0.2: 1 - 5 for reed-solomon, 1 for xor.\n"
          },
          "fecSendTimeout": {
            "type": "integer",
            "description": "Timeout in milliseconds before sending Forward Error Correction packets (1 - 1000).\n"
          },
          "fgspSync": {
            "type": "string",
            "description": "Enable/disable IPsec syncing of tunnels for FGSP IPsec. Valid values: `enable`, `disable`.\n"
          },
          "forticlientEnforcement": {
            "type": "string",
            "description": "Enable/disable FortiClient enforcement. Valid values: `enable`, `disable`.\n"
          },
          "fortinetEsp": {
            "type": "string",
            "description": "Enable/disable Fortinet ESP encapsulaton. Valid values: `enable`, `disable`.\n"
          },
          "fragmentation": {
            "type": "string",
            "description": "Enable/disable fragment IKE message on re-transmission. Valid values: `enable`, `disable`.\n"
          },
          "fragmentationMtu": {
            "type": "integer",
            "description": "IKE fragmentation MTU (500 - 16000).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groupAuthentication": {
            "type": "string",
            "description": "Enable/disable IKEv2 IDi group authentication. Valid values: `enable`, `disable`.\n"
          },
          "groupAuthenticationSecret": {
            "type": "string",
            "description": "Password for IKEv2 ID group authentication. ASCII string or hexadecimal indicated by a leading 0x.\n",
            "secret": true
          },
          "haSyncEspSeqno": {
            "type": "string",
            "description": "Enable/disable sequence number jump ahead for IPsec HA. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeout": {
            "type": "string",
            "description": "Enable/disable IPsec tunnel idle timeout. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeoutinterval": {
            "type": "integer",
            "description": "IPsec tunnel idle timeout in minutes (5 - 43200).\n"
          },
          "ikeVersion": {
            "type": "string",
            "description": "IKE protocol version. Valid values: `1`, `2`.\n"
          },
          "inboundDscpCopy": {
            "type": "string",
            "description": "Enable/disable copy the dscp in the ESP header to the inner IP Header. Valid values: `enable`, `disable`.\n"
          },
          "includeLocalLan": {
            "type": "string",
            "description": "Enable/disable allow local LAN access on unity clients. Valid values: `disable`, `enable`.\n"
          },
          "interface": {
            "type": "string",
            "description": "Local physical, aggregate, or VLAN outgoing interface.\n"
          },
          "internalDomainLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceInternalDomainList:Phase1interfaceInternalDomainList"
            },
            "description": "One or more internal domain names in quotes separated by spaces. The structure of `internal_domain_list` block is documented below.\n"
          },
          "ipDelayInterval": {
            "type": "integer",
            "description": "IP address reuse delay interval in seconds (0 - 28800).\n"
          },
          "ipFragmentation": {
            "type": "string",
            "description": "Determine whether IP packets are fragmented before or after IPsec encapsulation. Valid values: `pre-encapsulation`, `post-encapsulation`.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version to use for VPN interface. Valid values: `4`, `6`.\n"
          },
          "ipv4DnsServer1": {
            "type": "string",
            "description": "IPv4 DNS server 1.\n"
          },
          "ipv4DnsServer2": {
            "type": "string",
            "description": "IPv4 DNS server 2.\n"
          },
          "ipv4DnsServer3": {
            "type": "string",
            "description": "IPv4 DNS server 3.\n"
          },
          "ipv4EndIp": {
            "type": "string",
            "description": "End of IPv4 range.\n"
          },
          "ipv4ExcludeRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv4ExcludeRange:Phase1interfaceIpv4ExcludeRange"
            },
            "description": "Configuration Method IPv4 exclude ranges. The structure of `ipv4_exclude_range` block is documented below.\n"
          },
          "ipv4Name": {
            "type": "string",
            "description": "IPv4 address name.\n"
          },
          "ipv4Netmask": {
            "type": "string",
            "description": "IPv4 Netmask.\n"
          },
          "ipv4SplitExclude": {
            "type": "string",
            "description": "IPv4 subnets that should not be sent over the IPsec tunnel.\n"
          },
          "ipv4SplitInclude": {
            "type": "string",
            "description": "IPv4 split-include subnets.\n"
          },
          "ipv4StartIp": {
            "type": "string",
            "description": "Start of IPv4 range.\n"
          },
          "ipv4WinsServer1": {
            "type": "string",
            "description": "WINS server 1.\n"
          },
          "ipv4WinsServer2": {
            "type": "string",
            "description": "WINS server 2.\n"
          },
          "ipv6DnsServer1": {
            "type": "string",
            "description": "IPv6 DNS server 1.\n"
          },
          "ipv6DnsServer2": {
            "type": "string",
            "description": "IPv6 DNS server 2.\n"
          },
          "ipv6DnsServer3": {
            "type": "string",
            "description": "IPv6 DNS server 3.\n"
          },
          "ipv6EndIp": {
            "type": "string",
            "description": "End of IPv6 range.\n"
          },
          "ipv6ExcludeRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fipsec%2FPhase1interfaceIpv6ExcludeRange:Phase1interfaceIpv6ExcludeRange"
            },
            "description": "Configuration method IPv6 exclude ranges. The structure of `ipv6_exclude_range` block is documented below.\n"
          },
          "ipv6Name": {
            "type": "string",
            "description": "IPv6 address name.\n"
          },
          "ipv6Prefix": {
            "type": "integer",
            "description": "IPv6 prefix.\n"
          },
          "ipv6SplitExclude": {
            "type": "string",
            "description": "IPv6 subnets that should not be sent over the IPsec tunnel.\n"
          },
          "ipv6SplitInclude": {
            "type": "string",
            "description": "IPv6 split-include subnets.\n"
          },
          "ipv6StartIp": {
            "type": "string",
            "description": "Start of IPv6 range.\n"
          },
          "keepalive": {
            "type": "integer",
            "description": "NAT-T keep alive interval.\n"
          },
          "keylife": {
            "type": "integer",
            "description": "Time to wait in seconds before phase 1 encryption key expires.\n"
          },
          "kms": {
            "type": "string",
            "description": "Key Management Services server.\n"
          },
          "linkCost": {
            "type": "integer",
            "description": "VPN tunnel underlay link cost.\n"
          },
          "localGw": {
            "type": "string",
            "description": "IPv4 address of the local gateway's external interface.\n"
          },
          "localGw6": {
            "type": "string",
            "description": "IPv6 address of the local gateway's external interface.\n"
          },
          "localid": {
            "type": "string",
            "description": "Local ID.\n"
          },
          "localidType": {
            "type": "string",
            "description": "Local ID type. Valid values: `auto`, `fqdn`, `user-fqdn`, `keyid`, `address`, `asn1dn`.\n"
          },
          "loopbackAsymroute": {
            "type": "string",
            "description": "Enable/disable asymmetric routing for IKE traffic on loopback interface. Valid values: `enable`, `disable`.\n"
          },
          "meshSelectorType": {
            "type": "string",
            "description": "Add selectors containing subsets of the configuration depending on traffic. Valid values: `disable`, `subnet`, `host`.\n"
          },
          "mode": {
            "type": "string",
            "description": "The ID protection mode used to establish a secure channel. Valid values: `aggressive`, `main`.\n"
          },
          "modeCfg": {
            "type": "string",
            "description": "Enable/disable configuration method. Valid values: `disable`, `enable`.\n"
          },
          "modeCfgAllowClientSelector": {
            "type": "string",
            "description": "Enable/disable mode-cfg client to use custom phase2 selectors. Valid values: `disable`, `enable`.\n"
          },
          "monitor": {
            "type": "string",
            "description": "IPsec interface as backup for primary interface.\n"
          },
          "monitorHoldDownDelay": {
            "type": "integer",
            "description": "Time to wait in seconds before recovery once primary re-establishes.\n"
          },
          "monitorHoldDownTime": {
            "type": "string",
            "description": "Time of day at which to fail back to primary after it re-establishes.\n"
          },
          "monitorHoldDownType": {
            "type": "string",
            "description": "Recovery time method when primary interface re-establishes. Valid values: `immediate`, `delay`, `time`.\n"
          },
          "monitorHoldDownWeekday": {
            "type": "string",
            "description": "Day of the week to recover once primary re-establishes. Valid values: `everyday`, `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "monitorMin": {
            "type": "integer",
            "description": "Minimum number of links to become degraded before activating this interface.  Zero (0) means all links must be down before activating this interface.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec remote gateway name.\n",
            "willReplaceOnChanges": true
          },
          "nattraversal": {
            "type": "string",
            "description": "Enable/disable NAT traversal. Valid values: `enable`, `disable`, `forced`.\n"
          },
          "negotiateTimeout": {
            "type": "integer",
            "description": "IKE SA negotiation timeout in seconds (1 - 300).\n"
          },
          "netDevice": {
            "type": "string",
            "description": "Enable/disable kernel device creation. Valid values: `enable`, `disable`.\n"
          },
          "networkId": {
            "type": "integer",
            "description": "VPN gateway network ID.\n"
          },
          "networkOverlay": {
            "type": "string",
            "description": "Enable/disable network overlays. Valid values: `disable`, `enable`.\n"
          },
          "npuOffload": {
            "type": "string",
            "description": "Enable/disable offloading NPU. Valid values: `enable`, `disable`.\n"
          },
          "packetRedistribution": {
            "type": "string",
            "description": "Enable/disable packet distribution (RPS) on the IPsec interface. Valid values: `enable`, `disable`.\n"
          },
          "passiveMode": {
            "type": "string",
            "description": "Enable/disable IPsec passive mode for static tunnels. Valid values: `enable`, `disable`.\n"
          },
          "peer": {
            "type": "string",
            "description": "Accept this peer certificate.\n"
          },
          "peergrp": {
            "type": "string",
            "description": "Accept this peer certificate group.\n"
          },
          "peerid": {
            "type": "string",
            "description": "Accept this peer identity.\n"
          },
          "peertype": {
            "type": "string",
            "description": "Accept this peer type. Valid values: `any`, `one`, `dialup`, `peer`, `peergrp`.\n"
          },
          "ppk": {
            "type": "string",
            "description": "Enable/disable IKEv2 Postquantum Preshared Key (PPK). Valid values: `disable`, `allow`, `require`.\n"
          },
          "ppkIdentity": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key Identity.\n"
          },
          "ppkSecret": {
            "type": "string",
            "description": "IKEv2 Postquantum Preshared Key (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "priority": {
            "type": "integer",
            "description": "Priority for routes added by IKE. On FortiOS versions 6.2.0-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
          },
          "proposal": {
            "type": "string",
            "description": "Phase1 proposal. Valid values: `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm-prfsha1`, `aes128gcm-prfsha256`, `aes128gcm-prfsha384`, `aes128gcm-prfsha512`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm-prfsha1`, `aes256gcm-prfsha256`, `aes256gcm-prfsha384`, `aes256gcm-prfsha512`, `chacha20poly1305-prfsha1`, `chacha20poly1305-prfsha256`, `chacha20poly1305-prfsha384`, `chacha20poly1305-prfsha512`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
          },
          "psksecret": {
            "type": "string",
            "description": "Pre-shared secret for PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "psksecretRemote": {
            "type": "string",
            "description": "Pre-shared secret for remote side PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
            "secret": true
          },
          "qkd": {
            "type": "string",
            "description": "Enable/disable use of Quantum Key Distribution (QKD) server. Valid values: `disable`, `allow`, `require`.\n"
          },
          "qkdProfile": {
            "type": "string",
            "description": "Quantum Key Distribution (QKD) server profile.\n"
          },
          "reauth": {
            "type": "string",
            "description": "Enable/disable re-authentication upon IKE SA lifetime expiration. Valid values: `disable`, `enable`.\n"
          },
          "rekey": {
            "type": "string",
            "description": "Enable/disable phase1 rekey. Valid values: `enable`, `disable`.\n"
          },
          "remoteGw": {
            "type": "string",
            "description": "IPv4 address of the remote gateway's external interface.\n"
          },
          "remoteGw6": {
            "type": "string",
            "description": "IPv6 address of the remote gateway's external interface.\n"
          },
          "remoteGw6Country": {
            "type": "string",
            "description": "IPv6 addresses associated to a specific country.\n"
          },
          "remoteGw6EndIp": {
            "type": "string",
            "description": "Last IPv6 address in the range.\n"
          },
          "remoteGw6Match": {
            "type": "string",
            "description": "Set type of IPv6 remote gateway address matching. Valid values: `any`, `ipprefix`, `iprange`, `geography`.\n"
          },
          "remoteGw6StartIp": {
            "type": "string",
            "description": "First IPv6 address in the range.\n"
          },
          "remoteGw6Subnet": {
            "type": "string",
            "description": "IPv6 address and prefix.\n"
          },
          "remoteGwCountry": {
            "type": "string",
            "description": "IPv4 addresses associated to a specific country.\n"
          },
          "remoteGwEndIp": {
            "type": "string",
            "description": "Last IPv4 address in the range.\n"
          },
          "remoteGwMatch": {
            "type": "string",
            "description": "Set type of IPv4 remote gateway address matching. Valid values: `any`, `ipmask`, `iprange`, `geography`.\n"
          },
          "remoteGwStartIp": {
            "type": "string",
            "description": "First IPv4 address in the range.\n"
          },
          "remoteGwSubnet": {
            "type": "string",
            "description": "IPv4 address and subnet mask.\n"
          },
          "remotegwDdns": {
            "type": "string",
            "description": "Domain name of remote gateway. For example, name.ddns.com.\n"
          },
          "rsaSignatureFormat": {
            "type": "string",
            "description": "Digital Signature Authentication RSA signature format. Valid values: `pkcs1`, `pss`.\n"
          },
          "rsaSignatureHashOverride": {
            "type": "string",
            "description": "Enable/disable IKEv2 RSA signature hash algorithm override. Valid values: `enable`, `disable`.\n"
          },
          "savePassword": {
            "type": "string",
            "description": "Enable/disable saving XAuth username and password on VPN clients. Valid values: `disable`, `enable`.\n"
          },
          "sendCertChain": {
            "type": "string",
            "description": "Enable/disable sending certificate chain. Valid values: `enable`, `disable`.\n"
          },
          "signatureHashAlg": {
            "type": "string",
            "description": "Digital Signature Authentication hash algorithms. Valid values: `sha1`, `sha2-256`, `sha2-384`, `sha2-512`.\n"
          },
          "splitIncludeService": {
            "type": "string",
            "description": "Split-include services.\n"
          },
          "suiteB": {
            "type": "string",
            "description": "Use Suite-B. Valid values: `disable`, `suite-b-gcm-128`, `suite-b-gcm-256`.\n"
          },
          "transport": {
            "type": "string",
            "description": "Set IKE transport protocol. Valid values: `udp`, `udp-fallback-tcp`, `tcp`.\n"
          },
          "tunnelSearch": {
            "type": "string",
            "description": "Tunnel search method for when the interface is shared. Valid values: `selectors`, `nexthop`.\n"
          },
          "type": {
            "type": "string",
            "description": "Remote gateway type. Valid values: `static`, `dynamic`, `ddns`.\n"
          },
          "unitySupport": {
            "type": "string",
            "description": "Enable/disable support for Cisco UNITY Configuration Method extensions. Valid values: `disable`, `enable`.\n"
          },
          "usrgrp": {
            "type": "string",
            "description": "User group name for dialup peers.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vni": {
            "type": "integer",
            "description": "VNI of VXLAN tunnel.\n"
          },
          "wizardType": {
            "type": "string",
            "description": "GUI VPN Wizard Type.\n"
          },
          "xauthtype": {
            "type": "string",
            "description": "XAuth type. Valid values: `disable`, `client`, `pap`, `chap`, `auto`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ipsec/phase2:Phase2": {
      "description": "Configure VPN autokey tunnel.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trnamex2 = new fortios.vpn.ipsec.Phase1(\"trnamex2\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"disable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"manual\",\n    dpd: \"on-demand\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"20\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    enforceUniqueId: \"disable\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"0.0.0.0\",\n    ipv4Netmask: \"255.255.255.255\",\n    ipv4StartIp: \"0.0.0.0\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"main\",\n    modeCfg: \"disable\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    peertype: \"any\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret: \"dewcEde2112\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"2.1.1.1\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"disable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    type: \"static\",\n    unitySupport: \"enable\",\n    wizardType: \"custom\",\n    xauthtype: \"disable\",\n});\nconst trname = new fortios.vpn.ipsec.Phase2(\"trname\", {\n    addRoute: \"phase1\",\n    autoNegotiate: \"disable\",\n    dhcpIpsec: \"disable\",\n    dhgrp: \"14 5\",\n    dstAddrType: \"subnet\",\n    dstEndIp: \"0.0.0.0\",\n    dstEndIp6: \"::\",\n    dstPort: 0,\n    dstStartIp: \"0.0.0.0\",\n    dstStartIp6: \"::\",\n    dstSubnet: \"0.0.0.0 0.0.0.0\",\n    dstSubnet6: \"::/0\",\n    encapsulation: \"tunnel-mode\",\n    keepalive: \"disable\",\n    keylifeType: \"seconds\",\n    keylifekbs: 5120,\n    keylifeseconds: 43200,\n    l2tp: \"disable\",\n    pfs: \"enable\",\n    phase1name: trnamex2.name,\n    proposal: \"null-md5 null-sha1 null-sha256\",\n    protocol: 0,\n    replay: \"enable\",\n    routeOverlap: \"use-new\",\n    selectorMatch: \"auto\",\n    singleSource: \"disable\",\n    srcAddrType: \"subnet\",\n    srcEndIp: \"0.0.0.0\",\n    srcEndIp6: \"::\",\n    srcPort: 0,\n    srcStartIp: \"0.0.0.0\",\n    srcStartIp6: \"::\",\n    srcSubnet: \"0.0.0.0 0.0.0.0\",\n    srcSubnet6: \"::/0\",\n    useNatip: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrnamex2 = fortios.vpn.ipsec.Phase1(\"trnamex2\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"disable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"manual\",\n    dpd=\"on-demand\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"20\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    enforce_unique_id=\"disable\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"0.0.0.0\",\n    ipv4_netmask=\"255.255.255.255\",\n    ipv4_start_ip=\"0.0.0.0\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"main\",\n    mode_cfg=\"disable\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    peertype=\"any\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret=\"dewcEde2112\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"2.1.1.1\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"disable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    type=\"static\",\n    unity_support=\"enable\",\n    wizard_type=\"custom\",\n    xauthtype=\"disable\")\ntrname = fortios.vpn.ipsec.Phase2(\"trname\",\n    add_route=\"phase1\",\n    auto_negotiate=\"disable\",\n    dhcp_ipsec=\"disable\",\n    dhgrp=\"14 5\",\n    dst_addr_type=\"subnet\",\n    dst_end_ip=\"0.0.0.0\",\n    dst_end_ip6=\"::\",\n    dst_port=0,\n    dst_start_ip=\"0.0.0.0\",\n    dst_start_ip6=\"::\",\n    dst_subnet=\"0.0.0.0 0.0.0.0\",\n    dst_subnet6=\"::/0\",\n    encapsulation=\"tunnel-mode\",\n    keepalive=\"disable\",\n    keylife_type=\"seconds\",\n    keylifekbs=5120,\n    keylifeseconds=43200,\n    l2tp=\"disable\",\n    pfs=\"enable\",\n    phase1name=trnamex2.name,\n    proposal=\"null-md5 null-sha1 null-sha256\",\n    protocol=0,\n    replay=\"enable\",\n    route_overlap=\"use-new\",\n    selector_match=\"auto\",\n    single_source=\"disable\",\n    src_addr_type=\"subnet\",\n    src_end_ip=\"0.0.0.0\",\n    src_end_ip6=\"::\",\n    src_port=0,\n    src_start_ip=\"0.0.0.0\",\n    src_start_ip6=\"::\",\n    src_subnet=\"0.0.0.0 0.0.0.0\",\n    src_subnet6=\"::/0\",\n    use_natip=\"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 trnamex2 = new Fortios.Vpn.Ipsec.Phase1(\"trnamex2\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"disable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"manual\",\n        Dpd = \"on-demand\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"20\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EnforceUniqueId = \"disable\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"0.0.0.0\",\n        Ipv4Netmask = \"255.255.255.255\",\n        Ipv4StartIp = \"0.0.0.0\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"main\",\n        ModeCfg = \"disable\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        Peertype = \"any\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Psksecret = \"dewcEde2112\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"2.1.1.1\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"disable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        Type = \"static\",\n        UnitySupport = \"enable\",\n        WizardType = \"custom\",\n        Xauthtype = \"disable\",\n    });\n\n    var trname = new Fortios.Vpn.Ipsec.Phase2(\"trname\", new()\n    {\n        AddRoute = \"phase1\",\n        AutoNegotiate = \"disable\",\n        DhcpIpsec = \"disable\",\n        Dhgrp = \"14 5\",\n        DstAddrType = \"subnet\",\n        DstEndIp = \"0.0.0.0\",\n        DstEndIp6 = \"::\",\n        DstPort = 0,\n        DstStartIp = \"0.0.0.0\",\n        DstStartIp6 = \"::\",\n        DstSubnet = \"0.0.0.0 0.0.0.0\",\n        DstSubnet6 = \"::/0\",\n        Encapsulation = \"tunnel-mode\",\n        Keepalive = \"disable\",\n        KeylifeType = \"seconds\",\n        Keylifekbs = 5120,\n        Keylifeseconds = 43200,\n        L2tp = \"disable\",\n        Pfs = \"enable\",\n        Phase1name = trnamex2.Name,\n        Proposal = \"null-md5 null-sha1 null-sha256\",\n        Protocol = 0,\n        Replay = \"enable\",\n        RouteOverlap = \"use-new\",\n        SelectorMatch = \"auto\",\n        SingleSource = \"disable\",\n        SrcAddrType = \"subnet\",\n        SrcEndIp = \"0.0.0.0\",\n        SrcEndIp6 = \"::\",\n        SrcPort = 0,\n        SrcStartIp = \"0.0.0.0\",\n        SrcStartIp6 = \"::\",\n        SrcSubnet = \"0.0.0.0 0.0.0.0\",\n        SrcSubnet6 = \"::/0\",\n        UseNatip = \"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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrnamex2, err := vpn.NewPhase1(ctx, \"trnamex2\", &vpn.Phase1Args{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"disable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"manual\"),\n\t\t\tDpd:                    pulumi.String(\"on-demand\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"20\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.255\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"main\"),\n\t\t\tModeCfg:                pulumi.String(\"disable\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tPsksecret:              pulumi.String(\"dewcEde2112\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"2.1.1.1\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"disable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tType:                   pulumi.String(\"static\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"custom\"),\n\t\t\tXauthtype:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewPhase2(ctx, \"trname\", &vpn.Phase2Args{\n\t\t\tAddRoute:       pulumi.String(\"phase1\"),\n\t\t\tAutoNegotiate:  pulumi.String(\"disable\"),\n\t\t\tDhcpIpsec:      pulumi.String(\"disable\"),\n\t\t\tDhgrp:          pulumi.String(\"14 5\"),\n\t\t\tDstAddrType:    pulumi.String(\"subnet\"),\n\t\t\tDstEndIp:       pulumi.String(\"0.0.0.0\"),\n\t\t\tDstEndIp6:      pulumi.String(\"::\"),\n\t\t\tDstPort:        pulumi.Int(0),\n\t\t\tDstStartIp:     pulumi.String(\"0.0.0.0\"),\n\t\t\tDstStartIp6:    pulumi.String(\"::\"),\n\t\t\tDstSubnet:      pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tDstSubnet6:     pulumi.String(\"::/0\"),\n\t\t\tEncapsulation:  pulumi.String(\"tunnel-mode\"),\n\t\t\tKeepalive:      pulumi.String(\"disable\"),\n\t\t\tKeylifeType:    pulumi.String(\"seconds\"),\n\t\t\tKeylifekbs:     pulumi.Int(5120),\n\t\t\tKeylifeseconds: pulumi.Int(43200),\n\t\t\tL2tp:           pulumi.String(\"disable\"),\n\t\t\tPfs:            pulumi.String(\"enable\"),\n\t\t\tPhase1name:     trnamex2.Name,\n\t\t\tProposal:       pulumi.String(\"null-md5 null-sha1 null-sha256\"),\n\t\t\tProtocol:       pulumi.Int(0),\n\t\t\tReplay:         pulumi.String(\"enable\"),\n\t\t\tRouteOverlap:   pulumi.String(\"use-new\"),\n\t\t\tSelectorMatch:  pulumi.String(\"auto\"),\n\t\t\tSingleSource:   pulumi.String(\"disable\"),\n\t\t\tSrcAddrType:    pulumi.String(\"subnet\"),\n\t\t\tSrcEndIp:       pulumi.String(\"0.0.0.0\"),\n\t\t\tSrcEndIp6:      pulumi.String(\"::\"),\n\t\t\tSrcPort:        pulumi.Int(0),\n\t\t\tSrcStartIp:     pulumi.String(\"0.0.0.0\"),\n\t\t\tSrcStartIp6:    pulumi.String(\"::\"),\n\t\t\tSrcSubnet:      pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tSrcSubnet6:     pulumi.String(\"::/0\"),\n\t\t\tUseNatip:       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.vpn.Phase1;\nimport com.pulumi.fortios.vpn.Phase1Args;\nimport com.pulumi.fortios.vpn.Phase2;\nimport com.pulumi.fortios.vpn.Phase2Args;\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 trnamex2 = new Phase1(\"trnamex2\", Phase1Args.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"disable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"manual\")\n            .dpd(\"on-demand\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"20\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .enforceUniqueId(\"disable\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"0.0.0.0\")\n            .ipv4Netmask(\"255.255.255.255\")\n            .ipv4StartIp(\"0.0.0.0\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"main\")\n            .modeCfg(\"disable\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .peertype(\"any\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .psksecret(\"dewcEde2112\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"2.1.1.1\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"disable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .type(\"static\")\n            .unitySupport(\"enable\")\n            .wizardType(\"custom\")\n            .xauthtype(\"disable\")\n            .build());\n\n        var trname = new Phase2(\"trname\", Phase2Args.builder()\n            .addRoute(\"phase1\")\n            .autoNegotiate(\"disable\")\n            .dhcpIpsec(\"disable\")\n            .dhgrp(\"14 5\")\n            .dstAddrType(\"subnet\")\n            .dstEndIp(\"0.0.0.0\")\n            .dstEndIp6(\"::\")\n            .dstPort(0)\n            .dstStartIp(\"0.0.0.0\")\n            .dstStartIp6(\"::\")\n            .dstSubnet(\"0.0.0.0 0.0.0.0\")\n            .dstSubnet6(\"::/0\")\n            .encapsulation(\"tunnel-mode\")\n            .keepalive(\"disable\")\n            .keylifeType(\"seconds\")\n            .keylifekbs(5120)\n            .keylifeseconds(43200)\n            .l2tp(\"disable\")\n            .pfs(\"enable\")\n            .phase1name(trnamex2.name())\n            .proposal(\"null-md5 null-sha1 null-sha256\")\n            .protocol(0)\n            .replay(\"enable\")\n            .routeOverlap(\"use-new\")\n            .selectorMatch(\"auto\")\n            .singleSource(\"disable\")\n            .srcAddrType(\"subnet\")\n            .srcEndIp(\"0.0.0.0\")\n            .srcEndIp6(\"::\")\n            .srcPort(0)\n            .srcStartIp(\"0.0.0.0\")\n            .srcStartIp6(\"::\")\n            .srcSubnet(\"0.0.0.0 0.0.0.0\")\n            .srcSubnet6(\"::/0\")\n            .useNatip(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trnamex2:\n    type: fortios:vpn/ipsec:Phase1\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: disable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: manual\n      dpd: on-demand\n      dpdRetrycount: 3\n      dpdRetryinterval: '20'\n      eap: disable\n      eapIdentity: use-id-payload\n      enforceUniqueId: disable\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port4\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 0.0.0.0\n      ipv4Netmask: 255.255.255.255\n      ipv4StartIp: 0.0.0.0\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localidType: auto\n      meshSelectorType: disable\n      mode: main\n      modeCfg: disable\n      nattraversal: enable\n      negotiateTimeout: 30\n      peertype: any\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      psksecret: dewcEde2112\n      reauth: disable\n      rekey: enable\n      remoteGw: 2.1.1.1\n      rsaSignatureFormat: pkcs1\n      savePassword: disable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      type: static\n      unitySupport: enable\n      wizardType: custom\n      xauthtype: disable\n  trname:\n    type: fortios:vpn/ipsec:Phase2\n    properties:\n      addRoute: phase1\n      autoNegotiate: disable\n      dhcpIpsec: disable\n      dhgrp: 14 5\n      dstAddrType: subnet\n      dstEndIp: 0.0.0.0\n      dstEndIp6: '::'\n      dstPort: 0\n      dstStartIp: 0.0.0.0\n      dstStartIp6: '::'\n      dstSubnet: 0.0.0.0 0.0.0.0\n      dstSubnet6: ::/0\n      encapsulation: tunnel-mode\n      keepalive: disable\n      keylifeType: seconds\n      keylifekbs: 5120\n      keylifeseconds: 43200\n      l2tp: disable\n      pfs: enable\n      phase1name: ${trnamex2.name}\n      proposal: null-md5 null-sha1 null-sha256\n      protocol: 0\n      replay: enable\n      routeOverlap: use-new\n      selectorMatch: auto\n      singleSource: disable\n      srcAddrType: subnet\n      srcEndIp: 0.0.0.0\n      srcEndIp6: '::'\n      srcPort: 0\n      srcStartIp: 0.0.0.0\n      srcStartIp6: '::'\n      srcSubnet: 0.0.0.0 0.0.0.0\n      srcSubnet6: ::/0\n      useNatip: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Phase2 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/phase2:Phase2 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:vpn/ipsec/phase2:Phase2 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addRoute": {
          "type": "string",
          "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpsec": {
          "type": "string",
          "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
        },
        "dstAddrType": {
          "type": "string",
          "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
        },
        "dstEndIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 end.\n"
        },
        "dstEndIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 end.\n"
        },
        "dstName": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstName6": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstPort": {
          "type": "integer",
          "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
        },
        "dstStartIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 start.\n"
        },
        "dstStartIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 start.\n"
        },
        "dstSubnet": {
          "type": "string",
          "description": "Remote proxy ID IPv4 subnet.\n"
        },
        "dstSubnet6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 subnet.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "initiatorTsNarrow": {
          "type": "string",
          "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
        },
        "ipv4Df": {
          "type": "string",
          "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
        },
        "keepalive": {
          "type": "string",
          "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
        },
        "keylifeType": {
          "type": "string",
          "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
        },
        "keylifekbs": {
          "type": "integer",
          "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
        },
        "keylifeseconds": {
          "type": "integer",
          "description": "Phase2 key life in time in seconds (120 - 172800).\n"
        },
        "l2tp": {
          "type": "string",
          "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "pfs": {
          "type": "string",
          "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
        },
        "phase1name": {
          "type": "string",
          "description": "Phase 1 determines the options required for phase 2.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
        },
        "replay": {
          "type": "string",
          "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
        },
        "routeOverlap": {
          "type": "string",
          "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
        },
        "selectorMatch": {
          "type": "string",
          "description": "Match type to use when comparing selectors. Valid values: `exact`, `subset`, `auto`.\n"
        },
        "singleSource": {
          "type": "string",
          "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
        },
        "srcAddrType": {
          "type": "string",
          "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
        },
        "srcEndIp": {
          "type": "string",
          "description": "Local proxy ID end.\n"
        },
        "srcEndIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 end.\n"
        },
        "srcName": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcName6": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcPort": {
          "type": "integer",
          "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
        },
        "srcStartIp": {
          "type": "string",
          "description": "Local proxy ID start.\n"
        },
        "srcStartIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 start.\n"
        },
        "srcSubnet": {
          "type": "string",
          "description": "Local proxy ID subnet.\n"
        },
        "srcSubnet6": {
          "type": "string",
          "description": "Local proxy ID IPv6 subnet.\n"
        },
        "useNatip": {
          "type": "string",
          "description": "Enable to use the FortiGate public IP as the source selector when outbound NAT is used. 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": [
        "addRoute",
        "autoNegotiate",
        "dhcpIpsec",
        "dhgrp",
        "diffserv",
        "diffservcode",
        "dstAddrType",
        "dstEndIp",
        "dstEndIp6",
        "dstName",
        "dstName6",
        "dstPort",
        "dstStartIp",
        "dstStartIp6",
        "dstSubnet",
        "dstSubnet6",
        "encapsulation",
        "inboundDscpCopy",
        "initiatorTsNarrow",
        "ipv4Df",
        "keepalive",
        "keylifeType",
        "keylifekbs",
        "keylifeseconds",
        "l2tp",
        "name",
        "pfs",
        "phase1name",
        "proposal",
        "protocol",
        "replay",
        "routeOverlap",
        "selectorMatch",
        "singleSource",
        "srcAddrType",
        "srcEndIp",
        "srcEndIp6",
        "srcName",
        "srcName6",
        "srcPort",
        "srcStartIp",
        "srcStartIp6",
        "srcSubnet",
        "srcSubnet6",
        "useNatip",
        "vdomparam"
      ],
      "inputProperties": {
        "addRoute": {
          "type": "string",
          "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpsec": {
          "type": "string",
          "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
        },
        "dstAddrType": {
          "type": "string",
          "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
        },
        "dstEndIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 end.\n"
        },
        "dstEndIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 end.\n"
        },
        "dstName": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstName6": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstPort": {
          "type": "integer",
          "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
        },
        "dstStartIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 start.\n"
        },
        "dstStartIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 start.\n"
        },
        "dstSubnet": {
          "type": "string",
          "description": "Remote proxy ID IPv4 subnet.\n"
        },
        "dstSubnet6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 subnet.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "initiatorTsNarrow": {
          "type": "string",
          "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
        },
        "ipv4Df": {
          "type": "string",
          "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
        },
        "keepalive": {
          "type": "string",
          "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
        },
        "keylifeType": {
          "type": "string",
          "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
        },
        "keylifekbs": {
          "type": "integer",
          "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
        },
        "keylifeseconds": {
          "type": "integer",
          "description": "Phase2 key life in time in seconds (120 - 172800).\n"
        },
        "l2tp": {
          "type": "string",
          "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "pfs": {
          "type": "string",
          "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
        },
        "phase1name": {
          "type": "string",
          "description": "Phase 1 determines the options required for phase 2.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
        },
        "replay": {
          "type": "string",
          "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
        },
        "routeOverlap": {
          "type": "string",
          "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
        },
        "selectorMatch": {
          "type": "string",
          "description": "Match type to use when comparing selectors. Valid values: `exact`, `subset`, `auto`.\n"
        },
        "singleSource": {
          "type": "string",
          "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
        },
        "srcAddrType": {
          "type": "string",
          "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
        },
        "srcEndIp": {
          "type": "string",
          "description": "Local proxy ID end.\n"
        },
        "srcEndIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 end.\n"
        },
        "srcName": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcName6": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcPort": {
          "type": "integer",
          "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
        },
        "srcStartIp": {
          "type": "string",
          "description": "Local proxy ID start.\n"
        },
        "srcStartIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 start.\n"
        },
        "srcSubnet": {
          "type": "string",
          "description": "Local proxy ID subnet.\n"
        },
        "srcSubnet6": {
          "type": "string",
          "description": "Local proxy ID IPv6 subnet.\n"
        },
        "useNatip": {
          "type": "string",
          "description": "Enable to use the FortiGate public IP as the source selector when outbound NAT is used. 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": [
        "phase1name",
        "proposal"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Phase2 resources.\n",
        "properties": {
          "addRoute": {
            "type": "string",
            "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "autoNegotiate": {
            "type": "string",
            "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dhcpIpsec": {
            "type": "string",
            "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
          },
          "dhgrp": {
            "type": "string",
            "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
          },
          "diffserv": {
            "type": "string",
            "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
          },
          "diffservcode": {
            "type": "string",
            "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
          },
          "dstAddrType": {
            "type": "string",
            "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
          },
          "dstEndIp": {
            "type": "string",
            "description": "Remote proxy ID IPv4 end.\n"
          },
          "dstEndIp6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 end.\n"
          },
          "dstName": {
            "type": "string",
            "description": "Remote proxy ID name.\n"
          },
          "dstName6": {
            "type": "string",
            "description": "Remote proxy ID name.\n"
          },
          "dstPort": {
            "type": "integer",
            "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
          },
          "dstStartIp": {
            "type": "string",
            "description": "Remote proxy ID IPv4 start.\n"
          },
          "dstStartIp6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 start.\n"
          },
          "dstSubnet": {
            "type": "string",
            "description": "Remote proxy ID IPv4 subnet.\n"
          },
          "dstSubnet6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 subnet.\n"
          },
          "encapsulation": {
            "type": "string",
            "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
          },
          "inboundDscpCopy": {
            "type": "string",
            "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "initiatorTsNarrow": {
            "type": "string",
            "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
          },
          "ipv4Df": {
            "type": "string",
            "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
          },
          "keepalive": {
            "type": "string",
            "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
          },
          "keylifeType": {
            "type": "string",
            "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
          },
          "keylifekbs": {
            "type": "integer",
            "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
          },
          "keylifeseconds": {
            "type": "integer",
            "description": "Phase2 key life in time in seconds (120 - 172800).\n"
          },
          "l2tp": {
            "type": "string",
            "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "pfs": {
            "type": "string",
            "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
          },
          "phase1name": {
            "type": "string",
            "description": "Phase 1 determines the options required for phase 2.\n"
          },
          "proposal": {
            "type": "string",
            "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
          },
          "replay": {
            "type": "string",
            "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
          },
          "routeOverlap": {
            "type": "string",
            "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
          },
          "selectorMatch": {
            "type": "string",
            "description": "Match type to use when comparing selectors. Valid values: `exact`, `subset`, `auto`.\n"
          },
          "singleSource": {
            "type": "string",
            "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
          },
          "srcAddrType": {
            "type": "string",
            "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`.\n"
          },
          "srcEndIp": {
            "type": "string",
            "description": "Local proxy ID end.\n"
          },
          "srcEndIp6": {
            "type": "string",
            "description": "Local proxy ID IPv6 end.\n"
          },
          "srcName": {
            "type": "string",
            "description": "Local proxy ID name.\n"
          },
          "srcName6": {
            "type": "string",
            "description": "Local proxy ID name.\n"
          },
          "srcPort": {
            "type": "integer",
            "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
          },
          "srcStartIp": {
            "type": "string",
            "description": "Local proxy ID start.\n"
          },
          "srcStartIp6": {
            "type": "string",
            "description": "Local proxy ID IPv6 start.\n"
          },
          "srcSubnet": {
            "type": "string",
            "description": "Local proxy ID subnet.\n"
          },
          "srcSubnet6": {
            "type": "string",
            "description": "Local proxy ID IPv6 subnet.\n"
          },
          "useNatip": {
            "type": "string",
            "description": "Enable to use the FortiGate public IP as the source selector when outbound NAT is used. 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:vpn/ipsec/phase2interface:Phase2interface": {
      "description": "Configure VPN autokey tunnel.\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.vpn.ipsec.Phase1interface(\"trname3\", {\n    acctVerify: \"disable\",\n    addGwRoute: \"disable\",\n    addRoute: \"enable\",\n    assignIp: \"enable\",\n    assignIpFrom: \"range\",\n    authmethod: \"psk\",\n    autoDiscoveryForwarder: \"disable\",\n    autoDiscoveryPsk: \"disable\",\n    autoDiscoveryReceiver: \"disable\",\n    autoDiscoverySender: \"disable\",\n    autoNegotiate: \"enable\",\n    certIdValidation: \"enable\",\n    childlessIke: \"disable\",\n    clientAutoNegotiate: \"disable\",\n    clientKeepAlive: \"disable\",\n    defaultGw: \"0.0.0.0\",\n    defaultGwPriority: 0,\n    dhgrp: \"14 5\",\n    digitalSignatureAuth: \"disable\",\n    distance: 15,\n    dnsMode: \"manual\",\n    dpd: \"on-demand\",\n    dpdRetrycount: 3,\n    dpdRetryinterval: \"20\",\n    eap: \"disable\",\n    eapIdentity: \"use-id-payload\",\n    encapLocalGw4: \"0.0.0.0\",\n    encapLocalGw6: \"::\",\n    encapRemoteGw4: \"0.0.0.0\",\n    encapRemoteGw6: \"::\",\n    encapsulation: \"none\",\n    encapsulationAddress: \"ike\",\n    enforceUniqueId: \"disable\",\n    exchangeInterfaceIp: \"disable\",\n    exchangeIpAddr4: \"0.0.0.0\",\n    exchangeIpAddr6: \"::\",\n    forticlientEnforcement: \"disable\",\n    fragmentation: \"enable\",\n    fragmentationMtu: 1200,\n    groupAuthentication: \"disable\",\n    haSyncEspSeqno: \"enable\",\n    idleTimeout: \"disable\",\n    idleTimeoutinterval: 15,\n    ikeVersion: \"1\",\n    includeLocalLan: \"disable\",\n    \"interface\": \"port3\",\n    ipVersion: \"4\",\n    ipv4DnsServer1: \"0.0.0.0\",\n    ipv4DnsServer2: \"0.0.0.0\",\n    ipv4DnsServer3: \"0.0.0.0\",\n    ipv4EndIp: \"0.0.0.0\",\n    ipv4Netmask: \"255.255.255.255\",\n    ipv4StartIp: \"0.0.0.0\",\n    ipv4WinsServer1: \"0.0.0.0\",\n    ipv4WinsServer2: \"0.0.0.0\",\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6DnsServer3: \"::\",\n    ipv6EndIp: \"::\",\n    ipv6Prefix: 128,\n    ipv6StartIp: \"::\",\n    keepalive: 10,\n    keylife: 86400,\n    localGw: \"0.0.0.0\",\n    localGw6: \"::\",\n    localidType: \"auto\",\n    meshSelectorType: \"disable\",\n    mode: \"main\",\n    modeCfg: \"disable\",\n    monitorHoldDownDelay: 0,\n    monitorHoldDownTime: \"00:00\",\n    monitorHoldDownType: \"immediate\",\n    monitorHoldDownWeekday: \"sunday\",\n    nattraversal: \"enable\",\n    negotiateTimeout: 30,\n    netDevice: \"disable\",\n    passiveMode: \"disable\",\n    peertype: \"any\",\n    ppk: \"disable\",\n    priority: 0,\n    proposal: \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret: \"eweeeeeeeecee\",\n    reauth: \"disable\",\n    rekey: \"enable\",\n    remoteGw: \"2.22.2.2\",\n    remoteGw6: \"::\",\n    rsaSignatureFormat: \"pkcs1\",\n    savePassword: \"disable\",\n    sendCertChain: \"enable\",\n    signatureHashAlg: \"sha2-512 sha2-384 sha2-256 sha1\",\n    suiteB: \"disable\",\n    tunnelSearch: \"selectors\",\n    type: \"static\",\n    unitySupport: \"enable\",\n    wizardType: \"custom\",\n    xauthtype: \"disable\",\n});\nconst trname2 = new fortios.vpn.ipsec.Phase2interface(\"trname2\", {\n    addRoute: \"phase1\",\n    autoDiscoveryForwarder: \"phase1\",\n    autoDiscoverySender: \"phase1\",\n    autoNegotiate: \"disable\",\n    dhcpIpsec: \"disable\",\n    dhgrp: \"14 5\",\n    dstAddrType: \"subnet\",\n    dstEndIp6: \"::\",\n    dstPort: 0,\n    dstSubnet: \"0.0.0.0 0.0.0.0\",\n    encapsulation: \"tunnel-mode\",\n    keepalive: \"disable\",\n    keylifeType: \"seconds\",\n    keylifekbs: 5120,\n    keylifeseconds: 43200,\n    l2tp: \"disable\",\n    pfs: \"enable\",\n    phase1name: trname3.name,\n    proposal: \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol: 0,\n    replay: \"enable\",\n    routeOverlap: \"use-new\",\n    singleSource: \"disable\",\n    srcAddrType: \"subnet\",\n    srcEndIp6: \"::\",\n    srcPort: 0,\n    srcSubnet: \"0.0.0.0 0.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname3 = fortios.vpn.ipsec.Phase1interface(\"trname3\",\n    acct_verify=\"disable\",\n    add_gw_route=\"disable\",\n    add_route=\"enable\",\n    assign_ip=\"enable\",\n    assign_ip_from=\"range\",\n    authmethod=\"psk\",\n    auto_discovery_forwarder=\"disable\",\n    auto_discovery_psk=\"disable\",\n    auto_discovery_receiver=\"disable\",\n    auto_discovery_sender=\"disable\",\n    auto_negotiate=\"enable\",\n    cert_id_validation=\"enable\",\n    childless_ike=\"disable\",\n    client_auto_negotiate=\"disable\",\n    client_keep_alive=\"disable\",\n    default_gw=\"0.0.0.0\",\n    default_gw_priority=0,\n    dhgrp=\"14 5\",\n    digital_signature_auth=\"disable\",\n    distance=15,\n    dns_mode=\"manual\",\n    dpd=\"on-demand\",\n    dpd_retrycount=3,\n    dpd_retryinterval=\"20\",\n    eap=\"disable\",\n    eap_identity=\"use-id-payload\",\n    encap_local_gw4=\"0.0.0.0\",\n    encap_local_gw6=\"::\",\n    encap_remote_gw4=\"0.0.0.0\",\n    encap_remote_gw6=\"::\",\n    encapsulation=\"none\",\n    encapsulation_address=\"ike\",\n    enforce_unique_id=\"disable\",\n    exchange_interface_ip=\"disable\",\n    exchange_ip_addr4=\"0.0.0.0\",\n    exchange_ip_addr6=\"::\",\n    forticlient_enforcement=\"disable\",\n    fragmentation=\"enable\",\n    fragmentation_mtu=1200,\n    group_authentication=\"disable\",\n    ha_sync_esp_seqno=\"enable\",\n    idle_timeout=\"disable\",\n    idle_timeoutinterval=15,\n    ike_version=\"1\",\n    include_local_lan=\"disable\",\n    interface=\"port3\",\n    ip_version=\"4\",\n    ipv4_dns_server1=\"0.0.0.0\",\n    ipv4_dns_server2=\"0.0.0.0\",\n    ipv4_dns_server3=\"0.0.0.0\",\n    ipv4_end_ip=\"0.0.0.0\",\n    ipv4_netmask=\"255.255.255.255\",\n    ipv4_start_ip=\"0.0.0.0\",\n    ipv4_wins_server1=\"0.0.0.0\",\n    ipv4_wins_server2=\"0.0.0.0\",\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_dns_server3=\"::\",\n    ipv6_end_ip=\"::\",\n    ipv6_prefix=128,\n    ipv6_start_ip=\"::\",\n    keepalive=10,\n    keylife=86400,\n    local_gw=\"0.0.0.0\",\n    local_gw6=\"::\",\n    localid_type=\"auto\",\n    mesh_selector_type=\"disable\",\n    mode=\"main\",\n    mode_cfg=\"disable\",\n    monitor_hold_down_delay=0,\n    monitor_hold_down_time=\"00:00\",\n    monitor_hold_down_type=\"immediate\",\n    monitor_hold_down_weekday=\"sunday\",\n    nattraversal=\"enable\",\n    negotiate_timeout=30,\n    net_device=\"disable\",\n    passive_mode=\"disable\",\n    peertype=\"any\",\n    ppk=\"disable\",\n    priority=0,\n    proposal=\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n    psksecret=\"eweeeeeeeecee\",\n    reauth=\"disable\",\n    rekey=\"enable\",\n    remote_gw=\"2.22.2.2\",\n    remote_gw6=\"::\",\n    rsa_signature_format=\"pkcs1\",\n    save_password=\"disable\",\n    send_cert_chain=\"enable\",\n    signature_hash_alg=\"sha2-512 sha2-384 sha2-256 sha1\",\n    suite_b=\"disable\",\n    tunnel_search=\"selectors\",\n    type=\"static\",\n    unity_support=\"enable\",\n    wizard_type=\"custom\",\n    xauthtype=\"disable\")\ntrname2 = fortios.vpn.ipsec.Phase2interface(\"trname2\",\n    add_route=\"phase1\",\n    auto_discovery_forwarder=\"phase1\",\n    auto_discovery_sender=\"phase1\",\n    auto_negotiate=\"disable\",\n    dhcp_ipsec=\"disable\",\n    dhgrp=\"14 5\",\n    dst_addr_type=\"subnet\",\n    dst_end_ip6=\"::\",\n    dst_port=0,\n    dst_subnet=\"0.0.0.0 0.0.0.0\",\n    encapsulation=\"tunnel-mode\",\n    keepalive=\"disable\",\n    keylife_type=\"seconds\",\n    keylifekbs=5120,\n    keylifeseconds=43200,\n    l2tp=\"disable\",\n    pfs=\"enable\",\n    phase1name=trname3.name,\n    proposal=\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n    protocol=0,\n    replay=\"enable\",\n    route_overlap=\"use-new\",\n    single_source=\"disable\",\n    src_addr_type=\"subnet\",\n    src_end_ip6=\"::\",\n    src_port=0,\n    src_subnet=\"0.0.0.0 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 trname3 = new Fortios.Vpn.Ipsec.Phase1interface(\"trname3\", new()\n    {\n        AcctVerify = \"disable\",\n        AddGwRoute = \"disable\",\n        AddRoute = \"enable\",\n        AssignIp = \"enable\",\n        AssignIpFrom = \"range\",\n        Authmethod = \"psk\",\n        AutoDiscoveryForwarder = \"disable\",\n        AutoDiscoveryPsk = \"disable\",\n        AutoDiscoveryReceiver = \"disable\",\n        AutoDiscoverySender = \"disable\",\n        AutoNegotiate = \"enable\",\n        CertIdValidation = \"enable\",\n        ChildlessIke = \"disable\",\n        ClientAutoNegotiate = \"disable\",\n        ClientKeepAlive = \"disable\",\n        DefaultGw = \"0.0.0.0\",\n        DefaultGwPriority = 0,\n        Dhgrp = \"14 5\",\n        DigitalSignatureAuth = \"disable\",\n        Distance = 15,\n        DnsMode = \"manual\",\n        Dpd = \"on-demand\",\n        DpdRetrycount = 3,\n        DpdRetryinterval = \"20\",\n        Eap = \"disable\",\n        EapIdentity = \"use-id-payload\",\n        EncapLocalGw4 = \"0.0.0.0\",\n        EncapLocalGw6 = \"::\",\n        EncapRemoteGw4 = \"0.0.0.0\",\n        EncapRemoteGw6 = \"::\",\n        Encapsulation = \"none\",\n        EncapsulationAddress = \"ike\",\n        EnforceUniqueId = \"disable\",\n        ExchangeInterfaceIp = \"disable\",\n        ExchangeIpAddr4 = \"0.0.0.0\",\n        ExchangeIpAddr6 = \"::\",\n        ForticlientEnforcement = \"disable\",\n        Fragmentation = \"enable\",\n        FragmentationMtu = 1200,\n        GroupAuthentication = \"disable\",\n        HaSyncEspSeqno = \"enable\",\n        IdleTimeout = \"disable\",\n        IdleTimeoutinterval = 15,\n        IkeVersion = \"1\",\n        IncludeLocalLan = \"disable\",\n        Interface = \"port3\",\n        IpVersion = \"4\",\n        Ipv4DnsServer1 = \"0.0.0.0\",\n        Ipv4DnsServer2 = \"0.0.0.0\",\n        Ipv4DnsServer3 = \"0.0.0.0\",\n        Ipv4EndIp = \"0.0.0.0\",\n        Ipv4Netmask = \"255.255.255.255\",\n        Ipv4StartIp = \"0.0.0.0\",\n        Ipv4WinsServer1 = \"0.0.0.0\",\n        Ipv4WinsServer2 = \"0.0.0.0\",\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6DnsServer3 = \"::\",\n        Ipv6EndIp = \"::\",\n        Ipv6Prefix = 128,\n        Ipv6StartIp = \"::\",\n        Keepalive = 10,\n        Keylife = 86400,\n        LocalGw = \"0.0.0.0\",\n        LocalGw6 = \"::\",\n        LocalidType = \"auto\",\n        MeshSelectorType = \"disable\",\n        Mode = \"main\",\n        ModeCfg = \"disable\",\n        MonitorHoldDownDelay = 0,\n        MonitorHoldDownTime = \"00:00\",\n        MonitorHoldDownType = \"immediate\",\n        MonitorHoldDownWeekday = \"sunday\",\n        Nattraversal = \"enable\",\n        NegotiateTimeout = 30,\n        NetDevice = \"disable\",\n        PassiveMode = \"disable\",\n        Peertype = \"any\",\n        Ppk = \"disable\",\n        Priority = 0,\n        Proposal = \"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\",\n        Psksecret = \"eweeeeeeeecee\",\n        Reauth = \"disable\",\n        Rekey = \"enable\",\n        RemoteGw = \"2.22.2.2\",\n        RemoteGw6 = \"::\",\n        RsaSignatureFormat = \"pkcs1\",\n        SavePassword = \"disable\",\n        SendCertChain = \"enable\",\n        SignatureHashAlg = \"sha2-512 sha2-384 sha2-256 sha1\",\n        SuiteB = \"disable\",\n        TunnelSearch = \"selectors\",\n        Type = \"static\",\n        UnitySupport = \"enable\",\n        WizardType = \"custom\",\n        Xauthtype = \"disable\",\n    });\n\n    var trname2 = new Fortios.Vpn.Ipsec.Phase2interface(\"trname2\", new()\n    {\n        AddRoute = \"phase1\",\n        AutoDiscoveryForwarder = \"phase1\",\n        AutoDiscoverySender = \"phase1\",\n        AutoNegotiate = \"disable\",\n        DhcpIpsec = \"disable\",\n        Dhgrp = \"14 5\",\n        DstAddrType = \"subnet\",\n        DstEndIp6 = \"::\",\n        DstPort = 0,\n        DstSubnet = \"0.0.0.0 0.0.0.0\",\n        Encapsulation = \"tunnel-mode\",\n        Keepalive = \"disable\",\n        KeylifeType = \"seconds\",\n        Keylifekbs = 5120,\n        Keylifeseconds = 43200,\n        L2tp = \"disable\",\n        Pfs = \"enable\",\n        Phase1name = trname3.Name,\n        Proposal = \"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\",\n        Protocol = 0,\n        Replay = \"enable\",\n        RouteOverlap = \"use-new\",\n        SingleSource = \"disable\",\n        SrcAddrType = \"subnet\",\n        SrcEndIp6 = \"::\",\n        SrcPort = 0,\n        SrcSubnet = \"0.0.0.0 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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname3, err := vpn.NewPhase1interface(ctx, \"trname3\", &vpn.Phase1interfaceArgs{\n\t\t\tAcctVerify:             pulumi.String(\"disable\"),\n\t\t\tAddGwRoute:             pulumi.String(\"disable\"),\n\t\t\tAddRoute:               pulumi.String(\"enable\"),\n\t\t\tAssignIp:               pulumi.String(\"enable\"),\n\t\t\tAssignIpFrom:           pulumi.String(\"range\"),\n\t\t\tAuthmethod:             pulumi.String(\"psk\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryPsk:       pulumi.String(\"disable\"),\n\t\t\tAutoDiscoveryReceiver:  pulumi.String(\"disable\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"disable\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"enable\"),\n\t\t\tCertIdValidation:       pulumi.String(\"enable\"),\n\t\t\tChildlessIke:           pulumi.String(\"disable\"),\n\t\t\tClientAutoNegotiate:    pulumi.String(\"disable\"),\n\t\t\tClientKeepAlive:        pulumi.String(\"disable\"),\n\t\t\tDefaultGw:              pulumi.String(\"0.0.0.0\"),\n\t\t\tDefaultGwPriority:      pulumi.Int(0),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDigitalSignatureAuth:   pulumi.String(\"disable\"),\n\t\t\tDistance:               pulumi.Int(15),\n\t\t\tDnsMode:                pulumi.String(\"manual\"),\n\t\t\tDpd:                    pulumi.String(\"on-demand\"),\n\t\t\tDpdRetrycount:          pulumi.Int(3),\n\t\t\tDpdRetryinterval:       pulumi.String(\"20\"),\n\t\t\tEap:                    pulumi.String(\"disable\"),\n\t\t\tEapIdentity:            pulumi.String(\"use-id-payload\"),\n\t\t\tEncapLocalGw4:          pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapLocalGw6:          pulumi.String(\"::\"),\n\t\t\tEncapRemoteGw4:         pulumi.String(\"0.0.0.0\"),\n\t\t\tEncapRemoteGw6:         pulumi.String(\"::\"),\n\t\t\tEncapsulation:          pulumi.String(\"none\"),\n\t\t\tEncapsulationAddress:   pulumi.String(\"ike\"),\n\t\t\tEnforceUniqueId:        pulumi.String(\"disable\"),\n\t\t\tExchangeInterfaceIp:    pulumi.String(\"disable\"),\n\t\t\tExchangeIpAddr4:        pulumi.String(\"0.0.0.0\"),\n\t\t\tExchangeIpAddr6:        pulumi.String(\"::\"),\n\t\t\tForticlientEnforcement: pulumi.String(\"disable\"),\n\t\t\tFragmentation:          pulumi.String(\"enable\"),\n\t\t\tFragmentationMtu:       pulumi.Int(1200),\n\t\t\tGroupAuthentication:    pulumi.String(\"disable\"),\n\t\t\tHaSyncEspSeqno:         pulumi.String(\"enable\"),\n\t\t\tIdleTimeout:            pulumi.String(\"disable\"),\n\t\t\tIdleTimeoutinterval:    pulumi.Int(15),\n\t\t\tIkeVersion:             pulumi.String(\"1\"),\n\t\t\tIncludeLocalLan:        pulumi.String(\"disable\"),\n\t\t\tInterface:              pulumi.String(\"port3\"),\n\t\t\tIpVersion:              pulumi.String(\"4\"),\n\t\t\tIpv4DnsServer1:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer2:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4DnsServer3:         pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4EndIp:              pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4Netmask:            pulumi.String(\"255.255.255.255\"),\n\t\t\tIpv4StartIp:            pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer1:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv4WinsServer2:        pulumi.String(\"0.0.0.0\"),\n\t\t\tIpv6DnsServer1:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:         pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer3:         pulumi.String(\"::\"),\n\t\t\tIpv6EndIp:              pulumi.String(\"::\"),\n\t\t\tIpv6Prefix:             pulumi.Int(128),\n\t\t\tIpv6StartIp:            pulumi.String(\"::\"),\n\t\t\tKeepalive:              pulumi.Int(10),\n\t\t\tKeylife:                pulumi.Int(86400),\n\t\t\tLocalGw:                pulumi.String(\"0.0.0.0\"),\n\t\t\tLocalGw6:               pulumi.String(\"::\"),\n\t\t\tLocalidType:            pulumi.String(\"auto\"),\n\t\t\tMeshSelectorType:       pulumi.String(\"disable\"),\n\t\t\tMode:                   pulumi.String(\"main\"),\n\t\t\tModeCfg:                pulumi.String(\"disable\"),\n\t\t\tMonitorHoldDownDelay:   pulumi.Int(0),\n\t\t\tMonitorHoldDownTime:    pulumi.String(\"00:00\"),\n\t\t\tMonitorHoldDownType:    pulumi.String(\"immediate\"),\n\t\t\tMonitorHoldDownWeekday: pulumi.String(\"sunday\"),\n\t\t\tNattraversal:           pulumi.String(\"enable\"),\n\t\t\tNegotiateTimeout:       pulumi.Int(30),\n\t\t\tNetDevice:              pulumi.String(\"disable\"),\n\t\t\tPassiveMode:            pulumi.String(\"disable\"),\n\t\t\tPeertype:               pulumi.String(\"any\"),\n\t\t\tPpk:                    pulumi.String(\"disable\"),\n\t\t\tPriority:               pulumi.Int(0),\n\t\t\tProposal:               pulumi.String(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\"),\n\t\t\tPsksecret:              pulumi.String(\"eweeeeeeeecee\"),\n\t\t\tReauth:                 pulumi.String(\"disable\"),\n\t\t\tRekey:                  pulumi.String(\"enable\"),\n\t\t\tRemoteGw:               pulumi.String(\"2.22.2.2\"),\n\t\t\tRemoteGw6:              pulumi.String(\"::\"),\n\t\t\tRsaSignatureFormat:     pulumi.String(\"pkcs1\"),\n\t\t\tSavePassword:           pulumi.String(\"disable\"),\n\t\t\tSendCertChain:          pulumi.String(\"enable\"),\n\t\t\tSignatureHashAlg:       pulumi.String(\"sha2-512 sha2-384 sha2-256 sha1\"),\n\t\t\tSuiteB:                 pulumi.String(\"disable\"),\n\t\t\tTunnelSearch:           pulumi.String(\"selectors\"),\n\t\t\tType:                   pulumi.String(\"static\"),\n\t\t\tUnitySupport:           pulumi.String(\"enable\"),\n\t\t\tWizardType:             pulumi.String(\"custom\"),\n\t\t\tXauthtype:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewPhase2interface(ctx, \"trname2\", &vpn.Phase2interfaceArgs{\n\t\t\tAddRoute:               pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoveryForwarder: pulumi.String(\"phase1\"),\n\t\t\tAutoDiscoverySender:    pulumi.String(\"phase1\"),\n\t\t\tAutoNegotiate:          pulumi.String(\"disable\"),\n\t\t\tDhcpIpsec:              pulumi.String(\"disable\"),\n\t\t\tDhgrp:                  pulumi.String(\"14 5\"),\n\t\t\tDstAddrType:            pulumi.String(\"subnet\"),\n\t\t\tDstEndIp6:              pulumi.String(\"::\"),\n\t\t\tDstPort:                pulumi.Int(0),\n\t\t\tDstSubnet:              pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tEncapsulation:          pulumi.String(\"tunnel-mode\"),\n\t\t\tKeepalive:              pulumi.String(\"disable\"),\n\t\t\tKeylifeType:            pulumi.String(\"seconds\"),\n\t\t\tKeylifekbs:             pulumi.Int(5120),\n\t\t\tKeylifeseconds:         pulumi.Int(43200),\n\t\t\tL2tp:                   pulumi.String(\"disable\"),\n\t\t\tPfs:                    pulumi.String(\"enable\"),\n\t\t\tPhase1name:             trname3.Name,\n\t\t\tProposal:               pulumi.String(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\"),\n\t\t\tProtocol:               pulumi.Int(0),\n\t\t\tReplay:                 pulumi.String(\"enable\"),\n\t\t\tRouteOverlap:           pulumi.String(\"use-new\"),\n\t\t\tSingleSource:           pulumi.String(\"disable\"),\n\t\t\tSrcAddrType:            pulumi.String(\"subnet\"),\n\t\t\tSrcEndIp6:              pulumi.String(\"::\"),\n\t\t\tSrcPort:                pulumi.Int(0),\n\t\t\tSrcSubnet:              pulumi.String(\"0.0.0.0 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.vpn.Phase1interface;\nimport com.pulumi.fortios.vpn.Phase1interfaceArgs;\nimport com.pulumi.fortios.vpn.Phase2interface;\nimport com.pulumi.fortios.vpn.Phase2interfaceArgs;\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 Phase1interface(\"trname3\", Phase1interfaceArgs.builder()\n            .acctVerify(\"disable\")\n            .addGwRoute(\"disable\")\n            .addRoute(\"enable\")\n            .assignIp(\"enable\")\n            .assignIpFrom(\"range\")\n            .authmethod(\"psk\")\n            .autoDiscoveryForwarder(\"disable\")\n            .autoDiscoveryPsk(\"disable\")\n            .autoDiscoveryReceiver(\"disable\")\n            .autoDiscoverySender(\"disable\")\n            .autoNegotiate(\"enable\")\n            .certIdValidation(\"enable\")\n            .childlessIke(\"disable\")\n            .clientAutoNegotiate(\"disable\")\n            .clientKeepAlive(\"disable\")\n            .defaultGw(\"0.0.0.0\")\n            .defaultGwPriority(0)\n            .dhgrp(\"14 5\")\n            .digitalSignatureAuth(\"disable\")\n            .distance(15)\n            .dnsMode(\"manual\")\n            .dpd(\"on-demand\")\n            .dpdRetrycount(3)\n            .dpdRetryinterval(\"20\")\n            .eap(\"disable\")\n            .eapIdentity(\"use-id-payload\")\n            .encapLocalGw4(\"0.0.0.0\")\n            .encapLocalGw6(\"::\")\n            .encapRemoteGw4(\"0.0.0.0\")\n            .encapRemoteGw6(\"::\")\n            .encapsulation(\"none\")\n            .encapsulationAddress(\"ike\")\n            .enforceUniqueId(\"disable\")\n            .exchangeInterfaceIp(\"disable\")\n            .exchangeIpAddr4(\"0.0.0.0\")\n            .exchangeIpAddr6(\"::\")\n            .forticlientEnforcement(\"disable\")\n            .fragmentation(\"enable\")\n            .fragmentationMtu(1200)\n            .groupAuthentication(\"disable\")\n            .haSyncEspSeqno(\"enable\")\n            .idleTimeout(\"disable\")\n            .idleTimeoutinterval(15)\n            .ikeVersion(\"1\")\n            .includeLocalLan(\"disable\")\n            .interface_(\"port3\")\n            .ipVersion(\"4\")\n            .ipv4DnsServer1(\"0.0.0.0\")\n            .ipv4DnsServer2(\"0.0.0.0\")\n            .ipv4DnsServer3(\"0.0.0.0\")\n            .ipv4EndIp(\"0.0.0.0\")\n            .ipv4Netmask(\"255.255.255.255\")\n            .ipv4StartIp(\"0.0.0.0\")\n            .ipv4WinsServer1(\"0.0.0.0\")\n            .ipv4WinsServer2(\"0.0.0.0\")\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6DnsServer3(\"::\")\n            .ipv6EndIp(\"::\")\n            .ipv6Prefix(128)\n            .ipv6StartIp(\"::\")\n            .keepalive(10)\n            .keylife(86400)\n            .localGw(\"0.0.0.0\")\n            .localGw6(\"::\")\n            .localidType(\"auto\")\n            .meshSelectorType(\"disable\")\n            .mode(\"main\")\n            .modeCfg(\"disable\")\n            .monitorHoldDownDelay(0)\n            .monitorHoldDownTime(\"00:00\")\n            .monitorHoldDownType(\"immediate\")\n            .monitorHoldDownWeekday(\"sunday\")\n            .nattraversal(\"enable\")\n            .negotiateTimeout(30)\n            .netDevice(\"disable\")\n            .passiveMode(\"disable\")\n            .peertype(\"any\")\n            .ppk(\"disable\")\n            .priority(0)\n            .proposal(\"aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\")\n            .psksecret(\"eweeeeeeeecee\")\n            .reauth(\"disable\")\n            .rekey(\"enable\")\n            .remoteGw(\"2.22.2.2\")\n            .remoteGw6(\"::\")\n            .rsaSignatureFormat(\"pkcs1\")\n            .savePassword(\"disable\")\n            .sendCertChain(\"enable\")\n            .signatureHashAlg(\"sha2-512 sha2-384 sha2-256 sha1\")\n            .suiteB(\"disable\")\n            .tunnelSearch(\"selectors\")\n            .type(\"static\")\n            .unitySupport(\"enable\")\n            .wizardType(\"custom\")\n            .xauthtype(\"disable\")\n            .build());\n\n        var trname2 = new Phase2interface(\"trname2\", Phase2interfaceArgs.builder()\n            .addRoute(\"phase1\")\n            .autoDiscoveryForwarder(\"phase1\")\n            .autoDiscoverySender(\"phase1\")\n            .autoNegotiate(\"disable\")\n            .dhcpIpsec(\"disable\")\n            .dhgrp(\"14 5\")\n            .dstAddrType(\"subnet\")\n            .dstEndIp6(\"::\")\n            .dstPort(0)\n            .dstSubnet(\"0.0.0.0 0.0.0.0\")\n            .encapsulation(\"tunnel-mode\")\n            .keepalive(\"disable\")\n            .keylifeType(\"seconds\")\n            .keylifekbs(5120)\n            .keylifeseconds(43200)\n            .l2tp(\"disable\")\n            .pfs(\"enable\")\n            .phase1name(trname3.name())\n            .proposal(\"aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\")\n            .protocol(0)\n            .replay(\"enable\")\n            .routeOverlap(\"use-new\")\n            .singleSource(\"disable\")\n            .srcAddrType(\"subnet\")\n            .srcEndIp6(\"::\")\n            .srcPort(0)\n            .srcSubnet(\"0.0.0.0 0.0.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname3:\n    type: fortios:vpn/ipsec:Phase1interface\n    properties:\n      acctVerify: disable\n      addGwRoute: disable\n      addRoute: enable\n      assignIp: enable\n      assignIpFrom: range\n      authmethod: psk\n      autoDiscoveryForwarder: disable\n      autoDiscoveryPsk: disable\n      autoDiscoveryReceiver: disable\n      autoDiscoverySender: disable\n      autoNegotiate: enable\n      certIdValidation: enable\n      childlessIke: disable\n      clientAutoNegotiate: disable\n      clientKeepAlive: disable\n      defaultGw: 0.0.0.0\n      defaultGwPriority: 0\n      dhgrp: 14 5\n      digitalSignatureAuth: disable\n      distance: 15\n      dnsMode: manual\n      dpd: on-demand\n      dpdRetrycount: 3\n      dpdRetryinterval: '20'\n      eap: disable\n      eapIdentity: use-id-payload\n      encapLocalGw4: 0.0.0.0\n      encapLocalGw6: '::'\n      encapRemoteGw4: 0.0.0.0\n      encapRemoteGw6: '::'\n      encapsulation: none\n      encapsulationAddress: ike\n      enforceUniqueId: disable\n      exchangeInterfaceIp: disable\n      exchangeIpAddr4: 0.0.0.0\n      exchangeIpAddr6: '::'\n      forticlientEnforcement: disable\n      fragmentation: enable\n      fragmentationMtu: 1200\n      groupAuthentication: disable\n      haSyncEspSeqno: enable\n      idleTimeout: disable\n      idleTimeoutinterval: 15\n      ikeVersion: '1'\n      includeLocalLan: disable\n      interface: port3\n      ipVersion: '4'\n      ipv4DnsServer1: 0.0.0.0\n      ipv4DnsServer2: 0.0.0.0\n      ipv4DnsServer3: 0.0.0.0\n      ipv4EndIp: 0.0.0.0\n      ipv4Netmask: 255.255.255.255\n      ipv4StartIp: 0.0.0.0\n      ipv4WinsServer1: 0.0.0.0\n      ipv4WinsServer2: 0.0.0.0\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6DnsServer3: '::'\n      ipv6EndIp: '::'\n      ipv6Prefix: 128\n      ipv6StartIp: '::'\n      keepalive: 10\n      keylife: 86400\n      localGw: 0.0.0.0\n      localGw6: '::'\n      localidType: auto\n      meshSelectorType: disable\n      mode: main\n      modeCfg: disable\n      monitorHoldDownDelay: 0\n      monitorHoldDownTime: 00:00\n      monitorHoldDownType: immediate\n      monitorHoldDownWeekday: sunday\n      nattraversal: enable\n      negotiateTimeout: 30\n      netDevice: disable\n      passiveMode: disable\n      peertype: any\n      ppk: disable\n      priority: 0\n      proposal: aes128-sha256 aes256-sha256 aes128-sha1 aes256-sha1\n      psksecret: eweeeeeeeecee\n      reauth: disable\n      rekey: enable\n      remoteGw: 2.22.2.2\n      remoteGw6: '::'\n      rsaSignatureFormat: pkcs1\n      savePassword: disable\n      sendCertChain: enable\n      signatureHashAlg: sha2-512 sha2-384 sha2-256 sha1\n      suiteB: disable\n      tunnelSearch: selectors\n      type: static\n      unitySupport: enable\n      wizardType: custom\n      xauthtype: disable\n  trname2:\n    type: fortios:vpn/ipsec:Phase2interface\n    properties:\n      addRoute: phase1\n      autoDiscoveryForwarder: phase1\n      autoDiscoverySender: phase1\n      autoNegotiate: disable\n      dhcpIpsec: disable\n      dhgrp: 14 5\n      dstAddrType: subnet\n      dstEndIp6: '::'\n      dstPort: 0\n      dstSubnet: 0.0.0.0 0.0.0.0\n      encapsulation: tunnel-mode\n      keepalive: disable\n      keylifeType: seconds\n      keylifekbs: 5120\n      keylifeseconds: 43200\n      l2tp: disable\n      pfs: enable\n      phase1name: ${trname3.name}\n      proposal: aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm chacha20poly1305\n      protocol: 0\n      replay: enable\n      routeOverlap: use-new\n      singleSource: disable\n      srcAddrType: subnet\n      srcEndIp6: '::'\n      srcPort: 0\n      srcSubnet: 0.0.0.0 0.0.0.0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnIpsec Phase2Interface can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ipsec/phase2interface:Phase2interface 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:vpn/ipsec/phase2interface:Phase2interface labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addRoute": {
          "type": "string",
          "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoDiscoveryForwarder": {
          "type": "string",
          "description": "Enable/disable forwarding short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoDiscoverySender": {
          "type": "string",
          "description": "Enable/disable sending short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpsec": {
          "type": "string",
          "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
        },
        "dstAddrType": {
          "type": "string",
          "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
        },
        "dstEndIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 end.\n"
        },
        "dstEndIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 end.\n"
        },
        "dstName": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstName6": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstPort": {
          "type": "integer",
          "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
        },
        "dstStartIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 start.\n"
        },
        "dstStartIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 start.\n"
        },
        "dstSubnet": {
          "type": "string",
          "description": "Remote proxy ID IPv4 subnet.\n"
        },
        "dstSubnet6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 subnet.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "initiatorTsNarrow": {
          "type": "string",
          "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
        },
        "ipv4Df": {
          "type": "string",
          "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
        },
        "keepalive": {
          "type": "string",
          "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
        },
        "keylifeType": {
          "type": "string",
          "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
        },
        "keylifekbs": {
          "type": "integer",
          "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
        },
        "keylifeseconds": {
          "type": "integer",
          "description": "Phase2 key life in time in seconds (120 - 172800).\n"
        },
        "l2tp": {
          "type": "string",
          "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "pfs": {
          "type": "string",
          "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
        },
        "phase1name": {
          "type": "string",
          "description": "Phase 1 determines the options required for phase 2.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
        },
        "replay": {
          "type": "string",
          "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
        },
        "routeOverlap": {
          "type": "string",
          "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
        },
        "singleSource": {
          "type": "string",
          "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
        },
        "srcAddrType": {
          "type": "string",
          "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
        },
        "srcEndIp": {
          "type": "string",
          "description": "Local proxy ID end.\n"
        },
        "srcEndIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 end.\n"
        },
        "srcName": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcName6": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcPort": {
          "type": "integer",
          "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
        },
        "srcStartIp": {
          "type": "string",
          "description": "Local proxy ID start.\n"
        },
        "srcStartIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 start.\n"
        },
        "srcSubnet": {
          "type": "string",
          "description": "Local proxy ID subnet.\n"
        },
        "srcSubnet6": {
          "type": "string",
          "description": "Local proxy ID IPv6 subnet.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "addRoute",
        "autoDiscoveryForwarder",
        "autoDiscoverySender",
        "autoNegotiate",
        "dhcpIpsec",
        "dhgrp",
        "diffserv",
        "diffservcode",
        "dstAddrType",
        "dstEndIp",
        "dstEndIp6",
        "dstName",
        "dstName6",
        "dstPort",
        "dstStartIp",
        "dstStartIp6",
        "dstSubnet",
        "dstSubnet6",
        "encapsulation",
        "inboundDscpCopy",
        "initiatorTsNarrow",
        "ipv4Df",
        "keepalive",
        "keylifeType",
        "keylifekbs",
        "keylifeseconds",
        "l2tp",
        "name",
        "pfs",
        "phase1name",
        "proposal",
        "protocol",
        "replay",
        "routeOverlap",
        "singleSource",
        "srcAddrType",
        "srcEndIp",
        "srcEndIp6",
        "srcName",
        "srcName6",
        "srcPort",
        "srcStartIp",
        "srcStartIp6",
        "srcSubnet",
        "srcSubnet6",
        "vdomparam"
      ],
      "inputProperties": {
        "addRoute": {
          "type": "string",
          "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoDiscoveryForwarder": {
          "type": "string",
          "description": "Enable/disable forwarding short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoDiscoverySender": {
          "type": "string",
          "description": "Enable/disable sending short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "autoNegotiate": {
          "type": "string",
          "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpsec": {
          "type": "string",
          "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
        },
        "dhgrp": {
          "type": "string",
          "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
        },
        "dstAddrType": {
          "type": "string",
          "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
        },
        "dstEndIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 end.\n"
        },
        "dstEndIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 end.\n"
        },
        "dstName": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstName6": {
          "type": "string",
          "description": "Remote proxy ID name.\n"
        },
        "dstPort": {
          "type": "integer",
          "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
        },
        "dstStartIp": {
          "type": "string",
          "description": "Remote proxy ID IPv4 start.\n"
        },
        "dstStartIp6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 start.\n"
        },
        "dstSubnet": {
          "type": "string",
          "description": "Remote proxy ID IPv4 subnet.\n"
        },
        "dstSubnet6": {
          "type": "string",
          "description": "Remote proxy ID IPv6 subnet.\n"
        },
        "encapsulation": {
          "type": "string",
          "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
        },
        "inboundDscpCopy": {
          "type": "string",
          "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
        },
        "initiatorTsNarrow": {
          "type": "string",
          "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
        },
        "ipv4Df": {
          "type": "string",
          "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
        },
        "keepalive": {
          "type": "string",
          "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
        },
        "keylifeType": {
          "type": "string",
          "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
        },
        "keylifekbs": {
          "type": "integer",
          "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
        },
        "keylifeseconds": {
          "type": "integer",
          "description": "Phase2 key life in time in seconds (120 - 172800).\n"
        },
        "l2tp": {
          "type": "string",
          "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "IPsec tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "pfs": {
          "type": "string",
          "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
        },
        "phase1name": {
          "type": "string",
          "description": "Phase 1 determines the options required for phase 2.\n"
        },
        "proposal": {
          "type": "string",
          "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
        },
        "replay": {
          "type": "string",
          "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
        },
        "routeOverlap": {
          "type": "string",
          "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
        },
        "singleSource": {
          "type": "string",
          "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
        },
        "srcAddrType": {
          "type": "string",
          "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
        },
        "srcEndIp": {
          "type": "string",
          "description": "Local proxy ID end.\n"
        },
        "srcEndIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 end.\n"
        },
        "srcName": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcName6": {
          "type": "string",
          "description": "Local proxy ID name.\n"
        },
        "srcPort": {
          "type": "integer",
          "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
        },
        "srcStartIp": {
          "type": "string",
          "description": "Local proxy ID start.\n"
        },
        "srcStartIp6": {
          "type": "string",
          "description": "Local proxy ID IPv6 start.\n"
        },
        "srcSubnet": {
          "type": "string",
          "description": "Local proxy ID subnet.\n"
        },
        "srcSubnet6": {
          "type": "string",
          "description": "Local proxy ID IPv6 subnet.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "phase1name",
        "proposal"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Phase2interface resources.\n",
        "properties": {
          "addRoute": {
            "type": "string",
            "description": "Enable/disable automatic route addition. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "autoDiscoveryForwarder": {
            "type": "string",
            "description": "Enable/disable forwarding short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "autoDiscoverySender": {
            "type": "string",
            "description": "Enable/disable sending short-cut messages. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "autoNegotiate": {
            "type": "string",
            "description": "Enable/disable IPsec SA auto-negotiation. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dhcpIpsec": {
            "type": "string",
            "description": "Enable/disable DHCP-IPsec. Valid values: `enable`, `disable`.\n"
          },
          "dhgrp": {
            "type": "string",
            "description": "Phase2 DH group. Valid values: `1`, `2`, `5`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `27`, `28`, `29`, `30`, `31`, `32`.\n"
          },
          "diffserv": {
            "type": "string",
            "description": "Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Valid values: `enable`, `disable`.\n"
          },
          "diffservcode": {
            "type": "string",
            "description": "DSCP value to be applied to the IPsec tunnel outer IP header.\n"
          },
          "dstAddrType": {
            "type": "string",
            "description": "Remote proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
          },
          "dstEndIp": {
            "type": "string",
            "description": "Remote proxy ID IPv4 end.\n"
          },
          "dstEndIp6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 end.\n"
          },
          "dstName": {
            "type": "string",
            "description": "Remote proxy ID name.\n"
          },
          "dstName6": {
            "type": "string",
            "description": "Remote proxy ID name.\n"
          },
          "dstPort": {
            "type": "integer",
            "description": "Quick mode destination port (1 - 65535 or 0 for all).\n"
          },
          "dstStartIp": {
            "type": "string",
            "description": "Remote proxy ID IPv4 start.\n"
          },
          "dstStartIp6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 start.\n"
          },
          "dstSubnet": {
            "type": "string",
            "description": "Remote proxy ID IPv4 subnet.\n"
          },
          "dstSubnet6": {
            "type": "string",
            "description": "Remote proxy ID IPv6 subnet.\n"
          },
          "encapsulation": {
            "type": "string",
            "description": "ESP encapsulation mode. Valid values: `tunnel-mode`, `transport-mode`.\n"
          },
          "inboundDscpCopy": {
            "type": "string",
            "description": "Enable/disable copying of the DSCP field in the ESP header to the inner IP header. Valid values: `phase1`, `enable`, `disable`.\n"
          },
          "initiatorTsNarrow": {
            "type": "string",
            "description": "Enable/disable traffic selector narrowing for IKEv2 initiator. Valid values: `enable`, `disable`.\n"
          },
          "ipv4Df": {
            "type": "string",
            "description": "Enable/disable setting and resetting of IPv4 'Don't Fragment' bit. Valid values: `enable`, `disable`.\n"
          },
          "keepalive": {
            "type": "string",
            "description": "Enable/disable keep alive. Valid values: `enable`, `disable`.\n"
          },
          "keylifeType": {
            "type": "string",
            "description": "Keylife type. Valid values: `seconds`, `kbs`, `both`.\n"
          },
          "keylifekbs": {
            "type": "integer",
            "description": "Phase2 key life in number of kilobytes of traffic (5120 - 4294967295).\n"
          },
          "keylifeseconds": {
            "type": "integer",
            "description": "Phase2 key life in time in seconds (120 - 172800).\n"
          },
          "l2tp": {
            "type": "string",
            "description": "Enable/disable L2TP over IPsec. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "IPsec tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "pfs": {
            "type": "string",
            "description": "Enable/disable PFS feature. Valid values: `enable`, `disable`.\n"
          },
          "phase1name": {
            "type": "string",
            "description": "Phase 1 determines the options required for phase 2.\n"
          },
          "proposal": {
            "type": "string",
            "description": "Phase2 proposal. Valid values: `null-md5`, `null-sha1`, `null-sha256`, `null-sha384`, `null-sha512`, `des-null`, `des-md5`, `des-sha1`, `des-sha256`, `des-sha384`, `des-sha512`, `3des-null`, `3des-md5`, `3des-sha1`, `3des-sha256`, `3des-sha384`, `3des-sha512`, `aes128-null`, `aes128-md5`, `aes128-sha1`, `aes128-sha256`, `aes128-sha384`, `aes128-sha512`, `aes128gcm`, `aes192-null`, `aes192-md5`, `aes192-sha1`, `aes192-sha256`, `aes192-sha384`, `aes192-sha512`, `aes256-null`, `aes256-md5`, `aes256-sha1`, `aes256-sha256`, `aes256-sha384`, `aes256-sha512`, `aes256gcm`, `chacha20poly1305`, `aria128-null`, `aria128-md5`, `aria128-sha1`, `aria128-sha256`, `aria128-sha384`, `aria128-sha512`, `aria192-null`, `aria192-md5`, `aria192-sha1`, `aria192-sha256`, `aria192-sha384`, `aria192-sha512`, `aria256-null`, `aria256-md5`, `aria256-sha1`, `aria256-sha256`, `aria256-sha384`, `aria256-sha512`, `seed-null`, `seed-md5`, `seed-sha1`, `seed-sha256`, `seed-sha384`, `seed-sha512`.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Quick mode protocol selector (1 - 255 or 0 for all).\n"
          },
          "replay": {
            "type": "string",
            "description": "Enable/disable replay detection. Valid values: `enable`, `disable`.\n"
          },
          "routeOverlap": {
            "type": "string",
            "description": "Action for overlapping routes. Valid values: `use-old`, `use-new`, `allow`.\n"
          },
          "singleSource": {
            "type": "string",
            "description": "Enable/disable single source IP restriction. Valid values: `enable`, `disable`.\n"
          },
          "srcAddrType": {
            "type": "string",
            "description": "Local proxy ID type. Valid values: `subnet`, `range`, `ip`, `name`, `subnet6`, `range6`, `ip6`, `name6`.\n"
          },
          "srcEndIp": {
            "type": "string",
            "description": "Local proxy ID end.\n"
          },
          "srcEndIp6": {
            "type": "string",
            "description": "Local proxy ID IPv6 end.\n"
          },
          "srcName": {
            "type": "string",
            "description": "Local proxy ID name.\n"
          },
          "srcName6": {
            "type": "string",
            "description": "Local proxy ID name.\n"
          },
          "srcPort": {
            "type": "integer",
            "description": "Quick mode source port (1 - 65535 or 0 for all).\n"
          },
          "srcStartIp": {
            "type": "string",
            "description": "Local proxy ID start.\n"
          },
          "srcStartIp6": {
            "type": "string",
            "description": "Local proxy ID IPv6 start.\n"
          },
          "srcSubnet": {
            "type": "string",
            "description": "Local proxy ID subnet.\n"
          },
          "srcSubnet6": {
            "type": "string",
            "description": "Local proxy ID IPv6 subnet.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/kmipserver:Kmipserver": {
      "description": "KMIP server entry configuration. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nVpn KmipServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/kmipserver:Kmipserver 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:vpn/kmipserver:Kmipserver 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"
        },
        "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": "KMIP server entry name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password to use for connectivity to the KMIP server.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable KMIP server identity check (verify server FQDN/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FKmipserverServerList:KmipserverServerList"
          },
          "description": "KMIP server list. The structure of `server_list` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "FortiGate IP address to be used for communication with the KMIP server.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "username": {
          "type": "string",
          "description": "User name to use for connectivity to the KMIP 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": [
        "interface",
        "interfaceSelectMethod",
        "name",
        "serverIdentityCheck",
        "sourceIp",
        "sslMinProtoVersion",
        "username",
        "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"
        },
        "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": "KMIP server entry name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Password to use for connectivity to the KMIP server.\n"
        },
        "serverIdentityCheck": {
          "type": "string",
          "description": "Enable/disable KMIP server identity check (verify server FQDN/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FKmipserverServerList:KmipserverServerList"
          },
          "description": "KMIP server list. The structure of `server_list` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "FortiGate IP address to be used for communication with the KMIP server.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "username": {
          "type": "string",
          "description": "User name to use for connectivity to the KMIP 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 Kmipserver 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"
          },
          "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": "KMIP server entry name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Password to use for connectivity to the KMIP server.\n"
          },
          "serverIdentityCheck": {
            "type": "string",
            "description": "Enable/disable KMIP server identity check (verify server FQDN/IP address against the server certificate). Valid values: `enable`, `disable`.\n"
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2FKmipserverServerList:KmipserverServerList"
            },
            "description": "KMIP server list. The structure of `server_list` block is documented below.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "FortiGate IP address to be used for communication with the KMIP server.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "username": {
            "type": "string",
            "description": "User name to use for connectivity to the KMIP 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:vpn/l2tp:L2tp": {
      "description": "Configure L2TP.\n\n## Import\n\nVpn L2Tp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/l2tp:L2tp labelname VpnL2Tp\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:vpn/l2tp:L2tp labelname VpnL2Tp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "compress": {
          "type": "string",
          "description": "Enable/disable data compression. Valid values: `enable`, `disable`.\n"
        },
        "eip": {
          "type": "string",
          "description": "End IP.\n"
        },
        "enforceIpsec": {
          "type": "string",
          "description": "Enable/disable IPsec enforcement. Valid values: `enable`, `disable`.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "L2TP hello message interval in seconds (0 - 3600 sec, default = 60).\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum number of missed LCP echo messages before disconnect.\n"
        },
        "sip": {
          "type": "string",
          "description": "Start IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiGate as a L2TP gateway. Valid values: `enable`, `disable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User 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"
        }
      },
      "type": "object",
      "required": [
        "compress",
        "eip",
        "enforceIpsec",
        "helloInterval",
        "lcpEchoInterval",
        "lcpMaxEchoFails",
        "sip",
        "status",
        "usrgrp",
        "vdomparam"
      ],
      "inputProperties": {
        "compress": {
          "type": "string",
          "description": "Enable/disable data compression. Valid values: `enable`, `disable`.\n"
        },
        "eip": {
          "type": "string",
          "description": "End IP.\n"
        },
        "enforceIpsec": {
          "type": "string",
          "description": "Enable/disable IPsec enforcement. Valid values: `enable`, `disable`.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "L2TP hello message interval in seconds (0 - 3600 sec, default = 60).\n"
        },
        "lcpEchoInterval": {
          "type": "integer",
          "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
        },
        "lcpMaxEchoFails": {
          "type": "integer",
          "description": "Maximum number of missed LCP echo messages before disconnect.\n"
        },
        "sip": {
          "type": "string",
          "description": "Start IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiGate as a L2TP gateway. Valid values: `enable`, `disable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User 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
        }
      },
      "requiredInputs": [
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering L2tp resources.\n",
        "properties": {
          "compress": {
            "type": "string",
            "description": "Enable/disable data compression. Valid values: `enable`, `disable`.\n"
          },
          "eip": {
            "type": "string",
            "description": "End IP.\n"
          },
          "enforceIpsec": {
            "type": "string",
            "description": "Enable/disable IPsec enforcement. Valid values: `enable`, `disable`.\n"
          },
          "helloInterval": {
            "type": "integer",
            "description": "L2TP hello message interval in seconds (0 - 3600 sec, default = 60).\n"
          },
          "lcpEchoInterval": {
            "type": "integer",
            "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n"
          },
          "lcpMaxEchoFails": {
            "type": "integer",
            "description": "Maximum number of missed LCP echo messages before disconnect.\n"
          },
          "sip": {
            "type": "string",
            "description": "Start IP.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FortiGate as a L2TP gateway. Valid values: `enable`, `disable`.\n"
          },
          "usrgrp": {
            "type": "string",
            "description": "User 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
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ocvpn:Ocvpn": {
      "description": "Configure Overlay Controller VPN settings. 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,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`.\n\n## Import\n\nVpn Ocvpn can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ocvpn:Ocvpn labelname VpnOcvpn\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:vpn/ocvpn:Ocvpn labelname VpnOcvpn\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoDiscovery": {
          "type": "string",
          "description": "Enable/disable auto-discovery shortcuts. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryShortcutMode": {
          "type": "string",
          "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable EAP client authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapUsers": {
          "type": "string",
          "description": "EAP authentication user group.\n"
        },
        "forticlientAccess": {
          "$ref": "#/types/fortios:vpn%2FOcvpnForticlientAccess:OcvpnForticlientAccess",
          "description": "Configure FortiClient settings. The structure of `forticlient_access` 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"
        },
        "ipAllocationBlock": {
          "type": "string",
          "description": "Class B subnet reserved for private IP address assignment.\n"
        },
        "multipath": {
          "type": "string",
          "description": "Enable/disable multipath redundancy. Valid values: `enable`, `disable`.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable inter-overlay source NAT. Valid values: `enable`, `disable`.\n"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnOverlay:OcvpnOverlay"
          },
          "description": "Network overlays to register with Overlay Controller VPN service. The structure of `overlays` block is documented below.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Overlay Controller VPN polling interval.\n"
        },
        "role": {
          "type": "string",
          "description": "Set device role. Valid values: `spoke`, `primary-hub`, `secondary-hub`.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable adding OCVPN tunnels to SDWAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZone": {
          "type": "string",
          "description": "Set SD-WAN zone.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Overlay Controller cloud assisted VPN. 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"
        },
        "wanInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnWanInterface:OcvpnWanInterface"
          },
          "description": "FortiGate WAN interfaces to use with OCVPN. The structure of `wan_interface` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "autoDiscovery",
        "autoDiscoveryShortcutMode",
        "eap",
        "eapUsers",
        "forticlientAccess",
        "ipAllocationBlock",
        "multipath",
        "nat",
        "pollInterval",
        "role",
        "sdwan",
        "sdwanZone",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "autoDiscovery": {
          "type": "string",
          "description": "Enable/disable auto-discovery shortcuts. Valid values: `enable`, `disable`.\n"
        },
        "autoDiscoveryShortcutMode": {
          "type": "string",
          "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eap": {
          "type": "string",
          "description": "Enable/disable EAP client authentication. Valid values: `enable`, `disable`.\n"
        },
        "eapUsers": {
          "type": "string",
          "description": "EAP authentication user group.\n"
        },
        "forticlientAccess": {
          "$ref": "#/types/fortios:vpn%2FOcvpnForticlientAccess:OcvpnForticlientAccess",
          "description": "Configure FortiClient settings. The structure of `forticlient_access` 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"
        },
        "ipAllocationBlock": {
          "type": "string",
          "description": "Class B subnet reserved for private IP address assignment.\n"
        },
        "multipath": {
          "type": "string",
          "description": "Enable/disable multipath redundancy. Valid values: `enable`, `disable`.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable inter-overlay source NAT. Valid values: `enable`, `disable`.\n"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnOverlay:OcvpnOverlay"
          },
          "description": "Network overlays to register with Overlay Controller VPN service. The structure of `overlays` block is documented below.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Overlay Controller VPN polling interval.\n"
        },
        "role": {
          "type": "string",
          "description": "Set device role. Valid values: `spoke`, `primary-hub`, `secondary-hub`.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable adding OCVPN tunnels to SDWAN. Valid values: `enable`, `disable`.\n"
        },
        "sdwanZone": {
          "type": "string",
          "description": "Set SD-WAN zone.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable Overlay Controller cloud assisted VPN. 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
        },
        "wanInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnWanInterface:OcvpnWanInterface"
          },
          "description": "FortiGate WAN interfaces to use with OCVPN. The structure of `wan_interface` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ocvpn resources.\n",
        "properties": {
          "autoDiscovery": {
            "type": "string",
            "description": "Enable/disable auto-discovery shortcuts. Valid values: `enable`, `disable`.\n"
          },
          "autoDiscoveryShortcutMode": {
            "type": "string",
            "description": "Control deletion of child short-cut tunnels when the parent tunnel goes down. Valid values: `independent`, `dependent`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "eap": {
            "type": "string",
            "description": "Enable/disable EAP client authentication. Valid values: `enable`, `disable`.\n"
          },
          "eapUsers": {
            "type": "string",
            "description": "EAP authentication user group.\n"
          },
          "forticlientAccess": {
            "$ref": "#/types/fortios:vpn%2FOcvpnForticlientAccess:OcvpnForticlientAccess",
            "description": "Configure FortiClient settings. The structure of `forticlient_access` 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"
          },
          "ipAllocationBlock": {
            "type": "string",
            "description": "Class B subnet reserved for private IP address assignment.\n"
          },
          "multipath": {
            "type": "string",
            "description": "Enable/disable multipath redundancy. Valid values: `enable`, `disable`.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable inter-overlay source NAT. Valid values: `enable`, `disable`.\n"
          },
          "overlays": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2FOcvpnOverlay:OcvpnOverlay"
            },
            "description": "Network overlays to register with Overlay Controller VPN service. The structure of `overlays` block is documented below.\n"
          },
          "pollInterval": {
            "type": "integer",
            "description": "Overlay Controller VPN polling interval.\n"
          },
          "role": {
            "type": "string",
            "description": "Set device role. Valid values: `spoke`, `primary-hub`, `secondary-hub`.\n"
          },
          "sdwan": {
            "type": "string",
            "description": "Enable/disable adding OCVPN tunnels to SDWAN. Valid values: `enable`, `disable`.\n"
          },
          "sdwanZone": {
            "type": "string",
            "description": "Set SD-WAN zone.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable Overlay Controller cloud assisted VPN. 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
          },
          "wanInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2FOcvpnWanInterface:OcvpnWanInterface"
            },
            "description": "FortiGate WAN interfaces to use with OCVPN. The structure of `wan_interface` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/pptp:Pptp": {
      "description": "Configure PPTP.\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.vpn.Pptp(\"trname\", {\n    eip: \"1.1.1.22\",\n    ipMode: \"range\",\n    localIp: \"0.0.0.0\",\n    sip: \"1.1.1.1\",\n    status: \"enable\",\n    usrgrp: \"Guest-group\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.Pptp(\"trname\",\n    eip=\"1.1.1.22\",\n    ip_mode=\"range\",\n    local_ip=\"0.0.0.0\",\n    sip=\"1.1.1.1\",\n    status=\"enable\",\n    usrgrp=\"Guest-group\")\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.Vpn.Pptp(\"trname\", new()\n    {\n        Eip = \"1.1.1.22\",\n        IpMode = \"range\",\n        LocalIp = \"0.0.0.0\",\n        Sip = \"1.1.1.1\",\n        Status = \"enable\",\n        Usrgrp = \"Guest-group\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewPptp(ctx, \"trname\", &vpn.PptpArgs{\n\t\t\tEip:     pulumi.String(\"1.1.1.22\"),\n\t\t\tIpMode:  pulumi.String(\"range\"),\n\t\t\tLocalIp: pulumi.String(\"0.0.0.0\"),\n\t\t\tSip:     pulumi.String(\"1.1.1.1\"),\n\t\t\tStatus:  pulumi.String(\"enable\"),\n\t\t\tUsrgrp:  pulumi.String(\"Guest-group\"),\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.vpn.Pptp;\nimport com.pulumi.fortios.vpn.PptpArgs;\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 Pptp(\"trname\", PptpArgs.builder()\n            .eip(\"1.1.1.22\")\n            .ipMode(\"range\")\n            .localIp(\"0.0.0.0\")\n            .sip(\"1.1.1.1\")\n            .status(\"enable\")\n            .usrgrp(\"Guest-group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn:Pptp\n    properties:\n      eip: 1.1.1.22\n      ipMode: range\n      localIp: 0.0.0.0\n      sip: 1.1.1.1\n      status: enable\n      usrgrp: Guest-group\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpn Pptp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/pptp:Pptp labelname VpnPptp\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:vpn/pptp:Pptp labelname VpnPptp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "eip": {
          "type": "string",
          "description": "End IP.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "IP assignment mode for PPTP client. Valid values: `range`, `usrgrp`.\n"
        },
        "localIp": {
          "type": "string",
          "description": "Local IP to be used for peer's remote IP.\n"
        },
        "sip": {
          "type": "string",
          "description": "Start IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiGate as a PPTP gateway. Valid values: `enable`, `disable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User 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"
        }
      },
      "type": "object",
      "required": [
        "eip",
        "ipMode",
        "localIp",
        "sip",
        "status",
        "usrgrp",
        "vdomparam"
      ],
      "inputProperties": {
        "eip": {
          "type": "string",
          "description": "End IP.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "IP assignment mode for PPTP client. Valid values: `range`, `usrgrp`.\n"
        },
        "localIp": {
          "type": "string",
          "description": "Local IP to be used for peer's remote IP.\n"
        },
        "sip": {
          "type": "string",
          "description": "Start IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiGate as a PPTP gateway. Valid values: `enable`, `disable`.\n"
        },
        "usrgrp": {
          "type": "string",
          "description": "User 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
        }
      },
      "requiredInputs": [
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Pptp resources.\n",
        "properties": {
          "eip": {
            "type": "string",
            "description": "End IP.\n"
          },
          "ipMode": {
            "type": "string",
            "description": "IP assignment mode for PPTP client. Valid values: `range`, `usrgrp`.\n"
          },
          "localIp": {
            "type": "string",
            "description": "Local IP to be used for peer's remote IP.\n"
          },
          "sip": {
            "type": "string",
            "description": "Start IP.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable FortiGate as a PPTP gateway. Valid values: `enable`, `disable`.\n"
          },
          "usrgrp": {
            "type": "string",
            "description": "User 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
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/qkd:Qkd": {
      "description": "Configure Quantum Key Distribution servers Applies to FortiOS Version `>= 7.4.2`.\n\n## Import\n\nVpn Qkd can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/qkd:Qkd 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:vpn/qkd:Qkd labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FQkdCertificate:QkdCertificate"
          },
          "description": "Names of up to 4 certificates to offer to the KME. The structure of `certificate` 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"
        },
        "fosid": {
          "type": "string",
          "description": "Quantum Key Distribution ID assigned by the KME.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Quantum Key Distribution configuration name.\n"
        },
        "peer": {
          "type": "string",
          "description": "Authenticate Quantum Key Device's certificate with the peer/peergrp.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to connect to on the KME.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4, IPv6 or DNS address of the KME.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "peer",
        "port",
        "server",
        "vdomparam"
      ],
      "inputProperties": {
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FQkdCertificate:QkdCertificate"
          },
          "description": "Names of up to 4 certificates to offer to the KME. The structure of `certificate` 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"
        },
        "fosid": {
          "type": "string",
          "description": "Quantum Key Distribution ID assigned by the KME.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Quantum Key Distribution configuration name.\n",
          "willReplaceOnChanges": true
        },
        "peer": {
          "type": "string",
          "description": "Authenticate Quantum Key Device's certificate with the peer/peergrp.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to connect to on the KME.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4, IPv6 or DNS address of the KME.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Qkd resources.\n",
        "properties": {
          "certificates": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2FQkdCertificate:QkdCertificate"
            },
            "description": "Names of up to 4 certificates to offer to the KME. The structure of `certificate` 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"
          },
          "fosid": {
            "type": "string",
            "description": "Quantum Key Distribution ID assigned by the KME.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "Quantum Key Distribution configuration name.\n",
            "willReplaceOnChanges": true
          },
          "peer": {
            "type": "string",
            "description": "Authenticate Quantum Key Device's certificate with the peer/peergrp.\n"
          },
          "port": {
            "type": "integer",
            "description": "Port to connect to on the KME.\n"
          },
          "server": {
            "type": "string",
            "description": "IPv4, IPv6 or DNS address of the KME.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ssl/client:Client": {
      "description": "client Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nVpnSsl Client can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/client:Client 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:vpn/ssl/client:Client labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "certificate": {
          "type": "string",
          "description": "Certificate to offer to SSL-VPN server if it requests one.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by SSL-VPN (1 - 255).\n"
        },
        "interface": {
          "type": "string",
          "description": "SSL interface to send/receive traffic over.\n"
        },
        "ipv4Subnets": {
          "type": "string",
          "description": "IPv4 subnets that the client is protecting.\n"
        },
        "ipv6Subnets": {
          "type": "string",
          "description": "IPv6 subnets that the client is protecting.\n"
        },
        "name": {
          "type": "string",
          "description": "SSL-VPN tunnel name.\n"
        },
        "peer": {
          "type": "string",
          "description": "Authenticate peer's certificate with the peer/peergrp.\n"
        },
        "port": {
          "type": "integer",
          "description": "SSL-VPN server port.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by SSL-VPN. On FortiOS versions 7.0.1-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "psk": {
          "type": "string",
          "description": "Pre-shared secret to authenticate with the server (ASCII string or hexadecimal encoded with a leading 0x).\n"
        },
        "realm": {
          "type": "string",
          "description": "Realm name configured on SSL-VPN server.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4, IPv6 or DNS address of the SSL-VPN server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "IPv4 or IPv6 address to use as a source for the SSL-VPN connection to the server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SSL-VPN client configuration. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Username to offer to the peer to authenticate the client.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "certificate",
        "classId",
        "distance",
        "interface",
        "ipv4Subnets",
        "ipv6Subnets",
        "name",
        "peer",
        "port",
        "priority",
        "realm",
        "server",
        "sourceIp",
        "status",
        "user",
        "vdomparam"
      ],
      "inputProperties": {
        "certificate": {
          "type": "string",
          "description": "Certificate to offer to SSL-VPN server if it requests one.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance for routes added by SSL-VPN (1 - 255).\n"
        },
        "interface": {
          "type": "string",
          "description": "SSL interface to send/receive traffic over.\n"
        },
        "ipv4Subnets": {
          "type": "string",
          "description": "IPv4 subnets that the client is protecting.\n"
        },
        "ipv6Subnets": {
          "type": "string",
          "description": "IPv6 subnets that the client is protecting.\n"
        },
        "name": {
          "type": "string",
          "description": "SSL-VPN tunnel name.\n",
          "willReplaceOnChanges": true
        },
        "peer": {
          "type": "string",
          "description": "Authenticate peer's certificate with the peer/peergrp.\n"
        },
        "port": {
          "type": "integer",
          "description": "SSL-VPN server port.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority for routes added by SSL-VPN. On FortiOS versions 7.0.1-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
        },
        "psk": {
          "type": "string",
          "description": "Pre-shared secret to authenticate with the server (ASCII string or hexadecimal encoded with a leading 0x).\n"
        },
        "realm": {
          "type": "string",
          "description": "Realm name configured on SSL-VPN server.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4, IPv6 or DNS address of the SSL-VPN server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "IPv4 or IPv6 address to use as a source for the SSL-VPN connection to the server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SSL-VPN client configuration. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Username to offer to the peer to authenticate the client.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "certificate": {
            "type": "string",
            "description": "Certificate to offer to SSL-VPN server if it requests one.\n"
          },
          "classId": {
            "type": "integer",
            "description": "Traffic class ID.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Distance for routes added by SSL-VPN (1 - 255).\n"
          },
          "interface": {
            "type": "string",
            "description": "SSL interface to send/receive traffic over.\n"
          },
          "ipv4Subnets": {
            "type": "string",
            "description": "IPv4 subnets that the client is protecting.\n"
          },
          "ipv6Subnets": {
            "type": "string",
            "description": "IPv6 subnets that the client is protecting.\n"
          },
          "name": {
            "type": "string",
            "description": "SSL-VPN tunnel name.\n",
            "willReplaceOnChanges": true
          },
          "peer": {
            "type": "string",
            "description": "Authenticate peer's certificate with the peer/peergrp.\n"
          },
          "port": {
            "type": "integer",
            "description": "SSL-VPN server port.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Priority for routes added by SSL-VPN. On FortiOS versions 7.0.1-7.0.3: 0 - 4294967295. On FortiOS versions >= 7.0.4: 1 - 65535.\n"
          },
          "psk": {
            "type": "string",
            "description": "Pre-shared secret to authenticate with the server (ASCII string or hexadecimal encoded with a leading 0x).\n"
          },
          "realm": {
            "type": "string",
            "description": "Realm name configured on SSL-VPN server.\n"
          },
          "server": {
            "type": "string",
            "description": "IPv4, IPv6 or DNS address of the SSL-VPN server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "IPv4 or IPv6 address to use as a source for the SSL-VPN connection to the server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this SSL-VPN client configuration. Valid values: `enable`, `disable`.\n"
          },
          "user": {
            "type": "string",
            "description": "Username to offer to the peer to authenticate the client.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:vpn/ssl/settings:Settings": {
      "description": "Configure SSL VPN.\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.vpn.ssl.Settings(\"trname\", {\n    loginAttemptLimit: 2,\n    loginBlockTime: 60,\n    loginTimeout: 30,\n    port: 443,\n    servercert: \"self-sign\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.Settings(\"trname\",\n    login_attempt_limit=2,\n    login_block_time=60,\n    login_timeout=30,\n    port=443,\n    servercert=\"self-sign\")\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.Vpn.Ssl.Settings(\"trname\", new()\n    {\n        LoginAttemptLimit = 2,\n        LoginBlockTime = 60,\n        LoginTimeout = 30,\n        Port = 443,\n        Servercert = \"self-sign\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewSettings(ctx, \"trname\", &vpn.SettingsArgs{\n\t\t\tLoginAttemptLimit: pulumi.Int(2),\n\t\t\tLoginBlockTime:    pulumi.Int(60),\n\t\t\tLoginTimeout:      pulumi.Int(30),\n\t\t\tPort:              pulumi.Int(443),\n\t\t\tServercert:        pulumi.String(\"self-sign\"),\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.vpn.Settings;\nimport com.pulumi.fortios.vpn.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            .loginAttemptLimit(2)\n            .loginBlockTime(60)\n            .loginTimeout(30)\n            .port(443)\n            .servercert(\"self-sign\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl:Settings\n    properties:\n      loginAttemptLimit: 2\n      loginBlockTime: 60\n      loginTimeout: 30\n      port: 443\n      servercert: self-sign\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSsl Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/settings:Settings labelname VpnSslSettings\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:vpn/ssl/settings:Settings labelname VpnSslSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "algorithm": {
          "type": "string",
          "description": "Force the SSL-VPN security level. High allows only high. Medium allows medium and high. Low allows any. Valid values: `high`, `medium`, `default`, `low`.\n"
        },
        "authSessionCheckSourceIp": {
          "type": "string",
          "description": "Enable/disable checking of source IP for authentication session. Valid values: `enable`, `disable`.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "SSL-VPN authentication timeout (1 - 259200 sec (3 days), 0 for no timeout).\n"
        },
        "authenticationRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRule:SettingsAuthenticationRule"
          },
          "description": "Authentication rule for SSL VPN. The structure of `authentication_rule` block is documented below.\n"
        },
        "autoTunnelStaticRoute": {
          "type": "string",
          "description": "Enable to auto-create static routes for the SSL-VPN tunnel IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "bannedCipher": {
          "type": "string",
          "description": "Select one or more cipher technologies that cannot be used in SSL-VPN negotiations.\n"
        },
        "browserLanguageDetection": {
          "type": "string",
          "description": "Enable/disable overriding the configured system language based on the preferred language of the browser. Valid values: `enable`, `disable`.\n"
        },
        "checkReferer": {
          "type": "string",
          "description": "Enable/disable verification of referer field in HTTP request header. Valid values: `enable`, `disable`.\n"
        },
        "ciphersuite": {
          "type": "string",
          "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, set ssl-max-proto-ver to tls1-2 or below. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
        },
        "clientSigalgs": {
          "type": "string",
          "description": "Set signature algorithms related to client authentication. Affects TLS version <= 1.2 only. Valid values: `no-rsa-pss`, `all`.\n"
        },
        "defaultPortal": {
          "type": "string",
          "description": "Default SSL VPN portal.\n"
        },
        "deflateCompressionLevel": {
          "type": "integer",
          "description": "Compression level (0~9).\n"
        },
        "deflateMinDataSize": {
          "type": "integer",
          "description": "Minimum amount of data that triggers compression (200 - 65535 bytes).\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsSuffix": {
          "type": "string",
          "description": "DNS suffix used for SSL-VPN clients.\n"
        },
        "dtlsHeartbeatFailCount": {
          "type": "integer",
          "description": "Number of missing heartbeats before the connection is considered dropped.\n"
        },
        "dtlsHeartbeatIdleTimeout": {
          "type": "integer",
          "description": "Idle timeout before DTLS heartbeat is sent.\n"
        },
        "dtlsHeartbeatInterval": {
          "type": "integer",
          "description": "Interval between DTLS heartbeat.\n"
        },
        "dtlsHelloTimeout": {
          "type": "integer",
          "description": "SSLVPN maximum DTLS hello timeout (10 - 60 sec, default = 10).\n"
        },
        "dtlsMaxProtoVer": {
          "type": "string",
          "description": "DTLS maximum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
        },
        "dtlsMinProtoVer": {
          "type": "string",
          "description": "DTLS minimum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
        },
        "dtlsTunnel": {
          "type": "string",
          "description": "Enable DTLS to prevent eavesdropping, tampering, or message forgery. Valid values: `enable`, `disable`.\n"
        },
        "dualStackMode": {
          "type": "string",
          "description": "Tunnel mode: enable parallel IPv4 and IPv6 tunnel. Web mode: support IPv4 and IPv6 bookmarks in the portal. 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"
        },
        "encode2fSequence": {
          "type": "string",
          "description": "Encode \\2F sequence to forward slash in URLs. Valid values: `enable`, `disable`.\n"
        },
        "encryptAndStorePassword": {
          "type": "string",
          "description": "Encrypt and store user passwords for SSL-VPN web sessions. Valid values: `enable`, `disable`.\n"
        },
        "forceTwoFactorAuth": {
          "type": "string",
          "description": "Enable to force two-factor authentication for all SSL-VPNs. 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"
        },
        "headerXForwardedFor": {
          "type": "string",
          "description": "Forward the same, add, or remove HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "hstsIncludeSubdomains": {
          "type": "string",
          "description": "Add HSTS includeSubDomains response header. Valid values: `enable`, `disable`.\n"
        },
        "httpCompression": {
          "type": "string",
          "description": "Enable to allow HTTP compression over SSL-VPN tunnels. Valid values: `enable`, `disable`.\n"
        },
        "httpOnlyCookie": {
          "type": "string",
          "description": "Enable/disable SSL-VPN support for HttpOnly cookies. Valid values: `enable`, `disable`.\n"
        },
        "httpRequestBodyTimeout": {
          "type": "integer",
          "description": "SSL-VPN session is disconnected if an HTTP request body is not received within this time (1 - 60 sec, default = 20).\n"
        },
        "httpRequestHeaderTimeout": {
          "type": "integer",
          "description": "SSL-VPN session is disconnected if an HTTP request header is not received within this time (1 - 60 sec, default = 20).\n"
        },
        "httpsRedirect": {
          "type": "string",
          "description": "Enable/disable redirect of port 80 to SSL-VPN port. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "SSL VPN disconnects if idle for specified time in seconds.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6WinsServer1": {
          "type": "string",
          "description": "IPv6 WINS server 1.\n"
        },
        "ipv6WinsServer2": {
          "type": "string",
          "description": "IPv6 WINS server 2.\n"
        },
        "loginAttemptLimit": {
          "type": "integer",
          "description": "SSL VPN maximum login attempt times before block (0 - 10, default = 2, 0 = no limit).\n"
        },
        "loginBlockTime": {
          "type": "integer",
          "description": "Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec, default = 60).\n"
        },
        "loginTimeout": {
          "type": "integer",
          "description": "SSLVPN maximum login timeout (10 - 180 sec, default = 30).\n"
        },
        "port": {
          "type": "integer",
          "description": "SSL-VPN access port (1 - 65535).\n"
        },
        "portPrecedence": {
          "type": "string",
          "description": "Enable means that if SSL-VPN connections are allowed on an interface admin GUI connections are blocked on that interface. Valid values: `enable`, `disable`.\n"
        },
        "reqclientcert": {
          "type": "string",
          "description": "Enable to require client certificates for all SSL-VPN users. Valid values: `enable`, `disable`.\n"
        },
        "routeSourceInterface": {
          "type": "string",
          "description": "Enable to allow SSL-VPN sessions to bypass routing and bind to the incoming interface. Valid values: `enable`, `disable`.\n"
        },
        "samlRedirectPort": {
          "type": "integer",
          "description": "SAML local redirect port in the machine running FCT (0 - 65535). 0 is to disable redirection on FGT side.\n"
        },
        "serverHostname": {
          "type": "string",
          "description": "Server hostname for HTTPS. When set, will be used for SSL VPN web proxy host header for any redirection.\n"
        },
        "servercert": {
          "type": "string",
          "description": "Name of the server certificate to be used for SSL-VPNs.\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%2FSettingsSourceAddress6:SettingsSourceAddress6"
          },
          "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%2FSettingsSourceAddress:SettingsSourceAddress"
          },
          "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%2FSettingsSourceInterface:SettingsSourceInterface"
          },
          "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Enable to allow client renegotiation by the server if the tunnel goes down. Valid values: `disable`, `enable`.\n"
        },
        "sslInsertEmptyFragment": {
          "type": "string",
          "description": "Enable/disable insertion of empty fragment. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxProtoVer": {
          "type": "string",
          "description": "SSL maximum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
        },
        "sslMinProtoVer": {
          "type": "string",
          "description": "SSL minimum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SSL-VPN. Valid values: `enable`, `disable`.\n"
        },
        "tlsv10": {
          "type": "string",
          "description": "Enable/disable TLSv1.0. Valid values: `enable`, `disable`.\n"
        },
        "tlsv11": {
          "type": "string",
          "description": "Enable/disable TLSv1.1. Valid values: `enable`, `disable`.\n"
        },
        "tlsv12": {
          "type": "string",
          "description": "Enable/disable TLSv1.2. Valid values: `enable`, `disable`.\n"
        },
        "tlsv13": {
          "type": "string",
          "description": "Enable/disable TLSv1.3. Valid values: `enable`, `disable`.\n"
        },
        "transformBackwardSlashes": {
          "type": "string",
          "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
        },
        "tunnelAddrAssignedMethod": {
          "type": "string",
          "description": "Method used for assigning address for tunnel. Valid values: `first-available`, `round-robin`.\n"
        },
        "tunnelConnectWithoutReauth": {
          "type": "string",
          "description": "Enable/disable tunnel connection without re-authorization if previous connection dropped. Valid values: `enable`, `disable`.\n"
        },
        "tunnelIpPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpPool:SettingsTunnelIpPool"
          },
          "description": "Names of the IPv4 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ip_pools` block is documented below.\n"
        },
        "tunnelIpv6Pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpv6Pool:SettingsTunnelIpv6Pool"
          },
          "description": "Names of the IPv6 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ipv6_pools` block is documented below.\n"
        },
        "tunnelUserSessionTimeout": {
          "type": "integer",
          "description": "Number of seconds after which user sessions are cleaned up after tunnel connection is dropped (default = 30). On FortiOS versions 6.2.0-7.4.3: 1 - 255 sec. On FortiOS versions >= 7.4.4: 1 - 86400 sec.\n"
        },
        "unsafeLegacyRenegotiation": {
          "type": "string",
          "description": "Enable/disable unsafe legacy re-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "urlObscuration": {
          "type": "string",
          "description": "Enable to obscure the host name of the URL of the web browser display. Valid values: `enable`, `disable`.\n"
        },
        "userPeer": {
          "type": "string",
          "description": "Name of user peer.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webModeSnat": {
          "type": "string",
          "description": "Enable/disable use of IP pools defined in firewall policy while using web-mode. Valid values: `enable`, `disable`.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "xContentTypeOptions": {
          "type": "string",
          "description": "Add HTTP X-Content-Type-Options header. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTrustedClient": {
          "type": "string",
          "description": "Enable/disable verification of device certificate for SSLVPN ZTNA session. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "algorithm",
        "authSessionCheckSourceIp",
        "authTimeout",
        "autoTunnelStaticRoute",
        "bannedCipher",
        "browserLanguageDetection",
        "checkReferer",
        "ciphersuite",
        "clientSigalgs",
        "defaultPortal",
        "deflateCompressionLevel",
        "deflateMinDataSize",
        "dnsServer1",
        "dnsServer2",
        "dtlsHeartbeatFailCount",
        "dtlsHeartbeatIdleTimeout",
        "dtlsHeartbeatInterval",
        "dtlsHelloTimeout",
        "dtlsMaxProtoVer",
        "dtlsMinProtoVer",
        "dtlsTunnel",
        "dualStackMode",
        "encode2fSequence",
        "encryptAndStorePassword",
        "forceTwoFactorAuth",
        "headerXForwardedFor",
        "hstsIncludeSubdomains",
        "httpCompression",
        "httpOnlyCookie",
        "httpRequestBodyTimeout",
        "httpRequestHeaderTimeout",
        "httpsRedirect",
        "idleTimeout",
        "ipv6DnsServer1",
        "ipv6DnsServer2",
        "ipv6WinsServer1",
        "ipv6WinsServer2",
        "loginAttemptLimit",
        "loginBlockTime",
        "loginTimeout",
        "port",
        "portPrecedence",
        "reqclientcert",
        "routeSourceInterface",
        "samlRedirectPort",
        "serverHostname",
        "servercert",
        "sourceAddress6Negate",
        "sourceAddressNegate",
        "sslClientRenegotiation",
        "sslInsertEmptyFragment",
        "sslMaxProtoVer",
        "sslMinProtoVer",
        "status",
        "tlsv10",
        "tlsv11",
        "tlsv12",
        "tlsv13",
        "transformBackwardSlashes",
        "tunnelAddrAssignedMethod",
        "tunnelConnectWithoutReauth",
        "tunnelUserSessionTimeout",
        "unsafeLegacyRenegotiation",
        "urlObscuration",
        "userPeer",
        "vdomparam",
        "webModeSnat",
        "winsServer1",
        "winsServer2",
        "xContentTypeOptions",
        "ztnaTrustedClient"
      ],
      "inputProperties": {
        "algorithm": {
          "type": "string",
          "description": "Force the SSL-VPN security level. High allows only high. Medium allows medium and high. Low allows any. Valid values: `high`, `medium`, `default`, `low`.\n"
        },
        "authSessionCheckSourceIp": {
          "type": "string",
          "description": "Enable/disable checking of source IP for authentication session. Valid values: `enable`, `disable`.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "SSL-VPN authentication timeout (1 - 259200 sec (3 days), 0 for no timeout).\n"
        },
        "authenticationRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRule:SettingsAuthenticationRule"
          },
          "description": "Authentication rule for SSL VPN. The structure of `authentication_rule` block is documented below.\n"
        },
        "autoTunnelStaticRoute": {
          "type": "string",
          "description": "Enable to auto-create static routes for the SSL-VPN tunnel IP addresses. Valid values: `enable`, `disable`.\n"
        },
        "bannedCipher": {
          "type": "string",
          "description": "Select one or more cipher technologies that cannot be used in SSL-VPN negotiations.\n"
        },
        "browserLanguageDetection": {
          "type": "string",
          "description": "Enable/disable overriding the configured system language based on the preferred language of the browser. Valid values: `enable`, `disable`.\n"
        },
        "checkReferer": {
          "type": "string",
          "description": "Enable/disable verification of referer field in HTTP request header. Valid values: `enable`, `disable`.\n"
        },
        "ciphersuite": {
          "type": "string",
          "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, set ssl-max-proto-ver to tls1-2 or below. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
        },
        "clientSigalgs": {
          "type": "string",
          "description": "Set signature algorithms related to client authentication. Affects TLS version <= 1.2 only. Valid values: `no-rsa-pss`, `all`.\n"
        },
        "defaultPortal": {
          "type": "string",
          "description": "Default SSL VPN portal.\n"
        },
        "deflateCompressionLevel": {
          "type": "integer",
          "description": "Compression level (0~9).\n"
        },
        "deflateMinDataSize": {
          "type": "integer",
          "description": "Minimum amount of data that triggers compression (200 - 65535 bytes).\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "dnsSuffix": {
          "type": "string",
          "description": "DNS suffix used for SSL-VPN clients.\n"
        },
        "dtlsHeartbeatFailCount": {
          "type": "integer",
          "description": "Number of missing heartbeats before the connection is considered dropped.\n"
        },
        "dtlsHeartbeatIdleTimeout": {
          "type": "integer",
          "description": "Idle timeout before DTLS heartbeat is sent.\n"
        },
        "dtlsHeartbeatInterval": {
          "type": "integer",
          "description": "Interval between DTLS heartbeat.\n"
        },
        "dtlsHelloTimeout": {
          "type": "integer",
          "description": "SSLVPN maximum DTLS hello timeout (10 - 60 sec, default = 10).\n"
        },
        "dtlsMaxProtoVer": {
          "type": "string",
          "description": "DTLS maximum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
        },
        "dtlsMinProtoVer": {
          "type": "string",
          "description": "DTLS minimum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
        },
        "dtlsTunnel": {
          "type": "string",
          "description": "Enable DTLS to prevent eavesdropping, tampering, or message forgery. Valid values: `enable`, `disable`.\n"
        },
        "dualStackMode": {
          "type": "string",
          "description": "Tunnel mode: enable parallel IPv4 and IPv6 tunnel. Web mode: support IPv4 and IPv6 bookmarks in the portal. 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"
        },
        "encode2fSequence": {
          "type": "string",
          "description": "Encode \\2F sequence to forward slash in URLs. Valid values: `enable`, `disable`.\n"
        },
        "encryptAndStorePassword": {
          "type": "string",
          "description": "Encrypt and store user passwords for SSL-VPN web sessions. Valid values: `enable`, `disable`.\n"
        },
        "forceTwoFactorAuth": {
          "type": "string",
          "description": "Enable to force two-factor authentication for all SSL-VPNs. 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"
        },
        "headerXForwardedFor": {
          "type": "string",
          "description": "Forward the same, add, or remove HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "hstsIncludeSubdomains": {
          "type": "string",
          "description": "Add HSTS includeSubDomains response header. Valid values: `enable`, `disable`.\n"
        },
        "httpCompression": {
          "type": "string",
          "description": "Enable to allow HTTP compression over SSL-VPN tunnels. Valid values: `enable`, `disable`.\n"
        },
        "httpOnlyCookie": {
          "type": "string",
          "description": "Enable/disable SSL-VPN support for HttpOnly cookies. Valid values: `enable`, `disable`.\n"
        },
        "httpRequestBodyTimeout": {
          "type": "integer",
          "description": "SSL-VPN session is disconnected if an HTTP request body is not received within this time (1 - 60 sec, default = 20).\n"
        },
        "httpRequestHeaderTimeout": {
          "type": "integer",
          "description": "SSL-VPN session is disconnected if an HTTP request header is not received within this time (1 - 60 sec, default = 20).\n"
        },
        "httpsRedirect": {
          "type": "string",
          "description": "Enable/disable redirect of port 80 to SSL-VPN port. Valid values: `enable`, `disable`.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "SSL VPN disconnects if idle for specified time in seconds.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6WinsServer1": {
          "type": "string",
          "description": "IPv6 WINS server 1.\n"
        },
        "ipv6WinsServer2": {
          "type": "string",
          "description": "IPv6 WINS server 2.\n"
        },
        "loginAttemptLimit": {
          "type": "integer",
          "description": "SSL VPN maximum login attempt times before block (0 - 10, default = 2, 0 = no limit).\n"
        },
        "loginBlockTime": {
          "type": "integer",
          "description": "Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec, default = 60).\n"
        },
        "loginTimeout": {
          "type": "integer",
          "description": "SSLVPN maximum login timeout (10 - 180 sec, default = 30).\n"
        },
        "port": {
          "type": "integer",
          "description": "SSL-VPN access port (1 - 65535).\n"
        },
        "portPrecedence": {
          "type": "string",
          "description": "Enable means that if SSL-VPN connections are allowed on an interface admin GUI connections are blocked on that interface. Valid values: `enable`, `disable`.\n"
        },
        "reqclientcert": {
          "type": "string",
          "description": "Enable to require client certificates for all SSL-VPN users. Valid values: `enable`, `disable`.\n"
        },
        "routeSourceInterface": {
          "type": "string",
          "description": "Enable to allow SSL-VPN sessions to bypass routing and bind to the incoming interface. Valid values: `enable`, `disable`.\n"
        },
        "samlRedirectPort": {
          "type": "integer",
          "description": "SAML local redirect port in the machine running FCT (0 - 65535). 0 is to disable redirection on FGT side.\n"
        },
        "serverHostname": {
          "type": "string",
          "description": "Server hostname for HTTPS. When set, will be used for SSL VPN web proxy host header for any redirection.\n"
        },
        "servercert": {
          "type": "string",
          "description": "Name of the server certificate to be used for SSL-VPNs.\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%2FSettingsSourceAddress6:SettingsSourceAddress6"
          },
          "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%2FSettingsSourceAddress:SettingsSourceAddress"
          },
          "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%2FSettingsSourceInterface:SettingsSourceInterface"
          },
          "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Enable to allow client renegotiation by the server if the tunnel goes down. Valid values: `disable`, `enable`.\n"
        },
        "sslInsertEmptyFragment": {
          "type": "string",
          "description": "Enable/disable insertion of empty fragment. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxProtoVer": {
          "type": "string",
          "description": "SSL maximum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
        },
        "sslMinProtoVer": {
          "type": "string",
          "description": "SSL minimum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SSL-VPN. Valid values: `enable`, `disable`.\n"
        },
        "tlsv10": {
          "type": "string",
          "description": "Enable/disable TLSv1.0. Valid values: `enable`, `disable`.\n"
        },
        "tlsv11": {
          "type": "string",
          "description": "Enable/disable TLSv1.1. Valid values: `enable`, `disable`.\n"
        },
        "tlsv12": {
          "type": "string",
          "description": "Enable/disable TLSv1.2. Valid values: `enable`, `disable`.\n"
        },
        "tlsv13": {
          "type": "string",
          "description": "Enable/disable TLSv1.3. Valid values: `enable`, `disable`.\n"
        },
        "transformBackwardSlashes": {
          "type": "string",
          "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
        },
        "tunnelAddrAssignedMethod": {
          "type": "string",
          "description": "Method used for assigning address for tunnel. Valid values: `first-available`, `round-robin`.\n"
        },
        "tunnelConnectWithoutReauth": {
          "type": "string",
          "description": "Enable/disable tunnel connection without re-authorization if previous connection dropped. Valid values: `enable`, `disable`.\n"
        },
        "tunnelIpPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpPool:SettingsTunnelIpPool"
          },
          "description": "Names of the IPv4 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ip_pools` block is documented below.\n"
        },
        "tunnelIpv6Pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpv6Pool:SettingsTunnelIpv6Pool"
          },
          "description": "Names of the IPv6 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ipv6_pools` block is documented below.\n"
        },
        "tunnelUserSessionTimeout": {
          "type": "integer",
          "description": "Number of seconds after which user sessions are cleaned up after tunnel connection is dropped (default = 30). On FortiOS versions 6.2.0-7.4.3: 1 - 255 sec. On FortiOS versions >= 7.4.4: 1 - 86400 sec.\n"
        },
        "unsafeLegacyRenegotiation": {
          "type": "string",
          "description": "Enable/disable unsafe legacy re-negotiation. Valid values: `enable`, `disable`.\n"
        },
        "urlObscuration": {
          "type": "string",
          "description": "Enable to obscure the host name of the URL of the web browser display. Valid values: `enable`, `disable`.\n"
        },
        "userPeer": {
          "type": "string",
          "description": "Name of user peer.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webModeSnat": {
          "type": "string",
          "description": "Enable/disable use of IP pools defined in firewall policy while using web-mode. Valid values: `enable`, `disable`.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "WINS server 2.\n"
        },
        "xContentTypeOptions": {
          "type": "string",
          "description": "Add HTTP X-Content-Type-Options header. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTrustedClient": {
          "type": "string",
          "description": "Enable/disable verification of device certificate for SSLVPN ZTNA session. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "algorithm": {
            "type": "string",
            "description": "Force the SSL-VPN security level. High allows only high. Medium allows medium and high. Low allows any. Valid values: `high`, `medium`, `default`, `low`.\n"
          },
          "authSessionCheckSourceIp": {
            "type": "string",
            "description": "Enable/disable checking of source IP for authentication session. Valid values: `enable`, `disable`.\n"
          },
          "authTimeout": {
            "type": "integer",
            "description": "SSL-VPN authentication timeout (1 - 259200 sec (3 days), 0 for no timeout).\n"
          },
          "authenticationRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRule:SettingsAuthenticationRule"
            },
            "description": "Authentication rule for SSL VPN. The structure of `authentication_rule` block is documented below.\n"
          },
          "autoTunnelStaticRoute": {
            "type": "string",
            "description": "Enable to auto-create static routes for the SSL-VPN tunnel IP addresses. Valid values: `enable`, `disable`.\n"
          },
          "bannedCipher": {
            "type": "string",
            "description": "Select one or more cipher technologies that cannot be used in SSL-VPN negotiations.\n"
          },
          "browserLanguageDetection": {
            "type": "string",
            "description": "Enable/disable overriding the configured system language based on the preferred language of the browser. Valid values: `enable`, `disable`.\n"
          },
          "checkReferer": {
            "type": "string",
            "description": "Enable/disable verification of referer field in HTTP request header. Valid values: `enable`, `disable`.\n"
          },
          "ciphersuite": {
            "type": "string",
            "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, set ssl-max-proto-ver to tls1-2 or below. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-AES-128-CCM-SHA256`, `TLS-AES-128-CCM-8-SHA256`.\n"
          },
          "clientSigalgs": {
            "type": "string",
            "description": "Set signature algorithms related to client authentication. Affects TLS version <= 1.2 only. Valid values: `no-rsa-pss`, `all`.\n"
          },
          "defaultPortal": {
            "type": "string",
            "description": "Default SSL VPN portal.\n"
          },
          "deflateCompressionLevel": {
            "type": "integer",
            "description": "Compression level (0~9).\n"
          },
          "deflateMinDataSize": {
            "type": "integer",
            "description": "Minimum amount of data that triggers compression (200 - 65535 bytes).\n"
          },
          "dnsServer1": {
            "type": "string",
            "description": "DNS server 1.\n"
          },
          "dnsServer2": {
            "type": "string",
            "description": "DNS server 2.\n"
          },
          "dnsSuffix": {
            "type": "string",
            "description": "DNS suffix used for SSL-VPN clients.\n"
          },
          "dtlsHeartbeatFailCount": {
            "type": "integer",
            "description": "Number of missing heartbeats before the connection is considered dropped.\n"
          },
          "dtlsHeartbeatIdleTimeout": {
            "type": "integer",
            "description": "Idle timeout before DTLS heartbeat is sent.\n"
          },
          "dtlsHeartbeatInterval": {
            "type": "integer",
            "description": "Interval between DTLS heartbeat.\n"
          },
          "dtlsHelloTimeout": {
            "type": "integer",
            "description": "SSLVPN maximum DTLS hello timeout (10 - 60 sec, default = 10).\n"
          },
          "dtlsMaxProtoVer": {
            "type": "string",
            "description": "DTLS maximum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
          },
          "dtlsMinProtoVer": {
            "type": "string",
            "description": "DTLS minimum protocol version. Valid values: `dtls1-0`, `dtls1-2`.\n"
          },
          "dtlsTunnel": {
            "type": "string",
            "description": "Enable DTLS to prevent eavesdropping, tampering, or message forgery. Valid values: `enable`, `disable`.\n"
          },
          "dualStackMode": {
            "type": "string",
            "description": "Tunnel mode: enable parallel IPv4 and IPv6 tunnel. Web mode: support IPv4 and IPv6 bookmarks in the portal. 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"
          },
          "encode2fSequence": {
            "type": "string",
            "description": "Encode \\2F sequence to forward slash in URLs. Valid values: `enable`, `disable`.\n"
          },
          "encryptAndStorePassword": {
            "type": "string",
            "description": "Encrypt and store user passwords for SSL-VPN web sessions. Valid values: `enable`, `disable`.\n"
          },
          "forceTwoFactorAuth": {
            "type": "string",
            "description": "Enable to force two-factor authentication for all SSL-VPNs. 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"
          },
          "headerXForwardedFor": {
            "type": "string",
            "description": "Forward the same, add, or remove HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "hstsIncludeSubdomains": {
            "type": "string",
            "description": "Add HSTS includeSubDomains response header. Valid values: `enable`, `disable`.\n"
          },
          "httpCompression": {
            "type": "string",
            "description": "Enable to allow HTTP compression over SSL-VPN tunnels. Valid values: `enable`, `disable`.\n"
          },
          "httpOnlyCookie": {
            "type": "string",
            "description": "Enable/disable SSL-VPN support for HttpOnly cookies. Valid values: `enable`, `disable`.\n"
          },
          "httpRequestBodyTimeout": {
            "type": "integer",
            "description": "SSL-VPN session is disconnected if an HTTP request body is not received within this time (1 - 60 sec, default = 20).\n"
          },
          "httpRequestHeaderTimeout": {
            "type": "integer",
            "description": "SSL-VPN session is disconnected if an HTTP request header is not received within this time (1 - 60 sec, default = 20).\n"
          },
          "httpsRedirect": {
            "type": "string",
            "description": "Enable/disable redirect of port 80 to SSL-VPN port. Valid values: `enable`, `disable`.\n"
          },
          "idleTimeout": {
            "type": "integer",
            "description": "SSL VPN disconnects if idle for specified time in seconds.\n"
          },
          "ipv6DnsServer1": {
            "type": "string",
            "description": "IPv6 DNS server 1.\n"
          },
          "ipv6DnsServer2": {
            "type": "string",
            "description": "IPv6 DNS server 2.\n"
          },
          "ipv6WinsServer1": {
            "type": "string",
            "description": "IPv6 WINS server 1.\n"
          },
          "ipv6WinsServer2": {
            "type": "string",
            "description": "IPv6 WINS server 2.\n"
          },
          "loginAttemptLimit": {
            "type": "integer",
            "description": "SSL VPN maximum login attempt times before block (0 - 10, default = 2, 0 = no limit).\n"
          },
          "loginBlockTime": {
            "type": "integer",
            "description": "Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec, default = 60).\n"
          },
          "loginTimeout": {
            "type": "integer",
            "description": "SSLVPN maximum login timeout (10 - 180 sec, default = 30).\n"
          },
          "port": {
            "type": "integer",
            "description": "SSL-VPN access port (1 - 65535).\n"
          },
          "portPrecedence": {
            "type": "string",
            "description": "Enable means that if SSL-VPN connections are allowed on an interface admin GUI connections are blocked on that interface. Valid values: `enable`, `disable`.\n"
          },
          "reqclientcert": {
            "type": "string",
            "description": "Enable to require client certificates for all SSL-VPN users. Valid values: `enable`, `disable`.\n"
          },
          "routeSourceInterface": {
            "type": "string",
            "description": "Enable to allow SSL-VPN sessions to bypass routing and bind to the incoming interface. Valid values: `enable`, `disable`.\n"
          },
          "samlRedirectPort": {
            "type": "integer",
            "description": "SAML local redirect port in the machine running FCT (0 - 65535). 0 is to disable redirection on FGT side.\n"
          },
          "serverHostname": {
            "type": "string",
            "description": "Server hostname for HTTPS. When set, will be used for SSL VPN web proxy host header for any redirection.\n"
          },
          "servercert": {
            "type": "string",
            "description": "Name of the server certificate to be used for SSL-VPNs.\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%2FSettingsSourceAddress6:SettingsSourceAddress6"
            },
            "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%2FSettingsSourceAddress:SettingsSourceAddress"
            },
            "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%2FSettingsSourceInterface:SettingsSourceInterface"
            },
            "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n"
          },
          "sslClientRenegotiation": {
            "type": "string",
            "description": "Enable to allow client renegotiation by the server if the tunnel goes down. Valid values: `disable`, `enable`.\n"
          },
          "sslInsertEmptyFragment": {
            "type": "string",
            "description": "Enable/disable insertion of empty fragment. Valid values: `enable`, `disable`.\n"
          },
          "sslMaxProtoVer": {
            "type": "string",
            "description": "SSL maximum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
          },
          "sslMinProtoVer": {
            "type": "string",
            "description": "SSL minimum protocol version. Valid values: `tls1-0`, `tls1-1`, `tls1-2`, `tls1-3`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable SSL-VPN. Valid values: `enable`, `disable`.\n"
          },
          "tlsv10": {
            "type": "string",
            "description": "Enable/disable TLSv1.0. Valid values: `enable`, `disable`.\n"
          },
          "tlsv11": {
            "type": "string",
            "description": "Enable/disable TLSv1.1. Valid values: `enable`, `disable`.\n"
          },
          "tlsv12": {
            "type": "string",
            "description": "Enable/disable TLSv1.2. Valid values: `enable`, `disable`.\n"
          },
          "tlsv13": {
            "type": "string",
            "description": "Enable/disable TLSv1.3. Valid values: `enable`, `disable`.\n"
          },
          "transformBackwardSlashes": {
            "type": "string",
            "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
          },
          "tunnelAddrAssignedMethod": {
            "type": "string",
            "description": "Method used for assigning address for tunnel. Valid values: `first-available`, `round-robin`.\n"
          },
          "tunnelConnectWithoutReauth": {
            "type": "string",
            "description": "Enable/disable tunnel connection without re-authorization if previous connection dropped. Valid values: `enable`, `disable`.\n"
          },
          "tunnelIpPools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpPool:SettingsTunnelIpPool"
            },
            "description": "Names of the IPv4 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ip_pools` block is documented below.\n"
          },
          "tunnelIpv6Pools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsTunnelIpv6Pool:SettingsTunnelIpv6Pool"
            },
            "description": "Names of the IPv6 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ipv6_pools` block is documented below.\n"
          },
          "tunnelUserSessionTimeout": {
            "type": "integer",
            "description": "Number of seconds after which user sessions are cleaned up after tunnel connection is dropped (default = 30). On FortiOS versions 6.2.0-7.4.3: 1 - 255 sec. On FortiOS versions >= 7.4.4: 1 - 86400 sec.\n"
          },
          "unsafeLegacyRenegotiation": {
            "type": "string",
            "description": "Enable/disable unsafe legacy re-negotiation. Valid values: `enable`, `disable`.\n"
          },
          "urlObscuration": {
            "type": "string",
            "description": "Enable to obscure the host name of the URL of the web browser display. Valid values: `enable`, `disable`.\n"
          },
          "userPeer": {
            "type": "string",
            "description": "Name of user peer.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webModeSnat": {
            "type": "string",
            "description": "Enable/disable use of IP pools defined in firewall policy while using web-mode. Valid values: `enable`, `disable`.\n"
          },
          "winsServer1": {
            "type": "string",
            "description": "WINS server 1.\n"
          },
          "winsServer2": {
            "type": "string",
            "description": "WINS server 2.\n"
          },
          "xContentTypeOptions": {
            "type": "string",
            "description": "Add HTTP X-Content-Type-Options header. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTrustedClient": {
            "type": "string",
            "description": "Enable/disable verification of device certificate for SSLVPN ZTNA session. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ssl/web/hostchecksoftware:Hostchecksoftware": {
      "description": "SSL-VPN host check software.\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.vpn.ssl.web.Hostchecksoftware(\"trname\", {\n    osType: \"windows\",\n    type: \"fw\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.web.Hostchecksoftware(\"trname\",\n    os_type=\"windows\",\n    type=\"fw\")\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.Vpn.Ssl.Web.Hostchecksoftware(\"trname\", new()\n    {\n        OsType = \"windows\",\n        Type = \"fw\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewHostchecksoftware(ctx, \"trname\", &vpn.HostchecksoftwareArgs{\n\t\t\tOsType: pulumi.String(\"windows\"),\n\t\t\tType:   pulumi.String(\"fw\"),\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.vpn.Hostchecksoftware;\nimport com.pulumi.fortios.vpn.HostchecksoftwareArgs;\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 Hostchecksoftware(\"trname\", HostchecksoftwareArgs.builder()\n            .osType(\"windows\")\n            .type(\"fw\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl/web:Hostchecksoftware\n    properties:\n      osType: windows\n      type: fw\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSslWeb HostCheckSoftware can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/web/hostchecksoftware:Hostchecksoftware 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:vpn/ssl/web/hostchecksoftware:Hostchecksoftware labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "checkItemLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FHostchecksoftwareCheckItemList:HostchecksoftwareCheckItemList"
          },
          "description": "Check item list. The structure of `check_item_list` 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"
        },
        "guid": {
          "type": "string",
          "description": "Globally unique ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "osType": {
          "type": "string",
          "description": "OS type. Valid values: `windows`, `macos`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type. Valid values: `av`, `fw`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "version": {
          "type": "string",
          "description": "Version.\n"
        }
      },
      "type": "object",
      "required": [
        "guid",
        "name",
        "osType",
        "type",
        "vdomparam",
        "version"
      ],
      "inputProperties": {
        "checkItemLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FHostchecksoftwareCheckItemList:HostchecksoftwareCheckItemList"
          },
          "description": "Check item list. The structure of `check_item_list` 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"
        },
        "guid": {
          "type": "string",
          "description": "Globally unique ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "osType": {
          "type": "string",
          "description": "OS type. Valid values: `windows`, `macos`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type. Valid values: `av`, `fw`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "version": {
          "type": "string",
          "description": "Version.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hostchecksoftware resources.\n",
        "properties": {
          "checkItemLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FHostchecksoftwareCheckItemList:HostchecksoftwareCheckItemList"
            },
            "description": "Check item list. The structure of `check_item_list` 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"
          },
          "guid": {
            "type": "string",
            "description": "Globally unique ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "osType": {
            "type": "string",
            "description": "OS type. Valid values: `windows`, `macos`.\n"
          },
          "type": {
            "type": "string",
            "description": "Type. Valid values: `av`, `fw`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "version": {
            "type": "string",
            "description": "Version.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ssl/web/portal:Portal": {
      "description": "Portal.\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.vpn.ssl.web.Portal(\"trname\", {\n    allowUserAccess: \"web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\",\n    autoConnect: \"disable\",\n    customizeForticlientDownloadUrl: \"disable\",\n    displayBookmark: \"enable\",\n    displayConnectionTools: \"enable\",\n    displayHistory: \"enable\",\n    displayStatus: \"enable\",\n    dnsServer1: \"0.0.0.0\",\n    dnsServer2: \"0.0.0.0\",\n    exclusiveRouting: \"disable\",\n    forticlientDownload: \"enable\",\n    forticlientDownloadMethod: \"direct\",\n    heading: \"SSL-VPN Portal\",\n    hideSsoCredential: \"enable\",\n    hostCheck: \"none\",\n    ipMode: \"range\",\n    ipPools: [{\n        name: \"SSLVPN_TUNNEL_ADDR1\",\n    }],\n    ipv6DnsServer1: \"::\",\n    ipv6DnsServer2: \"::\",\n    ipv6ExclusiveRouting: \"disable\",\n    ipv6Pools: [{\n        name: \"SSLVPN_TUNNEL_IPv6_ADDR1\",\n    }],\n    ipv6ServiceRestriction: \"disable\",\n    ipv6SplitTunneling: \"enable\",\n    ipv6TunnelMode: \"enable\",\n    ipv6WinsServer1: \"::\",\n    ipv6WinsServer2: \"::\",\n    keepAlive: \"disable\",\n    limitUserLogins: \"disable\",\n    macAddrAction: \"allow\",\n    macAddrCheck: \"disable\",\n    osCheck: \"disable\",\n    savePassword: \"disable\",\n    serviceRestriction: \"disable\",\n    skipCheckForBrowser: \"enable\",\n    skipCheckForUnsupportedOs: \"enable\",\n    smbNtlmv1Auth: \"disable\",\n    smbv1: \"disable\",\n    splitTunneling: \"enable\",\n    theme: \"blue\",\n    tunnelMode: \"enable\",\n    userBookmark: \"enable\",\n    userGroupBookmark: \"enable\",\n    webMode: \"disable\",\n    winsServer1: \"0.0.0.0\",\n    winsServer2: \"0.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.web.Portal(\"trname\",\n    allow_user_access=\"web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\",\n    auto_connect=\"disable\",\n    customize_forticlient_download_url=\"disable\",\n    display_bookmark=\"enable\",\n    display_connection_tools=\"enable\",\n    display_history=\"enable\",\n    display_status=\"enable\",\n    dns_server1=\"0.0.0.0\",\n    dns_server2=\"0.0.0.0\",\n    exclusive_routing=\"disable\",\n    forticlient_download=\"enable\",\n    forticlient_download_method=\"direct\",\n    heading=\"SSL-VPN Portal\",\n    hide_sso_credential=\"enable\",\n    host_check=\"none\",\n    ip_mode=\"range\",\n    ip_pools=[fortios.vpn.ssl.web.PortalIpPoolArgs(\n        name=\"SSLVPN_TUNNEL_ADDR1\",\n    )],\n    ipv6_dns_server1=\"::\",\n    ipv6_dns_server2=\"::\",\n    ipv6_exclusive_routing=\"disable\",\n    ipv6_pools=[fortios.vpn.ssl.web.PortalIpv6PoolArgs(\n        name=\"SSLVPN_TUNNEL_IPv6_ADDR1\",\n    )],\n    ipv6_service_restriction=\"disable\",\n    ipv6_split_tunneling=\"enable\",\n    ipv6_tunnel_mode=\"enable\",\n    ipv6_wins_server1=\"::\",\n    ipv6_wins_server2=\"::\",\n    keep_alive=\"disable\",\n    limit_user_logins=\"disable\",\n    mac_addr_action=\"allow\",\n    mac_addr_check=\"disable\",\n    os_check=\"disable\",\n    save_password=\"disable\",\n    service_restriction=\"disable\",\n    skip_check_for_browser=\"enable\",\n    skip_check_for_unsupported_os=\"enable\",\n    smb_ntlmv1_auth=\"disable\",\n    smbv1=\"disable\",\n    split_tunneling=\"enable\",\n    theme=\"blue\",\n    tunnel_mode=\"enable\",\n    user_bookmark=\"enable\",\n    user_group_bookmark=\"enable\",\n    web_mode=\"disable\",\n    wins_server1=\"0.0.0.0\",\n    wins_server2=\"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.Vpn.Ssl.Web.Portal(\"trname\", new()\n    {\n        AllowUserAccess = \"web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\",\n        AutoConnect = \"disable\",\n        CustomizeForticlientDownloadUrl = \"disable\",\n        DisplayBookmark = \"enable\",\n        DisplayConnectionTools = \"enable\",\n        DisplayHistory = \"enable\",\n        DisplayStatus = \"enable\",\n        DnsServer1 = \"0.0.0.0\",\n        DnsServer2 = \"0.0.0.0\",\n        ExclusiveRouting = \"disable\",\n        ForticlientDownload = \"enable\",\n        ForticlientDownloadMethod = \"direct\",\n        Heading = \"SSL-VPN Portal\",\n        HideSsoCredential = \"enable\",\n        HostCheck = \"none\",\n        IpMode = \"range\",\n        IpPools = new[]\n        {\n            new Fortios.Vpn.Ssl.Web.Inputs.PortalIpPoolArgs\n            {\n                Name = \"SSLVPN_TUNNEL_ADDR1\",\n            },\n        },\n        Ipv6DnsServer1 = \"::\",\n        Ipv6DnsServer2 = \"::\",\n        Ipv6ExclusiveRouting = \"disable\",\n        Ipv6Pools = new[]\n        {\n            new Fortios.Vpn.Ssl.Web.Inputs.PortalIpv6PoolArgs\n            {\n                Name = \"SSLVPN_TUNNEL_IPv6_ADDR1\",\n            },\n        },\n        Ipv6ServiceRestriction = \"disable\",\n        Ipv6SplitTunneling = \"enable\",\n        Ipv6TunnelMode = \"enable\",\n        Ipv6WinsServer1 = \"::\",\n        Ipv6WinsServer2 = \"::\",\n        KeepAlive = \"disable\",\n        LimitUserLogins = \"disable\",\n        MacAddrAction = \"allow\",\n        MacAddrCheck = \"disable\",\n        OsCheck = \"disable\",\n        SavePassword = \"disable\",\n        ServiceRestriction = \"disable\",\n        SkipCheckForBrowser = \"enable\",\n        SkipCheckForUnsupportedOs = \"enable\",\n        SmbNtlmv1Auth = \"disable\",\n        Smbv1 = \"disable\",\n        SplitTunneling = \"enable\",\n        Theme = \"blue\",\n        TunnelMode = \"enable\",\n        UserBookmark = \"enable\",\n        UserGroupBookmark = \"enable\",\n        WebMode = \"disable\",\n        WinsServer1 = \"0.0.0.0\",\n        WinsServer2 = \"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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewPortal(ctx, \"trname\", &vpn.PortalArgs{\n\t\t\tAllowUserAccess:                 pulumi.String(\"web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\"),\n\t\t\tAutoConnect:                     pulumi.String(\"disable\"),\n\t\t\tCustomizeForticlientDownloadUrl: pulumi.String(\"disable\"),\n\t\t\tDisplayBookmark:                 pulumi.String(\"enable\"),\n\t\t\tDisplayConnectionTools:          pulumi.String(\"enable\"),\n\t\t\tDisplayHistory:                  pulumi.String(\"enable\"),\n\t\t\tDisplayStatus:                   pulumi.String(\"enable\"),\n\t\t\tDnsServer1:                      pulumi.String(\"0.0.0.0\"),\n\t\t\tDnsServer2:                      pulumi.String(\"0.0.0.0\"),\n\t\t\tExclusiveRouting:                pulumi.String(\"disable\"),\n\t\t\tForticlientDownload:             pulumi.String(\"enable\"),\n\t\t\tForticlientDownloadMethod:       pulumi.String(\"direct\"),\n\t\t\tHeading:                         pulumi.String(\"SSL-VPN Portal\"),\n\t\t\tHideSsoCredential:               pulumi.String(\"enable\"),\n\t\t\tHostCheck:                       pulumi.String(\"none\"),\n\t\t\tIpMode:                          pulumi.String(\"range\"),\n\t\t\tIpPools: ssl / web.PortalIpPoolArray{\n\t\t\t\t&ssl / web.PortalIpPoolArgs{\n\t\t\t\t\tName: pulumi.String(\"SSLVPN_TUNNEL_ADDR1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpv6DnsServer1:       pulumi.String(\"::\"),\n\t\t\tIpv6DnsServer2:       pulumi.String(\"::\"),\n\t\t\tIpv6ExclusiveRouting: pulumi.String(\"disable\"),\n\t\t\tIpv6Pools: ssl / web.PortalIpv6PoolArray{\n\t\t\t\t&ssl / web.PortalIpv6PoolArgs{\n\t\t\t\t\tName: pulumi.String(\"SSLVPN_TUNNEL_IPv6_ADDR1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpv6ServiceRestriction:    pulumi.String(\"disable\"),\n\t\t\tIpv6SplitTunneling:        pulumi.String(\"enable\"),\n\t\t\tIpv6TunnelMode:            pulumi.String(\"enable\"),\n\t\t\tIpv6WinsServer1:           pulumi.String(\"::\"),\n\t\t\tIpv6WinsServer2:           pulumi.String(\"::\"),\n\t\t\tKeepAlive:                 pulumi.String(\"disable\"),\n\t\t\tLimitUserLogins:           pulumi.String(\"disable\"),\n\t\t\tMacAddrAction:             pulumi.String(\"allow\"),\n\t\t\tMacAddrCheck:              pulumi.String(\"disable\"),\n\t\t\tOsCheck:                   pulumi.String(\"disable\"),\n\t\t\tSavePassword:              pulumi.String(\"disable\"),\n\t\t\tServiceRestriction:        pulumi.String(\"disable\"),\n\t\t\tSkipCheckForBrowser:       pulumi.String(\"enable\"),\n\t\t\tSkipCheckForUnsupportedOs: pulumi.String(\"enable\"),\n\t\t\tSmbNtlmv1Auth:             pulumi.String(\"disable\"),\n\t\t\tSmbv1:                     pulumi.String(\"disable\"),\n\t\t\tSplitTunneling:            pulumi.String(\"enable\"),\n\t\t\tTheme:                     pulumi.String(\"blue\"),\n\t\t\tTunnelMode:                pulumi.String(\"enable\"),\n\t\t\tUserBookmark:              pulumi.String(\"enable\"),\n\t\t\tUserGroupBookmark:         pulumi.String(\"enable\"),\n\t\t\tWebMode:                   pulumi.String(\"disable\"),\n\t\t\tWinsServer1:               pulumi.String(\"0.0.0.0\"),\n\t\t\tWinsServer2:               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.vpn.Portal;\nimport com.pulumi.fortios.vpn.PortalArgs;\nimport com.pulumi.fortios.vpn.inputs.PortalIpPoolArgs;\nimport com.pulumi.fortios.vpn.inputs.PortalIpv6PoolArgs;\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 Portal(\"trname\", PortalArgs.builder()\n            .allowUserAccess(\"web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\")\n            .autoConnect(\"disable\")\n            .customizeForticlientDownloadUrl(\"disable\")\n            .displayBookmark(\"enable\")\n            .displayConnectionTools(\"enable\")\n            .displayHistory(\"enable\")\n            .displayStatus(\"enable\")\n            .dnsServer1(\"0.0.0.0\")\n            .dnsServer2(\"0.0.0.0\")\n            .exclusiveRouting(\"disable\")\n            .forticlientDownload(\"enable\")\n            .forticlientDownloadMethod(\"direct\")\n            .heading(\"SSL-VPN Portal\")\n            .hideSsoCredential(\"enable\")\n            .hostCheck(\"none\")\n            .ipMode(\"range\")\n            .ipPools(PortalIpPoolArgs.builder()\n                .name(\"SSLVPN_TUNNEL_ADDR1\")\n                .build())\n            .ipv6DnsServer1(\"::\")\n            .ipv6DnsServer2(\"::\")\n            .ipv6ExclusiveRouting(\"disable\")\n            .ipv6Pools(PortalIpv6PoolArgs.builder()\n                .name(\"SSLVPN_TUNNEL_IPv6_ADDR1\")\n                .build())\n            .ipv6ServiceRestriction(\"disable\")\n            .ipv6SplitTunneling(\"enable\")\n            .ipv6TunnelMode(\"enable\")\n            .ipv6WinsServer1(\"::\")\n            .ipv6WinsServer2(\"::\")\n            .keepAlive(\"disable\")\n            .limitUserLogins(\"disable\")\n            .macAddrAction(\"allow\")\n            .macAddrCheck(\"disable\")\n            .osCheck(\"disable\")\n            .savePassword(\"disable\")\n            .serviceRestriction(\"disable\")\n            .skipCheckForBrowser(\"enable\")\n            .skipCheckForUnsupportedOs(\"enable\")\n            .smbNtlmv1Auth(\"disable\")\n            .smbv1(\"disable\")\n            .splitTunneling(\"enable\")\n            .theme(\"blue\")\n            .tunnelMode(\"enable\")\n            .userBookmark(\"enable\")\n            .userGroupBookmark(\"enable\")\n            .webMode(\"disable\")\n            .winsServer1(\"0.0.0.0\")\n            .winsServer2(\"0.0.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl/web:Portal\n    properties:\n      allowUserAccess: web ftp smb sftp telnet ssh vnc rdp ping citrix portforward\n      autoConnect: disable\n      customizeForticlientDownloadUrl: disable\n      displayBookmark: enable\n      displayConnectionTools: enable\n      displayHistory: enable\n      displayStatus: enable\n      dnsServer1: 0.0.0.0\n      dnsServer2: 0.0.0.0\n      exclusiveRouting: disable\n      forticlientDownload: enable\n      forticlientDownloadMethod: direct\n      heading: SSL-VPN Portal\n      hideSsoCredential: enable\n      hostCheck: none\n      ipMode: range\n      ipPools:\n        - name: SSLVPN_TUNNEL_ADDR1\n      ipv6DnsServer1: '::'\n      ipv6DnsServer2: '::'\n      ipv6ExclusiveRouting: disable\n      ipv6Pools:\n        - name: SSLVPN_TUNNEL_IPv6_ADDR1\n      ipv6ServiceRestriction: disable\n      ipv6SplitTunneling: enable\n      ipv6TunnelMode: enable\n      ipv6WinsServer1: '::'\n      ipv6WinsServer2: '::'\n      keepAlive: disable\n      limitUserLogins: disable\n      macAddrAction: allow\n      macAddrCheck: disable\n      osCheck: disable\n      savePassword: disable\n      serviceRestriction: disable\n      skipCheckForBrowser: enable\n      skipCheckForUnsupportedOs: enable\n      smbNtlmv1Auth: disable\n      smbv1: disable\n      splitTunneling: enable\n      theme: blue\n      tunnelMode: enable\n      userBookmark: enable\n      userGroupBookmark: enable\n      webMode: disable\n      winsServer1: 0.0.0.0\n      winsServer2: 0.0.0.0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSslWeb Portal can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/web/portal:Portal 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:vpn/ssl/web/portal:Portal labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowUserAccess": {
          "type": "string",
          "description": "Allow user access to SSL-VPN applications.\n"
        },
        "autoConnect": {
          "type": "string",
          "description": "Enable/disable automatic connect by client when system is up. Valid values: `enable`, `disable`.\n"
        },
        "bookmarkGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalBookmarkGroup:PortalBookmarkGroup"
          },
          "description": "Portal bookmark group. The structure of `bookmark_group` block is documented below.\n"
        },
        "clientSrcRange": {
          "type": "string",
          "description": "Allow client to add source range for the tunnel traffic. Valid values: `enable`, `disable`.\n"
        },
        "clipboard": {
          "type": "string",
          "description": "Enable to support RDP/VPC clipboard functionality. Valid values: `enable`, `disable`.\n"
        },
        "customLang": {
          "type": "string",
          "description": "Change the web portal display language. Overrides config system global set language. You can use config system custom-language and execute system custom-language to add custom language files.\n"
        },
        "customizeForticlientDownloadUrl": {
          "type": "string",
          "description": "Enable support of customized download URL for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "defaultProtocol": {
          "type": "string",
          "description": "Application type that is set by default. Valid values: `web`, `ftp`, `telnet`, `smb`, `vnc`, `rdp`, `ssh`, `sftp`.\n"
        },
        "defaultWindowHeight": {
          "type": "integer",
          "description": "Screen height (range from 0 - 65535, default = 768).\n"
        },
        "defaultWindowWidth": {
          "type": "integer",
          "description": "Screen width (range from 0 - 65535, default = 1024).\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpIpOverlap": {
          "type": "string",
          "description": "Configure overlapping DHCP IP allocation assignment. Valid values: `use-new`, `use-old`.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "displayBookmark": {
          "type": "string",
          "description": "Enable to display the web portal bookmark widget. Valid values: `enable`, `disable`.\n"
        },
        "displayConnectionTools": {
          "type": "string",
          "description": "Enable to display the web portal connection tools widget. Valid values: `enable`, `disable`.\n"
        },
        "displayHistory": {
          "type": "string",
          "description": "Enable to display the web portal user login history widget. Valid values: `enable`, `disable`.\n"
        },
        "displayStatus": {
          "type": "string",
          "description": "Enable to display the web portal status widget. Valid values: `enable`, `disable`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "dnsSuffix": {
          "type": "string",
          "description": "DNS suffix.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclusiveRouting": {
          "type": "string",
          "description": "Enable/disable all traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
        },
        "focusBookmark": {
          "type": "string",
          "description": "Enable to prioritize the placement of the bookmark section over the quick-connection section in the SSL-VPN application. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDownload": {
          "type": "string",
          "description": "Enable/disable download option for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDownloadMethod": {
          "type": "string",
          "description": "FortiClient download method. Valid values: `direct`, `ssl-vpn`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "heading": {
          "type": "string",
          "description": "Web portal heading message.\n"
        },
        "hideSsoCredential": {
          "type": "string",
          "description": "Enable to prevent SSO credential being sent to client. Valid values: `enable`, `disable`.\n"
        },
        "hostCheck": {
          "type": "string",
          "description": "Type of host checking performed on endpoints. Valid values: `none`, `av`, `fw`, `av-fw`, `custom`.\n"
        },
        "hostCheckInterval": {
          "type": "integer",
          "description": "Periodic host check interval. Value of 0 means disabled and host checking only happens when the endpoint connects.\n"
        },
        "hostCheckPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalHostCheckPolicy:PortalHostCheckPolicy"
          },
          "description": "One or more policies to require the endpoint to have specific security software. The structure of `host_check_policy` block is documented below.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method by which users of this SSL-VPN tunnel obtain IP addresses.\n"
        },
        "ipPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpPool:PortalIpPool"
          },
          "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ip_pools` block is documented below.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6ExclusiveRouting": {
          "type": "string",
          "description": "Enable/disable all IPv6 traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
        },
        "ipv6Pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6Pool:PortalIpv6Pool"
          },
          "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ipv6_pools` block is documented below.\n"
        },
        "ipv6ServiceRestriction": {
          "type": "string",
          "description": "Enable/disable IPv6 tunnel service restriction. Valid values: `enable`, `disable`.\n"
        },
        "ipv6SplitTunneling": {
          "type": "string",
          "description": "Enable/disable IPv6 split tunneling. Valid values: `enable`, `disable`.\n"
        },
        "ipv6SplitTunnelingRoutingAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6SplitTunnelingRoutingAddress:PortalIpv6SplitTunnelingRoutingAddress"
          },
          "description": "IPv6 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `ipv6_split_tunneling_routing_address` block is documented below.\n"
        },
        "ipv6SplitTunnelingRoutingNegate": {
          "type": "string",
          "description": "Enable to negate IPv6 split tunneling routing address. Valid values: `enable`, `disable`.\n"
        },
        "ipv6TunnelMode": {
          "type": "string",
          "description": "Enable/disable IPv6 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
        },
        "ipv6WinsServer1": {
          "type": "string",
          "description": "IPv6 WINS server 1.\n"
        },
        "ipv6WinsServer2": {
          "type": "string",
          "description": "IPv6 WINS server 2.\n"
        },
        "keepAlive": {
          "type": "string",
          "description": "Enable/disable automatic reconnect for FortiClient connections. Valid values: `enable`, `disable`.\n"
        },
        "landingPage": {
          "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalLandingPage:PortalLandingPage",
          "description": "Landing page options. The structure of `landing_page` block is documented below.\n"
        },
        "landingPageMode": {
          "type": "string",
          "description": "Enable/disable SSL-VPN landing page mode. Valid values: `enable`, `disable`.\n"
        },
        "limitUserLogins": {
          "type": "string",
          "description": "Enable to limit each user to one SSL-VPN session at a time. Valid values: `enable`, `disable`.\n"
        },
        "macAddrAction": {
          "type": "string",
          "description": "Client MAC address action. Valid values: `allow`, `deny`.\n"
        },
        "macAddrCheck": {
          "type": "string",
          "description": "Enable/disable MAC address host checking. Valid values: `enable`, `disable`.\n"
        },
        "macAddrCheckRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalMacAddrCheckRule:PortalMacAddrCheckRule"
          },
          "description": "Client MAC address check rule. The structure of `mac_addr_check_rule` block is documented below.\n"
        },
        "macosForticlientDownloadUrl": {
          "type": "string",
          "description": "Download URL for Mac FortiClient.\n"
        },
        "name": {
          "type": "string",
          "description": "Portal name.\n"
        },
        "osCheck": {
          "type": "string",
          "description": "Enable to let the FortiGate decide action based on client OS. Valid values: `enable`, `disable`.\n"
        },
        "osCheckLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalOsCheckList:PortalOsCheckList"
          },
          "description": "SSL VPN OS checks. The structure of `os_check_list` block is documented below.\n"
        },
        "preferIpv6Dns": {
          "type": "string",
          "description": "prefer to query IPv6 dns first if enabled. Valid values: `enable`, `disable`.\n"
        },
        "redirUrl": {
          "type": "string",
          "description": "Client login redirect URL.\n"
        },
        "rewriteIpUriUi": {
          "type": "string",
          "description": "Rewrite contents for URI contains IP and /ui/ (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable FortiClient saving the user's password. Valid values: `enable`, `disable`.\n"
        },
        "serviceRestriction": {
          "type": "string",
          "description": "Enable/disable tunnel service restriction. Valid values: `enable`, `disable`.\n"
        },
        "skipCheckForBrowser": {
          "type": "string",
          "description": "Enable to skip host check for browser support. Valid values: `enable`, `disable`.\n"
        },
        "skipCheckForUnsupportedOs": {
          "type": "string",
          "description": "Enable to skip host check if client OS does not support it. Valid values: `enable`, `disable`.\n"
        },
        "smbMaxVersion": {
          "type": "string",
          "description": "SMB maximum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
        },
        "smbMinVersion": {
          "type": "string",
          "description": "SMB minimum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
        },
        "smbNtlmv1Auth": {
          "type": "string",
          "description": "Enable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
        },
        "smbv1": {
          "type": "string",
          "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
        },
        "splitDns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitDn:PortalSplitDn"
          },
          "description": "Split DNS for SSL VPN. The structure of `split_dns` block is documented below.\n"
        },
        "splitTunneling": {
          "type": "string",
          "description": "Enable/disable IPv4 split tunneling. Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingRoutingAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitTunnelingRoutingAddress:PortalSplitTunnelingRoutingAddress"
          },
          "description": "IPv4 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `split_tunneling_routing_address` block is documented below.\n"
        },
        "splitTunnelingRoutingNegate": {
          "type": "string",
          "description": "Enable to negate split tunneling routing address. Valid values: `enable`, `disable`.\n"
        },
        "theme": {
          "type": "string",
          "description": "Web portal color scheme.\n"
        },
        "transformBackwardSlashes": {
          "type": "string",
          "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Enable/disable IPv4 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Use SD-WAN rules to get output interface. Valid values: `enable`, `disable`.\n"
        },
        "userBookmark": {
          "type": "string",
          "description": "Enable to allow web portal users to create their own bookmarks. Valid values: `enable`, `disable`.\n"
        },
        "userGroupBookmark": {
          "type": "string",
          "description": "Enable to allow web portal users to create bookmarks for all users in the same user group. 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"
        },
        "webMode": {
          "type": "string",
          "description": "Enable/disable SSL VPN web mode. Valid values: `enable`, `disable`.\n"
        },
        "windowsForticlientDownloadUrl": {
          "type": "string",
          "description": "Download URL for Windows FortiClient.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "IPv4 WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "IPv4 WINS server 1.\n"
        }
      },
      "type": "object",
      "required": [
        "allowUserAccess",
        "autoConnect",
        "clientSrcRange",
        "clipboard",
        "customLang",
        "customizeForticlientDownloadUrl",
        "defaultProtocol",
        "defaultWindowHeight",
        "defaultWindowWidth",
        "dhcp6RaLinkaddr",
        "dhcpIpOverlap",
        "dhcpRaGiaddr",
        "displayBookmark",
        "displayConnectionTools",
        "displayHistory",
        "displayStatus",
        "dnsServer1",
        "dnsServer2",
        "exclusiveRouting",
        "focusBookmark",
        "forticlientDownload",
        "forticlientDownloadMethod",
        "heading",
        "hideSsoCredential",
        "hostCheck",
        "hostCheckInterval",
        "ipMode",
        "ipv6DnsServer1",
        "ipv6DnsServer2",
        "ipv6ExclusiveRouting",
        "ipv6ServiceRestriction",
        "ipv6SplitTunneling",
        "ipv6SplitTunnelingRoutingNegate",
        "ipv6TunnelMode",
        "ipv6WinsServer1",
        "ipv6WinsServer2",
        "keepAlive",
        "landingPage",
        "landingPageMode",
        "limitUserLogins",
        "macAddrAction",
        "macAddrCheck",
        "name",
        "osCheck",
        "preferIpv6Dns",
        "rewriteIpUriUi",
        "savePassword",
        "serviceRestriction",
        "skipCheckForBrowser",
        "skipCheckForUnsupportedOs",
        "smbMaxVersion",
        "smbMinVersion",
        "smbNtlmv1Auth",
        "smbv1",
        "splitTunneling",
        "splitTunnelingRoutingNegate",
        "theme",
        "transformBackwardSlashes",
        "tunnelMode",
        "useSdwan",
        "userBookmark",
        "userGroupBookmark",
        "vdomparam",
        "webMode",
        "winsServer1",
        "winsServer2"
      ],
      "inputProperties": {
        "allowUserAccess": {
          "type": "string",
          "description": "Allow user access to SSL-VPN applications.\n"
        },
        "autoConnect": {
          "type": "string",
          "description": "Enable/disable automatic connect by client when system is up. Valid values: `enable`, `disable`.\n"
        },
        "bookmarkGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalBookmarkGroup:PortalBookmarkGroup"
          },
          "description": "Portal bookmark group. The structure of `bookmark_group` block is documented below.\n"
        },
        "clientSrcRange": {
          "type": "string",
          "description": "Allow client to add source range for the tunnel traffic. Valid values: `enable`, `disable`.\n"
        },
        "clipboard": {
          "type": "string",
          "description": "Enable to support RDP/VPC clipboard functionality. Valid values: `enable`, `disable`.\n"
        },
        "customLang": {
          "type": "string",
          "description": "Change the web portal display language. Overrides config system global set language. You can use config system custom-language and execute system custom-language to add custom language files.\n"
        },
        "customizeForticlientDownloadUrl": {
          "type": "string",
          "description": "Enable support of customized download URL for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "defaultProtocol": {
          "type": "string",
          "description": "Application type that is set by default. Valid values: `web`, `ftp`, `telnet`, `smb`, `vnc`, `rdp`, `ssh`, `sftp`.\n"
        },
        "defaultWindowHeight": {
          "type": "integer",
          "description": "Screen height (range from 0 - 65535, default = 768).\n"
        },
        "defaultWindowWidth": {
          "type": "integer",
          "description": "Screen width (range from 0 - 65535, default = 1024).\n"
        },
        "dhcp6RaLinkaddr": {
          "type": "string",
          "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
        },
        "dhcpIpOverlap": {
          "type": "string",
          "description": "Configure overlapping DHCP IP allocation assignment. Valid values: `use-new`, `use-old`.\n"
        },
        "dhcpRaGiaddr": {
          "type": "string",
          "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
        },
        "displayBookmark": {
          "type": "string",
          "description": "Enable to display the web portal bookmark widget. Valid values: `enable`, `disable`.\n"
        },
        "displayConnectionTools": {
          "type": "string",
          "description": "Enable to display the web portal connection tools widget. Valid values: `enable`, `disable`.\n"
        },
        "displayHistory": {
          "type": "string",
          "description": "Enable to display the web portal user login history widget. Valid values: `enable`, `disable`.\n"
        },
        "displayStatus": {
          "type": "string",
          "description": "Enable to display the web portal status widget. Valid values: `enable`, `disable`.\n"
        },
        "dnsServer1": {
          "type": "string",
          "description": "IPv4 DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "IPv4 DNS server 2.\n"
        },
        "dnsSuffix": {
          "type": "string",
          "description": "DNS suffix.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclusiveRouting": {
          "type": "string",
          "description": "Enable/disable all traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
        },
        "focusBookmark": {
          "type": "string",
          "description": "Enable to prioritize the placement of the bookmark section over the quick-connection section in the SSL-VPN application. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDownload": {
          "type": "string",
          "description": "Enable/disable download option for FortiClient. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDownloadMethod": {
          "type": "string",
          "description": "FortiClient download method. Valid values: `direct`, `ssl-vpn`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "heading": {
          "type": "string",
          "description": "Web portal heading message.\n"
        },
        "hideSsoCredential": {
          "type": "string",
          "description": "Enable to prevent SSO credential being sent to client. Valid values: `enable`, `disable`.\n"
        },
        "hostCheck": {
          "type": "string",
          "description": "Type of host checking performed on endpoints. Valid values: `none`, `av`, `fw`, `av-fw`, `custom`.\n"
        },
        "hostCheckInterval": {
          "type": "integer",
          "description": "Periodic host check interval. Value of 0 means disabled and host checking only happens when the endpoint connects.\n"
        },
        "hostCheckPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalHostCheckPolicy:PortalHostCheckPolicy"
          },
          "description": "One or more policies to require the endpoint to have specific security software. The structure of `host_check_policy` block is documented below.\n"
        },
        "ipMode": {
          "type": "string",
          "description": "Method by which users of this SSL-VPN tunnel obtain IP addresses.\n"
        },
        "ipPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpPool:PortalIpPool"
          },
          "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ip_pools` block is documented below.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        },
        "ipv6ExclusiveRouting": {
          "type": "string",
          "description": "Enable/disable all IPv6 traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
        },
        "ipv6Pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6Pool:PortalIpv6Pool"
          },
          "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ipv6_pools` block is documented below.\n"
        },
        "ipv6ServiceRestriction": {
          "type": "string",
          "description": "Enable/disable IPv6 tunnel service restriction. Valid values: `enable`, `disable`.\n"
        },
        "ipv6SplitTunneling": {
          "type": "string",
          "description": "Enable/disable IPv6 split tunneling. Valid values: `enable`, `disable`.\n"
        },
        "ipv6SplitTunnelingRoutingAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6SplitTunnelingRoutingAddress:PortalIpv6SplitTunnelingRoutingAddress"
          },
          "description": "IPv6 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `ipv6_split_tunneling_routing_address` block is documented below.\n"
        },
        "ipv6SplitTunnelingRoutingNegate": {
          "type": "string",
          "description": "Enable to negate IPv6 split tunneling routing address. Valid values: `enable`, `disable`.\n"
        },
        "ipv6TunnelMode": {
          "type": "string",
          "description": "Enable/disable IPv6 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
        },
        "ipv6WinsServer1": {
          "type": "string",
          "description": "IPv6 WINS server 1.\n"
        },
        "ipv6WinsServer2": {
          "type": "string",
          "description": "IPv6 WINS server 2.\n"
        },
        "keepAlive": {
          "type": "string",
          "description": "Enable/disable automatic reconnect for FortiClient connections. Valid values: `enable`, `disable`.\n"
        },
        "landingPage": {
          "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalLandingPage:PortalLandingPage",
          "description": "Landing page options. The structure of `landing_page` block is documented below.\n"
        },
        "landingPageMode": {
          "type": "string",
          "description": "Enable/disable SSL-VPN landing page mode. Valid values: `enable`, `disable`.\n"
        },
        "limitUserLogins": {
          "type": "string",
          "description": "Enable to limit each user to one SSL-VPN session at a time. Valid values: `enable`, `disable`.\n"
        },
        "macAddrAction": {
          "type": "string",
          "description": "Client MAC address action. Valid values: `allow`, `deny`.\n"
        },
        "macAddrCheck": {
          "type": "string",
          "description": "Enable/disable MAC address host checking. Valid values: `enable`, `disable`.\n"
        },
        "macAddrCheckRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalMacAddrCheckRule:PortalMacAddrCheckRule"
          },
          "description": "Client MAC address check rule. The structure of `mac_addr_check_rule` block is documented below.\n"
        },
        "macosForticlientDownloadUrl": {
          "type": "string",
          "description": "Download URL for Mac FortiClient.\n"
        },
        "name": {
          "type": "string",
          "description": "Portal name.\n",
          "willReplaceOnChanges": true
        },
        "osCheck": {
          "type": "string",
          "description": "Enable to let the FortiGate decide action based on client OS. Valid values: `enable`, `disable`.\n"
        },
        "osCheckLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalOsCheckList:PortalOsCheckList"
          },
          "description": "SSL VPN OS checks. The structure of `os_check_list` block is documented below.\n"
        },
        "preferIpv6Dns": {
          "type": "string",
          "description": "prefer to query IPv6 dns first if enabled. Valid values: `enable`, `disable`.\n"
        },
        "redirUrl": {
          "type": "string",
          "description": "Client login redirect URL.\n"
        },
        "rewriteIpUriUi": {
          "type": "string",
          "description": "Rewrite contents for URI contains IP and /ui/ (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "savePassword": {
          "type": "string",
          "description": "Enable/disable FortiClient saving the user's password. Valid values: `enable`, `disable`.\n"
        },
        "serviceRestriction": {
          "type": "string",
          "description": "Enable/disable tunnel service restriction. Valid values: `enable`, `disable`.\n"
        },
        "skipCheckForBrowser": {
          "type": "string",
          "description": "Enable to skip host check for browser support. Valid values: `enable`, `disable`.\n"
        },
        "skipCheckForUnsupportedOs": {
          "type": "string",
          "description": "Enable to skip host check if client OS does not support it. Valid values: `enable`, `disable`.\n"
        },
        "smbMaxVersion": {
          "type": "string",
          "description": "SMB maximum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
        },
        "smbMinVersion": {
          "type": "string",
          "description": "SMB minimum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
        },
        "smbNtlmv1Auth": {
          "type": "string",
          "description": "Enable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
        },
        "smbv1": {
          "type": "string",
          "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
        },
        "splitDns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitDn:PortalSplitDn"
          },
          "description": "Split DNS for SSL VPN. The structure of `split_dns` block is documented below.\n"
        },
        "splitTunneling": {
          "type": "string",
          "description": "Enable/disable IPv4 split tunneling. Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingRoutingAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitTunnelingRoutingAddress:PortalSplitTunnelingRoutingAddress"
          },
          "description": "IPv4 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `split_tunneling_routing_address` block is documented below.\n"
        },
        "splitTunnelingRoutingNegate": {
          "type": "string",
          "description": "Enable to negate split tunneling routing address. Valid values: `enable`, `disable`.\n"
        },
        "theme": {
          "type": "string",
          "description": "Web portal color scheme.\n"
        },
        "transformBackwardSlashes": {
          "type": "string",
          "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Enable/disable IPv4 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
        },
        "useSdwan": {
          "type": "string",
          "description": "Use SD-WAN rules to get output interface. Valid values: `enable`, `disable`.\n"
        },
        "userBookmark": {
          "type": "string",
          "description": "Enable to allow web portal users to create their own bookmarks. Valid values: `enable`, `disable`.\n"
        },
        "userGroupBookmark": {
          "type": "string",
          "description": "Enable to allow web portal users to create bookmarks for all users in the same user group. 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
        },
        "webMode": {
          "type": "string",
          "description": "Enable/disable SSL VPN web mode. Valid values: `enable`, `disable`.\n"
        },
        "windowsForticlientDownloadUrl": {
          "type": "string",
          "description": "Download URL for Windows FortiClient.\n"
        },
        "winsServer1": {
          "type": "string",
          "description": "IPv4 WINS server 1.\n"
        },
        "winsServer2": {
          "type": "string",
          "description": "IPv4 WINS server 1.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Portal resources.\n",
        "properties": {
          "allowUserAccess": {
            "type": "string",
            "description": "Allow user access to SSL-VPN applications.\n"
          },
          "autoConnect": {
            "type": "string",
            "description": "Enable/disable automatic connect by client when system is up. Valid values: `enable`, `disable`.\n"
          },
          "bookmarkGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalBookmarkGroup:PortalBookmarkGroup"
            },
            "description": "Portal bookmark group. The structure of `bookmark_group` block is documented below.\n"
          },
          "clientSrcRange": {
            "type": "string",
            "description": "Allow client to add source range for the tunnel traffic. Valid values: `enable`, `disable`.\n"
          },
          "clipboard": {
            "type": "string",
            "description": "Enable to support RDP/VPC clipboard functionality. Valid values: `enable`, `disable`.\n"
          },
          "customLang": {
            "type": "string",
            "description": "Change the web portal display language. Overrides config system global set language. You can use config system custom-language and execute system custom-language to add custom language files.\n"
          },
          "customizeForticlientDownloadUrl": {
            "type": "string",
            "description": "Enable support of customized download URL for FortiClient. Valid values: `enable`, `disable`.\n"
          },
          "defaultProtocol": {
            "type": "string",
            "description": "Application type that is set by default. Valid values: `web`, `ftp`, `telnet`, `smb`, `vnc`, `rdp`, `ssh`, `sftp`.\n"
          },
          "defaultWindowHeight": {
            "type": "integer",
            "description": "Screen height (range from 0 - 65535, default = 768).\n"
          },
          "defaultWindowWidth": {
            "type": "integer",
            "description": "Screen width (range from 0 - 65535, default = 1024).\n"
          },
          "dhcp6RaLinkaddr": {
            "type": "string",
            "description": "Relay agent IPv6 link address to use in DHCP6 requests.\n"
          },
          "dhcpIpOverlap": {
            "type": "string",
            "description": "Configure overlapping DHCP IP allocation assignment. Valid values: `use-new`, `use-old`.\n"
          },
          "dhcpRaGiaddr": {
            "type": "string",
            "description": "Relay agent gateway IP address to use in the giaddr field of DHCP requests.\n"
          },
          "displayBookmark": {
            "type": "string",
            "description": "Enable to display the web portal bookmark widget. Valid values: `enable`, `disable`.\n"
          },
          "displayConnectionTools": {
            "type": "string",
            "description": "Enable to display the web portal connection tools widget. Valid values: `enable`, `disable`.\n"
          },
          "displayHistory": {
            "type": "string",
            "description": "Enable to display the web portal user login history widget. Valid values: `enable`, `disable`.\n"
          },
          "displayStatus": {
            "type": "string",
            "description": "Enable to display the web portal status widget. Valid values: `enable`, `disable`.\n"
          },
          "dnsServer1": {
            "type": "string",
            "description": "IPv4 DNS server 1.\n"
          },
          "dnsServer2": {
            "type": "string",
            "description": "IPv4 DNS server 2.\n"
          },
          "dnsSuffix": {
            "type": "string",
            "description": "DNS suffix.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "exclusiveRouting": {
            "type": "string",
            "description": "Enable/disable all traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
          },
          "focusBookmark": {
            "type": "string",
            "description": "Enable to prioritize the placement of the bookmark section over the quick-connection section in the SSL-VPN application. Valid values: `enable`, `disable`.\n"
          },
          "forticlientDownload": {
            "type": "string",
            "description": "Enable/disable download option for FortiClient. Valid values: `enable`, `disable`.\n"
          },
          "forticlientDownloadMethod": {
            "type": "string",
            "description": "FortiClient download method. Valid values: `direct`, `ssl-vpn`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "heading": {
            "type": "string",
            "description": "Web portal heading message.\n"
          },
          "hideSsoCredential": {
            "type": "string",
            "description": "Enable to prevent SSO credential being sent to client. Valid values: `enable`, `disable`.\n"
          },
          "hostCheck": {
            "type": "string",
            "description": "Type of host checking performed on endpoints. Valid values: `none`, `av`, `fw`, `av-fw`, `custom`.\n"
          },
          "hostCheckInterval": {
            "type": "integer",
            "description": "Periodic host check interval. Value of 0 means disabled and host checking only happens when the endpoint connects.\n"
          },
          "hostCheckPolicies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalHostCheckPolicy:PortalHostCheckPolicy"
            },
            "description": "One or more policies to require the endpoint to have specific security software. The structure of `host_check_policy` block is documented below.\n"
          },
          "ipMode": {
            "type": "string",
            "description": "Method by which users of this SSL-VPN tunnel obtain IP addresses.\n"
          },
          "ipPools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpPool:PortalIpPool"
            },
            "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ip_pools` block is documented below.\n"
          },
          "ipv6DnsServer1": {
            "type": "string",
            "description": "IPv6 DNS server 1.\n"
          },
          "ipv6DnsServer2": {
            "type": "string",
            "description": "IPv6 DNS server 2.\n"
          },
          "ipv6ExclusiveRouting": {
            "type": "string",
            "description": "Enable/disable all IPv6 traffic go through tunnel only. Valid values: `enable`, `disable`.\n"
          },
          "ipv6Pools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6Pool:PortalIpv6Pool"
            },
            "description": "IPv4 firewall source address objects reserved for SSL-VPN tunnel mode clients. The structure of `ipv6_pools` block is documented below.\n"
          },
          "ipv6ServiceRestriction": {
            "type": "string",
            "description": "Enable/disable IPv6 tunnel service restriction. Valid values: `enable`, `disable`.\n"
          },
          "ipv6SplitTunneling": {
            "type": "string",
            "description": "Enable/disable IPv6 split tunneling. Valid values: `enable`, `disable`.\n"
          },
          "ipv6SplitTunnelingRoutingAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalIpv6SplitTunnelingRoutingAddress:PortalIpv6SplitTunnelingRoutingAddress"
            },
            "description": "IPv6 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `ipv6_split_tunneling_routing_address` block is documented below.\n"
          },
          "ipv6SplitTunnelingRoutingNegate": {
            "type": "string",
            "description": "Enable to negate IPv6 split tunneling routing address. Valid values: `enable`, `disable`.\n"
          },
          "ipv6TunnelMode": {
            "type": "string",
            "description": "Enable/disable IPv6 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
          },
          "ipv6WinsServer1": {
            "type": "string",
            "description": "IPv6 WINS server 1.\n"
          },
          "ipv6WinsServer2": {
            "type": "string",
            "description": "IPv6 WINS server 2.\n"
          },
          "keepAlive": {
            "type": "string",
            "description": "Enable/disable automatic reconnect for FortiClient connections. Valid values: `enable`, `disable`.\n"
          },
          "landingPage": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalLandingPage:PortalLandingPage",
            "description": "Landing page options. The structure of `landing_page` block is documented below.\n"
          },
          "landingPageMode": {
            "type": "string",
            "description": "Enable/disable SSL-VPN landing page mode. Valid values: `enable`, `disable`.\n"
          },
          "limitUserLogins": {
            "type": "string",
            "description": "Enable to limit each user to one SSL-VPN session at a time. Valid values: `enable`, `disable`.\n"
          },
          "macAddrAction": {
            "type": "string",
            "description": "Client MAC address action. Valid values: `allow`, `deny`.\n"
          },
          "macAddrCheck": {
            "type": "string",
            "description": "Enable/disable MAC address host checking. Valid values: `enable`, `disable`.\n"
          },
          "macAddrCheckRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalMacAddrCheckRule:PortalMacAddrCheckRule"
            },
            "description": "Client MAC address check rule. The structure of `mac_addr_check_rule` block is documented below.\n"
          },
          "macosForticlientDownloadUrl": {
            "type": "string",
            "description": "Download URL for Mac FortiClient.\n"
          },
          "name": {
            "type": "string",
            "description": "Portal name.\n",
            "willReplaceOnChanges": true
          },
          "osCheck": {
            "type": "string",
            "description": "Enable to let the FortiGate decide action based on client OS. Valid values: `enable`, `disable`.\n"
          },
          "osCheckLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalOsCheckList:PortalOsCheckList"
            },
            "description": "SSL VPN OS checks. The structure of `os_check_list` block is documented below.\n"
          },
          "preferIpv6Dns": {
            "type": "string",
            "description": "prefer to query IPv6 dns first if enabled. Valid values: `enable`, `disable`.\n"
          },
          "redirUrl": {
            "type": "string",
            "description": "Client login redirect URL.\n"
          },
          "rewriteIpUriUi": {
            "type": "string",
            "description": "Rewrite contents for URI contains IP and /ui/ (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "savePassword": {
            "type": "string",
            "description": "Enable/disable FortiClient saving the user's password. Valid values: `enable`, `disable`.\n"
          },
          "serviceRestriction": {
            "type": "string",
            "description": "Enable/disable tunnel service restriction. Valid values: `enable`, `disable`.\n"
          },
          "skipCheckForBrowser": {
            "type": "string",
            "description": "Enable to skip host check for browser support. Valid values: `enable`, `disable`.\n"
          },
          "skipCheckForUnsupportedOs": {
            "type": "string",
            "description": "Enable to skip host check if client OS does not support it. Valid values: `enable`, `disable`.\n"
          },
          "smbMaxVersion": {
            "type": "string",
            "description": "SMB maximum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
          },
          "smbMinVersion": {
            "type": "string",
            "description": "SMB minimum client protocol version. Valid values: `smbv1`, `smbv2`, `smbv3`.\n"
          },
          "smbNtlmv1Auth": {
            "type": "string",
            "description": "Enable support of NTLMv1 for Samba authentication. Valid values: `enable`, `disable`.\n"
          },
          "smbv1": {
            "type": "string",
            "description": "Enable/disable support of SMBv1 for Samba. Valid values: `enable`, `disable`.\n"
          },
          "splitDns": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitDn:PortalSplitDn"
            },
            "description": "Split DNS for SSL VPN. The structure of `split_dns` block is documented below.\n"
          },
          "splitTunneling": {
            "type": "string",
            "description": "Enable/disable IPv4 split tunneling. Valid values: `enable`, `disable`.\n"
          },
          "splitTunnelingRoutingAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalSplitTunnelingRoutingAddress:PortalSplitTunnelingRoutingAddress"
            },
            "description": "IPv4 SSL-VPN tunnel mode firewall address objects that override firewall policy destination addresses to control split-tunneling access. The structure of `split_tunneling_routing_address` block is documented below.\n"
          },
          "splitTunnelingRoutingNegate": {
            "type": "string",
            "description": "Enable to negate split tunneling routing address. Valid values: `enable`, `disable`.\n"
          },
          "theme": {
            "type": "string",
            "description": "Web portal color scheme.\n"
          },
          "transformBackwardSlashes": {
            "type": "string",
            "description": "Transform backward slashes to forward slashes in URLs. Valid values: `enable`, `disable`.\n"
          },
          "tunnelMode": {
            "type": "string",
            "description": "Enable/disable IPv4 SSL-VPN tunnel mode. Valid values: `enable`, `disable`.\n"
          },
          "useSdwan": {
            "type": "string",
            "description": "Use SD-WAN rules to get output interface. Valid values: `enable`, `disable`.\n"
          },
          "userBookmark": {
            "type": "string",
            "description": "Enable to allow web portal users to create their own bookmarks. Valid values: `enable`, `disable`.\n"
          },
          "userGroupBookmark": {
            "type": "string",
            "description": "Enable to allow web portal users to create bookmarks for all users in the same user group. 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
          },
          "webMode": {
            "type": "string",
            "description": "Enable/disable SSL VPN web mode. Valid values: `enable`, `disable`.\n"
          },
          "windowsForticlientDownloadUrl": {
            "type": "string",
            "description": "Download URL for Windows FortiClient.\n"
          },
          "winsServer1": {
            "type": "string",
            "description": "IPv4 WINS server 1.\n"
          },
          "winsServer2": {
            "type": "string",
            "description": "IPv4 WINS server 1.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ssl/web/realm:Realm": {
      "description": "Realm.\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.vpn.ssl.web.Realm(\"trname\", {\n    loginPage: \"1.htm\",\n    maxConcurrentUser: 33,\n    urlPath: \"1\",\n    virtualHost: \"2.2.2.2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.web.Realm(\"trname\",\n    login_page=\"1.htm\",\n    max_concurrent_user=33,\n    url_path=\"1\",\n    virtual_host=\"2.2.2.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.Vpn.Ssl.Web.Realm(\"trname\", new()\n    {\n        LoginPage = \"1.htm\",\n        MaxConcurrentUser = 33,\n        UrlPath = \"1\",\n        VirtualHost = \"2.2.2.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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewRealm(ctx, \"trname\", &vpn.RealmArgs{\n\t\t\tLoginPage:         pulumi.String(\"1.htm\"),\n\t\t\tMaxConcurrentUser: pulumi.Int(33),\n\t\t\tUrlPath:           pulumi.String(\"1\"),\n\t\t\tVirtualHost:       pulumi.String(\"2.2.2.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.vpn.Realm;\nimport com.pulumi.fortios.vpn.RealmArgs;\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 Realm(\"trname\", RealmArgs.builder()\n            .loginPage(\"1.htm\")\n            .maxConcurrentUser(33)\n            .urlPath(\"1\")\n            .virtualHost(\"2.2.2.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl/web:Realm\n    properties:\n      loginPage: 1.htm\n      maxConcurrentUser: 33\n      urlPath: '1'\n      virtualHost: 2.2.2.2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSslWeb Realm can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/web/realm:Realm labelname {{url_path}}\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:vpn/ssl/web/realm:Realm labelname {{url_path}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "loginPage": {
          "type": "string",
          "description": "Replacement HTML for SSL-VPN login page.\n"
        },
        "maxConcurrentUser": {
          "type": "integer",
          "description": "Maximum concurrent users (0 - 65535, 0 means unlimited).\n"
        },
        "nasIp": {
          "type": "string",
          "description": "IP address used as a NAS-IP to communicate with the RADIUS server.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number (0 - 65535, 0 means user.radius.radius-port).\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server associated with realm.\n"
        },
        "urlPath": {
          "type": "string",
          "description": "URL path to access SSL-VPN login page.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "virtualHost": {
          "type": "string",
          "description": "Virtual host name for realm.\n"
        },
        "virtualHostOnly": {
          "type": "string",
          "description": "Enable/disable enforcement of virtual host method for SSL-VPN client access. Valid values: `enable`, `disable`.\n"
        },
        "virtualHostServerCert": {
          "type": "string",
          "description": "Name of the server certificate to used for this realm.\n"
        }
      },
      "type": "object",
      "required": [
        "maxConcurrentUser",
        "nasIp",
        "radiusPort",
        "radiusServer",
        "urlPath",
        "vdomparam",
        "virtualHostOnly",
        "virtualHostServerCert"
      ],
      "inputProperties": {
        "loginPage": {
          "type": "string",
          "description": "Replacement HTML for SSL-VPN login page.\n"
        },
        "maxConcurrentUser": {
          "type": "integer",
          "description": "Maximum concurrent users (0 - 65535, 0 means unlimited).\n"
        },
        "nasIp": {
          "type": "string",
          "description": "IP address used as a NAS-IP to communicate with the RADIUS server.\n"
        },
        "radiusPort": {
          "type": "integer",
          "description": "RADIUS service port number (0 - 65535, 0 means user.radius.radius-port).\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server associated with realm.\n"
        },
        "urlPath": {
          "type": "string",
          "description": "URL path to access SSL-VPN login page.\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
        },
        "virtualHost": {
          "type": "string",
          "description": "Virtual host name for realm.\n"
        },
        "virtualHostOnly": {
          "type": "string",
          "description": "Enable/disable enforcement of virtual host method for SSL-VPN client access. Valid values: `enable`, `disable`.\n"
        },
        "virtualHostServerCert": {
          "type": "string",
          "description": "Name of the server certificate to used for this realm.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Realm resources.\n",
        "properties": {
          "loginPage": {
            "type": "string",
            "description": "Replacement HTML for SSL-VPN login page.\n"
          },
          "maxConcurrentUser": {
            "type": "integer",
            "description": "Maximum concurrent users (0 - 65535, 0 means unlimited).\n"
          },
          "nasIp": {
            "type": "string",
            "description": "IP address used as a NAS-IP to communicate with the RADIUS server.\n"
          },
          "radiusPort": {
            "type": "integer",
            "description": "RADIUS service port number (0 - 65535, 0 means user.radius.radius-port).\n"
          },
          "radiusServer": {
            "type": "string",
            "description": "RADIUS server associated with realm.\n"
          },
          "urlPath": {
            "type": "string",
            "description": "URL path to access SSL-VPN login page.\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
          },
          "virtualHost": {
            "type": "string",
            "description": "Virtual host name for realm.\n"
          },
          "virtualHostOnly": {
            "type": "string",
            "description": "Enable/disable enforcement of virtual host method for SSL-VPN client access. Valid values: `enable`, `disable`.\n"
          },
          "virtualHostServerCert": {
            "type": "string",
            "description": "Name of the server certificate to used for this realm.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:vpn/ssl/web/userbookmark:Userbookmark": {
      "description": "Configure SSL VPN user bookmark.\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.vpn.ssl.web.Userbookmark(\"trname\", {customLang: \"big5\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.web.Userbookmark(\"trname\", custom_lang=\"big5\")\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.Vpn.Ssl.Web.Userbookmark(\"trname\", new()\n    {\n        CustomLang = \"big5\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewUserbookmark(ctx, \"trname\", &vpn.UserbookmarkArgs{\n\t\t\tCustomLang: pulumi.String(\"big5\"),\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.vpn.Userbookmark;\nimport com.pulumi.fortios.vpn.UserbookmarkArgs;\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 Userbookmark(\"trname\", UserbookmarkArgs.builder()\n            .customLang(\"big5\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl/web:Userbookmark\n    properties:\n      customLang: big5\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSslWeb UserBookmark can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/web/userbookmark:Userbookmark 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:vpn/ssl/web/userbookmark:Userbookmark labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUserbookmarkBookmark:UserbookmarkBookmark"
          },
          "description": "Bookmark table. The structure of `bookmarks` block is documented below.\n"
        },
        "customLang": {
          "type": "string",
          "description": "Personal language.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User and 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": [
        "customLang",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUserbookmarkBookmark:UserbookmarkBookmark"
          },
          "description": "Bookmark table. The structure of `bookmarks` block is documented below.\n"
        },
        "customLang": {
          "type": "string",
          "description": "Personal language.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User and group 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 Userbookmark resources.\n",
        "properties": {
          "bookmarks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUserbookmarkBookmark:UserbookmarkBookmark"
            },
            "description": "Bookmark table. The structure of `bookmarks` block is documented below.\n"
          },
          "customLang": {
            "type": "string",
            "description": "Personal language.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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": "User and group 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:vpn/ssl/web/usergroupbookmark:Usergroupbookmark": {
      "description": "Configure SSL VPN user group bookmark.\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.vpn.ssl.web.Usergroupbookmark(\"trname\", {bookmarks: [{\n    apptype: \"citrix\",\n    listeningPort: 0,\n    name: \"b1\",\n    port: 0,\n    remotePort: 0,\n    security: \"rdp\",\n    serverLayout: \"en-us-qwerty\",\n    showStatusWindow: \"disable\",\n    sso: \"disable\",\n    ssoCredential: \"sslvpn-login\",\n    ssoCredentialSentOnce: \"disable\",\n    url: \"www.aaa.com\",\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.vpn.ssl.web.Usergroupbookmark(\"trname\", bookmarks=[fortios.vpn.ssl.web.UsergroupbookmarkBookmarkArgs(\n    apptype=\"citrix\",\n    listening_port=0,\n    name=\"b1\",\n    port=0,\n    remote_port=0,\n    security=\"rdp\",\n    server_layout=\"en-us-qwerty\",\n    show_status_window=\"disable\",\n    sso=\"disable\",\n    sso_credential=\"sslvpn-login\",\n    sso_credential_sent_once=\"disable\",\n    url=\"www.aaa.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 trname = new Fortios.Vpn.Ssl.Web.Usergroupbookmark(\"trname\", new()\n    {\n        Bookmarks = new[]\n        {\n            new Fortios.Vpn.Ssl.Web.Inputs.UsergroupbookmarkBookmarkArgs\n            {\n                Apptype = \"citrix\",\n                ListeningPort = 0,\n                Name = \"b1\",\n                Port = 0,\n                RemotePort = 0,\n                Security = \"rdp\",\n                ServerLayout = \"en-us-qwerty\",\n                ShowStatusWindow = \"disable\",\n                Sso = \"disable\",\n                SsoCredential = \"sslvpn-login\",\n                SsoCredentialSentOnce = \"disable\",\n                Url = \"www.aaa.com\",\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/vpn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := vpn.NewUsergroupbookmark(ctx, \"trname\", &vpn.UsergroupbookmarkArgs{\n\t\t\tBookmarks: ssl / web.UsergroupbookmarkBookmarkArray{\n\t\t\t\t&ssl / web.UsergroupbookmarkBookmarkArgs{\n\t\t\t\t\tApptype:               pulumi.String(\"citrix\"),\n\t\t\t\t\tListeningPort:         pulumi.Int(0),\n\t\t\t\t\tName:                  pulumi.String(\"b1\"),\n\t\t\t\t\tPort:                  pulumi.Int(0),\n\t\t\t\t\tRemotePort:            pulumi.Int(0),\n\t\t\t\t\tSecurity:              pulumi.String(\"rdp\"),\n\t\t\t\t\tServerLayout:          pulumi.String(\"en-us-qwerty\"),\n\t\t\t\t\tShowStatusWindow:      pulumi.String(\"disable\"),\n\t\t\t\t\tSso:                   pulumi.String(\"disable\"),\n\t\t\t\t\tSsoCredential:         pulumi.String(\"sslvpn-login\"),\n\t\t\t\t\tSsoCredentialSentOnce: pulumi.String(\"disable\"),\n\t\t\t\t\tUrl:                   pulumi.String(\"www.aaa.com\"),\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.vpn.Usergroupbookmark;\nimport com.pulumi.fortios.vpn.UsergroupbookmarkArgs;\nimport com.pulumi.fortios.vpn.inputs.UsergroupbookmarkBookmarkArgs;\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 Usergroupbookmark(\"trname\", UsergroupbookmarkArgs.builder()\n            .bookmarks(UsergroupbookmarkBookmarkArgs.builder()\n                .apptype(\"citrix\")\n                .listeningPort(0)\n                .name(\"b1\")\n                .port(0)\n                .remotePort(0)\n                .security(\"rdp\")\n                .serverLayout(\"en-us-qwerty\")\n                .showStatusWindow(\"disable\")\n                .sso(\"disable\")\n                .ssoCredential(\"sslvpn-login\")\n                .ssoCredentialSentOnce(\"disable\")\n                .url(\"www.aaa.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:vpn/ssl/web:Usergroupbookmark\n    properties:\n      bookmarks:\n        - apptype: citrix\n          listeningPort: 0\n          name: b1\n          port: 0\n          remotePort: 0\n          security: rdp\n          serverLayout: en-us-qwerty\n          showStatusWindow: disable\n          sso: disable\n          ssoCredential: sslvpn-login\n          ssoCredentialSentOnce: disable\n          url: www.aaa.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVpnSslWeb UserGroupBookmark can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:vpn/ssl/web/usergroupbookmark:Usergroupbookmark 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:vpn/ssl/web/usergroupbookmark:Usergroupbookmark labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUsergroupbookmarkBookmark:UsergroupbookmarkBookmark"
          },
          "description": "Bookmark table. The structure of `bookmarks` 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": "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": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUsergroupbookmarkBookmark:UsergroupbookmarkBookmark"
          },
          "description": "Bookmark table. The structure of `bookmarks` 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": "Group 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 Usergroupbookmark resources.\n",
        "properties": {
          "bookmarks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUsergroupbookmarkBookmark:UsergroupbookmarkBookmark"
            },
            "description": "Bookmark table. The structure of `bookmarks` 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": "Group 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:waf/mainclass:Mainclass": {
      "description": "Hidden table for datasource.\n\n## Import\n\nWaf MainClass can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:waf/mainclass:Mainclass 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:waf/mainclass:Mainclass labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Main signature class ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Main signature class 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": "Main signature class ID.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Main signature class 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 Mainclass resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Main signature class ID.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Main signature class 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:waf/profile:Profile": {
      "description": "Web application firewall 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.waf.Profile(\"trname\", {\n    extendedLog: \"disable\",\n    external: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.waf.Profile(\"trname\",\n    extended_log=\"disable\",\n    external=\"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.Waf.Profile(\"trname\", new()\n    {\n        ExtendedLog = \"disable\",\n        External = \"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/waf\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewProfile(ctx, \"trname\", &waf.ProfileArgs{\n\t\t\tExtendedLog: pulumi.String(\"disable\"),\n\t\t\tExternal:    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.waf.Profile;\nimport com.pulumi.fortios.waf.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            .extendedLog(\"disable\")\n            .external(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:waf:Profile\n    properties:\n      extendedLog: disable\n      external: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWaf Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:waf/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:waf/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addressList": {
          "$ref": "#/types/fortios:waf%2FProfileAddressList:ProfileAddressList",
          "description": "Black address list and white address list. The structure of `address_list` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "constraint": {
          "$ref": "#/types/fortios:waf%2FProfileConstraint:ProfileConstraint",
          "description": "WAF HTTP protocol restrictions. The structure of `constraint` 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"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "external": {
          "type": "string",
          "description": "Disable/Enable external HTTP Inspection. 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"
        },
        "method": {
          "$ref": "#/types/fortios:waf%2FProfileMethod:ProfileMethod",
          "description": "Method restriction. The structure of `method` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "WAF Profile name.\n"
        },
        "signature": {
          "$ref": "#/types/fortios:waf%2FProfileSignature:ProfileSignature",
          "description": "WAF signatures. The structure of `signature` block is documented below.\n"
        },
        "urlAccesses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileUrlAccess:ProfileUrlAccess"
          },
          "description": "URL access list The structure of `url_access` 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": [
        "addressList",
        "constraint",
        "extendedLog",
        "external",
        "method",
        "name",
        "signature",
        "vdomparam"
      ],
      "inputProperties": {
        "addressList": {
          "$ref": "#/types/fortios:waf%2FProfileAddressList:ProfileAddressList",
          "description": "Black address list and white address list. The structure of `address_list` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "constraint": {
          "$ref": "#/types/fortios:waf%2FProfileConstraint:ProfileConstraint",
          "description": "WAF HTTP protocol restrictions. The structure of `constraint` 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"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "external": {
          "type": "string",
          "description": "Disable/Enable external HTTP Inspection. 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"
        },
        "method": {
          "$ref": "#/types/fortios:waf%2FProfileMethod:ProfileMethod",
          "description": "Method restriction. The structure of `method` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "WAF Profile name.\n",
          "willReplaceOnChanges": true
        },
        "signature": {
          "$ref": "#/types/fortios:waf%2FProfileSignature:ProfileSignature",
          "description": "WAF signatures. The structure of `signature` block is documented below.\n"
        },
        "urlAccesses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileUrlAccess:ProfileUrlAccess"
          },
          "description": "URL access list The structure of `url_access` 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": {
          "addressList": {
            "$ref": "#/types/fortios:waf%2FProfileAddressList:ProfileAddressList",
            "description": "Black address list and white address list. The structure of `address_list` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "constraint": {
            "$ref": "#/types/fortios:waf%2FProfileConstraint:ProfileConstraint",
            "description": "WAF HTTP protocol restrictions. The structure of `constraint` 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"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
          },
          "external": {
            "type": "string",
            "description": "Disable/Enable external HTTP Inspection. 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"
          },
          "method": {
            "$ref": "#/types/fortios:waf%2FProfileMethod:ProfileMethod",
            "description": "Method restriction. The structure of `method` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "WAF Profile name.\n",
            "willReplaceOnChanges": true
          },
          "signature": {
            "$ref": "#/types/fortios:waf%2FProfileSignature:ProfileSignature",
            "description": "WAF signatures. The structure of `signature` block is documented below.\n"
          },
          "urlAccesses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:waf%2FProfileUrlAccess:ProfileUrlAccess"
            },
            "description": "URL access list The structure of `url_access` 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:waf/signature:Signature": {
      "description": "Hidden table for datasource.\n\n## Import\n\nWaf Signature can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:waf/signature:Signature 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:waf/signature:Signature labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "desc": {
          "type": "string",
          "description": "Signature description.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Signature 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": [
        "desc",
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "desc": {
          "type": "string",
          "description": "Signature description.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Signature ID.\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 Signature resources.\n",
        "properties": {
          "desc": {
            "type": "string",
            "description": "Signature description.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Signature ID.\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:waf/subclass:Subclass": {
      "description": "Hidden table for datasource.\n\n## Import\n\nWaf SubClass can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:waf/subclass:Subclass 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:waf/subclass:Subclass labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Signature subclass ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Signature subclass 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": "Signature subclass ID.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Signature subclass 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 Subclass resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Signature subclass ID.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Signature subclass 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:wanopt/authgroup:Authgroup": {
      "description": "Configure WAN optimization authentication 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.wanopt.Authgroup(\"trname\", {\n    authMethod: \"cert\",\n    cert: \"Fortinet_CA_SSL\",\n    peerAccept: \"any\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Authgroup(\"trname\",\n    auth_method=\"cert\",\n    cert=\"Fortinet_CA_SSL\",\n    peer_accept=\"any\")\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.Wanopt.Authgroup(\"trname\", new()\n    {\n        AuthMethod = \"cert\",\n        Cert = \"Fortinet_CA_SSL\",\n        PeerAccept = \"any\",\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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewAuthgroup(ctx, \"trname\", &wanopt.AuthgroupArgs{\n\t\t\tAuthMethod: pulumi.String(\"cert\"),\n\t\t\tCert:       pulumi.String(\"Fortinet_CA_SSL\"),\n\t\t\tPeerAccept: pulumi.String(\"any\"),\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.wanopt.Authgroup;\nimport com.pulumi.fortios.wanopt.AuthgroupArgs;\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 Authgroup(\"trname\", AuthgroupArgs.builder()\n            .authMethod(\"cert\")\n            .cert(\"Fortinet_CA_SSL\")\n            .peerAccept(\"any\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Authgroup\n    properties:\n      authMethod: cert\n      cert: Fortinet_CA_SSL\n      peerAccept: any\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt AuthGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/authgroup:Authgroup 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:wanopt/authgroup:Authgroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authMethod": {
          "type": "string",
          "description": "Select certificate or pre-shared key authentication for this authentication group. Valid values: `cert`, `psk`.\n"
        },
        "cert": {
          "type": "string",
          "description": "Name of certificate to identify this peer.\n"
        },
        "name": {
          "type": "string",
          "description": "Auth-group name.\n"
        },
        "peer": {
          "type": "string",
          "description": "If peer-accept is set to one, select the name of one peer to add to this authentication group. The peer must have added with the wanopt peer command.\n"
        },
        "peerAccept": {
          "type": "string",
          "description": "Determine if this auth group accepts, any peer, a list of defined peers, or just one peer. Valid values: `any`, `defined`, `one`.\n"
        },
        "psk": {
          "type": "string",
          "description": "Pre-shared key used by the peers in this authentication group.\n",
          "secret": 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"
        }
      },
      "type": "object",
      "required": [
        "authMethod",
        "cert",
        "name",
        "peer",
        "peerAccept",
        "vdomparam"
      ],
      "inputProperties": {
        "authMethod": {
          "type": "string",
          "description": "Select certificate or pre-shared key authentication for this authentication group. Valid values: `cert`, `psk`.\n"
        },
        "cert": {
          "type": "string",
          "description": "Name of certificate to identify this peer.\n"
        },
        "name": {
          "type": "string",
          "description": "Auth-group name.\n",
          "willReplaceOnChanges": true
        },
        "peer": {
          "type": "string",
          "description": "If peer-accept is set to one, select the name of one peer to add to this authentication group. The peer must have added with the wanopt peer command.\n"
        },
        "peerAccept": {
          "type": "string",
          "description": "Determine if this auth group accepts, any peer, a list of defined peers, or just one peer. Valid values: `any`, `defined`, `one`.\n"
        },
        "psk": {
          "type": "string",
          "description": "Pre-shared key used by the peers in this authentication group.\n",
          "secret": 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": [
        "cert"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Authgroup resources.\n",
        "properties": {
          "authMethod": {
            "type": "string",
            "description": "Select certificate or pre-shared key authentication for this authentication group. Valid values: `cert`, `psk`.\n"
          },
          "cert": {
            "type": "string",
            "description": "Name of certificate to identify this peer.\n"
          },
          "name": {
            "type": "string",
            "description": "Auth-group name.\n",
            "willReplaceOnChanges": true
          },
          "peer": {
            "type": "string",
            "description": "If peer-accept is set to one, select the name of one peer to add to this authentication group. The peer must have added with the wanopt peer command.\n"
          },
          "peerAccept": {
            "type": "string",
            "description": "Determine if this auth group accepts, any peer, a list of defined peers, or just one peer. Valid values: `any`, `defined`, `one`.\n"
          },
          "psk": {
            "type": "string",
            "description": "Pre-shared key used by the peers in this authentication group.\n",
            "secret": 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:wanopt/cacheservice:Cacheservice": {
      "description": "Designate cache-service for wan-optimization and webcache.\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.wanopt.Cacheservice(\"trname\", {\n    acceptableConnections: \"any\",\n    collaboration: \"disable\",\n    deviceId: \"default_dev_id\",\n    preferScenario: \"balance\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Cacheservice(\"trname\",\n    acceptable_connections=\"any\",\n    collaboration=\"disable\",\n    device_id=\"default_dev_id\",\n    prefer_scenario=\"balance\")\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.Wanopt.Cacheservice(\"trname\", new()\n    {\n        AcceptableConnections = \"any\",\n        Collaboration = \"disable\",\n        DeviceId = \"default_dev_id\",\n        PreferScenario = \"balance\",\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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewCacheservice(ctx, \"trname\", &wanopt.CacheserviceArgs{\n\t\t\tAcceptableConnections: pulumi.String(\"any\"),\n\t\t\tCollaboration:         pulumi.String(\"disable\"),\n\t\t\tDeviceId:              pulumi.String(\"default_dev_id\"),\n\t\t\tPreferScenario:        pulumi.String(\"balance\"),\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.wanopt.Cacheservice;\nimport com.pulumi.fortios.wanopt.CacheserviceArgs;\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 Cacheservice(\"trname\", CacheserviceArgs.builder()\n            .acceptableConnections(\"any\")\n            .collaboration(\"disable\")\n            .deviceId(\"default_dev_id\")\n            .preferScenario(\"balance\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Cacheservice\n    properties:\n      acceptableConnections: any\n      collaboration: disable\n      deviceId: default_dev_id\n      preferScenario: balance\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt CacheService can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/cacheservice:Cacheservice labelname WanoptCacheService\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:wanopt/cacheservice:Cacheservice labelname WanoptCacheService\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acceptableConnections": {
          "type": "string",
          "description": "Set strategy when accepting cache collaboration connection. Valid values: `any`, `peers`.\n"
        },
        "collaboration": {
          "type": "string",
          "description": "Enable/disable cache-collaboration between cache-service clusters. Valid values: `enable`, `disable`.\n"
        },
        "deviceId": {
          "type": "string",
          "description": "Set identifier for this cache device.\n"
        },
        "dstPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FCacheserviceDstPeer:CacheserviceDstPeer"
          },
          "description": "Modify cache-service destination peer list. The structure of `dst_peer` 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"
        },
        "preferScenario": {
          "type": "string",
          "description": "Set the preferred cache behavior towards the balance between latency and hit-ratio. Valid values: `balance`, `prefer-speed`, `prefer-cache`.\n"
        },
        "srcPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FCacheserviceSrcPeer:CacheserviceSrcPeer"
          },
          "description": "Modify cache-service source peer list. The structure of `src_peer` 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": [
        "acceptableConnections",
        "collaboration",
        "deviceId",
        "preferScenario",
        "vdomparam"
      ],
      "inputProperties": {
        "acceptableConnections": {
          "type": "string",
          "description": "Set strategy when accepting cache collaboration connection. Valid values: `any`, `peers`.\n"
        },
        "collaboration": {
          "type": "string",
          "description": "Enable/disable cache-collaboration between cache-service clusters. Valid values: `enable`, `disable`.\n"
        },
        "deviceId": {
          "type": "string",
          "description": "Set identifier for this cache device.\n"
        },
        "dstPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FCacheserviceDstPeer:CacheserviceDstPeer"
          },
          "description": "Modify cache-service destination peer list. The structure of `dst_peer` 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"
        },
        "preferScenario": {
          "type": "string",
          "description": "Set the preferred cache behavior towards the balance between latency and hit-ratio. Valid values: `balance`, `prefer-speed`, `prefer-cache`.\n"
        },
        "srcPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FCacheserviceSrcPeer:CacheserviceSrcPeer"
          },
          "description": "Modify cache-service source peer list. The structure of `src_peer` 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 Cacheservice resources.\n",
        "properties": {
          "acceptableConnections": {
            "type": "string",
            "description": "Set strategy when accepting cache collaboration connection. Valid values: `any`, `peers`.\n"
          },
          "collaboration": {
            "type": "string",
            "description": "Enable/disable cache-collaboration between cache-service clusters. Valid values: `enable`, `disable`.\n"
          },
          "deviceId": {
            "type": "string",
            "description": "Set identifier for this cache device.\n"
          },
          "dstPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wanopt%2FCacheserviceDstPeer:CacheserviceDstPeer"
            },
            "description": "Modify cache-service destination peer list. The structure of `dst_peer` 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"
          },
          "preferScenario": {
            "type": "string",
            "description": "Set the preferred cache behavior towards the balance between latency and hit-ratio. Valid values: `balance`, `prefer-speed`, `prefer-cache`.\n"
          },
          "srcPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wanopt%2FCacheserviceSrcPeer:CacheserviceSrcPeer"
            },
            "description": "Modify cache-service source peer list. The structure of `src_peer` 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:wanopt/contentdeliverynetworkrule:Contentdeliverynetworkrule": {
      "description": "Configure WAN optimization content delivery network 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.wanopt.Contentdeliverynetworkrule(\"trname\", {\n    category: \"vcache\",\n    hostDomainNameSuffixes: [{\n        name: \"kaf.com\",\n    }],\n    requestCacheControl: \"disable\",\n    responseCacheControl: \"disable\",\n    responseExpires: \"enable\",\n    status: \"enable\",\n    textResponseVcache: \"enable\",\n    updateserver: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Contentdeliverynetworkrule(\"trname\",\n    category=\"vcache\",\n    host_domain_name_suffixes=[fortios.wanopt.ContentdeliverynetworkruleHostDomainNameSuffixArgs(\n        name=\"kaf.com\",\n    )],\n    request_cache_control=\"disable\",\n    response_cache_control=\"disable\",\n    response_expires=\"enable\",\n    status=\"enable\",\n    text_response_vcache=\"enable\",\n    updateserver=\"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.Wanopt.Contentdeliverynetworkrule(\"trname\", new()\n    {\n        Category = \"vcache\",\n        HostDomainNameSuffixes = new[]\n        {\n            new Fortios.Wanopt.Inputs.ContentdeliverynetworkruleHostDomainNameSuffixArgs\n            {\n                Name = \"kaf.com\",\n            },\n        },\n        RequestCacheControl = \"disable\",\n        ResponseCacheControl = \"disable\",\n        ResponseExpires = \"enable\",\n        Status = \"enable\",\n        TextResponseVcache = \"enable\",\n        Updateserver = \"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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewContentdeliverynetworkrule(ctx, \"trname\", &wanopt.ContentdeliverynetworkruleArgs{\n\t\t\tCategory: pulumi.String(\"vcache\"),\n\t\t\tHostDomainNameSuffixes: wanopt.ContentdeliverynetworkruleHostDomainNameSuffixArray{\n\t\t\t\t&wanopt.ContentdeliverynetworkruleHostDomainNameSuffixArgs{\n\t\t\t\t\tName: pulumi.String(\"kaf.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRequestCacheControl:  pulumi.String(\"disable\"),\n\t\t\tResponseCacheControl: pulumi.String(\"disable\"),\n\t\t\tResponseExpires:      pulumi.String(\"enable\"),\n\t\t\tStatus:               pulumi.String(\"enable\"),\n\t\t\tTextResponseVcache:   pulumi.String(\"enable\"),\n\t\t\tUpdateserver:         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.wanopt.Contentdeliverynetworkrule;\nimport com.pulumi.fortios.wanopt.ContentdeliverynetworkruleArgs;\nimport com.pulumi.fortios.wanopt.inputs.ContentdeliverynetworkruleHostDomainNameSuffixArgs;\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 Contentdeliverynetworkrule(\"trname\", ContentdeliverynetworkruleArgs.builder()\n            .category(\"vcache\")\n            .hostDomainNameSuffixes(ContentdeliverynetworkruleHostDomainNameSuffixArgs.builder()\n                .name(\"kaf.com\")\n                .build())\n            .requestCacheControl(\"disable\")\n            .responseCacheControl(\"disable\")\n            .responseExpires(\"enable\")\n            .status(\"enable\")\n            .textResponseVcache(\"enable\")\n            .updateserver(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Contentdeliverynetworkrule\n    properties:\n      category: vcache\n      hostDomainNameSuffixes:\n        - name: kaf.com\n      requestCacheControl: disable\n      responseCacheControl: disable\n      responseExpires: enable\n      status: enable\n      textResponseVcache: enable\n      updateserver: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt ContentDeliveryNetworkRule can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/contentdeliverynetworkrule:Contentdeliverynetworkrule 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:wanopt/contentdeliverynetworkrule:Contentdeliverynetworkrule labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "category": {
          "type": "string",
          "description": "Content delivery network rule category. Valid values: `vcache`, `youtube`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment about this CDN-rule.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "hostDomainNameSuffixes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleHostDomainNameSuffix:ContentdeliverynetworkruleHostDomainNameSuffix"
          },
          "description": "Suffix portion of the fully qualified domain name (eg. fortinet.com in \"www.fortinet.com\"). The structure of `host_domain_name_suffix` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "requestCacheControl": {
          "type": "string",
          "description": "Enable/disable HTTP request cache control. Valid values: `enable`, `disable`.\n"
        },
        "responseCacheControl": {
          "type": "string",
          "description": "Enable/disable HTTP response cache control. Valid values: `enable`, `disable`.\n"
        },
        "responseExpires": {
          "type": "string",
          "description": "Enable/disable HTTP response cache expires. Valid values: `enable`, `disable`.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRule:ContentdeliverynetworkruleRule"
          },
          "description": "WAN optimization content delivery network rule entries. The structure of `rules` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable WAN optimization content delivery network rules. Valid values: `enable`, `disable`.\n"
        },
        "textResponseVcache": {
          "type": "string",
          "description": "Enable/disable caching of text responses. Valid values: `enable`, `disable`.\n"
        },
        "updateserver": {
          "type": "string",
          "description": "Enable/disable update server. 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": [
        "category",
        "name",
        "requestCacheControl",
        "responseCacheControl",
        "responseExpires",
        "status",
        "textResponseVcache",
        "updateserver",
        "vdomparam"
      ],
      "inputProperties": {
        "category": {
          "type": "string",
          "description": "Content delivery network rule category. Valid values: `vcache`, `youtube`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment about this CDN-rule.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "hostDomainNameSuffixes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleHostDomainNameSuffix:ContentdeliverynetworkruleHostDomainNameSuffix"
          },
          "description": "Suffix portion of the fully qualified domain name (eg. fortinet.com in \"www.fortinet.com\"). The structure of `host_domain_name_suffix` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n",
          "willReplaceOnChanges": true
        },
        "requestCacheControl": {
          "type": "string",
          "description": "Enable/disable HTTP request cache control. Valid values: `enable`, `disable`.\n"
        },
        "responseCacheControl": {
          "type": "string",
          "description": "Enable/disable HTTP response cache control. Valid values: `enable`, `disable`.\n"
        },
        "responseExpires": {
          "type": "string",
          "description": "Enable/disable HTTP response cache expires. Valid values: `enable`, `disable`.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRule:ContentdeliverynetworkruleRule"
          },
          "description": "WAN optimization content delivery network rule entries. The structure of `rules` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable WAN optimization content delivery network rules. Valid values: `enable`, `disable`.\n"
        },
        "textResponseVcache": {
          "type": "string",
          "description": "Enable/disable caching of text responses. Valid values: `enable`, `disable`.\n"
        },
        "updateserver": {
          "type": "string",
          "description": "Enable/disable update server. 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 Contentdeliverynetworkrule resources.\n",
        "properties": {
          "category": {
            "type": "string",
            "description": "Content delivery network rule category. Valid values: `vcache`, `youtube`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment about this CDN-rule.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
          },
          "hostDomainNameSuffixes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleHostDomainNameSuffix:ContentdeliverynetworkruleHostDomainNameSuffix"
            },
            "description": "Suffix portion of the fully qualified domain name (eg. fortinet.com in \"www.fortinet.com\"). The structure of `host_domain_name_suffix` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n",
            "willReplaceOnChanges": true
          },
          "requestCacheControl": {
            "type": "string",
            "description": "Enable/disable HTTP request cache control. Valid values: `enable`, `disable`.\n"
          },
          "responseCacheControl": {
            "type": "string",
            "description": "Enable/disable HTTP response cache control. Valid values: `enable`, `disable`.\n"
          },
          "responseExpires": {
            "type": "string",
            "description": "Enable/disable HTTP response cache expires. Valid values: `enable`, `disable`.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRule:ContentdeliverynetworkruleRule"
            },
            "description": "WAN optimization content delivery network rule entries. The structure of `rules` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable WAN optimization content delivery network rules. Valid values: `enable`, `disable`.\n"
          },
          "textResponseVcache": {
            "type": "string",
            "description": "Enable/disable caching of text responses. Valid values: `enable`, `disable`.\n"
          },
          "updateserver": {
            "type": "string",
            "description": "Enable/disable update server. 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:wanopt/peer:Peer": {
      "description": "Configure WAN optimization peers.\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.wanopt.Peer(\"trname\", {\n    ip: \"1.1.1.1\",\n    peerHostId: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Peer(\"trname\",\n    ip=\"1.1.1.1\",\n    peer_host_id=\"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.Wanopt.Peer(\"trname\", new()\n    {\n        Ip = \"1.1.1.1\",\n        PeerHostId = \"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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewPeer(ctx, \"trname\", &wanopt.PeerArgs{\n\t\t\tIp:         pulumi.String(\"1.1.1.1\"),\n\t\t\tPeerHostId: 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.wanopt.Peer;\nimport com.pulumi.fortios.wanopt.PeerArgs;\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 Peer(\"trname\", PeerArgs.builder()\n            .ip(\"1.1.1.1\")\n            .peerHostId(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Peer\n    properties:\n      ip: 1.1.1.1\n      peerHostId: '1'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt Peer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/peer:Peer labelname {{peer_host_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:wanopt/peer:Peer labelname {{peer_host_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ip": {
          "type": "string",
          "description": "Peer IP address.\n"
        },
        "peerHostId": {
          "type": "string",
          "description": "Peer host 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": [
        "ip",
        "peerHostId",
        "vdomparam"
      ],
      "inputProperties": {
        "ip": {
          "type": "string",
          "description": "Peer IP address.\n"
        },
        "peerHostId": {
          "type": "string",
          "description": "Peer host ID.\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 Peer resources.\n",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Peer IP address.\n"
          },
          "peerHostId": {
            "type": "string",
            "description": "Peer host ID.\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:wanopt/profile:Profile": {
      "description": "Configure WAN optimization 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.wanopt.Profile(\"trname\", {\n    cifs: {\n        byteCaching: \"enable\",\n        logTraffic: \"enable\",\n        port: 445,\n        preferChunking: \"fix\",\n        secureTunnel: \"disable\",\n        status: \"disable\",\n        tunnelSharing: \"private\",\n    },\n    comments: \"test\",\n    ftp: {\n        byteCaching: \"enable\",\n        logTraffic: \"enable\",\n        port: 21,\n        preferChunking: \"fix\",\n        secureTunnel: \"disable\",\n        status: \"disable\",\n        tunnelSharing: \"private\",\n    },\n    http: {\n        byteCaching: \"enable\",\n        logTraffic: \"enable\",\n        port: 80,\n        preferChunking: \"fix\",\n        secureTunnel: \"disable\",\n        ssl: \"disable\",\n        sslPort: 443,\n        status: \"disable\",\n        tunnelNonHttp: \"disable\",\n        tunnelSharing: \"private\",\n        unknownHttpVersion: \"tunnel\",\n    },\n    mapi: {\n        byteCaching: \"enable\",\n        logTraffic: \"enable\",\n        port: 135,\n        secureTunnel: \"disable\",\n        status: \"disable\",\n        tunnelSharing: \"private\",\n    },\n    tcp: {\n        byteCaching: \"disable\",\n        byteCachingOpt: \"mem-only\",\n        logTraffic: \"enable\",\n        port: \"1-65535\",\n        secureTunnel: \"disable\",\n        ssl: \"disable\",\n        sslPort: 443,\n        status: \"disable\",\n        tunnelSharing: \"private\",\n    },\n    transparent: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Profile(\"trname\",\n    cifs=fortios.wanopt.ProfileCifsArgs(\n        byte_caching=\"enable\",\n        log_traffic=\"enable\",\n        port=445,\n        prefer_chunking=\"fix\",\n        secure_tunnel=\"disable\",\n        status=\"disable\",\n        tunnel_sharing=\"private\",\n    ),\n    comments=\"test\",\n    ftp=fortios.wanopt.ProfileFtpArgs(\n        byte_caching=\"enable\",\n        log_traffic=\"enable\",\n        port=21,\n        prefer_chunking=\"fix\",\n        secure_tunnel=\"disable\",\n        status=\"disable\",\n        tunnel_sharing=\"private\",\n    ),\n    http=fortios.wanopt.ProfileHttpArgs(\n        byte_caching=\"enable\",\n        log_traffic=\"enable\",\n        port=80,\n        prefer_chunking=\"fix\",\n        secure_tunnel=\"disable\",\n        ssl=\"disable\",\n        ssl_port=443,\n        status=\"disable\",\n        tunnel_non_http=\"disable\",\n        tunnel_sharing=\"private\",\n        unknown_http_version=\"tunnel\",\n    ),\n    mapi=fortios.wanopt.ProfileMapiArgs(\n        byte_caching=\"enable\",\n        log_traffic=\"enable\",\n        port=135,\n        secure_tunnel=\"disable\",\n        status=\"disable\",\n        tunnel_sharing=\"private\",\n    ),\n    tcp=fortios.wanopt.ProfileTcpArgs(\n        byte_caching=\"disable\",\n        byte_caching_opt=\"mem-only\",\n        log_traffic=\"enable\",\n        port=\"1-65535\",\n        secure_tunnel=\"disable\",\n        ssl=\"disable\",\n        ssl_port=443,\n        status=\"disable\",\n        tunnel_sharing=\"private\",\n    ),\n    transparent=\"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.Wanopt.Profile(\"trname\", new()\n    {\n        Cifs = new Fortios.Wanopt.Inputs.ProfileCifsArgs\n        {\n            ByteCaching = \"enable\",\n            LogTraffic = \"enable\",\n            Port = 445,\n            PreferChunking = \"fix\",\n            SecureTunnel = \"disable\",\n            Status = \"disable\",\n            TunnelSharing = \"private\",\n        },\n        Comments = \"test\",\n        Ftp = new Fortios.Wanopt.Inputs.ProfileFtpArgs\n        {\n            ByteCaching = \"enable\",\n            LogTraffic = \"enable\",\n            Port = 21,\n            PreferChunking = \"fix\",\n            SecureTunnel = \"disable\",\n            Status = \"disable\",\n            TunnelSharing = \"private\",\n        },\n        Http = new Fortios.Wanopt.Inputs.ProfileHttpArgs\n        {\n            ByteCaching = \"enable\",\n            LogTraffic = \"enable\",\n            Port = 80,\n            PreferChunking = \"fix\",\n            SecureTunnel = \"disable\",\n            Ssl = \"disable\",\n            SslPort = 443,\n            Status = \"disable\",\n            TunnelNonHttp = \"disable\",\n            TunnelSharing = \"private\",\n            UnknownHttpVersion = \"tunnel\",\n        },\n        Mapi = new Fortios.Wanopt.Inputs.ProfileMapiArgs\n        {\n            ByteCaching = \"enable\",\n            LogTraffic = \"enable\",\n            Port = 135,\n            SecureTunnel = \"disable\",\n            Status = \"disable\",\n            TunnelSharing = \"private\",\n        },\n        Tcp = new Fortios.Wanopt.Inputs.ProfileTcpArgs\n        {\n            ByteCaching = \"disable\",\n            ByteCachingOpt = \"mem-only\",\n            LogTraffic = \"enable\",\n            Port = \"1-65535\",\n            SecureTunnel = \"disable\",\n            Ssl = \"disable\",\n            SslPort = 443,\n            Status = \"disable\",\n            TunnelSharing = \"private\",\n        },\n        Transparent = \"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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewProfile(ctx, \"trname\", &wanopt.ProfileArgs{\n\t\t\tCifs: &wanopt.ProfileCifsArgs{\n\t\t\t\tByteCaching:    pulumi.String(\"enable\"),\n\t\t\t\tLogTraffic:     pulumi.String(\"enable\"),\n\t\t\t\tPort:           pulumi.Int(445),\n\t\t\t\tPreferChunking: pulumi.String(\"fix\"),\n\t\t\t\tSecureTunnel:   pulumi.String(\"disable\"),\n\t\t\t\tStatus:         pulumi.String(\"disable\"),\n\t\t\t\tTunnelSharing:  pulumi.String(\"private\"),\n\t\t\t},\n\t\t\tComments: pulumi.String(\"test\"),\n\t\t\tFtp: &wanopt.ProfileFtpArgs{\n\t\t\t\tByteCaching:    pulumi.String(\"enable\"),\n\t\t\t\tLogTraffic:     pulumi.String(\"enable\"),\n\t\t\t\tPort:           pulumi.Int(21),\n\t\t\t\tPreferChunking: pulumi.String(\"fix\"),\n\t\t\t\tSecureTunnel:   pulumi.String(\"disable\"),\n\t\t\t\tStatus:         pulumi.String(\"disable\"),\n\t\t\t\tTunnelSharing:  pulumi.String(\"private\"),\n\t\t\t},\n\t\t\tHttp: &wanopt.ProfileHttpArgs{\n\t\t\t\tByteCaching:        pulumi.String(\"enable\"),\n\t\t\t\tLogTraffic:         pulumi.String(\"enable\"),\n\t\t\t\tPort:               pulumi.Int(80),\n\t\t\t\tPreferChunking:     pulumi.String(\"fix\"),\n\t\t\t\tSecureTunnel:       pulumi.String(\"disable\"),\n\t\t\t\tSsl:                pulumi.String(\"disable\"),\n\t\t\t\tSslPort:            pulumi.Int(443),\n\t\t\t\tStatus:             pulumi.String(\"disable\"),\n\t\t\t\tTunnelNonHttp:      pulumi.String(\"disable\"),\n\t\t\t\tTunnelSharing:      pulumi.String(\"private\"),\n\t\t\t\tUnknownHttpVersion: pulumi.String(\"tunnel\"),\n\t\t\t},\n\t\t\tMapi: &wanopt.ProfileMapiArgs{\n\t\t\t\tByteCaching:   pulumi.String(\"enable\"),\n\t\t\t\tLogTraffic:    pulumi.String(\"enable\"),\n\t\t\t\tPort:          pulumi.Int(135),\n\t\t\t\tSecureTunnel:  pulumi.String(\"disable\"),\n\t\t\t\tStatus:        pulumi.String(\"disable\"),\n\t\t\t\tTunnelSharing: pulumi.String(\"private\"),\n\t\t\t},\n\t\t\tTcp: &wanopt.ProfileTcpArgs{\n\t\t\t\tByteCaching:    pulumi.String(\"disable\"),\n\t\t\t\tByteCachingOpt: pulumi.String(\"mem-only\"),\n\t\t\t\tLogTraffic:     pulumi.String(\"enable\"),\n\t\t\t\tPort:           pulumi.String(\"1-65535\"),\n\t\t\t\tSecureTunnel:   pulumi.String(\"disable\"),\n\t\t\t\tSsl:            pulumi.String(\"disable\"),\n\t\t\t\tSslPort:        pulumi.Int(443),\n\t\t\t\tStatus:         pulumi.String(\"disable\"),\n\t\t\t\tTunnelSharing:  pulumi.String(\"private\"),\n\t\t\t},\n\t\t\tTransparent: 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.wanopt.Profile;\nimport com.pulumi.fortios.wanopt.ProfileArgs;\nimport com.pulumi.fortios.wanopt.inputs.ProfileCifsArgs;\nimport com.pulumi.fortios.wanopt.inputs.ProfileFtpArgs;\nimport com.pulumi.fortios.wanopt.inputs.ProfileHttpArgs;\nimport com.pulumi.fortios.wanopt.inputs.ProfileMapiArgs;\nimport com.pulumi.fortios.wanopt.inputs.ProfileTcpArgs;\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            .cifs(ProfileCifsArgs.builder()\n                .byteCaching(\"enable\")\n                .logTraffic(\"enable\")\n                .port(445)\n                .preferChunking(\"fix\")\n                .secureTunnel(\"disable\")\n                .status(\"disable\")\n                .tunnelSharing(\"private\")\n                .build())\n            .comments(\"test\")\n            .ftp(ProfileFtpArgs.builder()\n                .byteCaching(\"enable\")\n                .logTraffic(\"enable\")\n                .port(21)\n                .preferChunking(\"fix\")\n                .secureTunnel(\"disable\")\n                .status(\"disable\")\n                .tunnelSharing(\"private\")\n                .build())\n            .http(ProfileHttpArgs.builder()\n                .byteCaching(\"enable\")\n                .logTraffic(\"enable\")\n                .port(80)\n                .preferChunking(\"fix\")\n                .secureTunnel(\"disable\")\n                .ssl(\"disable\")\n                .sslPort(443)\n                .status(\"disable\")\n                .tunnelNonHttp(\"disable\")\n                .tunnelSharing(\"private\")\n                .unknownHttpVersion(\"tunnel\")\n                .build())\n            .mapi(ProfileMapiArgs.builder()\n                .byteCaching(\"enable\")\n                .logTraffic(\"enable\")\n                .port(135)\n                .secureTunnel(\"disable\")\n                .status(\"disable\")\n                .tunnelSharing(\"private\")\n                .build())\n            .tcp(ProfileTcpArgs.builder()\n                .byteCaching(\"disable\")\n                .byteCachingOpt(\"mem-only\")\n                .logTraffic(\"enable\")\n                .port(\"1-65535\")\n                .secureTunnel(\"disable\")\n                .ssl(\"disable\")\n                .sslPort(443)\n                .status(\"disable\")\n                .tunnelSharing(\"private\")\n                .build())\n            .transparent(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Profile\n    properties:\n      cifs:\n        byteCaching: enable\n        logTraffic: enable\n        port: 445\n        preferChunking: fix\n        secureTunnel: disable\n        status: disable\n        tunnelSharing: private\n      comments: test\n      ftp:\n        byteCaching: enable\n        logTraffic: enable\n        port: 21\n        preferChunking: fix\n        secureTunnel: disable\n        status: disable\n        tunnelSharing: private\n      http:\n        byteCaching: enable\n        logTraffic: enable\n        port: 80\n        preferChunking: fix\n        secureTunnel: disable\n        ssl: disable\n        sslPort: 443\n        status: disable\n        tunnelNonHttp: disable\n        tunnelSharing: private\n        unknownHttpVersion: tunnel\n      mapi:\n        byteCaching: enable\n        logTraffic: enable\n        port: 135\n        secureTunnel: disable\n        status: disable\n        tunnelSharing: private\n      tcp:\n        byteCaching: disable\n        byteCachingOpt: mem-only\n        logTraffic: enable\n        port: 1-65535\n        secureTunnel: disable\n        ssl: disable\n        sslPort: 443\n        status: disable\n        tunnelSharing: private\n      transparent: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/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:wanopt/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authGroup": {
          "type": "string",
          "description": "Optionally add an authentication group to restrict access to the WAN Optimization tunnel to peers in the authentication group.\n"
        },
        "cifs": {
          "$ref": "#/types/fortios:wanopt%2FProfileCifs:ProfileCifs",
          "description": "Enable/disable CIFS (Windows sharing) WAN Optimization and configure CIFS WAN Optimization features. The structure of `cifs` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:wanopt%2FProfileFtp:ProfileFtp",
          "description": "Enable/disable FTP WAN Optimization and configure FTP WAN Optimization features. 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:wanopt%2FProfileHttp:ProfileHttp",
          "description": "Enable/disable HTTP WAN Optimization and configure HTTP WAN Optimization features. The structure of `http` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:wanopt%2FProfileMapi:ProfileMapi",
          "description": "Enable/disable MAPI email WAN Optimization and configure MAPI WAN Optimization features. The structure of `mapi` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "tcp": {
          "$ref": "#/types/fortios:wanopt%2FProfileTcp:ProfileTcp",
          "description": "Enable/disable TCP WAN Optimization and configure TCP WAN Optimization features. The structure of `tcp` block is documented below.\n"
        },
        "transparent": {
          "type": "string",
          "description": "Enable/disable transparent mode. 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": [
        "authGroup",
        "cifs",
        "ftp",
        "http",
        "mapi",
        "name",
        "tcp",
        "transparent",
        "vdomparam"
      ],
      "inputProperties": {
        "authGroup": {
          "type": "string",
          "description": "Optionally add an authentication group to restrict access to the WAN Optimization tunnel to peers in the authentication group.\n"
        },
        "cifs": {
          "$ref": "#/types/fortios:wanopt%2FProfileCifs:ProfileCifs",
          "description": "Enable/disable CIFS (Windows sharing) WAN Optimization and configure CIFS WAN Optimization features. The structure of `cifs` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:wanopt%2FProfileFtp:ProfileFtp",
          "description": "Enable/disable FTP WAN Optimization and configure FTP WAN Optimization features. 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:wanopt%2FProfileHttp:ProfileHttp",
          "description": "Enable/disable HTTP WAN Optimization and configure HTTP WAN Optimization features. The structure of `http` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:wanopt%2FProfileMapi:ProfileMapi",
          "description": "Enable/disable MAPI email WAN Optimization and configure MAPI WAN Optimization features. The structure of `mapi` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "tcp": {
          "$ref": "#/types/fortios:wanopt%2FProfileTcp:ProfileTcp",
          "description": "Enable/disable TCP WAN Optimization and configure TCP WAN Optimization features. The structure of `tcp` block is documented below.\n"
        },
        "transparent": {
          "type": "string",
          "description": "Enable/disable transparent mode. 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 Profile resources.\n",
        "properties": {
          "authGroup": {
            "type": "string",
            "description": "Optionally add an authentication group to restrict access to the WAN Optimization tunnel to peers in the authentication group.\n"
          },
          "cifs": {
            "$ref": "#/types/fortios:wanopt%2FProfileCifs:ProfileCifs",
            "description": "Enable/disable CIFS (Windows sharing) WAN Optimization and configure CIFS WAN Optimization features. The structure of `cifs` block is documented below.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "ftp": {
            "$ref": "#/types/fortios:wanopt%2FProfileFtp:ProfileFtp",
            "description": "Enable/disable FTP WAN Optimization and configure FTP WAN Optimization features. 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:wanopt%2FProfileHttp:ProfileHttp",
            "description": "Enable/disable HTTP WAN Optimization and configure HTTP WAN Optimization features. The structure of `http` block is documented below.\n"
          },
          "mapi": {
            "$ref": "#/types/fortios:wanopt%2FProfileMapi:ProfileMapi",
            "description": "Enable/disable MAPI email WAN Optimization and configure MAPI WAN Optimization features. The structure of `mapi` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "tcp": {
            "$ref": "#/types/fortios:wanopt%2FProfileTcp:ProfileTcp",
            "description": "Enable/disable TCP WAN Optimization and configure TCP WAN Optimization features. The structure of `tcp` block is documented below.\n"
          },
          "transparent": {
            "type": "string",
            "description": "Enable/disable transparent mode. 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:wanopt/remotestorage:Remotestorage": {
      "description": "Configure a remote cache device as Web cache storage.\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.wanopt.Remotestorage(\"trname\", {\n    remoteCacheIp: \"0.0.0.0\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Remotestorage(\"trname\",\n    remote_cache_ip=\"0.0.0.0\",\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.Wanopt.Remotestorage(\"trname\", new()\n    {\n        RemoteCacheIp = \"0.0.0.0\",\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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewRemotestorage(ctx, \"trname\", &wanopt.RemotestorageArgs{\n\t\t\tRemoteCacheIp: pulumi.String(\"0.0.0.0\"),\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.wanopt.Remotestorage;\nimport com.pulumi.fortios.wanopt.RemotestorageArgs;\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 Remotestorage(\"trname\", RemotestorageArgs.builder()\n            .remoteCacheIp(\"0.0.0.0\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Remotestorage\n    properties:\n      remoteCacheIp: 0.0.0.0\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt RemoteStorage can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/remotestorage:Remotestorage labelname WanoptRemoteStorage\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:wanopt/remotestorage:Remotestorage labelname WanoptRemoteStorage\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "localCacheId": {
          "type": "string",
          "description": "ID that this device uses to connect to the remote device.\n"
        },
        "remoteCacheId": {
          "type": "string",
          "description": "ID of the remote device to which the device connects.\n"
        },
        "remoteCacheIp": {
          "type": "string",
          "description": "IP address of the remote device to which the device connects.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable using remote device as Web cache storage. 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": [
        "localCacheId",
        "remoteCacheId",
        "remoteCacheIp",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "localCacheId": {
          "type": "string",
          "description": "ID that this device uses to connect to the remote device.\n"
        },
        "remoteCacheId": {
          "type": "string",
          "description": "ID of the remote device to which the device connects.\n"
        },
        "remoteCacheIp": {
          "type": "string",
          "description": "IP address of the remote device to which the device connects.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable using remote device as Web cache storage. 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 Remotestorage resources.\n",
        "properties": {
          "localCacheId": {
            "type": "string",
            "description": "ID that this device uses to connect to the remote device.\n"
          },
          "remoteCacheId": {
            "type": "string",
            "description": "ID of the remote device to which the device connects.\n"
          },
          "remoteCacheIp": {
            "type": "string",
            "description": "IP address of the remote device to which the device connects.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable using remote device as Web cache storage. 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:wanopt/settings:Settings": {
      "description": "Configure WAN optimization 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.wanopt.Settings(\"trname\", {\n    autoDetectAlgorithm: \"simple\",\n    hostId: \"default-id\",\n    tunnelSslAlgorithm: \"high\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Settings(\"trname\",\n    auto_detect_algorithm=\"simple\",\n    host_id=\"default-id\",\n    tunnel_ssl_algorithm=\"high\")\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.Wanopt.Settings(\"trname\", new()\n    {\n        AutoDetectAlgorithm = \"simple\",\n        HostId = \"default-id\",\n        TunnelSslAlgorithm = \"high\",\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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewSettings(ctx, \"trname\", &wanopt.SettingsArgs{\n\t\t\tAutoDetectAlgorithm: pulumi.String(\"simple\"),\n\t\t\tHostId:              pulumi.String(\"default-id\"),\n\t\t\tTunnelSslAlgorithm:  pulumi.String(\"high\"),\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.wanopt.Settings;\nimport com.pulumi.fortios.wanopt.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            .autoDetectAlgorithm(\"simple\")\n            .hostId(\"default-id\")\n            .tunnelSslAlgorithm(\"high\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Settings\n    properties:\n      autoDetectAlgorithm: simple\n      hostId: default-id\n      tunnelSslAlgorithm: high\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/settings:Settings labelname WanoptSettings\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:wanopt/settings:Settings labelname WanoptSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoDetectAlgorithm": {
          "type": "string",
          "description": "Auto detection algorithms used in tunnel negotiations. Valid values: `simple`, `diff-req-resp`.\n"
        },
        "hostId": {
          "type": "string",
          "description": "Local host ID (must also be entered in the remote FortiGate's peer list).\n"
        },
        "tunnelOptimization": {
          "type": "string",
          "description": "WANOpt tunnel optimization option. Valid values: `memory-usage`, `balanced`, `throughput`.\n"
        },
        "tunnelSslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted during tunnel negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "autoDetectAlgorithm",
        "hostId",
        "tunnelOptimization",
        "tunnelSslAlgorithm",
        "vdomparam"
      ],
      "inputProperties": {
        "autoDetectAlgorithm": {
          "type": "string",
          "description": "Auto detection algorithms used in tunnel negotiations. Valid values: `simple`, `diff-req-resp`.\n"
        },
        "hostId": {
          "type": "string",
          "description": "Local host ID (must also be entered in the remote FortiGate's peer list).\n"
        },
        "tunnelOptimization": {
          "type": "string",
          "description": "WANOpt tunnel optimization option. Valid values: `memory-usage`, `balanced`, `throughput`.\n"
        },
        "tunnelSslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted during tunnel negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "hostId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "autoDetectAlgorithm": {
            "type": "string",
            "description": "Auto detection algorithms used in tunnel negotiations. Valid values: `simple`, `diff-req-resp`.\n"
          },
          "hostId": {
            "type": "string",
            "description": "Local host ID (must also be entered in the remote FortiGate's peer list).\n"
          },
          "tunnelOptimization": {
            "type": "string",
            "description": "WANOpt tunnel optimization option. Valid values: `memory-usage`, `balanced`, `throughput`.\n"
          },
          "tunnelSslAlgorithm": {
            "type": "string",
            "description": "Relative strength of encryption algorithms accepted during tunnel negotiation. Valid values: `high`, `medium`, `low`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wanopt/webcache:Webcache": {
      "description": "Configure global Web 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.wanopt.Webcache(\"trname\", {\n    alwaysRevalidate: \"disable\",\n    cacheByDefault: \"disable\",\n    cacheCookie: \"disable\",\n    cacheExpired: \"disable\",\n    defaultTtl: 1440,\n    external: \"disable\",\n    freshFactor: 100,\n    hostValidate: \"disable\",\n    ignoreConditional: \"disable\",\n    ignoreIeReload: \"enable\",\n    ignoreIms: \"disable\",\n    ignorePnc: \"disable\",\n    maxObjectSize: 512000,\n    maxTtl: 7200,\n    minTtl: 5,\n    negRespTime: 0,\n    revalPnc: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wanopt.Webcache(\"trname\",\n    always_revalidate=\"disable\",\n    cache_by_default=\"disable\",\n    cache_cookie=\"disable\",\n    cache_expired=\"disable\",\n    default_ttl=1440,\n    external=\"disable\",\n    fresh_factor=100,\n    host_validate=\"disable\",\n    ignore_conditional=\"disable\",\n    ignore_ie_reload=\"enable\",\n    ignore_ims=\"disable\",\n    ignore_pnc=\"disable\",\n    max_object_size=512000,\n    max_ttl=7200,\n    min_ttl=5,\n    neg_resp_time=0,\n    reval_pnc=\"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.Wanopt.Webcache(\"trname\", new()\n    {\n        AlwaysRevalidate = \"disable\",\n        CacheByDefault = \"disable\",\n        CacheCookie = \"disable\",\n        CacheExpired = \"disable\",\n        DefaultTtl = 1440,\n        External = \"disable\",\n        FreshFactor = 100,\n        HostValidate = \"disable\",\n        IgnoreConditional = \"disable\",\n        IgnoreIeReload = \"enable\",\n        IgnoreIms = \"disable\",\n        IgnorePnc = \"disable\",\n        MaxObjectSize = 512000,\n        MaxTtl = 7200,\n        MinTtl = 5,\n        NegRespTime = 0,\n        RevalPnc = \"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/wanopt\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wanopt.NewWebcache(ctx, \"trname\", &wanopt.WebcacheArgs{\n\t\t\tAlwaysRevalidate:  pulumi.String(\"disable\"),\n\t\t\tCacheByDefault:    pulumi.String(\"disable\"),\n\t\t\tCacheCookie:       pulumi.String(\"disable\"),\n\t\t\tCacheExpired:      pulumi.String(\"disable\"),\n\t\t\tDefaultTtl:        pulumi.Int(1440),\n\t\t\tExternal:          pulumi.String(\"disable\"),\n\t\t\tFreshFactor:       pulumi.Int(100),\n\t\t\tHostValidate:      pulumi.String(\"disable\"),\n\t\t\tIgnoreConditional: pulumi.String(\"disable\"),\n\t\t\tIgnoreIeReload:    pulumi.String(\"enable\"),\n\t\t\tIgnoreIms:         pulumi.String(\"disable\"),\n\t\t\tIgnorePnc:         pulumi.String(\"disable\"),\n\t\t\tMaxObjectSize:     pulumi.Int(512000),\n\t\t\tMaxTtl:            pulumi.Int(7200),\n\t\t\tMinTtl:            pulumi.Int(5),\n\t\t\tNegRespTime:       pulumi.Int(0),\n\t\t\tRevalPnc:          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.wanopt.Webcache;\nimport com.pulumi.fortios.wanopt.WebcacheArgs;\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 Webcache(\"trname\", WebcacheArgs.builder()\n            .alwaysRevalidate(\"disable\")\n            .cacheByDefault(\"disable\")\n            .cacheCookie(\"disable\")\n            .cacheExpired(\"disable\")\n            .defaultTtl(1440)\n            .external(\"disable\")\n            .freshFactor(100)\n            .hostValidate(\"disable\")\n            .ignoreConditional(\"disable\")\n            .ignoreIeReload(\"enable\")\n            .ignoreIms(\"disable\")\n            .ignorePnc(\"disable\")\n            .maxObjectSize(512000)\n            .maxTtl(7200)\n            .minTtl(5)\n            .negRespTime(0)\n            .revalPnc(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wanopt:Webcache\n    properties:\n      alwaysRevalidate: disable\n      cacheByDefault: disable\n      cacheCookie: disable\n      cacheExpired: disable\n      defaultTtl: 1440\n      external: disable\n      freshFactor: 100\n      hostValidate: disable\n      ignoreConditional: disable\n      ignoreIeReload: enable\n      ignoreIms: disable\n      ignorePnc: disable\n      maxObjectSize: 512000\n      maxTtl: 7200\n      minTtl: 5\n      negRespTime: 0\n      revalPnc: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWanopt Webcache can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wanopt/webcache:Webcache labelname WanoptWebcache\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:wanopt/webcache:Webcache labelname WanoptWebcache\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "alwaysRevalidate": {
          "type": "string",
          "description": "Enable/disable revalidation of requested cached objects, which have content on the server, before serving it to the client. Valid values: `enable`, `disable`.\n"
        },
        "cacheByDefault": {
          "type": "string",
          "description": "Enable/disable caching content that lacks explicit caching policies from the server. Valid values: `enable`, `disable`.\n"
        },
        "cacheCookie": {
          "type": "string",
          "description": "Enable/disable caching cookies. Since cookies contain information for or about individual users, they not usually cached. Valid values: `enable`, `disable`.\n"
        },
        "cacheExpired": {
          "type": "string",
          "description": "Enable/disable caching type-1 objects that are already expired on arrival. Valid values: `enable`, `disable`.\n"
        },
        "defaultTtl": {
          "type": "integer",
          "description": "Default object expiry time (default = 1440 min (1 day); maximum = 5256000 min (10 years)). This only applies to those objects that do not have an expiry time set by the web server.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Web caching. Valid values: `enable`, `disable`.\n"
        },
        "freshFactor": {
          "type": "integer",
          "description": "Frequency that the server is checked to see if any objects have expired (1 - 100, default = 100). The higher the fresh factor, the less often the checks occur.\n"
        },
        "hostValidate": {
          "type": "string",
          "description": "Enable/disable validating \"Host:\" with original server IP. Valid values: `enable`, `disable`.\n"
        },
        "ignoreConditional": {
          "type": "string",
          "description": "Enable/disable controlling the behavior of cache-control HTTP 1.1 header values. Valid values: `enable`, `disable`.\n"
        },
        "ignoreIeReload": {
          "type": "string",
          "description": "Enable/disable ignoring the PNC-interpretation of Internet Explorer's Accept: / header. Valid values: `enable`, `disable`.\n"
        },
        "ignoreIms": {
          "type": "string",
          "description": "Enable/disable ignoring the if-modified-since (IMS) header. Valid values: `enable`, `disable`.\n"
        },
        "ignorePnc": {
          "type": "string",
          "description": "Enable/disable ignoring the pragma no-cache (PNC) header. Valid values: `enable`, `disable`.\n"
        },
        "maxObjectSize": {
          "type": "integer",
          "description": "Maximum cacheable object size in kB (1 - 2147483 kb (2GB). All objects that exceed this are delivered to the client but not stored in the web cache.\n"
        },
        "maxTtl": {
          "type": "integer",
          "description": "Maximum time an object can stay in the web cache without checking to see if it has expired on the server (default = 7200 min (5 days); maximum = 5256000 min (10 years)).\n"
        },
        "minTtl": {
          "type": "integer",
          "description": "Minimum time an object can stay in the web cache without checking to see if it has expired on the server (default = 5 min; maximum = 5256000 (10 years)).\n"
        },
        "negRespTime": {
          "type": "integer",
          "description": "Time in minutes to cache negative responses or errors (0 - 4294967295, default = 0  which means negative responses are not cached).\n"
        },
        "revalPnc": {
          "type": "string",
          "description": "Enable/disable revalidation of pragma-no-cache (PNC) to address bandwidth concerns. 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": [
        "alwaysRevalidate",
        "cacheByDefault",
        "cacheCookie",
        "cacheExpired",
        "defaultTtl",
        "external",
        "freshFactor",
        "hostValidate",
        "ignoreConditional",
        "ignoreIeReload",
        "ignoreIms",
        "ignorePnc",
        "maxObjectSize",
        "maxTtl",
        "minTtl",
        "negRespTime",
        "revalPnc",
        "vdomparam"
      ],
      "inputProperties": {
        "alwaysRevalidate": {
          "type": "string",
          "description": "Enable/disable revalidation of requested cached objects, which have content on the server, before serving it to the client. Valid values: `enable`, `disable`.\n"
        },
        "cacheByDefault": {
          "type": "string",
          "description": "Enable/disable caching content that lacks explicit caching policies from the server. Valid values: `enable`, `disable`.\n"
        },
        "cacheCookie": {
          "type": "string",
          "description": "Enable/disable caching cookies. Since cookies contain information for or about individual users, they not usually cached. Valid values: `enable`, `disable`.\n"
        },
        "cacheExpired": {
          "type": "string",
          "description": "Enable/disable caching type-1 objects that are already expired on arrival. Valid values: `enable`, `disable`.\n"
        },
        "defaultTtl": {
          "type": "integer",
          "description": "Default object expiry time (default = 1440 min (1 day); maximum = 5256000 min (10 years)). This only applies to those objects that do not have an expiry time set by the web server.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Web caching. Valid values: `enable`, `disable`.\n"
        },
        "freshFactor": {
          "type": "integer",
          "description": "Frequency that the server is checked to see if any objects have expired (1 - 100, default = 100). The higher the fresh factor, the less often the checks occur.\n"
        },
        "hostValidate": {
          "type": "string",
          "description": "Enable/disable validating \"Host:\" with original server IP. Valid values: `enable`, `disable`.\n"
        },
        "ignoreConditional": {
          "type": "string",
          "description": "Enable/disable controlling the behavior of cache-control HTTP 1.1 header values. Valid values: `enable`, `disable`.\n"
        },
        "ignoreIeReload": {
          "type": "string",
          "description": "Enable/disable ignoring the PNC-interpretation of Internet Explorer's Accept: / header. Valid values: `enable`, `disable`.\n"
        },
        "ignoreIms": {
          "type": "string",
          "description": "Enable/disable ignoring the if-modified-since (IMS) header. Valid values: `enable`, `disable`.\n"
        },
        "ignorePnc": {
          "type": "string",
          "description": "Enable/disable ignoring the pragma no-cache (PNC) header. Valid values: `enable`, `disable`.\n"
        },
        "maxObjectSize": {
          "type": "integer",
          "description": "Maximum cacheable object size in kB (1 - 2147483 kb (2GB). All objects that exceed this are delivered to the client but not stored in the web cache.\n"
        },
        "maxTtl": {
          "type": "integer",
          "description": "Maximum time an object can stay in the web cache without checking to see if it has expired on the server (default = 7200 min (5 days); maximum = 5256000 min (10 years)).\n"
        },
        "minTtl": {
          "type": "integer",
          "description": "Minimum time an object can stay in the web cache without checking to see if it has expired on the server (default = 5 min; maximum = 5256000 (10 years)).\n"
        },
        "negRespTime": {
          "type": "integer",
          "description": "Time in minutes to cache negative responses or errors (0 - 4294967295, default = 0  which means negative responses are not cached).\n"
        },
        "revalPnc": {
          "type": "string",
          "description": "Enable/disable revalidation of pragma-no-cache (PNC) to address bandwidth concerns. 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 Webcache resources.\n",
        "properties": {
          "alwaysRevalidate": {
            "type": "string",
            "description": "Enable/disable revalidation of requested cached objects, which have content on the server, before serving it to the client. Valid values: `enable`, `disable`.\n"
          },
          "cacheByDefault": {
            "type": "string",
            "description": "Enable/disable caching content that lacks explicit caching policies from the server. Valid values: `enable`, `disable`.\n"
          },
          "cacheCookie": {
            "type": "string",
            "description": "Enable/disable caching cookies. Since cookies contain information for or about individual users, they not usually cached. Valid values: `enable`, `disable`.\n"
          },
          "cacheExpired": {
            "type": "string",
            "description": "Enable/disable caching type-1 objects that are already expired on arrival. Valid values: `enable`, `disable`.\n"
          },
          "defaultTtl": {
            "type": "integer",
            "description": "Default object expiry time (default = 1440 min (1 day); maximum = 5256000 min (10 years)). This only applies to those objects that do not have an expiry time set by the web server.\n"
          },
          "external": {
            "type": "string",
            "description": "Enable/disable external Web caching. Valid values: `enable`, `disable`.\n"
          },
          "freshFactor": {
            "type": "integer",
            "description": "Frequency that the server is checked to see if any objects have expired (1 - 100, default = 100). The higher the fresh factor, the less often the checks occur.\n"
          },
          "hostValidate": {
            "type": "string",
            "description": "Enable/disable validating \"Host:\" with original server IP. Valid values: `enable`, `disable`.\n"
          },
          "ignoreConditional": {
            "type": "string",
            "description": "Enable/disable controlling the behavior of cache-control HTTP 1.1 header values. Valid values: `enable`, `disable`.\n"
          },
          "ignoreIeReload": {
            "type": "string",
            "description": "Enable/disable ignoring the PNC-interpretation of Internet Explorer's Accept: / header. Valid values: `enable`, `disable`.\n"
          },
          "ignoreIms": {
            "type": "string",
            "description": "Enable/disable ignoring the if-modified-since (IMS) header. Valid values: `enable`, `disable`.\n"
          },
          "ignorePnc": {
            "type": "string",
            "description": "Enable/disable ignoring the pragma no-cache (PNC) header. Valid values: `enable`, `disable`.\n"
          },
          "maxObjectSize": {
            "type": "integer",
            "description": "Maximum cacheable object size in kB (1 - 2147483 kb (2GB). All objects that exceed this are delivered to the client but not stored in the web cache.\n"
          },
          "maxTtl": {
            "type": "integer",
            "description": "Maximum time an object can stay in the web cache without checking to see if it has expired on the server (default = 7200 min (5 days); maximum = 5256000 min (10 years)).\n"
          },
          "minTtl": {
            "type": "integer",
            "description": "Minimum time an object can stay in the web cache without checking to see if it has expired on the server (default = 5 min; maximum = 5256000 (10 years)).\n"
          },
          "negRespTime": {
            "type": "integer",
            "description": "Time in minutes to cache negative responses or errors (0 - 4294967295, default = 0  which means negative responses are not cached).\n"
          },
          "revalPnc": {
            "type": "string",
            "description": "Enable/disable revalidation of pragma-no-cache (PNC) to address bandwidth concerns. 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:webproxy/debugurl:Debugurl": {
      "description": "Configure debug URL 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.webproxy.Debugurl(\"trname\", {\n    exact: \"enable\",\n    status: \"enable\",\n    urlPattern: \"/examples/servlet/*Servlet\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.webproxy.Debugurl(\"trname\",\n    exact=\"enable\",\n    status=\"enable\",\n    url_pattern=\"/examples/servlet/*Servlet\")\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.Webproxy.Debugurl(\"trname\", new()\n    {\n        Exact = \"enable\",\n        Status = \"enable\",\n        UrlPattern = \"/examples/servlet/*Servlet\",\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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webproxy.NewDebugurl(ctx, \"trname\", &webproxy.DebugurlArgs{\n\t\t\tExact:      pulumi.String(\"enable\"),\n\t\t\tStatus:     pulumi.String(\"enable\"),\n\t\t\tUrlPattern: pulumi.String(\"/examples/servlet/*Servlet\"),\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.webproxy.Debugurl;\nimport com.pulumi.fortios.webproxy.DebugurlArgs;\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 Debugurl(\"trname\", DebugurlArgs.builder()\n            .exact(\"enable\")\n            .status(\"enable\")\n            .urlPattern(\"/examples/servlet/*Servlet\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:webproxy:Debugurl\n    properties:\n      exact: enable\n      status: enable\n      urlPattern: /examples/servlet/*Servlet\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy DebugUrl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/debugurl:Debugurl 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:webproxy/debugurl:Debugurl labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "exact": {
          "type": "string",
          "description": "Enable/disable matching the exact path. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Debug URL name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this URL exemption. Valid values: `enable`, `disable`.\n"
        },
        "urlPattern": {
          "type": "string",
          "description": "URL exemption 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"
        }
      },
      "type": "object",
      "required": [
        "exact",
        "name",
        "status",
        "urlPattern",
        "vdomparam"
      ],
      "inputProperties": {
        "exact": {
          "type": "string",
          "description": "Enable/disable matching the exact path. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Debug URL name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this URL exemption. Valid values: `enable`, `disable`.\n"
        },
        "urlPattern": {
          "type": "string",
          "description": "URL exemption 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
        }
      },
      "requiredInputs": [
        "urlPattern"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Debugurl resources.\n",
        "properties": {
          "exact": {
            "type": "string",
            "description": "Enable/disable matching the exact path. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Debug URL name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this URL exemption. Valid values: `enable`, `disable`.\n"
          },
          "urlPattern": {
            "type": "string",
            "description": "URL exemption 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
          }
        },
        "type": "object"
      }
    },
    "fortios:webproxy/explicit:Explicit": {
      "description": "Configure explicit Web proxy settings.\n\n## Import\n\nWebProxy Explicit can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/explicit:Explicit labelname WebProxyExplicit\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:webproxy/explicit:Explicit labelname WebProxyExplicit\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `accept`, `block`, `accept-unmanageable`.\n"
        },
        "ftpIncomingPort": {
          "type": "string",
          "description": "Accept incoming FTP-over-HTTP requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "ftpOverHttp": {
          "type": "string",
          "description": "Enable to proxy FTP-over-HTTP sessions sent from a web browser. 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"
        },
        "httpConnectionMode": {
          "type": "string",
          "description": "HTTP connection mode (default = static). Valid values: `static`, `multiplex`, `serverpool`.\n"
        },
        "httpIncomingPort": {
          "type": "string",
          "description": "Accept incoming HTTP requests on one or more ports (0 - 65535, default = 8080).\n"
        },
        "httpsIncomingPort": {
          "type": "string",
          "description": "Accept incoming HTTPS requests on one or more ports (0 - 65535, default = 0, use the same as HTTP).\n"
        },
        "httpsReplacementMessage": {
          "type": "string",
          "description": "Enable/disable sending the client a replacement message for HTTPS requests. Valid values: `enable`, `disable`.\n"
        },
        "incomingIp": {
          "type": "string",
          "description": "Restrict the explicit HTTP proxy to only accept sessions from this IP address. An interface must have this IP address.\n"
        },
        "incomingIp6": {
          "type": "string",
          "description": "Restrict the explicit web proxy to only accept sessions from this IPv6 address. An interface must have this IPv6 address.\n"
        },
        "ipv6Status": {
          "type": "string",
          "description": "Enable/disable allowing an IPv6 web proxy destination in policies and all IPv6 related entries in this command. Valid values: `enable`, `disable`.\n"
        },
        "messageUponServerError": {
          "type": "string",
          "description": "Enable/disable displaying a replacement message when a server error is detected. Valid values: `enable`, `disable`.\n"
        },
        "outgoingIp": {
          "type": "string",
          "description": "Outgoing HTTP requests will have this IP address as their source address. An interface must have this IP address.\n"
        },
        "outgoingIp6": {
          "type": "string",
          "description": "Outgoing HTTP requests will leave this IPv6. Multiple interfaces can be specified. Interfaces must have these IPv6 addresses.\n"
        },
        "pacFileData": {
          "type": "string",
          "description": "PAC file contents enclosed in quotes (maximum of 256K bytes).\n"
        },
        "pacFileName": {
          "type": "string",
          "description": "Pac file name.\n"
        },
        "pacFileServerPort": {
          "type": "string",
          "description": "Port number that PAC traffic from client web browsers uses to connect to the explicit web proxy (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "pacFileServerStatus": {
          "type": "string",
          "description": "Enable/disable Proxy Auto-Configuration (PAC) for users of this explicit proxy profile. Valid values: `enable`, `disable`.\n"
        },
        "pacFileThroughHttps": {
          "type": "string",
          "description": "Enable/disable to get Proxy Auto-Configuration (PAC) through HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "pacFileUrl": {
          "type": "string",
          "description": "PAC file access URL.\n"
        },
        "pacPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicy:ExplicitPacPolicy"
          },
          "description": "PAC policies. The structure of `pac_policy` block is documented below.\n"
        },
        "prefDnsResult": {
          "type": "string",
          "description": "Prefer resolving addresses using the configured IPv4 or IPv6 DNS server (default = ipv4).\n"
        },
        "realm": {
          "type": "string",
          "description": "Authentication realm used to identify the explicit web proxy (maximum of 63 characters).\n"
        },
        "secDefaultAction": {
          "type": "string",
          "description": "Accept or deny explicit web proxy sessions when no web proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
        },
        "secureWebProxy": {
          "type": "string",
          "description": "Enable/disable/require the secure web proxy for HTTP and HTTPS session. Valid values: `disable`, `enable`, `secure`.\n"
        },
        "secureWebProxyCerts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitSecureWebProxyCert:ExplicitSecureWebProxyCert"
          },
          "description": "Name of certificates for secure web proxy. The structure of `secure_web_proxy_cert` block is documented below.\n"
        },
        "socks": {
          "type": "string",
          "description": "Enable/disable the SOCKS proxy. Valid values: `enable`, `disable`.\n"
        },
        "socksIncomingPort": {
          "type": "string",
          "description": "Accept incoming SOCKS proxy requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in HTTPS deep scan: high, medium, or low. Valid values: `high`, `medium`, `low`.\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 Web proxy for HTTP and HTTPS session. Valid values: `enable`, `disable`.\n"
        },
        "strictGuest": {
          "type": "string",
          "description": "Enable/disable strict guest user checking by the explicit web proxy. Valid values: `enable`, `disable`.\n"
        },
        "traceAuthNoRsp": {
          "type": "string",
          "description": "Enable/disable logging timed-out authentication requests. Valid values: `enable`, `disable`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "Either reject unknown HTTP traffic as malformed or handle unknown HTTP traffic as best as the proxy server can.\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"
        }
      },
      "type": "object",
      "required": [
        "clientCert",
        "emptyCertAction",
        "ftpIncomingPort",
        "ftpOverHttp",
        "httpConnectionMode",
        "httpIncomingPort",
        "httpsIncomingPort",
        "httpsReplacementMessage",
        "incomingIp",
        "incomingIp6",
        "ipv6Status",
        "messageUponServerError",
        "outgoingIp",
        "outgoingIp6",
        "pacFileData",
        "pacFileName",
        "pacFileServerPort",
        "pacFileServerStatus",
        "pacFileThroughHttps",
        "pacFileUrl",
        "prefDnsResult",
        "realm",
        "secDefaultAction",
        "secureWebProxy",
        "socks",
        "socksIncomingPort",
        "sslAlgorithm",
        "sslDhBits",
        "status",
        "strictGuest",
        "traceAuthNoRsp",
        "unknownHttpVersion",
        "userAgentDetect",
        "vdomparam"
      ],
      "inputProperties": {
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `accept`, `block`, `accept-unmanageable`.\n"
        },
        "ftpIncomingPort": {
          "type": "string",
          "description": "Accept incoming FTP-over-HTTP requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "ftpOverHttp": {
          "type": "string",
          "description": "Enable to proxy FTP-over-HTTP sessions sent from a web browser. 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"
        },
        "httpConnectionMode": {
          "type": "string",
          "description": "HTTP connection mode (default = static). Valid values: `static`, `multiplex`, `serverpool`.\n"
        },
        "httpIncomingPort": {
          "type": "string",
          "description": "Accept incoming HTTP requests on one or more ports (0 - 65535, default = 8080).\n"
        },
        "httpsIncomingPort": {
          "type": "string",
          "description": "Accept incoming HTTPS requests on one or more ports (0 - 65535, default = 0, use the same as HTTP).\n"
        },
        "httpsReplacementMessage": {
          "type": "string",
          "description": "Enable/disable sending the client a replacement message for HTTPS requests. Valid values: `enable`, `disable`.\n"
        },
        "incomingIp": {
          "type": "string",
          "description": "Restrict the explicit HTTP proxy to only accept sessions from this IP address. An interface must have this IP address.\n"
        },
        "incomingIp6": {
          "type": "string",
          "description": "Restrict the explicit web proxy to only accept sessions from this IPv6 address. An interface must have this IPv6 address.\n"
        },
        "ipv6Status": {
          "type": "string",
          "description": "Enable/disable allowing an IPv6 web proxy destination in policies and all IPv6 related entries in this command. Valid values: `enable`, `disable`.\n"
        },
        "messageUponServerError": {
          "type": "string",
          "description": "Enable/disable displaying a replacement message when a server error is detected. Valid values: `enable`, `disable`.\n"
        },
        "outgoingIp": {
          "type": "string",
          "description": "Outgoing HTTP requests will have this IP address as their source address. An interface must have this IP address.\n"
        },
        "outgoingIp6": {
          "type": "string",
          "description": "Outgoing HTTP requests will leave this IPv6. Multiple interfaces can be specified. Interfaces must have these IPv6 addresses.\n"
        },
        "pacFileData": {
          "type": "string",
          "description": "PAC file contents enclosed in quotes (maximum of 256K bytes).\n"
        },
        "pacFileName": {
          "type": "string",
          "description": "Pac file name.\n"
        },
        "pacFileServerPort": {
          "type": "string",
          "description": "Port number that PAC traffic from client web browsers uses to connect to the explicit web proxy (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "pacFileServerStatus": {
          "type": "string",
          "description": "Enable/disable Proxy Auto-Configuration (PAC) for users of this explicit proxy profile. Valid values: `enable`, `disable`.\n"
        },
        "pacFileThroughHttps": {
          "type": "string",
          "description": "Enable/disable to get Proxy Auto-Configuration (PAC) through HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "pacFileUrl": {
          "type": "string",
          "description": "PAC file access URL.\n"
        },
        "pacPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicy:ExplicitPacPolicy"
          },
          "description": "PAC policies. The structure of `pac_policy` block is documented below.\n"
        },
        "prefDnsResult": {
          "type": "string",
          "description": "Prefer resolving addresses using the configured IPv4 or IPv6 DNS server (default = ipv4).\n"
        },
        "realm": {
          "type": "string",
          "description": "Authentication realm used to identify the explicit web proxy (maximum of 63 characters).\n"
        },
        "secDefaultAction": {
          "type": "string",
          "description": "Accept or deny explicit web proxy sessions when no web proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
        },
        "secureWebProxy": {
          "type": "string",
          "description": "Enable/disable/require the secure web proxy for HTTP and HTTPS session. Valid values: `disable`, `enable`, `secure`.\n"
        },
        "secureWebProxyCerts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitSecureWebProxyCert:ExplicitSecureWebProxyCert"
          },
          "description": "Name of certificates for secure web proxy. The structure of `secure_web_proxy_cert` block is documented below.\n"
        },
        "socks": {
          "type": "string",
          "description": "Enable/disable the SOCKS proxy. Valid values: `enable`, `disable`.\n"
        },
        "socksIncomingPort": {
          "type": "string",
          "description": "Accept incoming SOCKS proxy requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in HTTPS deep scan: high, medium, or low. Valid values: `high`, `medium`, `low`.\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 Web proxy for HTTP and HTTPS session. Valid values: `enable`, `disable`.\n"
        },
        "strictGuest": {
          "type": "string",
          "description": "Enable/disable strict guest user checking by the explicit web proxy. Valid values: `enable`, `disable`.\n"
        },
        "traceAuthNoRsp": {
          "type": "string",
          "description": "Enable/disable logging timed-out authentication requests. Valid values: `enable`, `disable`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "Either reject unknown HTTP traffic as malformed or handle unknown HTTP traffic as best as the proxy server can.\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
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Explicit resources.\n",
        "properties": {
          "clientCert": {
            "type": "string",
            "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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. Valid values: `accept`, `block`, `accept-unmanageable`.\n"
          },
          "ftpIncomingPort": {
            "type": "string",
            "description": "Accept incoming FTP-over-HTTP requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
          },
          "ftpOverHttp": {
            "type": "string",
            "description": "Enable to proxy FTP-over-HTTP sessions sent from a web browser. 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"
          },
          "httpConnectionMode": {
            "type": "string",
            "description": "HTTP connection mode (default = static). Valid values: `static`, `multiplex`, `serverpool`.\n"
          },
          "httpIncomingPort": {
            "type": "string",
            "description": "Accept incoming HTTP requests on one or more ports (0 - 65535, default = 8080).\n"
          },
          "httpsIncomingPort": {
            "type": "string",
            "description": "Accept incoming HTTPS requests on one or more ports (0 - 65535, default = 0, use the same as HTTP).\n"
          },
          "httpsReplacementMessage": {
            "type": "string",
            "description": "Enable/disable sending the client a replacement message for HTTPS requests. Valid values: `enable`, `disable`.\n"
          },
          "incomingIp": {
            "type": "string",
            "description": "Restrict the explicit HTTP proxy to only accept sessions from this IP address. An interface must have this IP address.\n"
          },
          "incomingIp6": {
            "type": "string",
            "description": "Restrict the explicit web proxy to only accept sessions from this IPv6 address. An interface must have this IPv6 address.\n"
          },
          "ipv6Status": {
            "type": "string",
            "description": "Enable/disable allowing an IPv6 web proxy destination in policies and all IPv6 related entries in this command. Valid values: `enable`, `disable`.\n"
          },
          "messageUponServerError": {
            "type": "string",
            "description": "Enable/disable displaying a replacement message when a server error is detected. Valid values: `enable`, `disable`.\n"
          },
          "outgoingIp": {
            "type": "string",
            "description": "Outgoing HTTP requests will have this IP address as their source address. An interface must have this IP address.\n"
          },
          "outgoingIp6": {
            "type": "string",
            "description": "Outgoing HTTP requests will leave this IPv6. Multiple interfaces can be specified. Interfaces must have these IPv6 addresses.\n"
          },
          "pacFileData": {
            "type": "string",
            "description": "PAC file contents enclosed in quotes (maximum of 256K bytes).\n"
          },
          "pacFileName": {
            "type": "string",
            "description": "Pac file name.\n"
          },
          "pacFileServerPort": {
            "type": "string",
            "description": "Port number that PAC traffic from client web browsers uses to connect to the explicit web proxy (0 - 65535, default = 0; use the same as HTTP).\n"
          },
          "pacFileServerStatus": {
            "type": "string",
            "description": "Enable/disable Proxy Auto-Configuration (PAC) for users of this explicit proxy profile. Valid values: `enable`, `disable`.\n"
          },
          "pacFileThroughHttps": {
            "type": "string",
            "description": "Enable/disable to get Proxy Auto-Configuration (PAC) through HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "pacFileUrl": {
            "type": "string",
            "description": "PAC file access URL.\n"
          },
          "pacPolicies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicy:ExplicitPacPolicy"
            },
            "description": "PAC policies. The structure of `pac_policy` block is documented below.\n"
          },
          "prefDnsResult": {
            "type": "string",
            "description": "Prefer resolving addresses using the configured IPv4 or IPv6 DNS server (default = ipv4).\n"
          },
          "realm": {
            "type": "string",
            "description": "Authentication realm used to identify the explicit web proxy (maximum of 63 characters).\n"
          },
          "secDefaultAction": {
            "type": "string",
            "description": "Accept or deny explicit web proxy sessions when no web proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
          },
          "secureWebProxy": {
            "type": "string",
            "description": "Enable/disable/require the secure web proxy for HTTP and HTTPS session. Valid values: `disable`, `enable`, `secure`.\n"
          },
          "secureWebProxyCerts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FExplicitSecureWebProxyCert:ExplicitSecureWebProxyCert"
            },
            "description": "Name of certificates for secure web proxy. The structure of `secure_web_proxy_cert` block is documented below.\n"
          },
          "socks": {
            "type": "string",
            "description": "Enable/disable the SOCKS proxy. Valid values: `enable`, `disable`.\n"
          },
          "socksIncomingPort": {
            "type": "string",
            "description": "Accept incoming SOCKS proxy requests on one or more ports (0 - 65535, default = 0; use the same as HTTP).\n"
          },
          "sslAlgorithm": {
            "type": "string",
            "description": "Relative strength of encryption algorithms accepted in HTTPS deep scan: high, medium, or low. Valid values: `high`, `medium`, `low`.\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 Web proxy for HTTP and HTTPS session. Valid values: `enable`, `disable`.\n"
          },
          "strictGuest": {
            "type": "string",
            "description": "Enable/disable strict guest user checking by the explicit web proxy. Valid values: `enable`, `disable`.\n"
          },
          "traceAuthNoRsp": {
            "type": "string",
            "description": "Enable/disable logging timed-out authentication requests. Valid values: `enable`, `disable`.\n"
          },
          "unknownHttpVersion": {
            "type": "string",
            "description": "Either reject unknown HTTP traffic as malformed or handle unknown HTTP traffic as best as the proxy server can.\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
          }
        },
        "type": "object"
      }
    },
    "fortios:webproxy/fastfallback:Fastfallback": {
      "description": "Proxy destination connection fast-fallback. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nWebProxy FastFallback can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/fastfallback:Fastfallback 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:webproxy/fastfallback:Fastfallback labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "connectionMode": {
          "type": "string",
          "description": "Connection mode for multiple destinations. Valid values: `sequentially`, `simultaneously`.\n"
        },
        "connectionTimeout": {
          "type": "integer",
          "description": "Number of milliseconds to wait before starting another connection (200 - 1800000, default = 200). For sequential connection-mode only.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a name for the fast-fallback entry.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Connection protocols for multiple destinations. Valid values: `IPv4-first`, `IPv6-first`, `IPv4-only`, `IPv6-only`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the fast-fallback entry. 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": [
        "connectionMode",
        "connectionTimeout",
        "name",
        "protocol",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "connectionMode": {
          "type": "string",
          "description": "Connection mode for multiple destinations. Valid values: `sequentially`, `simultaneously`.\n"
        },
        "connectionTimeout": {
          "type": "integer",
          "description": "Number of milliseconds to wait before starting another connection (200 - 1800000, default = 200). For sequential connection-mode only.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a name for the fast-fallback entry.\n",
          "willReplaceOnChanges": true
        },
        "protocol": {
          "type": "string",
          "description": "Connection protocols for multiple destinations. Valid values: `IPv4-first`, `IPv6-first`, `IPv4-only`, `IPv6-only`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the fast-fallback entry. 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 Fastfallback resources.\n",
        "properties": {
          "connectionMode": {
            "type": "string",
            "description": "Connection mode for multiple destinations. Valid values: `sequentially`, `simultaneously`.\n"
          },
          "connectionTimeout": {
            "type": "integer",
            "description": "Number of milliseconds to wait before starting another connection (200 - 1800000, default = 200). For sequential connection-mode only.\n"
          },
          "name": {
            "type": "string",
            "description": "Configure a name for the fast-fallback entry.\n",
            "willReplaceOnChanges": true
          },
          "protocol": {
            "type": "string",
            "description": "Connection protocols for multiple destinations. Valid values: `IPv4-first`, `IPv6-first`, `IPv4-only`, `IPv6-only`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the fast-fallback entry. 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:webproxy/forwardserver:Forwardserver": {
      "description": "Configure forward-server 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.webproxy.Forwardserver(\"trname\", {\n    addrType: \"fqdn\",\n    healthcheck: \"disable\",\n    ip: \"0.0.0.0\",\n    monitor: \"http://www.google.com\",\n    port: 3128,\n    serverDownOption: \"block\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.webproxy.Forwardserver(\"trname\",\n    addr_type=\"fqdn\",\n    healthcheck=\"disable\",\n    ip=\"0.0.0.0\",\n    monitor=\"http://www.google.com\",\n    port=3128,\n    server_down_option=\"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.Webproxy.Forwardserver(\"trname\", new()\n    {\n        AddrType = \"fqdn\",\n        Healthcheck = \"disable\",\n        Ip = \"0.0.0.0\",\n        Monitor = \"http://www.google.com\",\n        Port = 3128,\n        ServerDownOption = \"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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webproxy.NewForwardserver(ctx, \"trname\", &webproxy.ForwardserverArgs{\n\t\t\tAddrType:         pulumi.String(\"fqdn\"),\n\t\t\tHealthcheck:      pulumi.String(\"disable\"),\n\t\t\tIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tMonitor:          pulumi.String(\"http://www.google.com\"),\n\t\t\tPort:             pulumi.Int(3128),\n\t\t\tServerDownOption: 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.webproxy.Forwardserver;\nimport com.pulumi.fortios.webproxy.ForwardserverArgs;\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 Forwardserver(\"trname\", ForwardserverArgs.builder()\n            .addrType(\"fqdn\")\n            .healthcheck(\"disable\")\n            .ip(\"0.0.0.0\")\n            .monitor(\"http://www.google.com\")\n            .port(3128)\n            .serverDownOption(\"block\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:webproxy:Forwardserver\n    properties:\n      addrType: fqdn\n      healthcheck: disable\n      ip: 0.0.0.0\n      monitor: http://www.google.com\n      port: 3128\n      serverDownOption: block\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy ForwardServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/forwardserver:Forwardserver 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:webproxy/forwardserver:Forwardserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Address type of the forwarding proxy server: IP or FQDN.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Forward server Fully Qualified Domain Name (FQDN).\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable/disable forward server health checking. Attempts to connect through the remote forwarding server to a destination to verify that the forwarding server is operating normally. Valid values: `disable`, `enable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Forward proxy server IP address.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Forward proxy server IPv6 address.\n"
        },
        "masquerade": {
          "type": "string",
          "description": "Enable/disable use of the of the IP address of the outgoing interface as the client IP address (default = enable) Valid values: `enable`, `disable`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "URL for forward server health check monitoring (default = http://www.google.com).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n"
        },
        "password": {
          "type": "string",
          "description": "HTTP authentication password.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number that the forwarding server expects to receive HTTP sessions on (1 - 65535, default = 3128).\n"
        },
        "serverDownOption": {
          "type": "string",
          "description": "Action to take when the forward server is found to be down: block sessions until the server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
        },
        "username": {
          "type": "string",
          "description": "HTTP authentication user 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",
        "comment",
        "fqdn",
        "healthcheck",
        "ip",
        "ipv6",
        "masquerade",
        "monitor",
        "name",
        "port",
        "serverDownOption",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "addrType": {
          "type": "string",
          "description": "Address type of the forwarding proxy server: IP or FQDN.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Forward server Fully Qualified Domain Name (FQDN).\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable/disable forward server health checking. Attempts to connect through the remote forwarding server to a destination to verify that the forwarding server is operating normally. Valid values: `disable`, `enable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "Forward proxy server IP address.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Forward proxy server IPv6 address.\n"
        },
        "masquerade": {
          "type": "string",
          "description": "Enable/disable use of the of the IP address of the outgoing interface as the client IP address (default = enable) Valid values: `enable`, `disable`.\n"
        },
        "monitor": {
          "type": "string",
          "description": "URL for forward server health check monitoring (default = http://www.google.com).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "HTTP authentication password.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number that the forwarding server expects to receive HTTP sessions on (1 - 65535, default = 3128).\n"
        },
        "serverDownOption": {
          "type": "string",
          "description": "Action to take when the forward server is found to be down: block sessions until the server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
        },
        "username": {
          "type": "string",
          "description": "HTTP authentication user 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 Forwardserver resources.\n",
        "properties": {
          "addrType": {
            "type": "string",
            "description": "Address type of the forwarding proxy server: IP or FQDN.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Forward server Fully Qualified Domain Name (FQDN).\n"
          },
          "healthcheck": {
            "type": "string",
            "description": "Enable/disable forward server health checking. Attempts to connect through the remote forwarding server to a destination to verify that the forwarding server is operating normally. Valid values: `disable`, `enable`.\n"
          },
          "ip": {
            "type": "string",
            "description": "Forward proxy server IP address.\n"
          },
          "ipv6": {
            "type": "string",
            "description": "Forward proxy server IPv6 address.\n"
          },
          "masquerade": {
            "type": "string",
            "description": "Enable/disable use of the of the IP address of the outgoing interface as the client IP address (default = enable) Valid values: `enable`, `disable`.\n"
          },
          "monitor": {
            "type": "string",
            "description": "URL for forward server health check monitoring (default = http://www.google.com).\n"
          },
          "name": {
            "type": "string",
            "description": "Server name.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "HTTP authentication password.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port number that the forwarding server expects to receive HTTP sessions on (1 - 65535, default = 3128).\n"
          },
          "serverDownOption": {
            "type": "string",
            "description": "Action to take when the forward server is found to be down: block sessions until the server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
          },
          "username": {
            "type": "string",
            "description": "HTTP authentication user 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:webproxy/forwardservergroup:Forwardservergroup": {
      "description": "Configure a forward server group consisting or multiple forward servers. Supports failover and load balancing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1Forwardserver = new fortios.webproxy.Forwardserver(\"trname1Forwardserver\", {\n    addrType: \"fqdn\",\n    healthcheck: \"disable\",\n    ip: \"0.0.0.0\",\n    monitor: \"http://www.google.com\",\n    port: 1128,\n    serverDownOption: \"block\",\n});\nconst trname1Forwardservergroup = new fortios.webproxy.Forwardservergroup(\"trname1Forwardservergroup\", {\n    affinity: \"disable\",\n    groupDownOption: \"block\",\n    ldbMethod: \"weighted\",\n    serverLists: [{\n        name: trname1Forwardserver.name,\n        weight: 12,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1_forwardserver = fortios.webproxy.Forwardserver(\"trname1Forwardserver\",\n    addr_type=\"fqdn\",\n    healthcheck=\"disable\",\n    ip=\"0.0.0.0\",\n    monitor=\"http://www.google.com\",\n    port=1128,\n    server_down_option=\"block\")\ntrname1_forwardservergroup = fortios.webproxy.Forwardservergroup(\"trname1Forwardservergroup\",\n    affinity=\"disable\",\n    group_down_option=\"block\",\n    ldb_method=\"weighted\",\n    server_lists=[fortios.webproxy.ForwardservergroupServerListArgs(\n        name=trname1_forwardserver.name,\n        weight=12,\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 trname1Forwardserver = new Fortios.Webproxy.Forwardserver(\"trname1Forwardserver\", new()\n    {\n        AddrType = \"fqdn\",\n        Healthcheck = \"disable\",\n        Ip = \"0.0.0.0\",\n        Monitor = \"http://www.google.com\",\n        Port = 1128,\n        ServerDownOption = \"block\",\n    });\n\n    var trname1Forwardservergroup = new Fortios.Webproxy.Forwardservergroup(\"trname1Forwardservergroup\", new()\n    {\n        Affinity = \"disable\",\n        GroupDownOption = \"block\",\n        LdbMethod = \"weighted\",\n        ServerLists = new[]\n        {\n            new Fortios.Webproxy.Inputs.ForwardservergroupServerListArgs\n            {\n                Name = trname1Forwardserver.Name,\n                Weight = 12,\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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1Forwardserver, err := webproxy.NewForwardserver(ctx, \"trname1Forwardserver\", &webproxy.ForwardserverArgs{\n\t\t\tAddrType:         pulumi.String(\"fqdn\"),\n\t\t\tHealthcheck:      pulumi.String(\"disable\"),\n\t\t\tIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tMonitor:          pulumi.String(\"http://www.google.com\"),\n\t\t\tPort:             pulumi.Int(1128),\n\t\t\tServerDownOption: pulumi.String(\"block\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webproxy.NewForwardservergroup(ctx, \"trname1Forwardservergroup\", &webproxy.ForwardservergroupArgs{\n\t\t\tAffinity:        pulumi.String(\"disable\"),\n\t\t\tGroupDownOption: pulumi.String(\"block\"),\n\t\t\tLdbMethod:       pulumi.String(\"weighted\"),\n\t\t\tServerLists: webproxy.ForwardservergroupServerListArray{\n\t\t\t\t&webproxy.ForwardservergroupServerListArgs{\n\t\t\t\t\tName:   trname1Forwardserver.Name,\n\t\t\t\t\tWeight: pulumi.Int(12),\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.webproxy.Forwardserver;\nimport com.pulumi.fortios.webproxy.ForwardserverArgs;\nimport com.pulumi.fortios.webproxy.Forwardservergroup;\nimport com.pulumi.fortios.webproxy.ForwardservergroupArgs;\nimport com.pulumi.fortios.webproxy.inputs.ForwardservergroupServerListArgs;\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 trname1Forwardserver = new Forwardserver(\"trname1Forwardserver\", ForwardserverArgs.builder()\n            .addrType(\"fqdn\")\n            .healthcheck(\"disable\")\n            .ip(\"0.0.0.0\")\n            .monitor(\"http://www.google.com\")\n            .port(1128)\n            .serverDownOption(\"block\")\n            .build());\n\n        var trname1Forwardservergroup = new Forwardservergroup(\"trname1Forwardservergroup\", ForwardservergroupArgs.builder()\n            .affinity(\"disable\")\n            .groupDownOption(\"block\")\n            .ldbMethod(\"weighted\")\n            .serverLists(ForwardservergroupServerListArgs.builder()\n                .name(trname1Forwardserver.name())\n                .weight(12)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1Forwardserver:\n    type: fortios:webproxy:Forwardserver\n    properties:\n      addrType: fqdn\n      healthcheck: disable\n      ip: 0.0.0.0\n      monitor: http://www.google.com\n      port: 1128\n      serverDownOption: block\n  trname1Forwardservergroup:\n    type: fortios:webproxy:Forwardservergroup\n    properties:\n      affinity: disable\n      groupDownOption: block\n      ldbMethod: weighted\n      serverLists:\n        - name: ${trname1Forwardserver.name}\n          weight: 12\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy ForwardServerGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/forwardservergroup:Forwardservergroup 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:webproxy/forwardservergroup:Forwardservergroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "affinity": {
          "type": "string",
          "description": "Enable/disable affinity, attaching a source-ip's traffic to the assigned forwarding server until the forward-server-affinity-timeout is reached (under web-proxy global). 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupDownOption": {
          "type": "string",
          "description": "Action to take when all of the servers in the forward server group are down: block sessions until at least one server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method: weighted or least-session.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a forward server group consisting one or multiple forward servers. Supports failover and load balancing.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FForwardservergroupServerList:ForwardservergroupServerList"
          },
          "description": "Add web forward 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": [
        "affinity",
        "groupDownOption",
        "ldbMethod",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "affinity": {
          "type": "string",
          "description": "Enable/disable affinity, attaching a source-ip's traffic to the assigned forwarding server until the forward-server-affinity-timeout is reached (under web-proxy global). 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groupDownOption": {
          "type": "string",
          "description": "Action to take when all of the servers in the forward server group are down: block sessions until at least one server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method: weighted or least-session.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a forward server group consisting one or multiple forward servers. Supports failover and load balancing.\n",
          "willReplaceOnChanges": true
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FForwardservergroupServerList:ForwardservergroupServerList"
          },
          "description": "Add web forward 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 Forwardservergroup resources.\n",
        "properties": {
          "affinity": {
            "type": "string",
            "description": "Enable/disable affinity, attaching a source-ip's traffic to the assigned forwarding server until the forward-server-affinity-timeout is reached (under web-proxy global). 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groupDownOption": {
            "type": "string",
            "description": "Action to take when all of the servers in the forward server group are down: block sessions until at least one server is back up or pass sessions to their destination. Valid values: `block`, `pass`.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Load balance method: weighted or least-session.\n"
          },
          "name": {
            "type": "string",
            "description": "Configure a forward server group consisting one or multiple forward servers. Supports failover and load balancing.\n",
            "willReplaceOnChanges": true
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FForwardservergroupServerList:ForwardservergroupServerList"
            },
            "description": "Add web forward 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:webproxy/global:Global": {
      "description": "Configure Web proxy global 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.webproxy.Global(\"trname\", {\n    fastPolicyMatch: \"enable\",\n    forwardProxyAuth: \"disable\",\n    forwardServerAffinityTimeout: 30,\n    learnClientIp: \"disable\",\n    maxMessageLength: 32,\n    maxRequestLength: 4,\n    maxWafBodyCacheLength: 32,\n    proxyFqdn: \"default.fqdn\",\n    sslCaCert: \"Fortinet_CA_SSL\",\n    sslCert: \"Fortinet_Factory\",\n    strictWebCheck: \"disable\",\n    tunnelNonHttp: \"enable\",\n    unknownHttpVersion: \"best-effort\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.webproxy.Global(\"trname\",\n    fast_policy_match=\"enable\",\n    forward_proxy_auth=\"disable\",\n    forward_server_affinity_timeout=30,\n    learn_client_ip=\"disable\",\n    max_message_length=32,\n    max_request_length=4,\n    max_waf_body_cache_length=32,\n    proxy_fqdn=\"default.fqdn\",\n    ssl_ca_cert=\"Fortinet_CA_SSL\",\n    ssl_cert=\"Fortinet_Factory\",\n    strict_web_check=\"disable\",\n    tunnel_non_http=\"enable\",\n    unknown_http_version=\"best-effort\")\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.Webproxy.Global(\"trname\", new()\n    {\n        FastPolicyMatch = \"enable\",\n        ForwardProxyAuth = \"disable\",\n        ForwardServerAffinityTimeout = 30,\n        LearnClientIp = \"disable\",\n        MaxMessageLength = 32,\n        MaxRequestLength = 4,\n        MaxWafBodyCacheLength = 32,\n        ProxyFqdn = \"default.fqdn\",\n        SslCaCert = \"Fortinet_CA_SSL\",\n        SslCert = \"Fortinet_Factory\",\n        StrictWebCheck = \"disable\",\n        TunnelNonHttp = \"enable\",\n        UnknownHttpVersion = \"best-effort\",\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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webproxy.NewGlobal(ctx, \"trname\", &webproxy.GlobalArgs{\n\t\t\tFastPolicyMatch:              pulumi.String(\"enable\"),\n\t\t\tForwardProxyAuth:             pulumi.String(\"disable\"),\n\t\t\tForwardServerAffinityTimeout: pulumi.Int(30),\n\t\t\tLearnClientIp:                pulumi.String(\"disable\"),\n\t\t\tMaxMessageLength:             pulumi.Int(32),\n\t\t\tMaxRequestLength:             pulumi.Int(4),\n\t\t\tMaxWafBodyCacheLength:        pulumi.Int(32),\n\t\t\tProxyFqdn:                    pulumi.String(\"default.fqdn\"),\n\t\t\tSslCaCert:                    pulumi.String(\"Fortinet_CA_SSL\"),\n\t\t\tSslCert:                      pulumi.String(\"Fortinet_Factory\"),\n\t\t\tStrictWebCheck:               pulumi.String(\"disable\"),\n\t\t\tTunnelNonHttp:                pulumi.String(\"enable\"),\n\t\t\tUnknownHttpVersion:           pulumi.String(\"best-effort\"),\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.webproxy.Global;\nimport com.pulumi.fortios.webproxy.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            .fastPolicyMatch(\"enable\")\n            .forwardProxyAuth(\"disable\")\n            .forwardServerAffinityTimeout(30)\n            .learnClientIp(\"disable\")\n            .maxMessageLength(32)\n            .maxRequestLength(4)\n            .maxWafBodyCacheLength(32)\n            .proxyFqdn(\"default.fqdn\")\n            .sslCaCert(\"Fortinet_CA_SSL\")\n            .sslCert(\"Fortinet_Factory\")\n            .strictWebCheck(\"disable\")\n            .tunnelNonHttp(\"enable\")\n            .unknownHttpVersion(\"best-effort\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:webproxy:Global\n    properties:\n      fastPolicyMatch: enable\n      forwardProxyAuth: disable\n      forwardServerAffinityTimeout: 30\n      learnClientIp: disable\n      maxMessageLength: 32\n      maxRequestLength: 4\n      maxWafBodyCacheLength: 32\n      proxyFqdn: default.fqdn\n      sslCaCert: Fortinet_CA_SSL\n      sslCert: Fortinet_Factory\n      strictWebCheck: disable\n      tunnelNonHttp: enable\n      unknownHttpVersion: best-effort\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/global:Global labelname WebProxyGlobal\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:webproxy/global:Global labelname WebProxyGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "alwaysLearnClientIp": {
          "type": "string",
          "description": "Enable/disable learning the client's IP address from headers for every request. 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"
        },
        "fastPolicyMatch": {
          "type": "string",
          "description": "Enable/disable fast matching algorithm for explicit and transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "forwardProxyAuth": {
          "type": "string",
          "description": "Enable/disable forwarding proxy authentication headers. Valid values: `enable`, `disable`.\n"
        },
        "forwardServerAffinityTimeout": {
          "type": "integer",
          "description": "Period of time before the source IP's traffic is no longer assigned to the forwarding server (6 - 60 min, default = 30).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldapUserCache": {
          "type": "string",
          "description": "Enable/disable LDAP user cache for explicit and transparent proxy user. Valid values: `enable`, `disable`.\n"
        },
        "learnClientIp": {
          "type": "string",
          "description": "Enable/disable learning the client's IP address from headers. Valid values: `enable`, `disable`.\n"
        },
        "learnClientIpFromHeader": {
          "type": "string",
          "description": "Learn client IP address from the specified headers. Valid values: `true-client-ip`, `x-real-ip`, `x-forwarded-for`.\n"
        },
        "learnClientIpSrcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr6:GlobalLearnClientIpSrcaddr6"
          },
          "description": "IPv6 Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr6` block is documented below.\n"
        },
        "learnClientIpSrcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr:GlobalLearnClientIpSrcaddr"
          },
          "description": "Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr` block is documented below.\n"
        },
        "logAppId": {
          "type": "string",
          "description": "Enable/disable always log application type in traffic log. Valid values: `enable`, `disable`.\n"
        },
        "logForwardServer": {
          "type": "string",
          "description": "Enable/disable forward server name logging in forward traffic log. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyPending": {
          "type": "string",
          "description": "Enable/disable logging sessions that are pending on policy matching. Valid values: `enable`, `disable`.\n"
        },
        "maxMessageLength": {
          "type": "integer",
          "description": "Maximum length of HTTP message, not including body (16 - 256 Kbytes, default = 32).\n"
        },
        "maxRequestLength": {
          "type": "integer",
          "description": "Maximum length of HTTP request line (2 - 64 Kbytes). On FortiOS versions 6.2.0: default = 4. On FortiOS versions >= 6.2.4: default = 8.\n"
        },
        "maxWafBodyCacheLength": {
          "type": "integer",
          "description": "Maximum length of HTTP messages processed by Web Application Firewall (WAF) (10 - 1024 Kbytes, default = 32).\n"
        },
        "policyCategoryDeepInspect": {
          "type": "string",
          "description": "Enable/disable deep inspection for application level category policy matching. Valid values: `enable`, `disable`.\n"
        },
        "proxyFqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name (FQDN) that clients connect to (default = default.fqdn) to connect to the explicit web proxy.\n"
        },
        "proxyTransparentCertInspection": {
          "type": "string",
          "description": "Enable/disable transparent proxy certificate inspection. Valid values: `enable`, `disable`.\n"
        },
        "srcAffinityExemptAddr": {
          "type": "string",
          "description": "IPv4 source addresses to exempt proxy affinity.\n"
        },
        "srcAffinityExemptAddr6": {
          "type": "string",
          "description": "IPv6 source addresses to exempt proxy affinity.\n"
        },
        "sslCaCert": {
          "type": "string",
          "description": "SSL CA certificate for SSL interception.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "SSL certificate for SSL interception.\n"
        },
        "strictWebCheck": {
          "type": "string",
          "description": "Enable/disable strict web checking to block web sites that send incorrect headers that don't conform to HTTP 1.1. Valid values: `enable`, `disable`.\n"
        },
        "tunnelNonHttp": {
          "type": "string",
          "description": "Enable/disable allowing non-HTTP traffic. Allowed non-HTTP traffic is tunneled. Valid values: `enable`, `disable`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "Action to take when an unknown version of HTTP is encountered: reject, allow (tunnel), or proceed with best-effort. Valid values: `reject`, `tunnel`, `best-effort`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Name of the web proxy profile to apply when explicit proxy traffic is allowed by default and traffic is accepted that does not match an explicit proxy policy.\n"
        }
      },
      "type": "object",
      "required": [
        "alwaysLearnClientIp",
        "fastPolicyMatch",
        "forwardProxyAuth",
        "forwardServerAffinityTimeout",
        "ldapUserCache",
        "learnClientIp",
        "learnClientIpFromHeader",
        "logAppId",
        "logForwardServer",
        "logPolicyPending",
        "maxMessageLength",
        "maxRequestLength",
        "maxWafBodyCacheLength",
        "policyCategoryDeepInspect",
        "proxyFqdn",
        "proxyTransparentCertInspection",
        "srcAffinityExemptAddr",
        "srcAffinityExemptAddr6",
        "sslCaCert",
        "sslCert",
        "strictWebCheck",
        "tunnelNonHttp",
        "unknownHttpVersion",
        "vdomparam",
        "webproxyProfile"
      ],
      "inputProperties": {
        "alwaysLearnClientIp": {
          "type": "string",
          "description": "Enable/disable learning the client's IP address from headers for every request. 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"
        },
        "fastPolicyMatch": {
          "type": "string",
          "description": "Enable/disable fast matching algorithm for explicit and transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "forwardProxyAuth": {
          "type": "string",
          "description": "Enable/disable forwarding proxy authentication headers. Valid values: `enable`, `disable`.\n"
        },
        "forwardServerAffinityTimeout": {
          "type": "integer",
          "description": "Period of time before the source IP's traffic is no longer assigned to the forwarding server (6 - 60 min, default = 30).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldapUserCache": {
          "type": "string",
          "description": "Enable/disable LDAP user cache for explicit and transparent proxy user. Valid values: `enable`, `disable`.\n"
        },
        "learnClientIp": {
          "type": "string",
          "description": "Enable/disable learning the client's IP address from headers. Valid values: `enable`, `disable`.\n"
        },
        "learnClientIpFromHeader": {
          "type": "string",
          "description": "Learn client IP address from the specified headers. Valid values: `true-client-ip`, `x-real-ip`, `x-forwarded-for`.\n"
        },
        "learnClientIpSrcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr6:GlobalLearnClientIpSrcaddr6"
          },
          "description": "IPv6 Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr6` block is documented below.\n"
        },
        "learnClientIpSrcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr:GlobalLearnClientIpSrcaddr"
          },
          "description": "Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr` block is documented below.\n"
        },
        "logAppId": {
          "type": "string",
          "description": "Enable/disable always log application type in traffic log. Valid values: `enable`, `disable`.\n"
        },
        "logForwardServer": {
          "type": "string",
          "description": "Enable/disable forward server name logging in forward traffic log. Valid values: `enable`, `disable`.\n"
        },
        "logPolicyPending": {
          "type": "string",
          "description": "Enable/disable logging sessions that are pending on policy matching. Valid values: `enable`, `disable`.\n"
        },
        "maxMessageLength": {
          "type": "integer",
          "description": "Maximum length of HTTP message, not including body (16 - 256 Kbytes, default = 32).\n"
        },
        "maxRequestLength": {
          "type": "integer",
          "description": "Maximum length of HTTP request line (2 - 64 Kbytes). On FortiOS versions 6.2.0: default = 4. On FortiOS versions >= 6.2.4: default = 8.\n"
        },
        "maxWafBodyCacheLength": {
          "type": "integer",
          "description": "Maximum length of HTTP messages processed by Web Application Firewall (WAF) (10 - 1024 Kbytes, default = 32).\n"
        },
        "policyCategoryDeepInspect": {
          "type": "string",
          "description": "Enable/disable deep inspection for application level category policy matching. Valid values: `enable`, `disable`.\n"
        },
        "proxyFqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name (FQDN) that clients connect to (default = default.fqdn) to connect to the explicit web proxy.\n"
        },
        "proxyTransparentCertInspection": {
          "type": "string",
          "description": "Enable/disable transparent proxy certificate inspection. Valid values: `enable`, `disable`.\n"
        },
        "srcAffinityExemptAddr": {
          "type": "string",
          "description": "IPv4 source addresses to exempt proxy affinity.\n"
        },
        "srcAffinityExemptAddr6": {
          "type": "string",
          "description": "IPv6 source addresses to exempt proxy affinity.\n"
        },
        "sslCaCert": {
          "type": "string",
          "description": "SSL CA certificate for SSL interception.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "SSL certificate for SSL interception.\n"
        },
        "strictWebCheck": {
          "type": "string",
          "description": "Enable/disable strict web checking to block web sites that send incorrect headers that don't conform to HTTP 1.1. Valid values: `enable`, `disable`.\n"
        },
        "tunnelNonHttp": {
          "type": "string",
          "description": "Enable/disable allowing non-HTTP traffic. Allowed non-HTTP traffic is tunneled. Valid values: `enable`, `disable`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "Action to take when an unknown version of HTTP is encountered: reject, allow (tunnel), or proceed with best-effort. Valid values: `reject`, `tunnel`, `best-effort`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Name of the web proxy profile to apply when explicit proxy traffic is allowed by default and traffic is accepted that does not match an explicit proxy policy.\n"
        }
      },
      "requiredInputs": [
        "proxyFqdn"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "alwaysLearnClientIp": {
            "type": "string",
            "description": "Enable/disable learning the client's IP address from headers for every request. 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"
          },
          "fastPolicyMatch": {
            "type": "string",
            "description": "Enable/disable fast matching algorithm for explicit and transparent proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "forwardProxyAuth": {
            "type": "string",
            "description": "Enable/disable forwarding proxy authentication headers. Valid values: `enable`, `disable`.\n"
          },
          "forwardServerAffinityTimeout": {
            "type": "integer",
            "description": "Period of time before the source IP's traffic is no longer assigned to the forwarding server (6 - 60 min, default = 30).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ldapUserCache": {
            "type": "string",
            "description": "Enable/disable LDAP user cache for explicit and transparent proxy user. Valid values: `enable`, `disable`.\n"
          },
          "learnClientIp": {
            "type": "string",
            "description": "Enable/disable learning the client's IP address from headers. Valid values: `enable`, `disable`.\n"
          },
          "learnClientIpFromHeader": {
            "type": "string",
            "description": "Learn client IP address from the specified headers. Valid values: `true-client-ip`, `x-real-ip`, `x-forwarded-for`.\n"
          },
          "learnClientIpSrcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr6:GlobalLearnClientIpSrcaddr6"
            },
            "description": "IPv6 Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr6` block is documented below.\n"
          },
          "learnClientIpSrcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FGlobalLearnClientIpSrcaddr:GlobalLearnClientIpSrcaddr"
            },
            "description": "Source address name (srcaddr or srcaddr6 must be set). The structure of `learn_client_ip_srcaddr` block is documented below.\n"
          },
          "logAppId": {
            "type": "string",
            "description": "Enable/disable always log application type in traffic log. Valid values: `enable`, `disable`.\n"
          },
          "logForwardServer": {
            "type": "string",
            "description": "Enable/disable forward server name logging in forward traffic log. Valid values: `enable`, `disable`.\n"
          },
          "logPolicyPending": {
            "type": "string",
            "description": "Enable/disable logging sessions that are pending on policy matching. Valid values: `enable`, `disable`.\n"
          },
          "maxMessageLength": {
            "type": "integer",
            "description": "Maximum length of HTTP message, not including body (16 - 256 Kbytes, default = 32).\n"
          },
          "maxRequestLength": {
            "type": "integer",
            "description": "Maximum length of HTTP request line (2 - 64 Kbytes). On FortiOS versions 6.2.0: default = 4. On FortiOS versions >= 6.2.4: default = 8.\n"
          },
          "maxWafBodyCacheLength": {
            "type": "integer",
            "description": "Maximum length of HTTP messages processed by Web Application Firewall (WAF) (10 - 1024 Kbytes, default = 32).\n"
          },
          "policyCategoryDeepInspect": {
            "type": "string",
            "description": "Enable/disable deep inspection for application level category policy matching. Valid values: `enable`, `disable`.\n"
          },
          "proxyFqdn": {
            "type": "string",
            "description": "Fully Qualified Domain Name (FQDN) that clients connect to (default = default.fqdn) to connect to the explicit web proxy.\n"
          },
          "proxyTransparentCertInspection": {
            "type": "string",
            "description": "Enable/disable transparent proxy certificate inspection. Valid values: `enable`, `disable`.\n"
          },
          "srcAffinityExemptAddr": {
            "type": "string",
            "description": "IPv4 source addresses to exempt proxy affinity.\n"
          },
          "srcAffinityExemptAddr6": {
            "type": "string",
            "description": "IPv6 source addresses to exempt proxy affinity.\n"
          },
          "sslCaCert": {
            "type": "string",
            "description": "SSL CA certificate for SSL interception.\n"
          },
          "sslCert": {
            "type": "string",
            "description": "SSL certificate for SSL interception.\n"
          },
          "strictWebCheck": {
            "type": "string",
            "description": "Enable/disable strict web checking to block web sites that send incorrect headers that don't conform to HTTP 1.1. Valid values: `enable`, `disable`.\n"
          },
          "tunnelNonHttp": {
            "type": "string",
            "description": "Enable/disable allowing non-HTTP traffic. Allowed non-HTTP traffic is tunneled. Valid values: `enable`, `disable`.\n"
          },
          "unknownHttpVersion": {
            "type": "string",
            "description": "Action to take when an unknown version of HTTP is encountered: reject, allow (tunnel), or proceed with best-effort. Valid values: `reject`, `tunnel`, `best-effort`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webproxyProfile": {
            "type": "string",
            "description": "Name of the web proxy profile to apply when explicit proxy traffic is allowed by default and traffic is accepted that does not match an explicit proxy policy.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:webproxy/profile:Profile": {
      "description": "Configure web proxy 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.webproxy.Profile(\"trname\", {\n    headerClientIp: \"pass\",\n    headerFrontEndHttps: \"pass\",\n    headerViaRequest: \"add\",\n    headerViaResponse: \"pass\",\n    headerXAuthenticatedGroups: \"pass\",\n    headerXAuthenticatedUser: \"pass\",\n    headerXForwardedFor: \"pass\",\n    logHeaderChange: \"disable\",\n    stripEncoding: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.webproxy.Profile(\"trname\",\n    header_client_ip=\"pass\",\n    header_front_end_https=\"pass\",\n    header_via_request=\"add\",\n    header_via_response=\"pass\",\n    header_x_authenticated_groups=\"pass\",\n    header_x_authenticated_user=\"pass\",\n    header_x_forwarded_for=\"pass\",\n    log_header_change=\"disable\",\n    strip_encoding=\"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.Webproxy.Profile(\"trname\", new()\n    {\n        HeaderClientIp = \"pass\",\n        HeaderFrontEndHttps = \"pass\",\n        HeaderViaRequest = \"add\",\n        HeaderViaResponse = \"pass\",\n        HeaderXAuthenticatedGroups = \"pass\",\n        HeaderXAuthenticatedUser = \"pass\",\n        HeaderXForwardedFor = \"pass\",\n        LogHeaderChange = \"disable\",\n        StripEncoding = \"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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webproxy.NewProfile(ctx, \"trname\", &webproxy.ProfileArgs{\n\t\t\tHeaderClientIp:             pulumi.String(\"pass\"),\n\t\t\tHeaderFrontEndHttps:        pulumi.String(\"pass\"),\n\t\t\tHeaderViaRequest:           pulumi.String(\"add\"),\n\t\t\tHeaderViaResponse:          pulumi.String(\"pass\"),\n\t\t\tHeaderXAuthenticatedGroups: pulumi.String(\"pass\"),\n\t\t\tHeaderXAuthenticatedUser:   pulumi.String(\"pass\"),\n\t\t\tHeaderXForwardedFor:        pulumi.String(\"pass\"),\n\t\t\tLogHeaderChange:            pulumi.String(\"disable\"),\n\t\t\tStripEncoding:              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.webproxy.Profile;\nimport com.pulumi.fortios.webproxy.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            .headerClientIp(\"pass\")\n            .headerFrontEndHttps(\"pass\")\n            .headerViaRequest(\"add\")\n            .headerViaResponse(\"pass\")\n            .headerXAuthenticatedGroups(\"pass\")\n            .headerXAuthenticatedUser(\"pass\")\n            .headerXForwardedFor(\"pass\")\n            .logHeaderChange(\"disable\")\n            .stripEncoding(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:webproxy:Profile\n    properties:\n      headerClientIp: pass\n      headerFrontEndHttps: pass\n      headerViaRequest: add\n      headerViaResponse: pass\n      headerXAuthenticatedGroups: pass\n      headerXAuthenticatedUser: pass\n      headerXForwardedFor: pass\n      logHeaderChange: disable\n      stripEncoding: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/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:webproxy/profile:Profile 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"
        },
        "headerClientIp": {
          "type": "string",
          "description": "Action to take on the HTTP client-IP header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerFrontEndHttps": {
          "type": "string",
          "description": "Action to take on the HTTP front-end-HTTPS header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerViaRequest": {
          "type": "string",
          "description": "Action to take on the HTTP via header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerViaResponse": {
          "type": "string",
          "description": "Action to take on the HTTP via header in forwarded responses: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXAuthenticatedGroups": {
          "type": "string",
          "description": "Action to take on the HTTP x-authenticated-groups header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXAuthenticatedUser": {
          "type": "string",
          "description": "Action to take on the HTTP x-authenticated-user header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXForwardedClientCert": {
          "type": "string",
          "description": "Action to take on the HTTP x-forwarded-client-cert header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXForwardedFor": {
          "type": "string",
          "description": "Action to take on the HTTP x-forwarded-for header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FProfileHeader:ProfileHeader"
          },
          "description": "Configure HTTP forwarded requests headers. The structure of `headers` block is documented below.\n"
        },
        "logHeaderChange": {
          "type": "string",
          "description": "Enable/disable logging HTTP header changes. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "stripEncoding": {
          "type": "string",
          "description": "Enable/disable stripping unsupported encoding from the request header. 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": [
        "headerClientIp",
        "headerFrontEndHttps",
        "headerViaRequest",
        "headerViaResponse",
        "headerXAuthenticatedGroups",
        "headerXAuthenticatedUser",
        "headerXForwardedClientCert",
        "headerXForwardedFor",
        "logHeaderChange",
        "name",
        "stripEncoding",
        "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"
        },
        "headerClientIp": {
          "type": "string",
          "description": "Action to take on the HTTP client-IP header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerFrontEndHttps": {
          "type": "string",
          "description": "Action to take on the HTTP front-end-HTTPS header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerViaRequest": {
          "type": "string",
          "description": "Action to take on the HTTP via header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerViaResponse": {
          "type": "string",
          "description": "Action to take on the HTTP via header in forwarded responses: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXAuthenticatedGroups": {
          "type": "string",
          "description": "Action to take on the HTTP x-authenticated-groups header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXAuthenticatedUser": {
          "type": "string",
          "description": "Action to take on the HTTP x-authenticated-user header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXForwardedClientCert": {
          "type": "string",
          "description": "Action to take on the HTTP x-forwarded-client-cert header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headerXForwardedFor": {
          "type": "string",
          "description": "Action to take on the HTTP x-forwarded-for header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
        },
        "headers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FProfileHeader:ProfileHeader"
          },
          "description": "Configure HTTP forwarded requests headers. The structure of `headers` block is documented below.\n"
        },
        "logHeaderChange": {
          "type": "string",
          "description": "Enable/disable logging HTTP header changes. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "stripEncoding": {
          "type": "string",
          "description": "Enable/disable stripping unsupported encoding from the request header. 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 Profile 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"
          },
          "headerClientIp": {
            "type": "string",
            "description": "Action to take on the HTTP client-IP header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerFrontEndHttps": {
            "type": "string",
            "description": "Action to take on the HTTP front-end-HTTPS header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerViaRequest": {
            "type": "string",
            "description": "Action to take on the HTTP via header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerViaResponse": {
            "type": "string",
            "description": "Action to take on the HTTP via header in forwarded responses: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerXAuthenticatedGroups": {
            "type": "string",
            "description": "Action to take on the HTTP x-authenticated-groups header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerXAuthenticatedUser": {
            "type": "string",
            "description": "Action to take on the HTTP x-authenticated-user header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerXForwardedClientCert": {
            "type": "string",
            "description": "Action to take on the HTTP x-forwarded-client-cert header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headerXForwardedFor": {
            "type": "string",
            "description": "Action to take on the HTTP x-forwarded-for header in forwarded requests: forwards (pass), adds, or removes the HTTP header. Valid values: `pass`, `add`, `remove`.\n"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:webproxy%2FProfileHeader:ProfileHeader"
            },
            "description": "Configure HTTP forwarded requests headers. The structure of `headers` block is documented below.\n"
          },
          "logHeaderChange": {
            "type": "string",
            "description": "Enable/disable logging HTTP header changes. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "stripEncoding": {
            "type": "string",
            "description": "Enable/disable stripping unsupported encoding from the request header. 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:webproxy/urlmatch:Urlmatch": {
      "description": "Exempt URLs from web proxy forwarding and caching.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname2 = new fortios.webproxy.Forwardserver(\"trname2\", {\n    addrType: \"fqdn\",\n    healthcheck: \"disable\",\n    ip: \"0.0.0.0\",\n    monitor: \"http://www.google.com\",\n    port: 3128,\n    serverDownOption: \"block\",\n});\nconst trname = new fortios.webproxy.Urlmatch(\"trname\", {\n    cacheExemption: \"disable\",\n    forwardServer: trname2.name,\n    status: \"enable\",\n    urlPattern: \"/examples/servlet/*Servlet\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname2 = fortios.webproxy.Forwardserver(\"trname2\",\n    addr_type=\"fqdn\",\n    healthcheck=\"disable\",\n    ip=\"0.0.0.0\",\n    monitor=\"http://www.google.com\",\n    port=3128,\n    server_down_option=\"block\")\ntrname = fortios.webproxy.Urlmatch(\"trname\",\n    cache_exemption=\"disable\",\n    forward_server=trname2.name,\n    status=\"enable\",\n    url_pattern=\"/examples/servlet/*Servlet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname2 = new Fortios.Webproxy.Forwardserver(\"trname2\", new()\n    {\n        AddrType = \"fqdn\",\n        Healthcheck = \"disable\",\n        Ip = \"0.0.0.0\",\n        Monitor = \"http://www.google.com\",\n        Port = 3128,\n        ServerDownOption = \"block\",\n    });\n\n    var trname = new Fortios.Webproxy.Urlmatch(\"trname\", new()\n    {\n        CacheExemption = \"disable\",\n        ForwardServer = trname2.Name,\n        Status = \"enable\",\n        UrlPattern = \"/examples/servlet/*Servlet\",\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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname2, err := webproxy.NewForwardserver(ctx, \"trname2\", &webproxy.ForwardserverArgs{\n\t\t\tAddrType:         pulumi.String(\"fqdn\"),\n\t\t\tHealthcheck:      pulumi.String(\"disable\"),\n\t\t\tIp:               pulumi.String(\"0.0.0.0\"),\n\t\t\tMonitor:          pulumi.String(\"http://www.google.com\"),\n\t\t\tPort:             pulumi.Int(3128),\n\t\t\tServerDownOption: pulumi.String(\"block\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = webproxy.NewUrlmatch(ctx, \"trname\", &webproxy.UrlmatchArgs{\n\t\t\tCacheExemption: pulumi.String(\"disable\"),\n\t\t\tForwardServer:  trname2.Name,\n\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\tUrlPattern:     pulumi.String(\"/examples/servlet/*Servlet\"),\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.webproxy.Forwardserver;\nimport com.pulumi.fortios.webproxy.ForwardserverArgs;\nimport com.pulumi.fortios.webproxy.Urlmatch;\nimport com.pulumi.fortios.webproxy.UrlmatchArgs;\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 trname2 = new Forwardserver(\"trname2\", ForwardserverArgs.builder()\n            .addrType(\"fqdn\")\n            .healthcheck(\"disable\")\n            .ip(\"0.0.0.0\")\n            .monitor(\"http://www.google.com\")\n            .port(3128)\n            .serverDownOption(\"block\")\n            .build());\n\n        var trname = new Urlmatch(\"trname\", UrlmatchArgs.builder()\n            .cacheExemption(\"disable\")\n            .forwardServer(trname2.name())\n            .status(\"enable\")\n            .urlPattern(\"/examples/servlet/*Servlet\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname2:\n    type: fortios:webproxy:Forwardserver\n    properties:\n      addrType: fqdn\n      healthcheck: disable\n      ip: 0.0.0.0\n      monitor: http://www.google.com\n      port: 3128\n      serverDownOption: block\n  trname:\n    type: fortios:webproxy:Urlmatch\n    properties:\n      cacheExemption: disable\n      forwardServer: ${trname2.name}\n      status: enable\n      urlPattern: /examples/servlet/*Servlet\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy UrlMatch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/urlmatch:Urlmatch 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:webproxy/urlmatch:Urlmatch labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cacheExemption": {
          "type": "string",
          "description": "Enable/disable exempting this URL pattern from caching. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fastFallback": {
          "type": "string",
          "description": "Fast fallback configuration entry name.\n"
        },
        "forwardServer": {
          "type": "string",
          "description": "Forward server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a name for the URL to be exempted.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable exempting the URLs matching the URL pattern from web proxy forwarding and caching. Valid values: `enable`, `disable`.\n"
        },
        "urlPattern": {
          "type": "string",
          "description": "URL pattern to be exempted from web proxy forwarding and caching.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "cacheExemption",
        "fastFallback",
        "forwardServer",
        "name",
        "status",
        "urlPattern",
        "vdomparam"
      ],
      "inputProperties": {
        "cacheExemption": {
          "type": "string",
          "description": "Enable/disable exempting this URL pattern from caching. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fastFallback": {
          "type": "string",
          "description": "Fast fallback configuration entry name.\n"
        },
        "forwardServer": {
          "type": "string",
          "description": "Forward server name.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure a name for the URL to be exempted.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable exempting the URLs matching the URL pattern from web proxy forwarding and caching. Valid values: `enable`, `disable`.\n"
        },
        "urlPattern": {
          "type": "string",
          "description": "URL pattern to be exempted from web proxy forwarding and caching.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "urlPattern"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Urlmatch resources.\n",
        "properties": {
          "cacheExemption": {
            "type": "string",
            "description": "Enable/disable exempting this URL pattern from caching. Valid values: `enable`, `disable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fastFallback": {
            "type": "string",
            "description": "Fast fallback configuration entry name.\n"
          },
          "forwardServer": {
            "type": "string",
            "description": "Forward server name.\n"
          },
          "name": {
            "type": "string",
            "description": "Configure a name for the URL to be exempted.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable exempting the URLs matching the URL pattern from web proxy forwarding and caching. Valid values: `enable`, `disable`.\n"
          },
          "urlPattern": {
            "type": "string",
            "description": "URL pattern to be exempted from web proxy forwarding and caching.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:webproxy/wisp:Wisp": {
      "description": "Configure Wireless Internet service provider (WISP) 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.webproxy.Wisp(\"trname\", {\n    maxConnections: 64,\n    outgoingIp: \"0.0.0.0\",\n    serverIp: \"1.1.1.1\",\n    serverPort: 15868,\n    timeout: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.webproxy.Wisp(\"trname\",\n    max_connections=64,\n    outgoing_ip=\"0.0.0.0\",\n    server_ip=\"1.1.1.1\",\n    server_port=15868,\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 trname = new Fortios.Webproxy.Wisp(\"trname\", new()\n    {\n        MaxConnections = 64,\n        OutgoingIp = \"0.0.0.0\",\n        ServerIp = \"1.1.1.1\",\n        ServerPort = 15868,\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/webproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := webproxy.NewWisp(ctx, \"trname\", &webproxy.WispArgs{\n\t\t\tMaxConnections: pulumi.Int(64),\n\t\t\tOutgoingIp:     pulumi.String(\"0.0.0.0\"),\n\t\t\tServerIp:       pulumi.String(\"1.1.1.1\"),\n\t\t\tServerPort:     pulumi.Int(15868),\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.webproxy.Wisp;\nimport com.pulumi.fortios.webproxy.WispArgs;\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 Wisp(\"trname\", WispArgs.builder()\n            .maxConnections(64)\n            .outgoingIp(\"0.0.0.0\")\n            .serverIp(\"1.1.1.1\")\n            .serverPort(15868)\n            .timeout(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:webproxy:Wisp\n    properties:\n      maxConnections: 64\n      outgoingIp: 0.0.0.0\n      serverIp: 1.1.1.1\n      serverPort: 15868\n      timeout: 5\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebProxy Wisp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:webproxy/wisp:Wisp 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:webproxy/wisp:Wisp labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of web proxy WISP connections (4 - 4096, default = 64).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n"
        },
        "outgoingIp": {
          "type": "string",
          "description": "WISP outgoing IP address.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "WISP server IP address.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "WISP server port (1 - 65535, default = 15868).\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Period of time before WISP requests time out (1 - 15 sec, default = 5).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "maxConnections",
        "name",
        "outgoingIp",
        "serverIp",
        "serverPort",
        "timeout",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of web proxy WISP connections (4 - 4096, default = 64).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n",
          "willReplaceOnChanges": true
        },
        "outgoingIp": {
          "type": "string",
          "description": "WISP outgoing IP address.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "WISP server IP address.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "WISP server port (1 - 65535, default = 15868).\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Period of time before WISP requests time out (1 - 15 sec, default = 5).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": [
        "serverIp",
        "serverPort"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Wisp resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "maxConnections": {
            "type": "integer",
            "description": "Maximum number of web proxy WISP connections (4 - 4096, default = 64).\n"
          },
          "name": {
            "type": "string",
            "description": "Server name.\n",
            "willReplaceOnChanges": true
          },
          "outgoingIp": {
            "type": "string",
            "description": "WISP outgoing IP address.\n"
          },
          "serverIp": {
            "type": "string",
            "description": "WISP server IP address.\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "WISP server port (1 - 65535, default = 15868).\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Period of time before WISP requests time out (1 - 15 sec, default = 5).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/accesscontrollist:Accesscontrollist": {
      "description": "Configure WiFi bridge access control list. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nWirelessController AccessControlList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/accesscontrollist:Accesscontrollist 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:wirelesscontroller/accesscontrollist:Accesscontrollist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "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"
        },
        "layer3Ipv4Rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv4Rule:AccesscontrollistLayer3Ipv4Rule"
          },
          "description": "AP ACL layer3 ipv4 rule list. The structure of `layer3_ipv4_rules` block is documented below.\n"
        },
        "layer3Ipv6Rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv6Rule:AccesscontrollistLayer3Ipv6Rule"
          },
          "description": "AP ACL layer3 ipv6 rule list. The structure of `layer3_ipv6_rules` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "AP access control list 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\nThe `layer3_ipv4_rules` block supports:\n"
        }
      },
      "type": "object",
      "required": [
        "comment",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "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"
        },
        "layer3Ipv4Rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv4Rule:AccesscontrollistLayer3Ipv4Rule"
          },
          "description": "AP ACL layer3 ipv4 rule list. The structure of `layer3_ipv4_rules` block is documented below.\n"
        },
        "layer3Ipv6Rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv6Rule:AccesscontrollistLayer3Ipv6Rule"
          },
          "description": "AP ACL layer3 ipv6 rule list. The structure of `layer3_ipv6_rules` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "AP access control list 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\nThe `layer3_ipv4_rules` block supports:\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accesscontrollist resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "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"
          },
          "layer3Ipv4Rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv4Rule:AccesscontrollistLayer3Ipv4Rule"
            },
            "description": "AP ACL layer3 ipv4 rule list. The structure of `layer3_ipv4_rules` block is documented below.\n"
          },
          "layer3Ipv6Rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FAccesscontrollistLayer3Ipv6Rule:AccesscontrollistLayer3Ipv6Rule"
            },
            "description": "AP ACL layer3 ipv6 rule list. The structure of `layer3_ipv6_rules` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "AP access control list 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\nThe `layer3_ipv4_rules` block supports:\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/address:Address": {
      "description": "Configure the client with its MAC address. 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,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`.\n\n## Import\n\nWirelessController Address can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/address:Address 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:wirelesscontroller/address:Address labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "string",
          "description": "ID.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "policy": {
          "type": "string",
          "description": "Allow or block the client with this MAC address. Valid values: `allow`, `deny`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "mac",
        "policy",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "string",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "policy": {
          "type": "string",
          "description": "Allow or block the client with this MAC address. Valid values: `allow`, `deny`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Address resources.\n",
        "properties": {
          "fosid": {
            "type": "string",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "mac": {
            "type": "string",
            "description": "MAC address.\n"
          },
          "policy": {
            "type": "string",
            "description": "Allow or block the client with this MAC address. Valid values: `allow`, `deny`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/addrgrp:Addrgrp": {
      "description": "Configure the MAC address group. 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,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`.\n\n## Import\n\nWirelessController Addrgrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/addrgrp:Addrgrp 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:wirelesscontroller/addrgrp:Addrgrp labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAddrgrpAddress:AddrgrpAddress"
          },
          "description": "Manually selected group of addresses. The structure of `addresses` block is documented below.\n"
        },
        "defaultPolicy": {
          "type": "string",
          "description": "Allow or block the clients with MAC addresses that are not in the group. Valid values: `allow`, `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": "string",
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "defaultPolicy",
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "addresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FAddrgrpAddress:AddrgrpAddress"
          },
          "description": "Manually selected group of addresses. The structure of `addresses` block is documented below.\n"
        },
        "defaultPolicy": {
          "type": "string",
          "description": "Allow or block the clients with MAC addresses that are not in the group. Valid values: `allow`, `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": "string",
          "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"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Addrgrp resources.\n",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FAddrgrpAddress:AddrgrpAddress"
            },
            "description": "Manually selected group of addresses. The structure of `addresses` block is documented below.\n"
          },
          "defaultPolicy": {
            "type": "string",
            "description": "Allow or block the clients with MAC addresses that are not in the group. Valid values: `allow`, `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": "string",
            "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"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/apcfgprofile:Apcfgprofile": {
      "description": "Configure AP local configuration profiles. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nWirelessController ApcfgProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/apcfgprofile:Apcfgprofile 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:wirelesscontroller/apcfgprofile:Apcfgprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acIp": {
          "type": "string",
          "description": "IP address of the validation controller that AP must be able to join after applying AP local configuration.\n"
        },
        "acPort": {
          "type": "integer",
          "description": "Port of the validation controller that AP must be able to join after applying AP local configuration (1024 - 49150, default = 5246).\n"
        },
        "acTimer": {
          "type": "integer",
          "description": "Maximum waiting time for the AP to join the validation controller after applying AP local configuration (3 - 30 min, default = 10).\n"
        },
        "acType": {
          "type": "string",
          "description": "Validation controller type (default = default). Valid values: `default`, `specify`, `apcfg`.\n"
        },
        "apFamily": {
          "type": "string",
          "description": "FortiAP family type (default = fap). Valid values: `fap`, `fap-u`, `fap-c`.\n"
        },
        "commandLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FApcfgprofileCommandList:ApcfgprofileCommandList"
          },
          "description": "AP local configuration command list. The structure of `command_list` 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": "AP local configuration 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": [
        "acIp",
        "acPort",
        "acTimer",
        "acType",
        "apFamily",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "acIp": {
          "type": "string",
          "description": "IP address of the validation controller that AP must be able to join after applying AP local configuration.\n"
        },
        "acPort": {
          "type": "integer",
          "description": "Port of the validation controller that AP must be able to join after applying AP local configuration (1024 - 49150, default = 5246).\n"
        },
        "acTimer": {
          "type": "integer",
          "description": "Maximum waiting time for the AP to join the validation controller after applying AP local configuration (3 - 30 min, default = 10).\n"
        },
        "acType": {
          "type": "string",
          "description": "Validation controller type (default = default). Valid values: `default`, `specify`, `apcfg`.\n"
        },
        "apFamily": {
          "type": "string",
          "description": "FortiAP family type (default = fap). Valid values: `fap`, `fap-u`, `fap-c`.\n"
        },
        "commandLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FApcfgprofileCommandList:ApcfgprofileCommandList"
          },
          "description": "AP local configuration command list. The structure of `command_list` 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": "AP local configuration 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 Apcfgprofile resources.\n",
        "properties": {
          "acIp": {
            "type": "string",
            "description": "IP address of the validation controller that AP must be able to join after applying AP local configuration.\n"
          },
          "acPort": {
            "type": "integer",
            "description": "Port of the validation controller that AP must be able to join after applying AP local configuration (1024 - 49150, default = 5246).\n"
          },
          "acTimer": {
            "type": "integer",
            "description": "Maximum waiting time for the AP to join the validation controller after applying AP local configuration (3 - 30 min, default = 10).\n"
          },
          "acType": {
            "type": "string",
            "description": "Validation controller type (default = default). Valid values: `default`, `specify`, `apcfg`.\n"
          },
          "apFamily": {
            "type": "string",
            "description": "FortiAP family type (default = fap). Valid values: `fap`, `fap-u`, `fap-c`.\n"
          },
          "commandLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FApcfgprofileCommandList:ApcfgprofileCommandList"
            },
            "description": "AP local configuration command list. The structure of `command_list` 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": "AP local configuration 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:wirelesscontroller/apstatus:Apstatus": {
      "description": "Configure access point status (rogue | accepted | suppressed).\n\n## Import\n\nWirelessController ApStatus can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/apstatus:Apstatus 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:wirelesscontroller/apstatus:Apstatus labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bssid": {
          "type": "string",
          "description": "Access Point's (AP's) BSSID.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "AP ID.\n"
        },
        "ssid": {
          "type": "string",
          "description": "Access Point's (AP's) SSID.\n"
        },
        "status": {
          "type": "string",
          "description": "Access Point's (AP's) status: rogue, accepted, or supressed. Valid values: `rogue`, `accepted`, `suppressed`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "bssid",
        "fosid",
        "ssid",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "bssid": {
          "type": "string",
          "description": "Access Point's (AP's) BSSID.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "AP ID.\n",
          "willReplaceOnChanges": true
        },
        "ssid": {
          "type": "string",
          "description": "Access Point's (AP's) SSID.\n"
        },
        "status": {
          "type": "string",
          "description": "Access Point's (AP's) status: rogue, accepted, or supressed. Valid values: `rogue`, `accepted`, `suppressed`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Apstatus resources.\n",
        "properties": {
          "bssid": {
            "type": "string",
            "description": "Access Point's (AP's) BSSID.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "AP ID.\n",
            "willReplaceOnChanges": true
          },
          "ssid": {
            "type": "string",
            "description": "Access Point's (AP's) SSID.\n"
          },
          "status": {
            "type": "string",
            "description": "Access Point's (AP's) status: rogue, accepted, or supressed. Valid values: `rogue`, `accepted`, `suppressed`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/arrpprofile:Arrpprofile": {
      "description": "Configure WiFi Automatic Radio Resource Provisioning (ARRP) profiles. Applies to FortiOS Version `>= 6.4.2`.\n\n## Import\n\nWirelessController ArrpProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/arrpprofile:Arrpprofile 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:wirelesscontroller/arrpprofile:Arrpprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
        },
        "darrpOptimizeSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FArrpprofileDarrpOptimizeSchedule:ArrpprofileDarrpOptimizeSchedule"
          },
          "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` 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"
        },
        "includeDfsChannel": {
          "type": "string",
          "description": "Enable/disable use of DFS channel in DARRP channel selection phase 1 (default = disable).\n"
        },
        "includeWeatherChannel": {
          "type": "string",
          "description": "Enable/disable use of weather channel in DARRP channel selection phase 1 (default = disable).\n"
        },
        "monitorPeriod": {
          "type": "integer",
          "description": "Period in seconds to measure average transmit retries and receive errors (default = 300).\n"
        },
        "name": {
          "type": "string",
          "description": "WiFi ARRP profile name.\n"
        },
        "overrideDarrpOptimize": {
          "type": "string",
          "description": "Enable to override setting darrp-optimize and darrp-optimize-schedules (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "selectionPeriod": {
          "type": "integer",
          "description": "Period in seconds to measure average channel load, noise floor, spectral RSSI (default = 3600).\n"
        },
        "thresholdAp": {
          "type": "integer",
          "description": "Threshold to reject channel in DARRP channel selection phase 1 due to surrounding APs (0 - 500, default = 250).\n"
        },
        "thresholdChannelLoad": {
          "type": "integer",
          "description": "Threshold in percentage to reject channel in DARRP channel selection phase 1 due to channel load (0 - 100, default = 60).\n"
        },
        "thresholdNoiseFloor": {
          "type": "string",
          "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to noise floor (-95 to -20, default = -85).\n"
        },
        "thresholdRxErrors": {
          "type": "integer",
          "description": "Threshold in percentage for receive errors to trigger channel reselection in DARRP monitor stage (0 - 100, default = 50).\n"
        },
        "thresholdSpectralRssi": {
          "type": "string",
          "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to spectral RSSI (-95 to -20, default = -65).\n"
        },
        "thresholdTxRetries": {
          "type": "integer",
          "description": "Threshold in percentage for transmit retries to trigger channel reselection in DARRP monitor stage (0 - 1000, default = 300).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "weightChannelLoad": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for channel load (0 - 2000, default = 20).\n"
        },
        "weightDfsChannel": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for DFS channel (0 - 2000, default = 500).\n"
        },
        "weightManagedAp": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for managed APs (0 - 2000, default = 50).\n"
        },
        "weightNoiseFloor": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for noise floor (0 - 2000, default = 40).\n"
        },
        "weightRogueAp": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for rogue APs (0 - 2000, default = 10).\n"
        },
        "weightSpectralRssi": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for spectral RSSI (0 - 2000, default = 40).\n"
        },
        "weightWeatherChannel": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for weather channel (0 - 2000, default = 1000).\n"
        }
      },
      "type": "object",
      "required": [
        "darrpOptimize",
        "includeDfsChannel",
        "includeWeatherChannel",
        "monitorPeriod",
        "name",
        "overrideDarrpOptimize",
        "selectionPeriod",
        "thresholdAp",
        "thresholdChannelLoad",
        "thresholdNoiseFloor",
        "thresholdRxErrors",
        "thresholdSpectralRssi",
        "thresholdTxRetries",
        "vdomparam",
        "weightChannelLoad",
        "weightDfsChannel",
        "weightManagedAp",
        "weightNoiseFloor",
        "weightRogueAp",
        "weightSpectralRssi",
        "weightWeatherChannel"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
        },
        "darrpOptimizeSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FArrpprofileDarrpOptimizeSchedule:ArrpprofileDarrpOptimizeSchedule"
          },
          "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` 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"
        },
        "includeDfsChannel": {
          "type": "string",
          "description": "Enable/disable use of DFS channel in DARRP channel selection phase 1 (default = disable).\n"
        },
        "includeWeatherChannel": {
          "type": "string",
          "description": "Enable/disable use of weather channel in DARRP channel selection phase 1 (default = disable).\n"
        },
        "monitorPeriod": {
          "type": "integer",
          "description": "Period in seconds to measure average transmit retries and receive errors (default = 300).\n"
        },
        "name": {
          "type": "string",
          "description": "WiFi ARRP profile name.\n",
          "willReplaceOnChanges": true
        },
        "overrideDarrpOptimize": {
          "type": "string",
          "description": "Enable to override setting darrp-optimize and darrp-optimize-schedules (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "selectionPeriod": {
          "type": "integer",
          "description": "Period in seconds to measure average channel load, noise floor, spectral RSSI (default = 3600).\n"
        },
        "thresholdAp": {
          "type": "integer",
          "description": "Threshold to reject channel in DARRP channel selection phase 1 due to surrounding APs (0 - 500, default = 250).\n"
        },
        "thresholdChannelLoad": {
          "type": "integer",
          "description": "Threshold in percentage to reject channel in DARRP channel selection phase 1 due to channel load (0 - 100, default = 60).\n"
        },
        "thresholdNoiseFloor": {
          "type": "string",
          "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to noise floor (-95 to -20, default = -85).\n"
        },
        "thresholdRxErrors": {
          "type": "integer",
          "description": "Threshold in percentage for receive errors to trigger channel reselection in DARRP monitor stage (0 - 100, default = 50).\n"
        },
        "thresholdSpectralRssi": {
          "type": "string",
          "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to spectral RSSI (-95 to -20, default = -65).\n"
        },
        "thresholdTxRetries": {
          "type": "integer",
          "description": "Threshold in percentage for transmit retries to trigger channel reselection in DARRP monitor stage (0 - 1000, default = 300).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weightChannelLoad": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for channel load (0 - 2000, default = 20).\n"
        },
        "weightDfsChannel": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for DFS channel (0 - 2000, default = 500).\n"
        },
        "weightManagedAp": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for managed APs (0 - 2000, default = 50).\n"
        },
        "weightNoiseFloor": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for noise floor (0 - 2000, default = 40).\n"
        },
        "weightRogueAp": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for rogue APs (0 - 2000, default = 10).\n"
        },
        "weightSpectralRssi": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for spectral RSSI (0 - 2000, default = 40).\n"
        },
        "weightWeatherChannel": {
          "type": "integer",
          "description": "Weight in DARRP channel score calculation for weather channel (0 - 2000, default = 1000).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Arrpprofile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "darrpOptimize": {
            "type": "integer",
            "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
          },
          "darrpOptimizeSchedules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FArrpprofileDarrpOptimizeSchedule:ArrpprofileDarrpOptimizeSchedule"
            },
            "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` 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"
          },
          "includeDfsChannel": {
            "type": "string",
            "description": "Enable/disable use of DFS channel in DARRP channel selection phase 1 (default = disable).\n"
          },
          "includeWeatherChannel": {
            "type": "string",
            "description": "Enable/disable use of weather channel in DARRP channel selection phase 1 (default = disable).\n"
          },
          "monitorPeriod": {
            "type": "integer",
            "description": "Period in seconds to measure average transmit retries and receive errors (default = 300).\n"
          },
          "name": {
            "type": "string",
            "description": "WiFi ARRP profile name.\n",
            "willReplaceOnChanges": true
          },
          "overrideDarrpOptimize": {
            "type": "string",
            "description": "Enable to override setting darrp-optimize and darrp-optimize-schedules (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "selectionPeriod": {
            "type": "integer",
            "description": "Period in seconds to measure average channel load, noise floor, spectral RSSI (default = 3600).\n"
          },
          "thresholdAp": {
            "type": "integer",
            "description": "Threshold to reject channel in DARRP channel selection phase 1 due to surrounding APs (0 - 500, default = 250).\n"
          },
          "thresholdChannelLoad": {
            "type": "integer",
            "description": "Threshold in percentage to reject channel in DARRP channel selection phase 1 due to channel load (0 - 100, default = 60).\n"
          },
          "thresholdNoiseFloor": {
            "type": "string",
            "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to noise floor (-95 to -20, default = -85).\n"
          },
          "thresholdRxErrors": {
            "type": "integer",
            "description": "Threshold in percentage for receive errors to trigger channel reselection in DARRP monitor stage (0 - 100, default = 50).\n"
          },
          "thresholdSpectralRssi": {
            "type": "string",
            "description": "Threshold in dBm to reject channel in DARRP channel selection phase 1 due to spectral RSSI (-95 to -20, default = -65).\n"
          },
          "thresholdTxRetries": {
            "type": "integer",
            "description": "Threshold in percentage for transmit retries to trigger channel reselection in DARRP monitor stage (0 - 1000, default = 300).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weightChannelLoad": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for channel load (0 - 2000, default = 20).\n"
          },
          "weightDfsChannel": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for DFS channel (0 - 2000, default = 500).\n"
          },
          "weightManagedAp": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for managed APs (0 - 2000, default = 50).\n"
          },
          "weightNoiseFloor": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for noise floor (0 - 2000, default = 40).\n"
          },
          "weightRogueAp": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for rogue APs (0 - 2000, default = 10).\n"
          },
          "weightSpectralRssi": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for spectral RSSI (0 - 2000, default = 40).\n"
          },
          "weightWeatherChannel": {
            "type": "integer",
            "description": "Weight in DARRP channel score calculation for weather channel (0 - 2000, default = 1000).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/bleprofile:Bleprofile": {
      "description": "Configure Bluetooth Low Energy profile.\n\n## Import\n\nWirelessController BleProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/bleprofile:Bleprofile 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:wirelesscontroller/bleprofile:Bleprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "advertising": {
          "type": "string",
          "description": "Advertising type. Valid values: `ibeacon`, `eddystone-uid`, `eddystone-url`.\n"
        },
        "beaconInterval": {
          "type": "integer",
          "description": "Beacon interval (default = 100 msec).\n"
        },
        "bleScanning": {
          "type": "string",
          "description": "Enable/disable Bluetooth Low Energy (BLE) scanning. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "eddystoneInstance": {
          "type": "string",
          "description": "Eddystone instance ID.\n"
        },
        "eddystoneNamespace": {
          "type": "string",
          "description": "Eddystone namespace ID.\n"
        },
        "eddystoneUrl": {
          "type": "string",
          "description": "Eddystone URL.\n"
        },
        "eddystoneUrlEncodeHex": {
          "type": "string",
          "description": "Eddystone encoded URL hexadecimal string\n"
        },
        "ibeaconUuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "majorId": {
          "type": "integer",
          "description": "Major ID.\n"
        },
        "minorId": {
          "type": "integer",
          "description": "Minor ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Bluetooth Low Energy profile name.\n"
        },
        "scanInterval": {
          "type": "integer",
          "description": "Scan Interval (default = 50 msec).\n"
        },
        "scanPeriod": {
          "type": "integer",
          "description": "Scan Period (default = 4000 msec).\n"
        },
        "scanThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP to report detected BLE device (-95 to -20, default = -90).\n"
        },
        "scanTime": {
          "type": "integer",
          "description": "Scan Time (default = 1000 msec).\n"
        },
        "scanType": {
          "type": "string",
          "description": "Scan Type (default = active). Valid values: `active`, `passive`.\n"
        },
        "scanWindow": {
          "type": "integer",
          "description": "Scan Windows (default = 50 msec).\n"
        },
        "txpower": {
          "type": "string",
          "description": "Transmit power level (default = 0). Valid values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "advertising",
        "beaconInterval",
        "bleScanning",
        "comment",
        "eddystoneInstance",
        "eddystoneNamespace",
        "eddystoneUrl",
        "eddystoneUrlEncodeHex",
        "ibeaconUuid",
        "majorId",
        "minorId",
        "name",
        "scanInterval",
        "scanPeriod",
        "scanThreshold",
        "scanTime",
        "scanType",
        "scanWindow",
        "txpower",
        "vdomparam"
      ],
      "inputProperties": {
        "advertising": {
          "type": "string",
          "description": "Advertising type. Valid values: `ibeacon`, `eddystone-uid`, `eddystone-url`.\n"
        },
        "beaconInterval": {
          "type": "integer",
          "description": "Beacon interval (default = 100 msec).\n"
        },
        "bleScanning": {
          "type": "string",
          "description": "Enable/disable Bluetooth Low Energy (BLE) scanning. Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "eddystoneInstance": {
          "type": "string",
          "description": "Eddystone instance ID.\n"
        },
        "eddystoneNamespace": {
          "type": "string",
          "description": "Eddystone namespace ID.\n"
        },
        "eddystoneUrl": {
          "type": "string",
          "description": "Eddystone URL.\n"
        },
        "eddystoneUrlEncodeHex": {
          "type": "string",
          "description": "Eddystone encoded URL hexadecimal string\n"
        },
        "ibeaconUuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "majorId": {
          "type": "integer",
          "description": "Major ID.\n"
        },
        "minorId": {
          "type": "integer",
          "description": "Minor ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Bluetooth Low Energy profile name.\n",
          "willReplaceOnChanges": true
        },
        "scanInterval": {
          "type": "integer",
          "description": "Scan Interval (default = 50 msec).\n"
        },
        "scanPeriod": {
          "type": "integer",
          "description": "Scan Period (default = 4000 msec).\n"
        },
        "scanThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP to report detected BLE device (-95 to -20, default = -90).\n"
        },
        "scanTime": {
          "type": "integer",
          "description": "Scan Time (default = 1000 msec).\n"
        },
        "scanType": {
          "type": "string",
          "description": "Scan Type (default = active). Valid values: `active`, `passive`.\n"
        },
        "scanWindow": {
          "type": "integer",
          "description": "Scan Windows (default = 50 msec).\n"
        },
        "txpower": {
          "type": "string",
          "description": "Transmit power level (default = 0). Valid values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Bleprofile resources.\n",
        "properties": {
          "advertising": {
            "type": "string",
            "description": "Advertising type. Valid values: `ibeacon`, `eddystone-uid`, `eddystone-url`.\n"
          },
          "beaconInterval": {
            "type": "integer",
            "description": "Beacon interval (default = 100 msec).\n"
          },
          "bleScanning": {
            "type": "string",
            "description": "Enable/disable Bluetooth Low Energy (BLE) scanning. Valid values: `enable`, `disable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "eddystoneInstance": {
            "type": "string",
            "description": "Eddystone instance ID.\n"
          },
          "eddystoneNamespace": {
            "type": "string",
            "description": "Eddystone namespace ID.\n"
          },
          "eddystoneUrl": {
            "type": "string",
            "description": "Eddystone URL.\n"
          },
          "eddystoneUrlEncodeHex": {
            "type": "string",
            "description": "Eddystone encoded URL hexadecimal string\n"
          },
          "ibeaconUuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "majorId": {
            "type": "integer",
            "description": "Major ID.\n"
          },
          "minorId": {
            "type": "integer",
            "description": "Minor ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Bluetooth Low Energy profile name.\n",
            "willReplaceOnChanges": true
          },
          "scanInterval": {
            "type": "integer",
            "description": "Scan Interval (default = 50 msec).\n"
          },
          "scanPeriod": {
            "type": "integer",
            "description": "Scan Period (default = 4000 msec).\n"
          },
          "scanThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the AP to report detected BLE device (-95 to -20, default = -90).\n"
          },
          "scanTime": {
            "type": "integer",
            "description": "Scan Time (default = 1000 msec).\n"
          },
          "scanType": {
            "type": "string",
            "description": "Scan Type (default = active). Valid values: `active`, `passive`.\n"
          },
          "scanWindow": {
            "type": "integer",
            "description": "Scan Windows (default = 50 msec).\n"
          },
          "txpower": {
            "type": "string",
            "description": "Transmit power level (default = 0). Valid values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/bonjourprofile:Bonjourprofile": {
      "description": "Configure Bonjour profiles. Bonjour is Apple's zero configuration networking protocol. Bonjour profiles allow APs and FortiAPs to connnect to networks using Bonjour.\n\n## Import\n\nWirelessController BonjourProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/bonjourprofile:Bonjourprofile 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:wirelesscontroller/bonjourprofile:Bonjourprofile 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": "Bonjour profile name.\n"
        },
        "policyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FBonjourprofilePolicyList:BonjourprofilePolicyList"
          },
          "description": "Bonjour policy list. The structure of `policy_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": [
        "comment",
        "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": "Bonjour profile name.\n",
          "willReplaceOnChanges": true
        },
        "policyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FBonjourprofilePolicyList:BonjourprofilePolicyList"
          },
          "description": "Bonjour policy list. The structure of `policy_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 Bonjourprofile 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": "Bonjour profile name.\n",
            "willReplaceOnChanges": true
          },
          "policyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FBonjourprofilePolicyList:BonjourprofilePolicyList"
            },
            "description": "Bonjour policy list. The structure of `policy_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:wirelesscontroller/global:Global": {
      "description": "Configure wireless controller global 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.wirelesscontroller.Global(\"trname\", {\n    apLogServer: \"disable\",\n    apLogServerIp: \"0.0.0.0\",\n    apLogServerPort: 0,\n    controlMessageOffload: \"ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\",\n    dataEthernetIi: \"disable\",\n    discoveryMcAddr: \"224.0.1.140\",\n    fiappEthType: 5252,\n    imageDownload: \"enable\",\n    ipsecBaseIp: \"169.254.0.1\",\n    linkAggregation: \"disable\",\n    maxClients: 0,\n    maxRetransmit: 3,\n    meshEthType: 8755,\n    rogueScanMacAdjacency: 7,\n    wtpShare: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.Global(\"trname\",\n    ap_log_server=\"disable\",\n    ap_log_server_ip=\"0.0.0.0\",\n    ap_log_server_port=0,\n    control_message_offload=\"ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\",\n    data_ethernet_ii=\"disable\",\n    discovery_mc_addr=\"224.0.1.140\",\n    fiapp_eth_type=5252,\n    image_download=\"enable\",\n    ipsec_base_ip=\"169.254.0.1\",\n    link_aggregation=\"disable\",\n    max_clients=0,\n    max_retransmit=3,\n    mesh_eth_type=8755,\n    rogue_scan_mac_adjacency=7,\n    wtp_share=\"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.Wirelesscontroller.Global(\"trname\", new()\n    {\n        ApLogServer = \"disable\",\n        ApLogServerIp = \"0.0.0.0\",\n        ApLogServerPort = 0,\n        ControlMessageOffload = \"ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\",\n        DataEthernetIi = \"disable\",\n        DiscoveryMcAddr = \"224.0.1.140\",\n        FiappEthType = 5252,\n        ImageDownload = \"enable\",\n        IpsecBaseIp = \"169.254.0.1\",\n        LinkAggregation = \"disable\",\n        MaxClients = 0,\n        MaxRetransmit = 3,\n        MeshEthType = 8755,\n        RogueScanMacAdjacency = 7,\n        WtpShare = \"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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewGlobal(ctx, \"trname\", &wirelesscontroller.GlobalArgs{\n\t\t\tApLogServer:           pulumi.String(\"disable\"),\n\t\t\tApLogServerIp:         pulumi.String(\"0.0.0.0\"),\n\t\t\tApLogServerPort:       pulumi.Int(0),\n\t\t\tControlMessageOffload: pulumi.String(\"ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\"),\n\t\t\tDataEthernetIi:        pulumi.String(\"disable\"),\n\t\t\tDiscoveryMcAddr:       pulumi.String(\"224.0.1.140\"),\n\t\t\tFiappEthType:          pulumi.Int(5252),\n\t\t\tImageDownload:         pulumi.String(\"enable\"),\n\t\t\tIpsecBaseIp:           pulumi.String(\"169.254.0.1\"),\n\t\t\tLinkAggregation:       pulumi.String(\"disable\"),\n\t\t\tMaxClients:            pulumi.Int(0),\n\t\t\tMaxRetransmit:         pulumi.Int(3),\n\t\t\tMeshEthType:           pulumi.Int(8755),\n\t\t\tRogueScanMacAdjacency: pulumi.Int(7),\n\t\t\tWtpShare:              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.wirelesscontroller.Global;\nimport com.pulumi.fortios.wirelesscontroller.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            .apLogServer(\"disable\")\n            .apLogServerIp(\"0.0.0.0\")\n            .apLogServerPort(0)\n            .controlMessageOffload(\"ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\")\n            .dataEthernetIi(\"disable\")\n            .discoveryMcAddr(\"224.0.1.140\")\n            .fiappEthType(5252)\n            .imageDownload(\"enable\")\n            .ipsecBaseIp(\"169.254.0.1\")\n            .linkAggregation(\"disable\")\n            .maxClients(0)\n            .maxRetransmit(3)\n            .meshEthType(8755)\n            .rogueScanMacAdjacency(7)\n            .wtpShare(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller:Global\n    properties:\n      apLogServer: disable\n      apLogServerIp: 0.0.0.0\n      apLogServerPort: 0\n      controlMessageOffload: ebp-frame aeroscout-tag ap-list sta-list sta-cap-list stats aeroscout-mu\n      dataEthernetIi: disable\n      discoveryMcAddr: 224.0.1.140\n      fiappEthType: 5252\n      imageDownload: enable\n      ipsecBaseIp: 169.254.0.1\n      linkAggregation: disable\n      maxClients: 0\n      maxRetransmit: 3\n      meshEthType: 8755\n      rogueScanMacAdjacency: 7\n      wtpShare: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessController Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/global:Global labelname WirelessControllerGlobal\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:wirelesscontroller/global:Global labelname WirelessControllerGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "acdProcessCount": {
          "type": "integer",
          "description": "Configure the number cw_acd daemons for multi-core CPU support (default = 0).\n"
        },
        "apLogServer": {
          "type": "string",
          "description": "Enable/disable configuring FortiGate to redirect wireless event log messages or FortiAPs to send UTM log messages to a syslog server (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apLogServerIp": {
          "type": "string",
          "description": "IP address that APs or FortiAPs send log messages to.\n"
        },
        "apLogServerPort": {
          "type": "integer",
          "description": "Port that APs or FortiAPs send log messages to.\n"
        },
        "controlMessageOffload": {
          "type": "string",
          "description": "Configure CAPWAP control message data channel offload.\n"
        },
        "dataEthernetIi": {
          "type": "string",
          "description": "Configure the wireless controller to use Ethernet II or 802.3 frames with 802.3 data tunnel mode (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dfsLabTest": {
          "type": "string",
          "description": "Enable/disable DFS certificate lab test mode. Valid values: `enable`, `disable`.\n"
        },
        "discoveryMcAddr": {
          "type": "string",
          "description": "Multicast IP address for AP discovery (default = 244.0.1.140).\n"
        },
        "fiappEthType": {
          "type": "integer",
          "description": "Ethernet type for Fortinet Inter-Access Point Protocol (IAPP), or IEEE 802.11f, packets (0 - 65535, default = 5252).\n"
        },
        "imageDownload": {
          "type": "string",
          "description": "Enable/disable WTP image download at join time. Valid values: `enable`, `disable`.\n"
        },
        "ipsecBaseIp": {
          "type": "string",
          "description": "Base IP address for IPsec VPN tunnels between the access points and the wireless controller (default = 169.254.0.1).\n"
        },
        "linkAggregation": {
          "type": "string",
          "description": "Enable/disable calculating the CAPWAP transmit hash to load balance sessions to link aggregation nodes (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "location": {
          "type": "string",
          "description": "Description of the location of the wireless controller.\n"
        },
        "maxBleDevice": {
          "type": "integer",
          "description": "Maximum number of BLE devices stored on the controller (default = 0).\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously (default = 0, meaning no limitation).\n"
        },
        "maxRetransmit": {
          "type": "integer",
          "description": "Maximum number of tunnel packet retransmissions (0 - 64, default = 3).\n"
        },
        "maxRogueAp": {
          "type": "integer",
          "description": "Maximum number of rogue APs stored on the controller (default = 0).\n"
        },
        "maxRogueApWtp": {
          "type": "integer",
          "description": "Maximum number of rogue AP's wtp info stored on the controller (1 - 16, default = 16).\n"
        },
        "maxRogueSta": {
          "type": "integer",
          "description": "Maximum number of rogue stations stored on the controller (default = 0).\n"
        },
        "maxStaCap": {
          "type": "integer",
          "description": "Maximum number of station cap stored on the controller (default = 0).\n"
        },
        "maxStaCapWtp": {
          "type": "integer",
          "description": "Maximum number of station cap's wtp info stored on the controller (1 - 16, default = 8).\n"
        },
        "meshEthType": {
          "type": "integer",
          "description": "Mesh Ethernet identifier included in backhaul packets (0 - 65535, default = 8755).\n"
        },
        "nacInterval": {
          "type": "integer",
          "description": "Interval in seconds between two WiFi network access control (NAC) checks (10 - 600, default = 120).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the wireless controller.\n"
        },
        "rogueScanMacAdjacency": {
          "type": "integer",
          "description": "Maximum numerical difference between an AP's Ethernet and wireless MAC values to match for rogue detection (0 - 31, default = 7).\n"
        },
        "rollingWtpUpgrade": {
          "type": "string",
          "description": "Enable/disable rolling WTP upgrade (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "rollingWtpUpgradeThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the managed WTP to be included in rolling WTP upgrade (-95 to -20, default = -80).\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Compatible/strict tunnel mode. Valid values: `compatible`, `strict`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wpadProcessCount": {
          "type": "integer",
          "description": "Wpad daemon process count for multi-core CPU support.\n"
        },
        "wtpShare": {
          "type": "string",
          "description": "Enable/disable sharing of WTPs between VDOMs. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "acdProcessCount",
        "apLogServer",
        "apLogServerIp",
        "apLogServerPort",
        "controlMessageOffload",
        "dataEthernetIi",
        "dfsLabTest",
        "discoveryMcAddr",
        "fiappEthType",
        "imageDownload",
        "ipsecBaseIp",
        "linkAggregation",
        "location",
        "maxBleDevice",
        "maxClients",
        "maxRetransmit",
        "maxRogueAp",
        "maxRogueApWtp",
        "maxRogueSta",
        "maxStaCap",
        "maxStaCapWtp",
        "meshEthType",
        "nacInterval",
        "name",
        "rogueScanMacAdjacency",
        "rollingWtpUpgrade",
        "rollingWtpUpgradeThreshold",
        "tunnelMode",
        "vdomparam",
        "wpadProcessCount",
        "wtpShare"
      ],
      "inputProperties": {
        "acdProcessCount": {
          "type": "integer",
          "description": "Configure the number cw_acd daemons for multi-core CPU support (default = 0).\n"
        },
        "apLogServer": {
          "type": "string",
          "description": "Enable/disable configuring FortiGate to redirect wireless event log messages or FortiAPs to send UTM log messages to a syslog server (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apLogServerIp": {
          "type": "string",
          "description": "IP address that APs or FortiAPs send log messages to.\n"
        },
        "apLogServerPort": {
          "type": "integer",
          "description": "Port that APs or FortiAPs send log messages to.\n"
        },
        "controlMessageOffload": {
          "type": "string",
          "description": "Configure CAPWAP control message data channel offload.\n"
        },
        "dataEthernetIi": {
          "type": "string",
          "description": "Configure the wireless controller to use Ethernet II or 802.3 frames with 802.3 data tunnel mode (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dfsLabTest": {
          "type": "string",
          "description": "Enable/disable DFS certificate lab test mode. Valid values: `enable`, `disable`.\n"
        },
        "discoveryMcAddr": {
          "type": "string",
          "description": "Multicast IP address for AP discovery (default = 244.0.1.140).\n"
        },
        "fiappEthType": {
          "type": "integer",
          "description": "Ethernet type for Fortinet Inter-Access Point Protocol (IAPP), or IEEE 802.11f, packets (0 - 65535, default = 5252).\n"
        },
        "imageDownload": {
          "type": "string",
          "description": "Enable/disable WTP image download at join time. Valid values: `enable`, `disable`.\n"
        },
        "ipsecBaseIp": {
          "type": "string",
          "description": "Base IP address for IPsec VPN tunnels between the access points and the wireless controller (default = 169.254.0.1).\n"
        },
        "linkAggregation": {
          "type": "string",
          "description": "Enable/disable calculating the CAPWAP transmit hash to load balance sessions to link aggregation nodes (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "location": {
          "type": "string",
          "description": "Description of the location of the wireless controller.\n"
        },
        "maxBleDevice": {
          "type": "integer",
          "description": "Maximum number of BLE devices stored on the controller (default = 0).\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously (default = 0, meaning no limitation).\n"
        },
        "maxRetransmit": {
          "type": "integer",
          "description": "Maximum number of tunnel packet retransmissions (0 - 64, default = 3).\n"
        },
        "maxRogueAp": {
          "type": "integer",
          "description": "Maximum number of rogue APs stored on the controller (default = 0).\n"
        },
        "maxRogueApWtp": {
          "type": "integer",
          "description": "Maximum number of rogue AP's wtp info stored on the controller (1 - 16, default = 16).\n"
        },
        "maxRogueSta": {
          "type": "integer",
          "description": "Maximum number of rogue stations stored on the controller (default = 0).\n"
        },
        "maxStaCap": {
          "type": "integer",
          "description": "Maximum number of station cap stored on the controller (default = 0).\n"
        },
        "maxStaCapWtp": {
          "type": "integer",
          "description": "Maximum number of station cap's wtp info stored on the controller (1 - 16, default = 8).\n"
        },
        "meshEthType": {
          "type": "integer",
          "description": "Mesh Ethernet identifier included in backhaul packets (0 - 65535, default = 8755).\n"
        },
        "nacInterval": {
          "type": "integer",
          "description": "Interval in seconds between two WiFi network access control (NAC) checks (10 - 600, default = 120).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the wireless controller.\n"
        },
        "rogueScanMacAdjacency": {
          "type": "integer",
          "description": "Maximum numerical difference between an AP's Ethernet and wireless MAC values to match for rogue detection (0 - 31, default = 7).\n"
        },
        "rollingWtpUpgrade": {
          "type": "string",
          "description": "Enable/disable rolling WTP upgrade (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "rollingWtpUpgradeThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the managed WTP to be included in rolling WTP upgrade (-95 to -20, default = -80).\n"
        },
        "tunnelMode": {
          "type": "string",
          "description": "Compatible/strict tunnel mode. Valid values: `compatible`, `strict`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wpadProcessCount": {
          "type": "integer",
          "description": "Wpad daemon process count for multi-core CPU support.\n"
        },
        "wtpShare": {
          "type": "string",
          "description": "Enable/disable sharing of WTPs between VDOMs. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "acdProcessCount": {
            "type": "integer",
            "description": "Configure the number cw_acd daemons for multi-core CPU support (default = 0).\n"
          },
          "apLogServer": {
            "type": "string",
            "description": "Enable/disable configuring FortiGate to redirect wireless event log messages or FortiAPs to send UTM log messages to a syslog server (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "apLogServerIp": {
            "type": "string",
            "description": "IP address that APs or FortiAPs send log messages to.\n"
          },
          "apLogServerPort": {
            "type": "integer",
            "description": "Port that APs or FortiAPs send log messages to.\n"
          },
          "controlMessageOffload": {
            "type": "string",
            "description": "Configure CAPWAP control message data channel offload.\n"
          },
          "dataEthernetIi": {
            "type": "string",
            "description": "Configure the wireless controller to use Ethernet II or 802.3 frames with 802.3 data tunnel mode (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "dfsLabTest": {
            "type": "string",
            "description": "Enable/disable DFS certificate lab test mode. Valid values: `enable`, `disable`.\n"
          },
          "discoveryMcAddr": {
            "type": "string",
            "description": "Multicast IP address for AP discovery (default = 244.0.1.140).\n"
          },
          "fiappEthType": {
            "type": "integer",
            "description": "Ethernet type for Fortinet Inter-Access Point Protocol (IAPP), or IEEE 802.11f, packets (0 - 65535, default = 5252).\n"
          },
          "imageDownload": {
            "type": "string",
            "description": "Enable/disable WTP image download at join time. Valid values: `enable`, `disable`.\n"
          },
          "ipsecBaseIp": {
            "type": "string",
            "description": "Base IP address for IPsec VPN tunnels between the access points and the wireless controller (default = 169.254.0.1).\n"
          },
          "linkAggregation": {
            "type": "string",
            "description": "Enable/disable calculating the CAPWAP transmit hash to load balance sessions to link aggregation nodes (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "location": {
            "type": "string",
            "description": "Description of the location of the wireless controller.\n"
          },
          "maxBleDevice": {
            "type": "integer",
            "description": "Maximum number of BLE devices stored on the controller (default = 0).\n"
          },
          "maxClients": {
            "type": "integer",
            "description": "Maximum number of clients that can connect simultaneously (default = 0, meaning no limitation).\n"
          },
          "maxRetransmit": {
            "type": "integer",
            "description": "Maximum number of tunnel packet retransmissions (0 - 64, default = 3).\n"
          },
          "maxRogueAp": {
            "type": "integer",
            "description": "Maximum number of rogue APs stored on the controller (default = 0).\n"
          },
          "maxRogueApWtp": {
            "type": "integer",
            "description": "Maximum number of rogue AP's wtp info stored on the controller (1 - 16, default = 16).\n"
          },
          "maxRogueSta": {
            "type": "integer",
            "description": "Maximum number of rogue stations stored on the controller (default = 0).\n"
          },
          "maxStaCap": {
            "type": "integer",
            "description": "Maximum number of station cap stored on the controller (default = 0).\n"
          },
          "maxStaCapWtp": {
            "type": "integer",
            "description": "Maximum number of station cap's wtp info stored on the controller (1 - 16, default = 8).\n"
          },
          "meshEthType": {
            "type": "integer",
            "description": "Mesh Ethernet identifier included in backhaul packets (0 - 65535, default = 8755).\n"
          },
          "nacInterval": {
            "type": "integer",
            "description": "Interval in seconds between two WiFi network access control (NAC) checks (10 - 600, default = 120).\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the wireless controller.\n"
          },
          "rogueScanMacAdjacency": {
            "type": "integer",
            "description": "Maximum numerical difference between an AP's Ethernet and wireless MAC values to match for rogue detection (0 - 31, default = 7).\n"
          },
          "rollingWtpUpgrade": {
            "type": "string",
            "description": "Enable/disable rolling WTP upgrade (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "rollingWtpUpgradeThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the managed WTP to be included in rolling WTP upgrade (-95 to -20, default = -80).\n"
          },
          "tunnelMode": {
            "type": "string",
            "description": "Compatible/strict tunnel mode. Valid values: `compatible`, `strict`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wpadProcessCount": {
            "type": "integer",
            "description": "Wpad daemon process count for multi-core CPU support.\n"
          },
          "wtpShare": {
            "type": "string",
            "description": "Enable/disable sharing of WTPs between VDOMs. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/hotspot20/anqp3gppcellular:Anqp3gppcellular": {
      "description": "Configure 3GPP public land mobile network (PLMN).\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.wirelesscontroller.hotspot20.Anqp3gppcellular(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Anqp3gppcellular(\"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.Wirelesscontroller.Hotspot20.Anqp3gppcellular(\"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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewAnqp3gppcellular(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.wirelesscontroller.Anqp3gppcellular;\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 Anqp3gppcellular(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Anqp3gppcellular\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 Anqp3GppCellular can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqp3gppcellular:Anqp3gppcellular 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:wirelesscontroller/hotspot20/anqp3gppcellular:Anqp3gppcellular 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"
        },
        "mccMncLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqp3gppcellularMccMncList:Anqp3gppcellularMccMncList"
          },
          "description": "Mobile Country Code and Mobile Network Code configuration. The structure of `mcc_mnc_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "3GPP PLMN 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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "mccMncLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqp3gppcellularMccMncList:Anqp3gppcellularMccMncList"
          },
          "description": "Mobile Country Code and Mobile Network Code configuration. The structure of `mcc_mnc_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "3GPP PLMN 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 Anqp3gppcellular 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"
          },
          "mccMncLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqp3gppcellularMccMncList:Anqp3gppcellularMccMncList"
            },
            "description": "Mobile Country Code and Mobile Network Code configuration. The structure of `mcc_mnc_list` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "3GPP PLMN 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:wirelesscontroller/hotspot20/anqpipaddresstype:Anqpipaddresstype": {
      "description": "Configure IP address type availability.\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.wirelesscontroller.hotspot20.Anqpipaddresstype(\"trname\", {\n    ipv4AddressType: \"public\",\n    ipv6AddressType: \"not-available\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Anqpipaddresstype(\"trname\",\n    ipv4_address_type=\"public\",\n    ipv6_address_type=\"not-available\")\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.Wirelesscontroller.Hotspot20.Anqpipaddresstype(\"trname\", new()\n    {\n        Ipv4AddressType = \"public\",\n        Ipv6AddressType = \"not-available\",\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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewAnqpipaddresstype(ctx, \"trname\", &wirelesscontroller.AnqpipaddresstypeArgs{\n\t\t\tIpv4AddressType: pulumi.String(\"public\"),\n\t\t\tIpv6AddressType: pulumi.String(\"not-available\"),\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.wirelesscontroller.Anqpipaddresstype;\nimport com.pulumi.fortios.wirelesscontroller.AnqpipaddresstypeArgs;\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 Anqpipaddresstype(\"trname\", AnqpipaddresstypeArgs.builder()\n            .ipv4AddressType(\"public\")\n            .ipv6AddressType(\"not-available\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Anqpipaddresstype\n    properties:\n      ipv4AddressType: public\n      ipv6AddressType: not-available\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 AnqpIpAddressType can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqpipaddresstype:Anqpipaddresstype 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:wirelesscontroller/hotspot20/anqpipaddresstype:Anqpipaddresstype labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ipv4AddressType": {
          "type": "string",
          "description": "IPv4 address type. Valid values: `not-available`, `public`, `port-restricted`, `single-NATed-private`, `double-NATed-private`, `port-restricted-and-single-NATed`, `port-restricted-and-double-NATed`, `not-known`.\n"
        },
        "ipv6AddressType": {
          "type": "string",
          "description": "IPv6 address type. Valid values: `not-available`, `available`, `not-known`.\n"
        },
        "name": {
          "type": "string",
          "description": "IP type 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": [
        "ipv4AddressType",
        "ipv6AddressType",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "ipv4AddressType": {
          "type": "string",
          "description": "IPv4 address type. Valid values: `not-available`, `public`, `port-restricted`, `single-NATed-private`, `double-NATed-private`, `port-restricted-and-single-NATed`, `port-restricted-and-double-NATed`, `not-known`.\n"
        },
        "ipv6AddressType": {
          "type": "string",
          "description": "IPv6 address type. Valid values: `not-available`, `available`, `not-known`.\n"
        },
        "name": {
          "type": "string",
          "description": "IP type 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 Anqpipaddresstype resources.\n",
        "properties": {
          "ipv4AddressType": {
            "type": "string",
            "description": "IPv4 address type. Valid values: `not-available`, `public`, `port-restricted`, `single-NATed-private`, `double-NATed-private`, `port-restricted-and-single-NATed`, `port-restricted-and-double-NATed`, `not-known`.\n"
          },
          "ipv6AddressType": {
            "type": "string",
            "description": "IPv6 address type. Valid values: `not-available`, `available`, `not-known`.\n"
          },
          "name": {
            "type": "string",
            "description": "IP type 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:wirelesscontroller/hotspot20/anqpnairealm:Anqpnairealm": {
      "description": "Configure network access identifier (NAI) realm.\n\n## Import\n\nWirelessControllerHotspot20 AnqpNaiRealm can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqpnairealm:Anqpnairealm 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:wirelesscontroller/hotspot20/anqpnairealm:Anqpnairealm 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"
        },
        "naiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpnairealmNaiList:AnqpnairealmNaiList"
          },
          "description": "NAI list. The structure of `nai_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "NAI realm list 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": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: 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"
        },
        "naiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpnairealmNaiList:AnqpnairealmNaiList"
          },
          "description": "NAI list. The structure of `nai_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "NAI realm list 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 Anqpnairealm 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"
          },
          "naiLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpnairealmNaiList:AnqpnairealmNaiList"
            },
            "description": "NAI list. The structure of `nai_list` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "NAI realm list 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:wirelesscontroller/hotspot20/anqpnetworkauthtype:Anqpnetworkauthtype": {
      "description": "Configure network authentication 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.wirelesscontroller.hotspot20.Anqpnetworkauthtype(\"trname\", {\n    authType: \"acceptance-of-terms\",\n    url: \"www.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Anqpnetworkauthtype(\"trname\",\n    auth_type=\"acceptance-of-terms\",\n    url=\"www.example.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.Wirelesscontroller.Hotspot20.Anqpnetworkauthtype(\"trname\", new()\n    {\n        AuthType = \"acceptance-of-terms\",\n        Url = \"www.example.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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewAnqpnetworkauthtype(ctx, \"trname\", &wirelesscontroller.AnqpnetworkauthtypeArgs{\n\t\t\tAuthType: pulumi.String(\"acceptance-of-terms\"),\n\t\t\tUrl:      pulumi.String(\"www.example.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.wirelesscontroller.Anqpnetworkauthtype;\nimport com.pulumi.fortios.wirelesscontroller.AnqpnetworkauthtypeArgs;\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 Anqpnetworkauthtype(\"trname\", AnqpnetworkauthtypeArgs.builder()\n            .authType(\"acceptance-of-terms\")\n            .url(\"www.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Anqpnetworkauthtype\n    properties:\n      authType: acceptance-of-terms\n      url: www.example.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 AnqpNetworkAuthType can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqpnetworkauthtype:Anqpnetworkauthtype 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:wirelesscontroller/hotspot20/anqpnetworkauthtype:Anqpnetworkauthtype labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authType": {
          "type": "string",
          "description": "Network authentication type. Valid values: `acceptance-of-terms`, `online-enrollment`, `http-redirection`, `dns-redirection`.\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication type name.\n"
        },
        "url": {
          "type": "string",
          "description": "Redirect URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "authType",
        "name",
        "url",
        "vdomparam"
      ],
      "inputProperties": {
        "authType": {
          "type": "string",
          "description": "Network authentication type. Valid values: `acceptance-of-terms`, `online-enrollment`, `http-redirection`, `dns-redirection`.\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication type name.\n",
          "willReplaceOnChanges": true
        },
        "url": {
          "type": "string",
          "description": "Redirect URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Anqpnetworkauthtype resources.\n",
        "properties": {
          "authType": {
            "type": "string",
            "description": "Network authentication type. Valid values: `acceptance-of-terms`, `online-enrollment`, `http-redirection`, `dns-redirection`.\n"
          },
          "name": {
            "type": "string",
            "description": "Authentication type name.\n",
            "willReplaceOnChanges": true
          },
          "url": {
            "type": "string",
            "description": "Redirect URL.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/hotspot20/anqproamingconsortium:Anqproamingconsortium": {
      "description": "Configure roaming consortium.\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.wirelesscontroller.hotspot20.Anqproamingconsortium(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Anqproamingconsortium(\"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.Wirelesscontroller.Hotspot20.Anqproamingconsortium(\"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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewAnqproamingconsortium(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.wirelesscontroller.Anqproamingconsortium;\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 Anqproamingconsortium(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Anqproamingconsortium\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 AnqpRoamingConsortium can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqproamingconsortium:Anqproamingconsortium 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:wirelesscontroller/hotspot20/anqproamingconsortium:Anqproamingconsortium 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": "Roaming consortium name.\n"
        },
        "oiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqproamingconsortiumOiList:AnqproamingconsortiumOiList"
          },
          "description": "Organization identifier list. The structure of `oi_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": [
        "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": "Roaming consortium name.\n",
          "willReplaceOnChanges": true
        },
        "oiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqproamingconsortiumOiList:AnqproamingconsortiumOiList"
          },
          "description": "Organization identifier list. The structure of `oi_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 Anqproamingconsortium 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": "Roaming consortium name.\n",
            "willReplaceOnChanges": true
          },
          "oiLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqproamingconsortiumOiList:AnqproamingconsortiumOiList"
            },
            "description": "Organization identifier list. The structure of `oi_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:wirelesscontroller/hotspot20/anqpvenuename:Anqpvenuename": {
      "description": "Configure venue name duple.\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.wirelesscontroller.hotspot20.Anqpvenuename(\"trname\", {valueLists: [{\n    index: 1,\n    lang: \"CN\",\n    value: \"3\",\n}]});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Anqpvenuename(\"trname\", value_lists=[fortios.wirelesscontroller.hotspot20.AnqpvenuenameValueListArgs(\n    index=1,\n    lang=\"CN\",\n    value=\"3\",\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.Wirelesscontroller.Hotspot20.Anqpvenuename(\"trname\", new()\n    {\n        ValueLists = new[]\n        {\n            new Fortios.Wirelesscontroller.Hotspot20.Inputs.AnqpvenuenameValueListArgs\n            {\n                Index = 1,\n                Lang = \"CN\",\n                Value = \"3\",\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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewAnqpvenuename(ctx, \"trname\", &wirelesscontroller.AnqpvenuenameArgs{\n\t\t\tValueLists: hotspot20.AnqpvenuenameValueListArray{\n\t\t\t\t&hotspot20.AnqpvenuenameValueListArgs{\n\t\t\t\t\tIndex: pulumi.Int(1),\n\t\t\t\t\tLang:  pulumi.String(\"CN\"),\n\t\t\t\t\tValue: pulumi.String(\"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\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.wirelesscontroller.Anqpvenuename;\nimport com.pulumi.fortios.wirelesscontroller.AnqpvenuenameArgs;\nimport com.pulumi.fortios.wirelesscontroller.inputs.AnqpvenuenameValueListArgs;\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 Anqpvenuename(\"trname\", AnqpvenuenameArgs.builder()\n            .valueLists(AnqpvenuenameValueListArgs.builder()\n                .index(1)\n                .lang(\"CN\")\n                .value(\"3\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Anqpvenuename\n    properties:\n      valueLists:\n        - index: 1\n          lang: CN\n          value: '3'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 AnqpVenueName can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqpvenuename:Anqpvenuename 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:wirelesscontroller/hotspot20/anqpvenuename:Anqpvenuename 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": "Name of venue name duple.\n"
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenuenameValueList:AnqpvenuenameValueList"
          },
          "description": "Name list. The structure of `value_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": [
        "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": "Name of venue name duple.\n",
          "willReplaceOnChanges": true
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenuenameValueList:AnqpvenuenameValueList"
          },
          "description": "Name list. The structure of `value_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 Anqpvenuename 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": "Name of venue name duple.\n",
            "willReplaceOnChanges": true
          },
          "valueLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenuenameValueList:AnqpvenuenameValueList"
            },
            "description": "Name list. The structure of `value_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:wirelesscontroller/hotspot20/anqpvenueurl:Anqpvenueurl": {
      "description": "Configure venue URL. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nWirelessControllerHotspot20 AnqpVenueUrl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/anqpvenueurl:Anqpvenueurl 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:wirelesscontroller/hotspot20/anqpvenueurl:Anqpvenueurl 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": "Name of venue url.\n"
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenueurlValueList:AnqpvenueurlValueList"
          },
          "description": "URL list. The structure of `value_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": [
        "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": "Name of venue url.\n",
          "willReplaceOnChanges": true
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenueurlValueList:AnqpvenueurlValueList"
          },
          "description": "URL list. The structure of `value_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 Anqpvenueurl 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": "Name of venue url.\n",
            "willReplaceOnChanges": true
          },
          "valueLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpvenueurlValueList:AnqpvenueurlValueList"
            },
            "description": "URL list. The structure of `value_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:wirelesscontroller/hotspot20/h2qpadviceofcharge:H2qpadviceofcharge": {
      "description": "Configure advice of charge. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nWirelessControllerHotspot20 H2QpAdviceOfCharge can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qpadviceofcharge:H2qpadviceofcharge 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:wirelesscontroller/hotspot20/h2qpadviceofcharge:H2qpadviceofcharge labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "aocLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpadviceofchargeAocList:H2qpadviceofchargeAocList"
          },
          "description": "AOC list. The structure of `aoc_list` 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": "Plan 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": {
        "aocLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpadviceofchargeAocList:H2qpadviceofchargeAocList"
          },
          "description": "AOC list. The structure of `aoc_list` 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": "Plan 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 H2qpadviceofcharge resources.\n",
        "properties": {
          "aocLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpadviceofchargeAocList:H2qpadviceofchargeAocList"
            },
            "description": "AOC list. The structure of `aoc_list` 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": "Plan 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:wirelesscontroller/hotspot20/h2qpconncapability:H2qpconncapability": {
      "description": "Configure connection capability.\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.wirelesscontroller.hotspot20.H2qpconncapability(\"trname\", {\n    espPort: \"unknown\",\n    ftpPort: \"unknown\",\n    httpPort: \"unknown\",\n    icmpPort: \"closed\",\n    ikev2Port: \"unknown\",\n    ikev2XxPort: \"unknown\",\n    pptpVpnPort: \"unknown\",\n    sshPort: \"unknown\",\n    tlsPort: \"unknown\",\n    voipTcpPort: \"unknown\",\n    voipUdpPort: \"unknown\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.H2qpconncapability(\"trname\",\n    esp_port=\"unknown\",\n    ftp_port=\"unknown\",\n    http_port=\"unknown\",\n    icmp_port=\"closed\",\n    ikev2_port=\"unknown\",\n    ikev2_xx_port=\"unknown\",\n    pptp_vpn_port=\"unknown\",\n    ssh_port=\"unknown\",\n    tls_port=\"unknown\",\n    voip_tcp_port=\"unknown\",\n    voip_udp_port=\"unknown\")\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.Wirelesscontroller.Hotspot20.H2qpconncapability(\"trname\", new()\n    {\n        EspPort = \"unknown\",\n        FtpPort = \"unknown\",\n        HttpPort = \"unknown\",\n        IcmpPort = \"closed\",\n        Ikev2Port = \"unknown\",\n        Ikev2XxPort = \"unknown\",\n        PptpVpnPort = \"unknown\",\n        SshPort = \"unknown\",\n        TlsPort = \"unknown\",\n        VoipTcpPort = \"unknown\",\n        VoipUdpPort = \"unknown\",\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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewH2qpconncapability(ctx, \"trname\", &wirelesscontroller.H2qpconncapabilityArgs{\n\t\t\tEspPort:     pulumi.String(\"unknown\"),\n\t\t\tFtpPort:     pulumi.String(\"unknown\"),\n\t\t\tHttpPort:    pulumi.String(\"unknown\"),\n\t\t\tIcmpPort:    pulumi.String(\"closed\"),\n\t\t\tIkev2Port:   pulumi.String(\"unknown\"),\n\t\t\tIkev2XxPort: pulumi.String(\"unknown\"),\n\t\t\tPptpVpnPort: pulumi.String(\"unknown\"),\n\t\t\tSshPort:     pulumi.String(\"unknown\"),\n\t\t\tTlsPort:     pulumi.String(\"unknown\"),\n\t\t\tVoipTcpPort: pulumi.String(\"unknown\"),\n\t\t\tVoipUdpPort: pulumi.String(\"unknown\"),\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.wirelesscontroller.H2qpconncapability;\nimport com.pulumi.fortios.wirelesscontroller.H2qpconncapabilityArgs;\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 H2qpconncapability(\"trname\", H2qpconncapabilityArgs.builder()\n            .espPort(\"unknown\")\n            .ftpPort(\"unknown\")\n            .httpPort(\"unknown\")\n            .icmpPort(\"closed\")\n            .ikev2Port(\"unknown\")\n            .ikev2XxPort(\"unknown\")\n            .pptpVpnPort(\"unknown\")\n            .sshPort(\"unknown\")\n            .tlsPort(\"unknown\")\n            .voipTcpPort(\"unknown\")\n            .voipUdpPort(\"unknown\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:H2qpconncapability\n    properties:\n      espPort: unknown\n      ftpPort: unknown\n      httpPort: unknown\n      icmpPort: closed\n      ikev2Port: unknown\n      ikev2XxPort: unknown\n      pptpVpnPort: unknown\n      sshPort: unknown\n      tlsPort: unknown\n      voipTcpPort: unknown\n      voipUdpPort: unknown\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 H2QpConnCapability can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qpconncapability:H2qpconncapability 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:wirelesscontroller/hotspot20/h2qpconncapability:H2qpconncapability labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "espPort": {
          "type": "string",
          "description": "Set ESP port service (used by IPsec VPNs) status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ftpPort": {
          "type": "string",
          "description": "Set FTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "httpPort": {
          "type": "string",
          "description": "Set HTTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "icmpPort": {
          "type": "string",
          "description": "Set ICMP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ikev2Port": {
          "type": "string",
          "description": "Set IKEv2 port service for IPsec VPN status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ikev2XxPort": {
          "type": "string",
          "description": "Set UDP port 4500 (which may be used by IKEv2 for IPsec VPN) service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "name": {
          "type": "string",
          "description": "Connection capability name.\n"
        },
        "pptpVpnPort": {
          "type": "string",
          "description": "Set Point to Point Tunneling Protocol (PPTP) VPN port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "sshPort": {
          "type": "string",
          "description": "Set SSH port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "tlsPort": {
          "type": "string",
          "description": "Set TLS VPN (HTTPS) port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voipTcpPort": {
          "type": "string",
          "description": "Set VoIP TCP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "voipUdpPort": {
          "type": "string",
          "description": "Set VoIP UDP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        }
      },
      "type": "object",
      "required": [
        "espPort",
        "ftpPort",
        "httpPort",
        "icmpPort",
        "ikev2Port",
        "ikev2XxPort",
        "name",
        "pptpVpnPort",
        "sshPort",
        "tlsPort",
        "vdomparam",
        "voipTcpPort",
        "voipUdpPort"
      ],
      "inputProperties": {
        "espPort": {
          "type": "string",
          "description": "Set ESP port service (used by IPsec VPNs) status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ftpPort": {
          "type": "string",
          "description": "Set FTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "httpPort": {
          "type": "string",
          "description": "Set HTTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "icmpPort": {
          "type": "string",
          "description": "Set ICMP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ikev2Port": {
          "type": "string",
          "description": "Set IKEv2 port service for IPsec VPN status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "ikev2XxPort": {
          "type": "string",
          "description": "Set UDP port 4500 (which may be used by IKEv2 for IPsec VPN) service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "name": {
          "type": "string",
          "description": "Connection capability name.\n",
          "willReplaceOnChanges": true
        },
        "pptpVpnPort": {
          "type": "string",
          "description": "Set Point to Point Tunneling Protocol (PPTP) VPN port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "sshPort": {
          "type": "string",
          "description": "Set SSH port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "tlsPort": {
          "type": "string",
          "description": "Set TLS VPN (HTTPS) port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voipTcpPort": {
          "type": "string",
          "description": "Set VoIP TCP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        },
        "voipUdpPort": {
          "type": "string",
          "description": "Set VoIP UDP port service status. Valid values: `closed`, `open`, `unknown`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering H2qpconncapability resources.\n",
        "properties": {
          "espPort": {
            "type": "string",
            "description": "Set ESP port service (used by IPsec VPNs) status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "ftpPort": {
            "type": "string",
            "description": "Set FTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "httpPort": {
            "type": "string",
            "description": "Set HTTP port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "icmpPort": {
            "type": "string",
            "description": "Set ICMP port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "ikev2Port": {
            "type": "string",
            "description": "Set IKEv2 port service for IPsec VPN status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "ikev2XxPort": {
            "type": "string",
            "description": "Set UDP port 4500 (which may be used by IKEv2 for IPsec VPN) service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "name": {
            "type": "string",
            "description": "Connection capability name.\n",
            "willReplaceOnChanges": true
          },
          "pptpVpnPort": {
            "type": "string",
            "description": "Set Point to Point Tunneling Protocol (PPTP) VPN port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "sshPort": {
            "type": "string",
            "description": "Set SSH port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "tlsPort": {
            "type": "string",
            "description": "Set TLS VPN (HTTPS) port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voipTcpPort": {
            "type": "string",
            "description": "Set VoIP TCP port service status. Valid values: `closed`, `open`, `unknown`.\n"
          },
          "voipUdpPort": {
            "type": "string",
            "description": "Set VoIP UDP port service status. Valid values: `closed`, `open`, `unknown`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/hotspot20/h2qpoperatorname:H2qpoperatorname": {
      "description": "Configure operator friendly name.\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.wirelesscontroller.hotspot20.H2qpoperatorname(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.H2qpoperatorname(\"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.Wirelesscontroller.Hotspot20.H2qpoperatorname(\"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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewH2qpoperatorname(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.wirelesscontroller.H2qpoperatorname;\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 H2qpoperatorname(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:H2qpoperatorname\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 H2QpOperatorName can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qpoperatorname:H2qpoperatorname 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:wirelesscontroller/hotspot20/h2qpoperatorname:H2qpoperatorname 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": "Friendly name ID.\n"
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpoperatornameValueList:H2qpoperatornameValueList"
          },
          "description": "Name list. The structure of `value_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": [
        "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": "Friendly name ID.\n",
          "willReplaceOnChanges": true
        },
        "valueLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpoperatornameValueList:H2qpoperatornameValueList"
          },
          "description": "Name list. The structure of `value_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 H2qpoperatorname 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": "Friendly name ID.\n",
            "willReplaceOnChanges": true
          },
          "valueLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpoperatornameValueList:H2qpoperatornameValueList"
            },
            "description": "Name list. The structure of `value_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:wirelesscontroller/hotspot20/h2qposuprovider:H2qposuprovider": {
      "description": "Configure online sign up (OSU) provider list.\n\n## Import\n\nWirelessControllerHotspot20 H2QpOsuProvider can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qposuprovider:H2qposuprovider 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:wirelesscontroller/hotspot20/h2qposuprovider:H2qposuprovider 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"
        },
        "friendlyNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderFriendlyName:H2qposuproviderFriendlyName"
          },
          "description": "OSU provider friendly name. The structure of `friendly_name` 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"
        },
        "icon": {
          "type": "string",
          "description": "OSU provider icon.\n"
        },
        "name": {
          "type": "string",
          "description": "OSU provider ID.\n"
        },
        "osuMethod": {
          "type": "string",
          "description": "OSU method list. Valid values: `oma-dm`, `soap-xml-spp`, `reserved`.\n"
        },
        "osuNai": {
          "type": "string",
          "description": "OSU NAI.\n"
        },
        "serverUri": {
          "type": "string",
          "description": "Server URI.\n"
        },
        "serviceDescriptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderServiceDescription:H2qposuproviderServiceDescription"
          },
          "description": "OSU service name. The structure of `service_description` 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": [
        "icon",
        "name",
        "osuMethod",
        "osuNai",
        "serverUri",
        "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"
        },
        "friendlyNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderFriendlyName:H2qposuproviderFriendlyName"
          },
          "description": "OSU provider friendly name. The structure of `friendly_name` 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"
        },
        "icon": {
          "type": "string",
          "description": "OSU provider icon.\n"
        },
        "name": {
          "type": "string",
          "description": "OSU provider ID.\n",
          "willReplaceOnChanges": true
        },
        "osuMethod": {
          "type": "string",
          "description": "OSU method list. Valid values: `oma-dm`, `soap-xml-spp`, `reserved`.\n"
        },
        "osuNai": {
          "type": "string",
          "description": "OSU NAI.\n"
        },
        "serverUri": {
          "type": "string",
          "description": "Server URI.\n"
        },
        "serviceDescriptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderServiceDescription:H2qposuproviderServiceDescription"
          },
          "description": "OSU service name. The structure of `service_description` 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 H2qposuprovider 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"
          },
          "friendlyNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderFriendlyName:H2qposuproviderFriendlyName"
            },
            "description": "OSU provider friendly name. The structure of `friendly_name` 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"
          },
          "icon": {
            "type": "string",
            "description": "OSU provider icon.\n"
          },
          "name": {
            "type": "string",
            "description": "OSU provider ID.\n",
            "willReplaceOnChanges": true
          },
          "osuMethod": {
            "type": "string",
            "description": "OSU method list. Valid values: `oma-dm`, `soap-xml-spp`, `reserved`.\n"
          },
          "osuNai": {
            "type": "string",
            "description": "OSU NAI.\n"
          },
          "serverUri": {
            "type": "string",
            "description": "Server URI.\n"
          },
          "serviceDescriptions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuproviderServiceDescription:H2qposuproviderServiceDescription"
            },
            "description": "OSU service name. The structure of `service_description` 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:wirelesscontroller/hotspot20/h2qposuprovidernai:H2qposuprovidernai": {
      "description": "Configure online sign up (OSU) provider NAI list. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nWirelessControllerHotspot20 H2QpOsuProviderNai can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qposuprovidernai:H2qposuprovidernai 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:wirelesscontroller/hotspot20/h2qposuprovidernai:H2qposuprovidernai 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"
        },
        "naiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuprovidernaiNaiList:H2qposuprovidernaiNaiList"
          },
          "description": "OSU NAI list. The structure of `nai_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "OSU provider NAI 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": [
        "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"
        },
        "naiLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuprovidernaiNaiList:H2qposuprovidernaiNaiList"
          },
          "description": "OSU NAI list. The structure of `nai_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "OSU provider NAI ID.\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 H2qposuprovidernai 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"
          },
          "naiLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qposuprovidernaiNaiList:H2qposuprovidernaiNaiList"
            },
            "description": "OSU NAI list. The structure of `nai_list` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "OSU provider NAI ID.\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:wirelesscontroller/hotspot20/h2qptermsandconditions:H2qptermsandconditions": {
      "description": "Configure terms and conditions. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nWirelessControllerHotspot20 H2QpTermsAndConditions can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qptermsandconditions:H2qptermsandconditions 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:wirelesscontroller/hotspot20/h2qptermsandconditions:H2qptermsandconditions labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "filename": {
          "type": "string",
          "description": "Filename.\n"
        },
        "name": {
          "type": "string",
          "description": "Terms and Conditions ID.\n"
        },
        "timestamp": {
          "type": "integer",
          "description": "Timestamp.\n"
        },
        "url": {
          "type": "string",
          "description": "URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "filename",
        "name",
        "timestamp",
        "url",
        "vdomparam"
      ],
      "inputProperties": {
        "filename": {
          "type": "string",
          "description": "Filename.\n"
        },
        "name": {
          "type": "string",
          "description": "Terms and Conditions ID.\n",
          "willReplaceOnChanges": true
        },
        "timestamp": {
          "type": "integer",
          "description": "Timestamp.\n"
        },
        "url": {
          "type": "string",
          "description": "URL.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 H2qptermsandconditions resources.\n",
        "properties": {
          "filename": {
            "type": "string",
            "description": "Filename.\n"
          },
          "name": {
            "type": "string",
            "description": "Terms and Conditions ID.\n",
            "willReplaceOnChanges": true
          },
          "timestamp": {
            "type": "integer",
            "description": "Timestamp.\n"
          },
          "url": {
            "type": "string",
            "description": "URL.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/hotspot20/h2qpwanmetric:H2qpwanmetric": {
      "description": "Configure WAN metrics.\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.wirelesscontroller.hotspot20.H2qpwanmetric(\"trname\", {\n    downlinkLoad: 0,\n    downlinkSpeed: 2400,\n    linkAtCapacity: \"disable\",\n    linkStatus: \"up\",\n    loadMeasurementDuration: 0,\n    symmetricWanLink: \"symmetric\",\n    uplinkLoad: 0,\n    uplinkSpeed: 2400,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.H2qpwanmetric(\"trname\",\n    downlink_load=0,\n    downlink_speed=2400,\n    link_at_capacity=\"disable\",\n    link_status=\"up\",\n    load_measurement_duration=0,\n    symmetric_wan_link=\"symmetric\",\n    uplink_load=0,\n    uplink_speed=2400)\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.Wirelesscontroller.Hotspot20.H2qpwanmetric(\"trname\", new()\n    {\n        DownlinkLoad = 0,\n        DownlinkSpeed = 2400,\n        LinkAtCapacity = \"disable\",\n        LinkStatus = \"up\",\n        LoadMeasurementDuration = 0,\n        SymmetricWanLink = \"symmetric\",\n        UplinkLoad = 0,\n        UplinkSpeed = 2400,\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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewH2qpwanmetric(ctx, \"trname\", &wirelesscontroller.H2qpwanmetricArgs{\n\t\t\tDownlinkLoad:            pulumi.Int(0),\n\t\t\tDownlinkSpeed:           pulumi.Int(2400),\n\t\t\tLinkAtCapacity:          pulumi.String(\"disable\"),\n\t\t\tLinkStatus:              pulumi.String(\"up\"),\n\t\t\tLoadMeasurementDuration: pulumi.Int(0),\n\t\t\tSymmetricWanLink:        pulumi.String(\"symmetric\"),\n\t\t\tUplinkLoad:              pulumi.Int(0),\n\t\t\tUplinkSpeed:             pulumi.Int(2400),\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.wirelesscontroller.H2qpwanmetric;\nimport com.pulumi.fortios.wirelesscontroller.H2qpwanmetricArgs;\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 H2qpwanmetric(\"trname\", H2qpwanmetricArgs.builder()\n            .downlinkLoad(0)\n            .downlinkSpeed(2400)\n            .linkAtCapacity(\"disable\")\n            .linkStatus(\"up\")\n            .loadMeasurementDuration(0)\n            .symmetricWanLink(\"symmetric\")\n            .uplinkLoad(0)\n            .uplinkSpeed(2400)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:H2qpwanmetric\n    properties:\n      downlinkLoad: 0\n      downlinkSpeed: 2400\n      linkAtCapacity: disable\n      linkStatus: up\n      loadMeasurementDuration: 0\n      symmetricWanLink: symmetric\n      uplinkLoad: 0\n      uplinkSpeed: 2400\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 H2QpWanMetric can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/h2qpwanmetric:H2qpwanmetric 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:wirelesscontroller/hotspot20/h2qpwanmetric:H2qpwanmetric labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "downlinkLoad": {
          "type": "integer",
          "description": "Downlink load.\n"
        },
        "downlinkSpeed": {
          "type": "integer",
          "description": "Downlink speed (in kilobits/s).\n"
        },
        "linkAtCapacity": {
          "type": "string",
          "description": "Link at capacity. Valid values: `enable`, `disable`.\n"
        },
        "linkStatus": {
          "type": "string",
          "description": "Link status. Valid values: `up`, `down`, `in-test`.\n"
        },
        "loadMeasurementDuration": {
          "type": "integer",
          "description": "Load measurement duration (in tenths of a second).\n"
        },
        "name": {
          "type": "string",
          "description": "WAN metric name.\n"
        },
        "symmetricWanLink": {
          "type": "string",
          "description": "WAN link symmetry. Valid values: `symmetric`, `asymmetric`.\n"
        },
        "uplinkLoad": {
          "type": "integer",
          "description": "Uplink load.\n"
        },
        "uplinkSpeed": {
          "type": "integer",
          "description": "Uplink speed (in kilobits/s).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "downlinkLoad",
        "downlinkSpeed",
        "linkAtCapacity",
        "linkStatus",
        "loadMeasurementDuration",
        "name",
        "symmetricWanLink",
        "uplinkLoad",
        "uplinkSpeed",
        "vdomparam"
      ],
      "inputProperties": {
        "downlinkLoad": {
          "type": "integer",
          "description": "Downlink load.\n"
        },
        "downlinkSpeed": {
          "type": "integer",
          "description": "Downlink speed (in kilobits/s).\n"
        },
        "linkAtCapacity": {
          "type": "string",
          "description": "Link at capacity. Valid values: `enable`, `disable`.\n"
        },
        "linkStatus": {
          "type": "string",
          "description": "Link status. Valid values: `up`, `down`, `in-test`.\n"
        },
        "loadMeasurementDuration": {
          "type": "integer",
          "description": "Load measurement duration (in tenths of a second).\n"
        },
        "name": {
          "type": "string",
          "description": "WAN metric name.\n",
          "willReplaceOnChanges": true
        },
        "symmetricWanLink": {
          "type": "string",
          "description": "WAN link symmetry. Valid values: `symmetric`, `asymmetric`.\n"
        },
        "uplinkLoad": {
          "type": "integer",
          "description": "Uplink load.\n"
        },
        "uplinkSpeed": {
          "type": "integer",
          "description": "Uplink speed (in kilobits/s).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 H2qpwanmetric resources.\n",
        "properties": {
          "downlinkLoad": {
            "type": "integer",
            "description": "Downlink load.\n"
          },
          "downlinkSpeed": {
            "type": "integer",
            "description": "Downlink speed (in kilobits/s).\n"
          },
          "linkAtCapacity": {
            "type": "string",
            "description": "Link at capacity. Valid values: `enable`, `disable`.\n"
          },
          "linkStatus": {
            "type": "string",
            "description": "Link status. Valid values: `up`, `down`, `in-test`.\n"
          },
          "loadMeasurementDuration": {
            "type": "integer",
            "description": "Load measurement duration (in tenths of a second).\n"
          },
          "name": {
            "type": "string",
            "description": "WAN metric name.\n",
            "willReplaceOnChanges": true
          },
          "symmetricWanLink": {
            "type": "string",
            "description": "WAN link symmetry. Valid values: `symmetric`, `asymmetric`.\n"
          },
          "uplinkLoad": {
            "type": "integer",
            "description": "Uplink load.\n"
          },
          "uplinkSpeed": {
            "type": "integer",
            "description": "Uplink speed (in kilobits/s).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/hotspot20/hsprofile:Hsprofile": {
      "description": "Configure hotspot profile.\n\n## Import\n\nWirelessControllerHotspot20 HsProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/hsprofile:Hsprofile 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:wirelesscontroller/hotspot20/hsprofile:Hsprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessNetworkAsra": {
          "type": "string",
          "description": "Enable/disable additional step required for access (ASRA). Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkEsr": {
          "type": "string",
          "description": "Enable/disable emergency services reachable (ESR). Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkInternet": {
          "type": "string",
          "description": "Enable/disable connectivity to the Internet. Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkType": {
          "type": "string",
          "description": "Access network type. Valid values: `private-network`, `private-network-with-guest-access`, `chargeable-public-network`, `free-public-network`, `personal-device-network`, `emergency-services-only-network`, `test-or-experimental`, `wildcard`.\n"
        },
        "accessNetworkUesa": {
          "type": "string",
          "description": "Enable/disable unauthenticated emergency service accessible (UESA). Valid values: `enable`, `disable`.\n"
        },
        "adviceOfCharge": {
          "type": "string",
          "description": "Advice of charge.\n"
        },
        "anqpDomainId": {
          "type": "integer",
          "description": "ANQP Domain ID (0-65535).\n"
        },
        "bssTransition": {
          "type": "string",
          "description": "Enable/disable basic service set (BSS) transition Support. Valid values: `enable`, `disable`.\n"
        },
        "connCap": {
          "type": "string",
          "description": "Connection capability name.\n"
        },
        "deauthRequestTimeout": {
          "type": "integer",
          "description": "Deauthentication request timeout (in seconds).\n"
        },
        "dgaf": {
          "type": "string",
          "description": "Enable/disable downstream group-addressed forwarding (DGAF). Valid values: `enable`, `disable`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "Domain 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"
        },
        "gasComebackDelay": {
          "type": "integer",
          "description": "GAS comeback delay (default = 500). On FortiOS versions 6.2.0-7.0.0: 0 or 100 - 4000 milliseconds. On FortiOS versions >= 7.0.1: 0 or 100 - 10000 milliseconds.\n"
        },
        "gasFragmentationLimit": {
          "type": "integer",
          "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hessid": {
          "type": "string",
          "description": "Homogeneous extended service set identifier (HESSID).\n"
        },
        "ipAddrType": {
          "type": "string",
          "description": "IP address type name.\n"
        },
        "l2tif": {
          "type": "string",
          "description": "Enable/disable Layer 2 traffic inspection and filtering. Valid values: `enable`, `disable`.\n"
        },
        "n3gppPlmn": {
          "type": "string",
          "description": "3GPP PLMN name.\n"
        },
        "naiRealm": {
          "type": "string",
          "description": "NAI realm list name.\n"
        },
        "name": {
          "type": "string",
          "description": "Hotspot profile name.\n"
        },
        "networkAuth": {
          "type": "string",
          "description": "Network authentication name.\n"
        },
        "operFriendlyName": {
          "type": "string",
          "description": "Operator friendly name.\n"
        },
        "operIcon": {
          "type": "string",
          "description": "Operator icon.\n"
        },
        "osuProviderNai": {
          "type": "string",
          "description": "OSU Provider NAI.\n"
        },
        "osuProviders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FHsprofileOsuProvider:HsprofileOsuProvider"
          },
          "description": "Manually selected list of OSU provider(s). The structure of `osu_provider` block is documented below.\n"
        },
        "osuSsid": {
          "type": "string",
          "description": "Online sign up (OSU) SSID.\n"
        },
        "pameBi": {
          "type": "string",
          "description": "Enable/disable Pre-Association Message Exchange BSSID Independent (PAME-BI). Valid values: `disable`, `enable`.\n"
        },
        "proxyArp": {
          "type": "string",
          "description": "Enable/disable Proxy ARP. Valid values: `enable`, `disable`.\n"
        },
        "qosMap": {
          "type": "string",
          "description": "QoS MAP set ID.\n"
        },
        "release": {
          "type": "integer",
          "description": "Hotspot 2.0 Release number (1, 2, 3, default = 2).\n"
        },
        "roamingConsortium": {
          "type": "string",
          "description": "Roaming consortium list name.\n"
        },
        "termsAndConditions": {
          "type": "string",
          "description": "Terms and conditions.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "venueGroup": {
          "type": "string",
          "description": "Venue group. Valid values: `unspecified`, `assembly`, `business`, `educational`, `factory`, `institutional`, `mercantile`, `residential`, `storage`, `utility`, `vehicular`, `outdoor`.\n"
        },
        "venueName": {
          "type": "string",
          "description": "Venue name.\n"
        },
        "venueType": {
          "type": "string",
          "description": "Venue type. Valid values: `unspecified`, `arena`, `stadium`, `passenger-terminal`, `amphitheater`, `amusement-park`, `place-of-worship`, `convention-center`, `library`, `museum`, `restaurant`, `theater`, `bar`, `coffee-shop`, `zoo-or-aquarium`, `emergency-center`, `doctor-office`, `bank`, `fire-station`, `police-station`, `post-office`, `professional-office`, `research-facility`, `attorney-office`, `primary-school`, `secondary-school`, `university-or-college`, `factory`, `hospital`, `long-term-care-facility`, `rehab-center`, `group-home`, `prison-or-jail`, `retail-store`, `grocery-market`, `auto-service-station`, `shopping-mall`, `gas-station`, `private`, `hotel-or-motel`, `dormitory`, `boarding-house`, `automobile`, `airplane`, `bus`, `ferry`, `ship-or-boat`, `train`, `motor-bike`, `muni-mesh-network`, `city-park`, `rest-area`, `traffic-control`, `bus-stop`, `kiosk`.\n"
        },
        "venueUrl": {
          "type": "string",
          "description": "Venue name.\n"
        },
        "wanMetrics": {
          "type": "string",
          "description": "WAN metric name.\n"
        },
        "wnmSleepMode": {
          "type": "string",
          "description": "Enable/disable wireless network management (WNM) sleep mode. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "accessNetworkAsra",
        "accessNetworkEsr",
        "accessNetworkInternet",
        "accessNetworkType",
        "accessNetworkUesa",
        "adviceOfCharge",
        "anqpDomainId",
        "bssTransition",
        "connCap",
        "deauthRequestTimeout",
        "dgaf",
        "domainName",
        "gasComebackDelay",
        "gasFragmentationLimit",
        "hessid",
        "ipAddrType",
        "l2tif",
        "n3gppPlmn",
        "naiRealm",
        "name",
        "networkAuth",
        "operFriendlyName",
        "operIcon",
        "osuProviderNai",
        "osuSsid",
        "pameBi",
        "proxyArp",
        "qosMap",
        "release",
        "roamingConsortium",
        "termsAndConditions",
        "vdomparam",
        "venueGroup",
        "venueName",
        "venueType",
        "venueUrl",
        "wanMetrics",
        "wnmSleepMode"
      ],
      "inputProperties": {
        "accessNetworkAsra": {
          "type": "string",
          "description": "Enable/disable additional step required for access (ASRA). Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkEsr": {
          "type": "string",
          "description": "Enable/disable emergency services reachable (ESR). Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkInternet": {
          "type": "string",
          "description": "Enable/disable connectivity to the Internet. Valid values: `enable`, `disable`.\n"
        },
        "accessNetworkType": {
          "type": "string",
          "description": "Access network type. Valid values: `private-network`, `private-network-with-guest-access`, `chargeable-public-network`, `free-public-network`, `personal-device-network`, `emergency-services-only-network`, `test-or-experimental`, `wildcard`.\n"
        },
        "accessNetworkUesa": {
          "type": "string",
          "description": "Enable/disable unauthenticated emergency service accessible (UESA). Valid values: `enable`, `disable`.\n"
        },
        "adviceOfCharge": {
          "type": "string",
          "description": "Advice of charge.\n"
        },
        "anqpDomainId": {
          "type": "integer",
          "description": "ANQP Domain ID (0-65535).\n"
        },
        "bssTransition": {
          "type": "string",
          "description": "Enable/disable basic service set (BSS) transition Support. Valid values: `enable`, `disable`.\n"
        },
        "connCap": {
          "type": "string",
          "description": "Connection capability name.\n"
        },
        "deauthRequestTimeout": {
          "type": "integer",
          "description": "Deauthentication request timeout (in seconds).\n"
        },
        "dgaf": {
          "type": "string",
          "description": "Enable/disable downstream group-addressed forwarding (DGAF). Valid values: `enable`, `disable`.\n"
        },
        "domainName": {
          "type": "string",
          "description": "Domain 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"
        },
        "gasComebackDelay": {
          "type": "integer",
          "description": "GAS comeback delay (default = 500). On FortiOS versions 6.2.0-7.0.0: 0 or 100 - 4000 milliseconds. On FortiOS versions >= 7.0.1: 0 or 100 - 10000 milliseconds.\n"
        },
        "gasFragmentationLimit": {
          "type": "integer",
          "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hessid": {
          "type": "string",
          "description": "Homogeneous extended service set identifier (HESSID).\n"
        },
        "ipAddrType": {
          "type": "string",
          "description": "IP address type name.\n"
        },
        "l2tif": {
          "type": "string",
          "description": "Enable/disable Layer 2 traffic inspection and filtering. Valid values: `enable`, `disable`.\n"
        },
        "n3gppPlmn": {
          "type": "string",
          "description": "3GPP PLMN name.\n"
        },
        "naiRealm": {
          "type": "string",
          "description": "NAI realm list name.\n"
        },
        "name": {
          "type": "string",
          "description": "Hotspot profile name.\n",
          "willReplaceOnChanges": true
        },
        "networkAuth": {
          "type": "string",
          "description": "Network authentication name.\n"
        },
        "operFriendlyName": {
          "type": "string",
          "description": "Operator friendly name.\n"
        },
        "operIcon": {
          "type": "string",
          "description": "Operator icon.\n"
        },
        "osuProviderNai": {
          "type": "string",
          "description": "OSU Provider NAI.\n"
        },
        "osuProviders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FHsprofileOsuProvider:HsprofileOsuProvider"
          },
          "description": "Manually selected list of OSU provider(s). The structure of `osu_provider` block is documented below.\n"
        },
        "osuSsid": {
          "type": "string",
          "description": "Online sign up (OSU) SSID.\n"
        },
        "pameBi": {
          "type": "string",
          "description": "Enable/disable Pre-Association Message Exchange BSSID Independent (PAME-BI). Valid values: `disable`, `enable`.\n"
        },
        "proxyArp": {
          "type": "string",
          "description": "Enable/disable Proxy ARP. Valid values: `enable`, `disable`.\n"
        },
        "qosMap": {
          "type": "string",
          "description": "QoS MAP set ID.\n"
        },
        "release": {
          "type": "integer",
          "description": "Hotspot 2.0 Release number (1, 2, 3, default = 2).\n"
        },
        "roamingConsortium": {
          "type": "string",
          "description": "Roaming consortium list name.\n"
        },
        "termsAndConditions": {
          "type": "string",
          "description": "Terms and conditions.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "venueGroup": {
          "type": "string",
          "description": "Venue group. Valid values: `unspecified`, `assembly`, `business`, `educational`, `factory`, `institutional`, `mercantile`, `residential`, `storage`, `utility`, `vehicular`, `outdoor`.\n"
        },
        "venueName": {
          "type": "string",
          "description": "Venue name.\n"
        },
        "venueType": {
          "type": "string",
          "description": "Venue type. Valid values: `unspecified`, `arena`, `stadium`, `passenger-terminal`, `amphitheater`, `amusement-park`, `place-of-worship`, `convention-center`, `library`, `museum`, `restaurant`, `theater`, `bar`, `coffee-shop`, `zoo-or-aquarium`, `emergency-center`, `doctor-office`, `bank`, `fire-station`, `police-station`, `post-office`, `professional-office`, `research-facility`, `attorney-office`, `primary-school`, `secondary-school`, `university-or-college`, `factory`, `hospital`, `long-term-care-facility`, `rehab-center`, `group-home`, `prison-or-jail`, `retail-store`, `grocery-market`, `auto-service-station`, `shopping-mall`, `gas-station`, `private`, `hotel-or-motel`, `dormitory`, `boarding-house`, `automobile`, `airplane`, `bus`, `ferry`, `ship-or-boat`, `train`, `motor-bike`, `muni-mesh-network`, `city-park`, `rest-area`, `traffic-control`, `bus-stop`, `kiosk`.\n"
        },
        "venueUrl": {
          "type": "string",
          "description": "Venue name.\n"
        },
        "wanMetrics": {
          "type": "string",
          "description": "WAN metric name.\n"
        },
        "wnmSleepMode": {
          "type": "string",
          "description": "Enable/disable wireless network management (WNM) sleep mode. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hsprofile resources.\n",
        "properties": {
          "accessNetworkAsra": {
            "type": "string",
            "description": "Enable/disable additional step required for access (ASRA). Valid values: `enable`, `disable`.\n"
          },
          "accessNetworkEsr": {
            "type": "string",
            "description": "Enable/disable emergency services reachable (ESR). Valid values: `enable`, `disable`.\n"
          },
          "accessNetworkInternet": {
            "type": "string",
            "description": "Enable/disable connectivity to the Internet. Valid values: `enable`, `disable`.\n"
          },
          "accessNetworkType": {
            "type": "string",
            "description": "Access network type. Valid values: `private-network`, `private-network-with-guest-access`, `chargeable-public-network`, `free-public-network`, `personal-device-network`, `emergency-services-only-network`, `test-or-experimental`, `wildcard`.\n"
          },
          "accessNetworkUesa": {
            "type": "string",
            "description": "Enable/disable unauthenticated emergency service accessible (UESA). Valid values: `enable`, `disable`.\n"
          },
          "adviceOfCharge": {
            "type": "string",
            "description": "Advice of charge.\n"
          },
          "anqpDomainId": {
            "type": "integer",
            "description": "ANQP Domain ID (0-65535).\n"
          },
          "bssTransition": {
            "type": "string",
            "description": "Enable/disable basic service set (BSS) transition Support. Valid values: `enable`, `disable`.\n"
          },
          "connCap": {
            "type": "string",
            "description": "Connection capability name.\n"
          },
          "deauthRequestTimeout": {
            "type": "integer",
            "description": "Deauthentication request timeout (in seconds).\n"
          },
          "dgaf": {
            "type": "string",
            "description": "Enable/disable downstream group-addressed forwarding (DGAF). Valid values: `enable`, `disable`.\n"
          },
          "domainName": {
            "type": "string",
            "description": "Domain 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"
          },
          "gasComebackDelay": {
            "type": "integer",
            "description": "GAS comeback delay (default = 500). On FortiOS versions 6.2.0-7.0.0: 0 or 100 - 4000 milliseconds. On FortiOS versions >= 7.0.1: 0 or 100 - 10000 milliseconds.\n"
          },
          "gasFragmentationLimit": {
            "type": "integer",
            "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hessid": {
            "type": "string",
            "description": "Homogeneous extended service set identifier (HESSID).\n"
          },
          "ipAddrType": {
            "type": "string",
            "description": "IP address type name.\n"
          },
          "l2tif": {
            "type": "string",
            "description": "Enable/disable Layer 2 traffic inspection and filtering. Valid values: `enable`, `disable`.\n"
          },
          "n3gppPlmn": {
            "type": "string",
            "description": "3GPP PLMN name.\n"
          },
          "naiRealm": {
            "type": "string",
            "description": "NAI realm list name.\n"
          },
          "name": {
            "type": "string",
            "description": "Hotspot profile name.\n",
            "willReplaceOnChanges": true
          },
          "networkAuth": {
            "type": "string",
            "description": "Network authentication name.\n"
          },
          "operFriendlyName": {
            "type": "string",
            "description": "Operator friendly name.\n"
          },
          "operIcon": {
            "type": "string",
            "description": "Operator icon.\n"
          },
          "osuProviderNai": {
            "type": "string",
            "description": "OSU Provider NAI.\n"
          },
          "osuProviders": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FHsprofileOsuProvider:HsprofileOsuProvider"
            },
            "description": "Manually selected list of OSU provider(s). The structure of `osu_provider` block is documented below.\n"
          },
          "osuSsid": {
            "type": "string",
            "description": "Online sign up (OSU) SSID.\n"
          },
          "pameBi": {
            "type": "string",
            "description": "Enable/disable Pre-Association Message Exchange BSSID Independent (PAME-BI). Valid values: `disable`, `enable`.\n"
          },
          "proxyArp": {
            "type": "string",
            "description": "Enable/disable Proxy ARP. Valid values: `enable`, `disable`.\n"
          },
          "qosMap": {
            "type": "string",
            "description": "QoS MAP set ID.\n"
          },
          "release": {
            "type": "integer",
            "description": "Hotspot 2.0 Release number (1, 2, 3, default = 2).\n"
          },
          "roamingConsortium": {
            "type": "string",
            "description": "Roaming consortium list name.\n"
          },
          "termsAndConditions": {
            "type": "string",
            "description": "Terms and conditions.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "venueGroup": {
            "type": "string",
            "description": "Venue group. Valid values: `unspecified`, `assembly`, `business`, `educational`, `factory`, `institutional`, `mercantile`, `residential`, `storage`, `utility`, `vehicular`, `outdoor`.\n"
          },
          "venueName": {
            "type": "string",
            "description": "Venue name.\n"
          },
          "venueType": {
            "type": "string",
            "description": "Venue type. Valid values: `unspecified`, `arena`, `stadium`, `passenger-terminal`, `amphitheater`, `amusement-park`, `place-of-worship`, `convention-center`, `library`, `museum`, `restaurant`, `theater`, `bar`, `coffee-shop`, `zoo-or-aquarium`, `emergency-center`, `doctor-office`, `bank`, `fire-station`, `police-station`, `post-office`, `professional-office`, `research-facility`, `attorney-office`, `primary-school`, `secondary-school`, `university-or-college`, `factory`, `hospital`, `long-term-care-facility`, `rehab-center`, `group-home`, `prison-or-jail`, `retail-store`, `grocery-market`, `auto-service-station`, `shopping-mall`, `gas-station`, `private`, `hotel-or-motel`, `dormitory`, `boarding-house`, `automobile`, `airplane`, `bus`, `ferry`, `ship-or-boat`, `train`, `motor-bike`, `muni-mesh-network`, `city-park`, `rest-area`, `traffic-control`, `bus-stop`, `kiosk`.\n"
          },
          "venueUrl": {
            "type": "string",
            "description": "Venue name.\n"
          },
          "wanMetrics": {
            "type": "string",
            "description": "WAN metric name.\n"
          },
          "wnmSleepMode": {
            "type": "string",
            "description": "Enable/disable wireless network management (WNM) sleep mode. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/hotspot20/icon:Icon": {
      "description": "Configure OSU provider icon.\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.wirelesscontroller.hotspot20.Icon(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.hotspot20.Icon(\"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.Wirelesscontroller.Hotspot20.Icon(\"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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewIcon(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.wirelesscontroller.Icon;\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 Icon(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller/hotspot20:Icon\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessControllerHotspot20 Icon can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/icon:Icon 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:wirelesscontroller/hotspot20/icon:Icon 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"
        },
        "iconLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FIconIconList:IconIconList"
          },
          "description": "Icon list. The structure of `icon_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Icon list 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": [
        "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"
        },
        "iconLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FIconIconList:IconIconList"
          },
          "description": "Icon list. The structure of `icon_list` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Icon list ID.\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 Icon 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"
          },
          "iconLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FIconIconList:IconIconList"
            },
            "description": "Icon list. The structure of `icon_list` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Icon list ID.\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:wirelesscontroller/hotspot20/qosmap:Qosmap": {
      "description": "Configure QoS map set.\n\n## Import\n\nWirelessControllerHotspot20 QosMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/hotspot20/qosmap:Qosmap 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:wirelesscontroller/hotspot20/qosmap:Qosmap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dscpExcepts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpExcept:QosmapDscpExcept"
          },
          "description": "Differentiated Services Code Point (DSCP) exceptions. The structure of `dscp_except` block is documented below.\n"
        },
        "dscpRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpRange:QosmapDscpRange"
          },
          "description": "Differentiated Services Code Point (DSCP) ranges. The structure of `dscp_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"
        },
        "name": {
          "type": "string",
          "description": "QOS-MAP 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": {
        "dscpExcepts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpExcept:QosmapDscpExcept"
          },
          "description": "Differentiated Services Code Point (DSCP) exceptions. The structure of `dscp_except` block is documented below.\n"
        },
        "dscpRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpRange:QosmapDscpRange"
          },
          "description": "Differentiated Services Code Point (DSCP) ranges. The structure of `dscp_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"
        },
        "name": {
          "type": "string",
          "description": "QOS-MAP 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 Qosmap resources.\n",
        "properties": {
          "dscpExcepts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpExcept:QosmapDscpExcept"
            },
            "description": "Differentiated Services Code Point (DSCP) exceptions. The structure of `dscp_except` block is documented below.\n"
          },
          "dscpRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FQosmapDscpRange:QosmapDscpRange"
            },
            "description": "Differentiated Services Code Point (DSCP) ranges. The structure of `dscp_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"
          },
          "name": {
            "type": "string",
            "description": "QOS-MAP 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:wirelesscontroller/intercontroller:Intercontroller": {
      "description": "Configure inter wireless controller operation.\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.wirelesscontroller.Intercontroller(\"trname\", {\n    fastFailoverMax: 10,\n    fastFailoverWait: 10,\n    interControllerKey: \"ENC XXXX\",\n    interControllerMode: \"disable\",\n    interControllerPri: \"primary\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.wirelesscontroller.Intercontroller(\"trname\",\n    fast_failover_max=10,\n    fast_failover_wait=10,\n    inter_controller_key=\"ENC XXXX\",\n    inter_controller_mode=\"disable\",\n    inter_controller_pri=\"primary\")\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.Wirelesscontroller.Intercontroller(\"trname\", new()\n    {\n        FastFailoverMax = 10,\n        FastFailoverWait = 10,\n        InterControllerKey = \"ENC XXXX\",\n        InterControllerMode = \"disable\",\n        InterControllerPri = \"primary\",\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/wirelesscontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wirelesscontroller.NewIntercontroller(ctx, \"trname\", &wirelesscontroller.IntercontrollerArgs{\n\t\t\tFastFailoverMax:     pulumi.Int(10),\n\t\t\tFastFailoverWait:    pulumi.Int(10),\n\t\t\tInterControllerKey:  pulumi.String(\"ENC XXXX\"),\n\t\t\tInterControllerMode: pulumi.String(\"disable\"),\n\t\t\tInterControllerPri:  pulumi.String(\"primary\"),\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.wirelesscontroller.Intercontroller;\nimport com.pulumi.fortios.wirelesscontroller.IntercontrollerArgs;\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 Intercontroller(\"trname\", IntercontrollerArgs.builder()\n            .fastFailoverMax(10)\n            .fastFailoverWait(10)\n            .interControllerKey(\"ENC XXXX\")\n            .interControllerMode(\"disable\")\n            .interControllerPri(\"primary\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:wirelesscontroller:Intercontroller\n    properties:\n      fastFailoverMax: 10\n      fastFailoverWait: 10\n      interControllerKey: ENC XXXX\n      interControllerMode: disable\n      interControllerPri: primary\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWirelessController InterController can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/intercontroller:Intercontroller labelname WirelessControllerInterController\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:wirelesscontroller/intercontroller:Intercontroller labelname WirelessControllerInterController\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"
        },
        "fastFailoverMax": {
          "type": "integer",
          "description": "Maximum number of retransmissions for fast failover HA messages between peer wireless controllers (3 - 64, default = 10).\n"
        },
        "fastFailoverWait": {
          "type": "integer",
          "description": "Minimum wait time before an AP transitions from secondary controller to primary controller (10 - 86400 sec, default = 10).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interControllerKey": {
          "type": "string",
          "description": "Secret key for inter-controller communications.\n",
          "secret": true
        },
        "interControllerMode": {
          "type": "string",
          "description": "Configure inter-controller mode (disable, l2-roaming, 1+1, default = disable). Valid values: `disable`, `l2-roaming`, `1+1`.\n"
        },
        "interControllerPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FIntercontrollerInterControllerPeer:IntercontrollerInterControllerPeer"
          },
          "description": "Fast failover peer wireless controller list. The structure of `inter_controller_peer` block is documented below.\n"
        },
        "interControllerPri": {
          "type": "string",
          "description": "Configure inter-controller's priority (primary or secondary, default = primary). Valid values: `primary`, `secondary`.\n"
        },
        "l3Roaming": {
          "type": "string",
          "description": "Enable/disable layer 3 roaming (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": [
        "fastFailoverMax",
        "fastFailoverWait",
        "interControllerMode",
        "interControllerPri",
        "l3Roaming",
        "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"
        },
        "fastFailoverMax": {
          "type": "integer",
          "description": "Maximum number of retransmissions for fast failover HA messages between peer wireless controllers (3 - 64, default = 10).\n"
        },
        "fastFailoverWait": {
          "type": "integer",
          "description": "Minimum wait time before an AP transitions from secondary controller to primary controller (10 - 86400 sec, default = 10).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interControllerKey": {
          "type": "string",
          "description": "Secret key for inter-controller communications.\n",
          "secret": true
        },
        "interControllerMode": {
          "type": "string",
          "description": "Configure inter-controller mode (disable, l2-roaming, 1+1, default = disable). Valid values: `disable`, `l2-roaming`, `1+1`.\n"
        },
        "interControllerPeers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FIntercontrollerInterControllerPeer:IntercontrollerInterControllerPeer"
          },
          "description": "Fast failover peer wireless controller list. The structure of `inter_controller_peer` block is documented below.\n"
        },
        "interControllerPri": {
          "type": "string",
          "description": "Configure inter-controller's priority (primary or secondary, default = primary). Valid values: `primary`, `secondary`.\n"
        },
        "l3Roaming": {
          "type": "string",
          "description": "Enable/disable layer 3 roaming (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 Intercontroller 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"
          },
          "fastFailoverMax": {
            "type": "integer",
            "description": "Maximum number of retransmissions for fast failover HA messages between peer wireless controllers (3 - 64, default = 10).\n"
          },
          "fastFailoverWait": {
            "type": "integer",
            "description": "Minimum wait time before an AP transitions from secondary controller to primary controller (10 - 86400 sec, default = 10).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interControllerKey": {
            "type": "string",
            "description": "Secret key for inter-controller communications.\n",
            "secret": true
          },
          "interControllerMode": {
            "type": "string",
            "description": "Configure inter-controller mode (disable, l2-roaming, 1+1, default = disable). Valid values: `disable`, `l2-roaming`, `1+1`.\n"
          },
          "interControllerPeers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FIntercontrollerInterControllerPeer:IntercontrollerInterControllerPeer"
            },
            "description": "Fast failover peer wireless controller list. The structure of `inter_controller_peer` block is documented below.\n"
          },
          "interControllerPri": {
            "type": "string",
            "description": "Configure inter-controller's priority (primary or secondary, default = primary). Valid values: `primary`, `secondary`.\n"
          },
          "l3Roaming": {
            "type": "string",
            "description": "Enable/disable layer 3 roaming (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:wirelesscontroller/log:Log": {
      "description": "Configure wireless controller event log filters. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nWirelessController Log can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/log:Log labelname WirelessControllerLog\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:wirelesscontroller/log:Log labelname WirelessControllerLog\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrgrpLog": {
          "type": "string",
          "description": "Lowest severity level to log address group message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "bleLog": {
          "type": "string",
          "description": "Lowest severity level to log BLE detection message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "clbLog": {
          "type": "string",
          "description": "Lowest severity level to log client load balancing message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "dhcpStarvLog": {
          "type": "string",
          "description": "Lowest severity level to log DHCP starvation event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "ledSchedLog": {
          "type": "string",
          "description": "Lowest severity level to log LED schedule event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "radioEventLog": {
          "type": "string",
          "description": "Lowest severity level to log radio event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "rogueEventLog": {
          "type": "string",
          "description": "Lowest severity level to log rogue AP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "staEventLog": {
          "type": "string",
          "description": "Lowest severity level to log station event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "staLocateLog": {
          "type": "string",
          "description": "Lowest severity level to log station locate message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable wireless 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"
        },
        "widsLog": {
          "type": "string",
          "description": "Lowest severity level to log WIDS message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "wtpEventLog": {
          "type": "string",
          "description": "Lowest severity level to log WTP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "wtpFipsEventLog": {
          "type": "string",
          "description": "Lowest severity level to log FAP fips event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        }
      },
      "type": "object",
      "required": [
        "addrgrpLog",
        "bleLog",
        "clbLog",
        "dhcpStarvLog",
        "ledSchedLog",
        "radioEventLog",
        "rogueEventLog",
        "staEventLog",
        "staLocateLog",
        "status",
        "vdomparam",
        "widsLog",
        "wtpEventLog",
        "wtpFipsEventLog"
      ],
      "inputProperties": {
        "addrgrpLog": {
          "type": "string",
          "description": "Lowest severity level to log address group message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "bleLog": {
          "type": "string",
          "description": "Lowest severity level to log BLE detection message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "clbLog": {
          "type": "string",
          "description": "Lowest severity level to log client load balancing message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "dhcpStarvLog": {
          "type": "string",
          "description": "Lowest severity level to log DHCP starvation event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "ledSchedLog": {
          "type": "string",
          "description": "Lowest severity level to log LED schedule event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "radioEventLog": {
          "type": "string",
          "description": "Lowest severity level to log radio event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "rogueEventLog": {
          "type": "string",
          "description": "Lowest severity level to log rogue AP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "staEventLog": {
          "type": "string",
          "description": "Lowest severity level to log station event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "staLocateLog": {
          "type": "string",
          "description": "Lowest severity level to log station locate message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable wireless 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
        },
        "widsLog": {
          "type": "string",
          "description": "Lowest severity level to log WIDS message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "wtpEventLog": {
          "type": "string",
          "description": "Lowest severity level to log WTP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "wtpFipsEventLog": {
          "type": "string",
          "description": "Lowest severity level to log FAP fips event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Log resources.\n",
        "properties": {
          "addrgrpLog": {
            "type": "string",
            "description": "Lowest severity level to log address group message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "bleLog": {
            "type": "string",
            "description": "Lowest severity level to log BLE detection message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "clbLog": {
            "type": "string",
            "description": "Lowest severity level to log client load balancing message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "dhcpStarvLog": {
            "type": "string",
            "description": "Lowest severity level to log DHCP starvation event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "ledSchedLog": {
            "type": "string",
            "description": "Lowest severity level to log LED schedule event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "radioEventLog": {
            "type": "string",
            "description": "Lowest severity level to log radio event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "rogueEventLog": {
            "type": "string",
            "description": "Lowest severity level to log rogue AP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "staEventLog": {
            "type": "string",
            "description": "Lowest severity level to log station event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "staLocateLog": {
            "type": "string",
            "description": "Lowest severity level to log station locate message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable wireless 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
          },
          "widsLog": {
            "type": "string",
            "description": "Lowest severity level to log WIDS message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "wtpEventLog": {
            "type": "string",
            "description": "Lowest severity level to log WTP event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "wtpFipsEventLog": {
            "type": "string",
            "description": "Lowest severity level to log FAP fips event message. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/mpskprofile:Mpskprofile": {
      "description": "Configure MPSK profile. Applies to FortiOS Version `>= 6.4.2`.\n\n## Import\n\nWirelessController MpskProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/mpskprofile:Mpskprofile 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:wirelesscontroller/mpskprofile:Mpskprofile 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"
        },
        "mpskConcurrentClients": {
          "type": "integer",
          "description": "Maximum number of concurrent clients that connect using the same passphrase in multiple PSK authentication (0 - 65535, default = 0, meaning no limitation).\n"
        },
        "mpskExternalServer": {
          "type": "string",
          "description": "RADIUS server to be used to authenticate MPSK users.\n"
        },
        "mpskExternalServerAuth": {
          "type": "string",
          "description": "Enable/Disable MPSK external server authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "mpskGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FMpskprofileMpskGroup:MpskprofileMpskGroup"
          },
          "description": "List of multiple PSK groups. The structure of `mpsk_group` block is documented below.\n"
        },
        "mpskType": {
          "type": "string",
          "description": "Select the security type of keys for this profile. Valid values: `wpa2-personal`, `wpa3-sae`, `wpa3-sae-transition`.\n"
        },
        "name": {
          "type": "string",
          "description": "MPSK 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": [
        "mpskConcurrentClients",
        "mpskExternalServer",
        "mpskExternalServerAuth",
        "mpskType",
        "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"
        },
        "mpskConcurrentClients": {
          "type": "integer",
          "description": "Maximum number of concurrent clients that connect using the same passphrase in multiple PSK authentication (0 - 65535, default = 0, meaning no limitation).\n"
        },
        "mpskExternalServer": {
          "type": "string",
          "description": "RADIUS server to be used to authenticate MPSK users.\n"
        },
        "mpskExternalServerAuth": {
          "type": "string",
          "description": "Enable/Disable MPSK external server authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "mpskGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FMpskprofileMpskGroup:MpskprofileMpskGroup"
          },
          "description": "List of multiple PSK groups. The structure of `mpsk_group` block is documented below.\n"
        },
        "mpskType": {
          "type": "string",
          "description": "Select the security type of keys for this profile. Valid values: `wpa2-personal`, `wpa3-sae`, `wpa3-sae-transition`.\n"
        },
        "name": {
          "type": "string",
          "description": "MPSK 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 Mpskprofile 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"
          },
          "mpskConcurrentClients": {
            "type": "integer",
            "description": "Maximum number of concurrent clients that connect using the same passphrase in multiple PSK authentication (0 - 65535, default = 0, meaning no limitation).\n"
          },
          "mpskExternalServer": {
            "type": "string",
            "description": "RADIUS server to be used to authenticate MPSK users.\n"
          },
          "mpskExternalServerAuth": {
            "type": "string",
            "description": "Enable/Disable MPSK external server authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "mpskGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FMpskprofileMpskGroup:MpskprofileMpskGroup"
            },
            "description": "List of multiple PSK groups. The structure of `mpsk_group` block is documented below.\n"
          },
          "mpskType": {
            "type": "string",
            "description": "Select the security type of keys for this profile. Valid values: `wpa2-personal`, `wpa3-sae`, `wpa3-sae-transition`.\n"
          },
          "name": {
            "type": "string",
            "description": "MPSK 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:wirelesscontroller/nacprofile:Nacprofile": {
      "description": "Configure WiFi network access control (NAC) profiles. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nWirelessController NacProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/nacprofile:Nacprofile 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:wirelesscontroller/nacprofile:Nacprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "onboardingVlan": {
          "type": "string",
          "description": "VLAN interface 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",
        "onboardingVlan",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "onboardingVlan": {
          "type": "string",
          "description": "VLAN interface 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 Nacprofile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "onboardingVlan": {
            "type": "string",
            "description": "VLAN interface 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:wirelesscontroller/qosprofile:Qosprofile": {
      "description": "Configure WiFi quality of service (QoS) profiles.\n\n## Import\n\nWirelessController QosProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/qosprofile:Qosprofile 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:wirelesscontroller/qosprofile:Qosprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bandwidthAdmissionControl": {
          "type": "string",
          "description": "Enable/disable WMM bandwidth admission control. Valid values: `enable`, `disable`.\n"
        },
        "bandwidthCapacity": {
          "type": "integer",
          "description": "Maximum bandwidth capacity allowed (1 - 600000 Kbps, default = 2000).\n"
        },
        "burst": {
          "type": "string",
          "description": "Enable/disable client rate burst. Valid values: `enable`, `disable`.\n"
        },
        "callAdmissionControl": {
          "type": "string",
          "description": "Enable/disable WMM call admission control. Valid values: `enable`, `disable`.\n"
        },
        "callCapacity": {
          "type": "integer",
          "description": "Maximum number of Voice over WLAN (VoWLAN) phones allowed (0 - 60, default = 10).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "downlink": {
          "type": "integer",
          "description": "Maximum downlink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "downlinkSta": {
          "type": "integer",
          "description": "Maximum downlink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "dscpWmmBes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBe:QosprofileDscpWmmBe"
          },
          "description": "DSCP mapping for best effort access (default = 0 24). The structure of `dscp_wmm_be` block is documented below.\n"
        },
        "dscpWmmBks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBk:QosprofileDscpWmmBk"
          },
          "description": "DSCP mapping for background access (default = 8 16). The structure of `dscp_wmm_bk` block is documented below.\n"
        },
        "dscpWmmMapping": {
          "type": "string",
          "description": "Enable/disable Differentiated Services Code Point (DSCP) mapping. Valid values: `enable`, `disable`.\n"
        },
        "dscpWmmVis": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVi:QosprofileDscpWmmVi"
          },
          "description": "DSCP mapping for video access (default = 32 40). The structure of `dscp_wmm_vi` block is documented below.\n"
        },
        "dscpWmmVos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVo:QosprofileDscpWmmVo"
          },
          "description": "DSCP mapping for voice access (default = 48 56). The structure of `dscp_wmm_vo` 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": "WiFi QoS profile name.\n"
        },
        "uplink": {
          "type": "integer",
          "description": "Maximum uplink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "uplinkSta": {
          "type": "integer",
          "description": "Maximum uplink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wmm": {
          "type": "string",
          "description": "Enable/disable WiFi multi-media (WMM) control. Valid values: `enable`, `disable`.\n"
        },
        "wmmBeDscp": {
          "type": "integer",
          "description": "DSCP marking for best effort access (default = 0).\n"
        },
        "wmmBkDscp": {
          "type": "integer",
          "description": "DSCP marking for background access (default = 8).\n"
        },
        "wmmDscpMarking": {
          "type": "string",
          "description": "Enable/disable WMM Differentiated Services Code Point (DSCP) marking. Valid values: `enable`, `disable`.\n"
        },
        "wmmUapsd": {
          "type": "string",
          "description": "Enable/disable WMM Unscheduled Automatic Power Save Delivery (U-APSD) power save mode. Valid values: `enable`, `disable`.\n"
        },
        "wmmViDscp": {
          "type": "integer",
          "description": "DSCP marking for video access (default = 32).\n"
        },
        "wmmVoDscp": {
          "type": "integer",
          "description": "DSCP marking for voice access (default = 48).\n"
        }
      },
      "type": "object",
      "required": [
        "bandwidthAdmissionControl",
        "bandwidthCapacity",
        "burst",
        "callAdmissionControl",
        "callCapacity",
        "comment",
        "downlink",
        "downlinkSta",
        "dscpWmmMapping",
        "name",
        "uplink",
        "uplinkSta",
        "vdomparam",
        "wmm",
        "wmmBeDscp",
        "wmmBkDscp",
        "wmmDscpMarking",
        "wmmUapsd",
        "wmmViDscp",
        "wmmVoDscp"
      ],
      "inputProperties": {
        "bandwidthAdmissionControl": {
          "type": "string",
          "description": "Enable/disable WMM bandwidth admission control. Valid values: `enable`, `disable`.\n"
        },
        "bandwidthCapacity": {
          "type": "integer",
          "description": "Maximum bandwidth capacity allowed (1 - 600000 Kbps, default = 2000).\n"
        },
        "burst": {
          "type": "string",
          "description": "Enable/disable client rate burst. Valid values: `enable`, `disable`.\n"
        },
        "callAdmissionControl": {
          "type": "string",
          "description": "Enable/disable WMM call admission control. Valid values: `enable`, `disable`.\n"
        },
        "callCapacity": {
          "type": "integer",
          "description": "Maximum number of Voice over WLAN (VoWLAN) phones allowed (0 - 60, default = 10).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "downlink": {
          "type": "integer",
          "description": "Maximum downlink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "downlinkSta": {
          "type": "integer",
          "description": "Maximum downlink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "dscpWmmBes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBe:QosprofileDscpWmmBe"
          },
          "description": "DSCP mapping for best effort access (default = 0 24). The structure of `dscp_wmm_be` block is documented below.\n"
        },
        "dscpWmmBks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBk:QosprofileDscpWmmBk"
          },
          "description": "DSCP mapping for background access (default = 8 16). The structure of `dscp_wmm_bk` block is documented below.\n"
        },
        "dscpWmmMapping": {
          "type": "string",
          "description": "Enable/disable Differentiated Services Code Point (DSCP) mapping. Valid values: `enable`, `disable`.\n"
        },
        "dscpWmmVis": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVi:QosprofileDscpWmmVi"
          },
          "description": "DSCP mapping for video access (default = 32 40). The structure of `dscp_wmm_vi` block is documented below.\n"
        },
        "dscpWmmVos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVo:QosprofileDscpWmmVo"
          },
          "description": "DSCP mapping for voice access (default = 48 56). The structure of `dscp_wmm_vo` 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": "WiFi QoS profile name.\n",
          "willReplaceOnChanges": true
        },
        "uplink": {
          "type": "integer",
          "description": "Maximum uplink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "uplinkSta": {
          "type": "integer",
          "description": "Maximum uplink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wmm": {
          "type": "string",
          "description": "Enable/disable WiFi multi-media (WMM) control. Valid values: `enable`, `disable`.\n"
        },
        "wmmBeDscp": {
          "type": "integer",
          "description": "DSCP marking for best effort access (default = 0).\n"
        },
        "wmmBkDscp": {
          "type": "integer",
          "description": "DSCP marking for background access (default = 8).\n"
        },
        "wmmDscpMarking": {
          "type": "string",
          "description": "Enable/disable WMM Differentiated Services Code Point (DSCP) marking. Valid values: `enable`, `disable`.\n"
        },
        "wmmUapsd": {
          "type": "string",
          "description": "Enable/disable WMM Unscheduled Automatic Power Save Delivery (U-APSD) power save mode. Valid values: `enable`, `disable`.\n"
        },
        "wmmViDscp": {
          "type": "integer",
          "description": "DSCP marking for video access (default = 32).\n"
        },
        "wmmVoDscp": {
          "type": "integer",
          "description": "DSCP marking for voice access (default = 48).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Qosprofile resources.\n",
        "properties": {
          "bandwidthAdmissionControl": {
            "type": "string",
            "description": "Enable/disable WMM bandwidth admission control. Valid values: `enable`, `disable`.\n"
          },
          "bandwidthCapacity": {
            "type": "integer",
            "description": "Maximum bandwidth capacity allowed (1 - 600000 Kbps, default = 2000).\n"
          },
          "burst": {
            "type": "string",
            "description": "Enable/disable client rate burst. Valid values: `enable`, `disable`.\n"
          },
          "callAdmissionControl": {
            "type": "string",
            "description": "Enable/disable WMM call admission control. Valid values: `enable`, `disable`.\n"
          },
          "callCapacity": {
            "type": "integer",
            "description": "Maximum number of Voice over WLAN (VoWLAN) phones allowed (0 - 60, default = 10).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "downlink": {
            "type": "integer",
            "description": "Maximum downlink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
          },
          "downlinkSta": {
            "type": "integer",
            "description": "Maximum downlink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
          },
          "dscpWmmBes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBe:QosprofileDscpWmmBe"
            },
            "description": "DSCP mapping for best effort access (default = 0 24). The structure of `dscp_wmm_be` block is documented below.\n"
          },
          "dscpWmmBks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmBk:QosprofileDscpWmmBk"
            },
            "description": "DSCP mapping for background access (default = 8 16). The structure of `dscp_wmm_bk` block is documented below.\n"
          },
          "dscpWmmMapping": {
            "type": "string",
            "description": "Enable/disable Differentiated Services Code Point (DSCP) mapping. Valid values: `enable`, `disable`.\n"
          },
          "dscpWmmVis": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVi:QosprofileDscpWmmVi"
            },
            "description": "DSCP mapping for video access (default = 32 40). The structure of `dscp_wmm_vi` block is documented below.\n"
          },
          "dscpWmmVos": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FQosprofileDscpWmmVo:QosprofileDscpWmmVo"
            },
            "description": "DSCP mapping for voice access (default = 48 56). The structure of `dscp_wmm_vo` 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": "WiFi QoS profile name.\n",
            "willReplaceOnChanges": true
          },
          "uplink": {
            "type": "integer",
            "description": "Maximum uplink bandwidth for Virtual Access Points (VAPs) (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
          },
          "uplinkSta": {
            "type": "integer",
            "description": "Maximum uplink bandwidth for clients (0 - 2097152 Kbps, default = 0, 0 means no limit).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wmm": {
            "type": "string",
            "description": "Enable/disable WiFi multi-media (WMM) control. Valid values: `enable`, `disable`.\n"
          },
          "wmmBeDscp": {
            "type": "integer",
            "description": "DSCP marking for best effort access (default = 0).\n"
          },
          "wmmBkDscp": {
            "type": "integer",
            "description": "DSCP marking for background access (default = 8).\n"
          },
          "wmmDscpMarking": {
            "type": "string",
            "description": "Enable/disable WMM Differentiated Services Code Point (DSCP) marking. Valid values: `enable`, `disable`.\n"
          },
          "wmmUapsd": {
            "type": "string",
            "description": "Enable/disable WMM Unscheduled Automatic Power Save Delivery (U-APSD) power save mode. Valid values: `enable`, `disable`.\n"
          },
          "wmmViDscp": {
            "type": "integer",
            "description": "DSCP marking for video access (default = 32).\n"
          },
          "wmmVoDscp": {
            "type": "integer",
            "description": "DSCP marking for voice access (default = 48).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/region:Region": {
      "description": "Configure FortiAP regions (for floor plans and maps).\n\n## Import\n\nWirelessController Region can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/region:Region 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:wirelesscontroller/region:Region labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "grayscale": {
          "type": "string",
          "description": "Region image grayscale. Valid values: `enable`, `disable`.\n"
        },
        "imageType": {
          "type": "string",
          "description": "FortiAP region image type (png|jpeg|gif). Valid values: `png`, `jpeg`, `gif`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiAP region name.\n"
        },
        "opacity": {
          "type": "integer",
          "description": "Region image opacity (0 - 100).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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",
        "grayscale",
        "imageType",
        "name",
        "opacity",
        "vdomparam"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "grayscale": {
          "type": "string",
          "description": "Region image grayscale. Valid values: `enable`, `disable`.\n"
        },
        "imageType": {
          "type": "string",
          "description": "FortiAP region image type (png|jpeg|gif). Valid values: `png`, `jpeg`, `gif`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiAP region name.\n",
          "willReplaceOnChanges": true
        },
        "opacity": {
          "type": "integer",
          "description": "Region image opacity (0 - 100).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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": {
          "comments": {
            "type": "string",
            "description": "Comments.\n"
          },
          "grayscale": {
            "type": "string",
            "description": "Region image grayscale. Valid values: `enable`, `disable`.\n"
          },
          "imageType": {
            "type": "string",
            "description": "FortiAP region image type (png|jpeg|gif). Valid values: `png`, `jpeg`, `gif`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiAP region name.\n",
            "willReplaceOnChanges": true
          },
          "opacity": {
            "type": "integer",
            "description": "Region image opacity (0 - 100).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/setting:Setting": {
      "description": "VDOM wireless controller configuration.\n\n## Import\n\nWirelessController Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/setting:Setting labelname WirelessControllerSetting\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:wirelesscontroller/setting:Setting labelname WirelessControllerSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accountId": {
          "type": "string",
          "description": "FortiCloud customer account ID.\n"
        },
        "country": {
          "type": "string",
          "description": "Country or region in which the FortiGate is located. The country determines the 802.11 bands and channels that are available.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
        },
        "darrpOptimizeSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSettingDarrpOptimizeSchedule:SettingDarrpOptimizeSchedule"
          },
          "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` block is documented below.\n"
        },
        "deviceHoldoff": {
          "type": "integer",
          "description": "Lower limit of creation time of device for identification in minutes (0 - 60, default = 5).\n"
        },
        "deviceIdle": {
          "type": "integer",
          "description": "Upper limit of idle time of device for identification in minutes (0 - 14400, default = 1440).\n"
        },
        "deviceWeight": {
          "type": "integer",
          "description": "Upper limit of confidence of device for identification (0 - 255, default = 1, 0 = disable).\n"
        },
        "duplicateSsid": {
          "type": "string",
          "description": "Enable/disable allowing Virtual Access Points (VAPs) to use the same SSID name in the same VDOM. 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"
        },
        "fakeSsidAction": {
          "type": "string",
          "description": "Actions taken for detected fake SSID. Valid values: `log`, `suppress`.\n"
        },
        "fapcCompatibility": {
          "type": "string",
          "description": "Enable/disable FAP-C series compatibility. Valid values: `enable`, `disable`.\n"
        },
        "firmwareProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
        },
        "offendingSsids": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSettingOffendingSsid:SettingOffendingSsid"
          },
          "description": "Configure offending SSID. The structure of `offending_ssid` block is documented below.\n"
        },
        "phishingSsidDetect": {
          "type": "string",
          "description": "Enable/disable phishing SSID detection. Valid values: `enable`, `disable`.\n"
        },
        "rollingWtpUpgrade": {
          "type": "string",
          "description": "Enable/disable rolling WTP upgrade (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"
        },
        "wfaCompatibility": {
          "type": "string",
          "description": "Enable/disable WFA compatibility. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "accountId",
        "country",
        "darrpOptimize",
        "deviceHoldoff",
        "deviceIdle",
        "deviceWeight",
        "duplicateSsid",
        "fakeSsidAction",
        "fapcCompatibility",
        "firmwareProvisionOnAuthorization",
        "phishingSsidDetect",
        "rollingWtpUpgrade",
        "vdomparam",
        "wfaCompatibility"
      ],
      "inputProperties": {
        "accountId": {
          "type": "string",
          "description": "FortiCloud customer account ID.\n"
        },
        "country": {
          "type": "string",
          "description": "Country or region in which the FortiGate is located. The country determines the 802.11 bands and channels that are available.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
        },
        "darrpOptimizeSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSettingDarrpOptimizeSchedule:SettingDarrpOptimizeSchedule"
          },
          "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` block is documented below.\n"
        },
        "deviceHoldoff": {
          "type": "integer",
          "description": "Lower limit of creation time of device for identification in minutes (0 - 60, default = 5).\n"
        },
        "deviceIdle": {
          "type": "integer",
          "description": "Upper limit of idle time of device for identification in minutes (0 - 14400, default = 1440).\n"
        },
        "deviceWeight": {
          "type": "integer",
          "description": "Upper limit of confidence of device for identification (0 - 255, default = 1, 0 = disable).\n"
        },
        "duplicateSsid": {
          "type": "string",
          "description": "Enable/disable allowing Virtual Access Points (VAPs) to use the same SSID name in the same VDOM. 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"
        },
        "fakeSsidAction": {
          "type": "string",
          "description": "Actions taken for detected fake SSID. Valid values: `log`, `suppress`.\n"
        },
        "fapcCompatibility": {
          "type": "string",
          "description": "Enable/disable FAP-C series compatibility. Valid values: `enable`, `disable`.\n"
        },
        "firmwareProvisionOnAuthorization": {
          "type": "string",
          "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
        },
        "offendingSsids": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSettingOffendingSsid:SettingOffendingSsid"
          },
          "description": "Configure offending SSID. The structure of `offending_ssid` block is documented below.\n"
        },
        "phishingSsidDetect": {
          "type": "string",
          "description": "Enable/disable phishing SSID detection. Valid values: `enable`, `disable`.\n"
        },
        "rollingWtpUpgrade": {
          "type": "string",
          "description": "Enable/disable rolling WTP upgrade (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
        },
        "wfaCompatibility": {
          "type": "string",
          "description": "Enable/disable WFA compatibility. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "FortiCloud customer account ID.\n"
          },
          "country": {
            "type": "string",
            "description": "Country or region in which the FortiGate is located. The country determines the 802.11 bands and channels that are available.\n"
          },
          "darrpOptimize": {
            "type": "integer",
            "description": "Time for running Distributed Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 86400, 0 = disable).\n"
          },
          "darrpOptimizeSchedules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FSettingDarrpOptimizeSchedule:SettingDarrpOptimizeSchedule"
            },
            "description": "Firewall schedules for DARRP running time. DARRP will run periodically based on darrp-optimize within the schedules. Separate multiple schedule names with a space. The structure of `darrp_optimize_schedules` block is documented below.\n"
          },
          "deviceHoldoff": {
            "type": "integer",
            "description": "Lower limit of creation time of device for identification in minutes (0 - 60, default = 5).\n"
          },
          "deviceIdle": {
            "type": "integer",
            "description": "Upper limit of idle time of device for identification in minutes (0 - 14400, default = 1440).\n"
          },
          "deviceWeight": {
            "type": "integer",
            "description": "Upper limit of confidence of device for identification (0 - 255, default = 1, 0 = disable).\n"
          },
          "duplicateSsid": {
            "type": "string",
            "description": "Enable/disable allowing Virtual Access Points (VAPs) to use the same SSID name in the same VDOM. 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"
          },
          "fakeSsidAction": {
            "type": "string",
            "description": "Actions taken for detected fake SSID. Valid values: `log`, `suppress`.\n"
          },
          "fapcCompatibility": {
            "type": "string",
            "description": "Enable/disable FAP-C series compatibility. Valid values: `enable`, `disable`.\n"
          },
          "firmwareProvisionOnAuthorization": {
            "type": "string",
            "description": "Enable/disable automatic provisioning of latest firmware on authorization. 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"
          },
          "offendingSsids": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FSettingOffendingSsid:SettingOffendingSsid"
            },
            "description": "Configure offending SSID. The structure of `offending_ssid` block is documented below.\n"
          },
          "phishingSsidDetect": {
            "type": "string",
            "description": "Enable/disable phishing SSID detection. Valid values: `enable`, `disable`.\n"
          },
          "rollingWtpUpgrade": {
            "type": "string",
            "description": "Enable/disable rolling WTP upgrade (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
          },
          "wfaCompatibility": {
            "type": "string",
            "description": "Enable/disable WFA compatibility. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/snmp:Snmp": {
      "description": "Configure SNMP. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nWirelessController Snmp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/snmp:Snmp labelname WirelessControllerSnmp\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:wirelesscontroller/snmp:Snmp labelname WirelessControllerSnmp\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "communities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSnmpCommunity:SnmpCommunity"
          },
          "description": "SNMP Community Configuration. The structure of `community` block is documented below.\n"
        },
        "contactInfo": {
          "type": "string",
          "description": "Contact Information.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "engineId": {
          "type": "string",
          "description": "AC SNMP engineId string (maximum 24 characters).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "trapHighCpuThreshold": {
          "type": "integer",
          "description": "CPU usage when trap is sent.\n"
        },
        "trapHighMemThreshold": {
          "type": "integer",
          "description": "Memory usage when trap is sent.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSnmpUser:SnmpUser"
          },
          "description": "SNMP User Configuration. The structure of `user` 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": [
        "contactInfo",
        "engineId",
        "trapHighCpuThreshold",
        "trapHighMemThreshold",
        "vdomparam"
      ],
      "inputProperties": {
        "communities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSnmpCommunity:SnmpCommunity"
          },
          "description": "SNMP Community Configuration. The structure of `community` block is documented below.\n"
        },
        "contactInfo": {
          "type": "string",
          "description": "Contact Information.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "engineId": {
          "type": "string",
          "description": "AC SNMP engineId string (maximum 24 characters).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "trapHighCpuThreshold": {
          "type": "integer",
          "description": "CPU usage when trap is sent.\n"
        },
        "trapHighMemThreshold": {
          "type": "integer",
          "description": "Memory usage when trap is sent.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSnmpUser:SnmpUser"
          },
          "description": "SNMP User Configuration. The structure of `user` 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 Snmp resources.\n",
        "properties": {
          "communities": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FSnmpCommunity:SnmpCommunity"
            },
            "description": "SNMP Community Configuration. The structure of `community` block is documented below.\n"
          },
          "contactInfo": {
            "type": "string",
            "description": "Contact Information.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "engineId": {
            "type": "string",
            "description": "AC SNMP engineId string (maximum 24 characters).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "trapHighCpuThreshold": {
            "type": "integer",
            "description": "CPU usage when trap is sent.\n"
          },
          "trapHighMemThreshold": {
            "type": "integer",
            "description": "Memory usage when trap is sent.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FSnmpUser:SnmpUser"
            },
            "description": "SNMP User Configuration. The structure of `user` 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:wirelesscontroller/ssidpolicy:Ssidpolicy": {
      "description": "Configure WiFi SSID policies. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nWirelessController SsidPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/ssidpolicy:Ssidpolicy 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:wirelesscontroller/ssidpolicy:Ssidpolicy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\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"
        },
        "vlan": {
          "type": "string",
          "description": "VLAN interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam",
        "vlan"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "name": {
          "type": "string",
          "description": "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
        },
        "vlan": {
          "type": "string",
          "description": "VLAN interface name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ssidpolicy resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "name": {
            "type": "string",
            "description": "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
          },
          "vlan": {
            "type": "string",
            "description": "VLAN interface name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/syslogprofile:Syslogprofile": {
      "description": "Configure Wireless Termination Points (WTP) system log server profile. Applies to FortiOS Version `>= 7.0.2`.\n\n## Import\n\nWirelessController SyslogProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/syslogprofile:Syslogprofile 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:wirelesscontroller/syslogprofile:Syslogprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "logLevel": {
          "type": "string",
          "description": "Lowest level of log messages that FortiAP units send to this server (default = information) Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debugging`.\n"
        },
        "name": {
          "type": "string",
          "description": "WTP system log server profile name.\n"
        },
        "serverAddrType": {
          "type": "string",
          "description": "Syslog server address type (default = IP) Valid values: `fqdn`, `ip`.\n"
        },
        "serverFqdn": {
          "type": "string",
          "description": "FQDN of syslog server that FortiAP units send log messages to.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IP address of syslog server that FortiAP units send log messages to.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of syslog server that FortiAP units send log messages to (default = 514).\n"
        },
        "serverStatus": {
          "type": "string",
          "description": "Enable/disable FortiAP units to send log messages to a syslog server (default = enable). 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": [
        "logLevel",
        "name",
        "serverAddrType",
        "serverFqdn",
        "serverIp",
        "serverPort",
        "serverStatus",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "logLevel": {
          "type": "string",
          "description": "Lowest level of log messages that FortiAP units send to this server (default = information) Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debugging`.\n"
        },
        "name": {
          "type": "string",
          "description": "WTP system log server profile name.\n",
          "willReplaceOnChanges": true
        },
        "serverAddrType": {
          "type": "string",
          "description": "Syslog server address type (default = IP) Valid values: `fqdn`, `ip`.\n"
        },
        "serverFqdn": {
          "type": "string",
          "description": "FQDN of syslog server that FortiAP units send log messages to.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IP address of syslog server that FortiAP units send log messages to.\n"
        },
        "serverPort": {
          "type": "integer",
          "description": "Port number of syslog server that FortiAP units send log messages to (default = 514).\n"
        },
        "serverStatus": {
          "type": "string",
          "description": "Enable/disable FortiAP units to send log messages to a syslog server (default = enable). 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 Syslogprofile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "logLevel": {
            "type": "string",
            "description": "Lowest level of log messages that FortiAP units send to this server (default = information) Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debugging`.\n"
          },
          "name": {
            "type": "string",
            "description": "WTP system log server profile name.\n",
            "willReplaceOnChanges": true
          },
          "serverAddrType": {
            "type": "string",
            "description": "Syslog server address type (default = IP) Valid values: `fqdn`, `ip`.\n"
          },
          "serverFqdn": {
            "type": "string",
            "description": "FQDN of syslog server that FortiAP units send log messages to.\n"
          },
          "serverIp": {
            "type": "string",
            "description": "IP address of syslog server that FortiAP units send log messages to.\n"
          },
          "serverPort": {
            "type": "integer",
            "description": "Port number of syslog server that FortiAP units send log messages to (default = 514).\n"
          },
          "serverStatus": {
            "type": "string",
            "description": "Enable/disable FortiAP units to send log messages to a syslog server (default = enable). 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:wirelesscontroller/timers:Timers": {
      "description": "Configure CAPWAP timers.\n\n## Import\n\nWirelessController Timers can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/timers:Timers labelname WirelessControllerTimers\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:wirelesscontroller/timers:Timers labelname WirelessControllerTimers\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "apRebootWaitInterval1": {
          "type": "integer",
          "description": "Time in minutes to wait before AP reboots when there is no controller detected (5 - 65535, default = 0, 0 for no reboot).\n"
        },
        "apRebootWaitInterval2": {
          "type": "integer",
          "description": "Time in minutes to wait before AP reboots when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session (5 - 65535, default = 0, 0 for no reboot).\n"
        },
        "apRebootWaitTime": {
          "type": "string",
          "description": "Time to reboot the AP when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session, format hh:mm.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered failed in RADIUS authentication and times out (5 - 30 sec, default = 5).\n"
        },
        "bleDeviceCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep BLE device after it is gone (default = 60).\n"
        },
        "bleScanReportIntv": {
          "type": "integer",
          "description": "Time between running Bluetooth Low Energy (BLE) reports (10 - 3600 sec, default = 30).\n"
        },
        "clientIdleRehomeTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered idle and disconnected from the home controller (2 - 3600 sec, default = 20, 0 for no timeout).\n"
        },
        "clientIdleTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered idle and times out (20 - 3600 sec, default = 300, 0 for no timeout).\n"
        },
        "darrpDay": {
          "type": "string",
          "description": "Weekday on which to run DARRP optimization. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Dynamic Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 1800).\n"
        },
        "darrpTimes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FTimersDarrpTime:TimersDarrpTime"
          },
          "description": "Time at which DARRP optimizations run (you can add up to 8 times). The structure of `darrp_time` block is documented below.\n"
        },
        "discoveryInterval": {
          "type": "integer",
          "description": "Time between discovery requests (2 - 180 sec, default = 5).\n"
        },
        "drmaInterval": {
          "type": "integer",
          "description": "Dynamic radio mode assignment (DRMA) schedule interval in minutes (10 - 1440, default = 60).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "echoInterval": {
          "type": "integer",
          "description": "Time between echo requests sent by the managed WTP, AP, or FortiAP (1 - 255 sec, default = 30).\n"
        },
        "fakeApLog": {
          "type": "integer",
          "description": "Time between recording logs about fake APs if periodic fake AP logging is configured (0 - 1440 min, default = 1).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsecIntfCleanup": {
          "type": "integer",
          "description": "Time period to keep IPsec VPN interfaces up after WTP sessions are disconnected (30 - 3600 sec, default = 120).\n"
        },
        "natSessionKeepAlive": {
          "type": "integer",
          "description": "Maximal time in seconds between control requests sent by the managed WTP, AP, or FortiAP (0 - 255 sec, default = 0).\n"
        },
        "radioStatsInterval": {
          "type": "integer",
          "description": "Time between running radio reports (1 - 255 sec, default = 15).\n"
        },
        "rogueApCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep rogue AP after it is gone (default = 0).\n"
        },
        "rogueApLog": {
          "type": "integer",
          "description": "Time between logging rogue AP messages if periodic rogue AP logging is configured (0 - 1440 min, default = 0).\n"
        },
        "rogueStaCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep rogue station after it is gone (default = 0).\n"
        },
        "staCapCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep station capability data after it is gone (default = 0).\n"
        },
        "staCapabilityInterval": {
          "type": "integer",
          "description": "Time between running station capability reports (1 - 255 sec, default = 30).\n"
        },
        "staLocateTimer": {
          "type": "integer",
          "description": "Time between running client presence flushes to remove clients that are listed but no longer present (0 - 86400 sec, default = 1800).\n"
        },
        "staStatsInterval": {
          "type": "integer",
          "description": "Time between running client (station) reports (1 - 255 sec). On FortiOS versions 6.2.0-7.4.1: default = 1. On FortiOS versions >= 7.4.2: default = 10.\n"
        },
        "vapStatsInterval": {
          "type": "integer",
          "description": "Time between running Virtual Access Point (VAP) reports (1 - 255 sec, default = 15).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. 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": [
        "apRebootWaitInterval1",
        "apRebootWaitInterval2",
        "apRebootWaitTime",
        "authTimeout",
        "bleDeviceCleanup",
        "bleScanReportIntv",
        "clientIdleRehomeTimeout",
        "clientIdleTimeout",
        "darrpDay",
        "darrpOptimize",
        "discoveryInterval",
        "drmaInterval",
        "echoInterval",
        "fakeApLog",
        "ipsecIntfCleanup",
        "natSessionKeepAlive",
        "radioStatsInterval",
        "rogueApCleanup",
        "rogueApLog",
        "rogueStaCleanup",
        "staCapCleanup",
        "staCapabilityInterval",
        "staLocateTimer",
        "staStatsInterval",
        "vapStatsInterval",
        "vdomparam"
      ],
      "inputProperties": {
        "apRebootWaitInterval1": {
          "type": "integer",
          "description": "Time in minutes to wait before AP reboots when there is no controller detected (5 - 65535, default = 0, 0 for no reboot).\n"
        },
        "apRebootWaitInterval2": {
          "type": "integer",
          "description": "Time in minutes to wait before AP reboots when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session (5 - 65535, default = 0, 0 for no reboot).\n"
        },
        "apRebootWaitTime": {
          "type": "string",
          "description": "Time to reboot the AP when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session, format hh:mm.\n"
        },
        "authTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered failed in RADIUS authentication and times out (5 - 30 sec, default = 5).\n"
        },
        "bleDeviceCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep BLE device after it is gone (default = 60).\n"
        },
        "bleScanReportIntv": {
          "type": "integer",
          "description": "Time between running Bluetooth Low Energy (BLE) reports (10 - 3600 sec, default = 30).\n"
        },
        "clientIdleRehomeTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered idle and disconnected from the home controller (2 - 3600 sec, default = 20, 0 for no timeout).\n"
        },
        "clientIdleTimeout": {
          "type": "integer",
          "description": "Time after which a client is considered idle and times out (20 - 3600 sec, default = 300, 0 for no timeout).\n"
        },
        "darrpDay": {
          "type": "string",
          "description": "Weekday on which to run DARRP optimization. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "darrpOptimize": {
          "type": "integer",
          "description": "Time for running Dynamic Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 1800).\n"
        },
        "darrpTimes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FTimersDarrpTime:TimersDarrpTime"
          },
          "description": "Time at which DARRP optimizations run (you can add up to 8 times). The structure of `darrp_time` block is documented below.\n"
        },
        "discoveryInterval": {
          "type": "integer",
          "description": "Time between discovery requests (2 - 180 sec, default = 5).\n"
        },
        "drmaInterval": {
          "type": "integer",
          "description": "Dynamic radio mode assignment (DRMA) schedule interval in minutes (10 - 1440, default = 60).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "echoInterval": {
          "type": "integer",
          "description": "Time between echo requests sent by the managed WTP, AP, or FortiAP (1 - 255 sec, default = 30).\n"
        },
        "fakeApLog": {
          "type": "integer",
          "description": "Time between recording logs about fake APs if periodic fake AP logging is configured (0 - 1440 min, default = 1).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsecIntfCleanup": {
          "type": "integer",
          "description": "Time period to keep IPsec VPN interfaces up after WTP sessions are disconnected (30 - 3600 sec, default = 120).\n"
        },
        "natSessionKeepAlive": {
          "type": "integer",
          "description": "Maximal time in seconds between control requests sent by the managed WTP, AP, or FortiAP (0 - 255 sec, default = 0).\n"
        },
        "radioStatsInterval": {
          "type": "integer",
          "description": "Time between running radio reports (1 - 255 sec, default = 15).\n"
        },
        "rogueApCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep rogue AP after it is gone (default = 0).\n"
        },
        "rogueApLog": {
          "type": "integer",
          "description": "Time between logging rogue AP messages if periodic rogue AP logging is configured (0 - 1440 min, default = 0).\n"
        },
        "rogueStaCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep rogue station after it is gone (default = 0).\n"
        },
        "staCapCleanup": {
          "type": "integer",
          "description": "Time period in minutes to keep station capability data after it is gone (default = 0).\n"
        },
        "staCapabilityInterval": {
          "type": "integer",
          "description": "Time between running station capability reports (1 - 255 sec, default = 30).\n"
        },
        "staLocateTimer": {
          "type": "integer",
          "description": "Time between running client presence flushes to remove clients that are listed but no longer present (0 - 86400 sec, default = 1800).\n"
        },
        "staStatsInterval": {
          "type": "integer",
          "description": "Time between running client (station) reports (1 - 255 sec). On FortiOS versions 6.2.0-7.4.1: default = 1. On FortiOS versions >= 7.4.2: default = 10.\n"
        },
        "vapStatsInterval": {
          "type": "integer",
          "description": "Time between running Virtual Access Point (VAP) reports (1 - 255 sec, default = 15).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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 Timers resources.\n",
        "properties": {
          "apRebootWaitInterval1": {
            "type": "integer",
            "description": "Time in minutes to wait before AP reboots when there is no controller detected (5 - 65535, default = 0, 0 for no reboot).\n"
          },
          "apRebootWaitInterval2": {
            "type": "integer",
            "description": "Time in minutes to wait before AP reboots when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session (5 - 65535, default = 0, 0 for no reboot).\n"
          },
          "apRebootWaitTime": {
            "type": "string",
            "description": "Time to reboot the AP when there is no controller detected and standalone SSIDs are pushed to the AP in the previous session, format hh:mm.\n"
          },
          "authTimeout": {
            "type": "integer",
            "description": "Time after which a client is considered failed in RADIUS authentication and times out (5 - 30 sec, default = 5).\n"
          },
          "bleDeviceCleanup": {
            "type": "integer",
            "description": "Time period in minutes to keep BLE device after it is gone (default = 60).\n"
          },
          "bleScanReportIntv": {
            "type": "integer",
            "description": "Time between running Bluetooth Low Energy (BLE) reports (10 - 3600 sec, default = 30).\n"
          },
          "clientIdleRehomeTimeout": {
            "type": "integer",
            "description": "Time after which a client is considered idle and disconnected from the home controller (2 - 3600 sec, default = 20, 0 for no timeout).\n"
          },
          "clientIdleTimeout": {
            "type": "integer",
            "description": "Time after which a client is considered idle and times out (20 - 3600 sec, default = 300, 0 for no timeout).\n"
          },
          "darrpDay": {
            "type": "string",
            "description": "Weekday on which to run DARRP optimization. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "darrpOptimize": {
            "type": "integer",
            "description": "Time for running Dynamic Automatic Radio Resource Provisioning (DARRP) optimizations (0 - 86400 sec, default = 1800).\n"
          },
          "darrpTimes": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FTimersDarrpTime:TimersDarrpTime"
            },
            "description": "Time at which DARRP optimizations run (you can add up to 8 times). The structure of `darrp_time` block is documented below.\n"
          },
          "discoveryInterval": {
            "type": "integer",
            "description": "Time between discovery requests (2 - 180 sec, default = 5).\n"
          },
          "drmaInterval": {
            "type": "integer",
            "description": "Dynamic radio mode assignment (DRMA) schedule interval in minutes (10 - 1440, default = 60).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "echoInterval": {
            "type": "integer",
            "description": "Time between echo requests sent by the managed WTP, AP, or FortiAP (1 - 255 sec, default = 30).\n"
          },
          "fakeApLog": {
            "type": "integer",
            "description": "Time between recording logs about fake APs if periodic fake AP logging is configured (0 - 1440 min, default = 1).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ipsecIntfCleanup": {
            "type": "integer",
            "description": "Time period to keep IPsec VPN interfaces up after WTP sessions are disconnected (30 - 3600 sec, default = 120).\n"
          },
          "natSessionKeepAlive": {
            "type": "integer",
            "description": "Maximal time in seconds between control requests sent by the managed WTP, AP, or FortiAP (0 - 255 sec, default = 0).\n"
          },
          "radioStatsInterval": {
            "type": "integer",
            "description": "Time between running radio reports (1 - 255 sec, default = 15).\n"
          },
          "rogueApCleanup": {
            "type": "integer",
            "description": "Time period in minutes to keep rogue AP after it is gone (default = 0).\n"
          },
          "rogueApLog": {
            "type": "integer",
            "description": "Time between logging rogue AP messages if periodic rogue AP logging is configured (0 - 1440 min, default = 0).\n"
          },
          "rogueStaCleanup": {
            "type": "integer",
            "description": "Time period in minutes to keep rogue station after it is gone (default = 0).\n"
          },
          "staCapCleanup": {
            "type": "integer",
            "description": "Time period in minutes to keep station capability data after it is gone (default = 0).\n"
          },
          "staCapabilityInterval": {
            "type": "integer",
            "description": "Time between running station capability reports (1 - 255 sec, default = 30).\n"
          },
          "staLocateTimer": {
            "type": "integer",
            "description": "Time between running client presence flushes to remove clients that are listed but no longer present (0 - 86400 sec, default = 1800).\n"
          },
          "staStatsInterval": {
            "type": "integer",
            "description": "Time between running client (station) reports (1 - 255 sec). On FortiOS versions 6.2.0-7.4.1: default = 1. On FortiOS versions >= 7.4.2: default = 10.\n"
          },
          "vapStatsInterval": {
            "type": "integer",
            "description": "Time between running Virtual Access Point (VAP) reports (1 - 255 sec, default = 15).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one 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:wirelesscontroller/utmprofile:Utmprofile": {
      "description": "Configure UTM (Unified Threat Management) profile.\n\n## Import\n\nWirelessController UtmProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/utmprofile:Utmprofile 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:wirelesscontroller/utmprofile:Utmprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "antivirusProfile": {
          "type": "string",
          "description": "AntiVirus profile name.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application control list name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "name": {
          "type": "string",
          "description": "UTM profile name.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "utmLog": {
          "type": "string",
          "description": "Enable/disable UTM 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"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "WebFilter profile name.\n"
        }
      },
      "type": "object",
      "required": [
        "antivirusProfile",
        "applicationList",
        "comment",
        "ipsSensor",
        "name",
        "scanBotnetConnections",
        "utmLog",
        "vdomparam",
        "webfilterProfile"
      ],
      "inputProperties": {
        "antivirusProfile": {
          "type": "string",
          "description": "AntiVirus profile name.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application control list name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "name": {
          "type": "string",
          "description": "UTM profile name.\n",
          "willReplaceOnChanges": true
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "utmLog": {
          "type": "string",
          "description": "Enable/disable UTM 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
        },
        "webfilterProfile": {
          "type": "string",
          "description": "WebFilter profile name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Utmprofile resources.\n",
        "properties": {
          "antivirusProfile": {
            "type": "string",
            "description": "AntiVirus profile name.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Application control list name.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "IPS sensor name.\n"
          },
          "name": {
            "type": "string",
            "description": "UTM profile name.\n",
            "willReplaceOnChanges": true
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "utmLog": {
            "type": "string",
            "description": "Enable/disable UTM 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
          },
          "webfilterProfile": {
            "type": "string",
            "description": "WebFilter profile name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/vap:Vap": {
      "description": "Configure Virtual Access Points (VAPs).\n\n## Import\n\nWirelessController Vap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/vap:Vap 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:wirelesscontroller/vap:Vap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessControlList": {
          "type": "string",
          "description": "access-control-list profile name.\n"
        },
        "acctInterimInterval": {
          "type": "integer",
          "description": "WiFi RADIUS accounting interim interval (60 - 86400 sec, default = 0).\n"
        },
        "additionalAkms": {
          "type": "string",
          "description": "Additional AKMs.\n"
        },
        "addressGroup": {
          "type": "string",
          "description": "Address group ID.\n"
        },
        "addressGroupPolicy": {
          "type": "string",
          "description": "Configure MAC address filtering policy for MAC addresses that are in the address-group. Valid values: `disable`, `allow`, `deny`.\n"
        },
        "akm24Only": {
          "type": "string",
          "description": "WPA3 SAE using group-dependent hash only (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias.\n"
        },
        "antivirusProfile": {
          "type": "string",
          "description": "AntiVirus profile name.\n"
        },
        "applicationDetectionEngine": {
          "type": "string",
          "description": "Enable/disable application detection engine (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "applicationDscpMarking": {
          "type": "string",
          "description": "Enable/disable application attribute based DSCP marking (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application control list name.\n"
        },
        "applicationReportIntv": {
          "type": "integer",
          "description": "Application report interval (30 - 864000 sec, default = 120).\n"
        },
        "atfWeight": {
          "type": "integer",
          "description": "Airtime weight in percentage (default = 20).\n"
        },
        "auth": {
          "type": "string",
          "description": "Authentication protocol.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate.\n"
        },
        "authPortalAddr": {
          "type": "string",
          "description": "Address of captive portal.\n"
        },
        "beaconAdvertising": {
          "type": "string",
          "description": "Fortinet beacon advertising IE data   (default = empty). Valid values: `name`, `model`, `serial-number`.\n"
        },
        "beaconProtection": {
          "type": "string",
          "description": "Enable/disable beacon protection support (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "broadcastSsid": {
          "type": "string",
          "description": "Enable/disable broadcasting the SSID (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "broadcastSuppression": {
          "type": "string",
          "description": "Optional suppression of broadcast messages. For example, you can keep DHCP messages, ARP broadcasts, and so on off of the wireless network.\n"
        },
        "bssColorPartial": {
          "type": "string",
          "description": "Enable/disable 802.11ax partial BSS color (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "bstmDisassociationImminent": {
          "type": "string",
          "description": "Enable/disable forcing of disassociation after the BSTM request timer has been reached (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "bstmLoadBalancingDisassocTimer": {
          "type": "integer",
          "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to AP load-balancing (0 to 30, default = 10).\n"
        },
        "bstmRssiDisassocTimer": {
          "type": "integer",
          "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to low RSSI (0 to 2000, default = 200).\n"
        },
        "captivePortal": {
          "type": "string",
          "description": "Enable/disable captive portal. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalAcName": {
          "type": "string",
          "description": "Local-bridging captive portal ac-name.\n"
        },
        "captivePortalAuthTimeout": {
          "type": "integer",
          "description": "Hard timeout - AP will always clear the session after timeout regardless of traffic (0 - 864000 sec, default = 0).\n"
        },
        "captivePortalFwAccounting": {
          "type": "string",
          "description": "Enable/disable RADIUS accounting for captive portal firewall authentication session. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalMacauthRadiusSecret": {
          "type": "string",
          "description": "Secret key to access the macauth RADIUS server.\n",
          "secret": true
        },
        "captivePortalMacauthRadiusServer": {
          "type": "string",
          "description": "Captive portal external RADIUS server domain name or IP address.\n"
        },
        "captivePortalRadiusSecret": {
          "type": "string",
          "description": "Secret key to access the RADIUS server.\n",
          "secret": true
        },
        "captivePortalRadiusServer": {
          "type": "string",
          "description": "Captive portal RADIUS server domain name or IP address.\n"
        },
        "captivePortalSessionTimeoutInterval": {
          "type": "integer",
          "description": "Session timeout interval (0 - 864000 sec, default = 0).\n"
        },
        "dhcpAddressEnforcement": {
          "type": "string",
          "description": "Enable/disable DHCP address enforcement (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpLeaseTime": {
          "type": "integer",
          "description": "DHCP lease time in seconds for NAT IP address.\n"
        },
        "dhcpOption43Insertion": {
          "type": "string",
          "description": "Enable/disable insertion of DHCP option 43 (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpOption82CircuitIdInsertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 circuit-id insert (default = disable).\n"
        },
        "dhcpOption82Insertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 insert (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpOption82RemoteIdInsertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 remote-id insert (default = disable). Valid values: `style-1`, `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"
        },
        "dynamicVlan": {
          "type": "string",
          "description": "Enable/disable dynamic VLAN assignment. Valid values: `enable`, `disable`.\n"
        },
        "eapReauth": {
          "type": "string",
          "description": "Enable/disable EAP re-authentication for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "eapReauthIntv": {
          "type": "integer",
          "description": "EAP re-authentication interval (1800 - 864000 sec, default = 86400).\n"
        },
        "eapolKeyRetries": {
          "type": "string",
          "description": "Enable/disable retransmission of EAPOL-Key frames (message 3/4 and group message 1/2) (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "encrypt": {
          "type": "string",
          "description": "Encryption protocol to use (only available when security is set to a WPA type). Valid values: `TKIP`, `AES`, `TKIP-AES`.\n"
        },
        "externalFastRoaming": {
          "type": "string",
          "description": "Enable/disable fast roaming or pre-authentication with external APs not managed by the FortiGate (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "externalLogout": {
          "type": "string",
          "description": "URL of external authentication logout server.\n"
        },
        "externalWeb": {
          "type": "string",
          "description": "URL of external authentication web server.\n"
        },
        "externalWebFormat": {
          "type": "string",
          "description": "URL query parameter detection (default = auto-detect). Valid values: `auto-detect`, `no-query-string`, `partial-query-string`.\n"
        },
        "fastBssTransition": {
          "type": "string",
          "description": "Enable/disable 802.11r Fast BSS Transition (FT) (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "fastRoaming": {
          "type": "string",
          "description": "Enable/disable fast-roaming, or pre-authentication, where supported by clients (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ftMobilityDomain": {
          "type": "integer",
          "description": "Mobility domain identifier in FT (1 - 65535, default = 1000).\n"
        },
        "ftOverDs": {
          "type": "string",
          "description": "Enable/disable FT over the Distribution System (DS). Valid values: `disable`, `enable`.\n"
        },
        "ftR0KeyLifetime": {
          "type": "integer",
          "description": "Lifetime of the PMK-R0 key in FT, 1-65535 minutes.\n"
        },
        "gasComebackDelay": {
          "type": "integer",
          "description": "GAS comeback delay (0 or 100 - 10000 milliseconds, default = 500).\n"
        },
        "gasFragmentationLimit": {
          "type": "integer",
          "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtkRekey": {
          "type": "string",
          "description": "Enable/disable GTK rekey for WPA security. Valid values: `enable`, `disable`.\n"
        },
        "gtkRekeyIntv": {
          "type": "integer",
          "description": "GTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
        },
        "highEfficiency": {
          "type": "string",
          "description": "Enable/disable 802.11ax high efficiency (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "hotspot20Profile": {
          "type": "string",
          "description": "Hotspot 2.0 profile name.\n"
        },
        "igmpSnooping": {
          "type": "string",
          "description": "Enable/disable IGMP snooping. Valid values: `enable`, `disable`.\n"
        },
        "intraVapPrivacy": {
          "type": "string",
          "description": "Enable/disable blocking communication between clients on the same SSID (called intra-SSID privacy) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address and subnet mask for the local standalone NAT subnet.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipv6Rules": {
          "type": "string",
          "description": "Optional rules of IPv6 packets. For example, you can keep RA, RS and so on off of the wireless network. Valid values: `drop-icmp6ra`, `drop-icmp6rs`, `drop-llmnr6`, `drop-icmp6mld2`, `drop-dhcp6s`, `drop-dhcp6c`, `ndp-proxy`, `drop-ns-dad`, `drop-ns-nondad`.\n"
        },
        "key": {
          "type": "string",
          "description": "WEP Key.\n",
          "secret": true
        },
        "keyindex": {
          "type": "integer",
          "description": "WEP key index (1 - 4).\n"
        },
        "l3Roaming": {
          "type": "string",
          "description": "Enable/disable layer 3 roaming (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "l3RoamingMode": {
          "type": "string",
          "description": "Select the way that layer 3 roaming traffic is passed (default = direct). Valid values: `direct`, `indirect`.\n"
        },
        "ldpc": {
          "type": "string",
          "description": "VAP low-density parity-check (LDPC) coding configuration. Valid values: `disable`, `rx`, `tx`, `rxtx`.\n"
        },
        "localAuthentication": {
          "type": "string",
          "description": "Enable/disable AP local authentication. Valid values: `enable`, `disable`.\n"
        },
        "localBridging": {
          "type": "string",
          "description": "Enable/disable bridging of wireless and Ethernet interfaces on the FortiAP (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "localLan": {
          "type": "string",
          "description": "Allow/deny traffic destined for a Class A, B, or C private IP address (default = allow). Valid values: `allow`, `deny`.\n"
        },
        "localStandalone": {
          "type": "string",
          "description": "Enable/disable AP local standalone (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "localStandaloneDns": {
          "type": "string",
          "description": "Enable/disable AP local standalone DNS. Valid values: `enable`, `disable`.\n"
        },
        "localStandaloneDnsIp": {
          "type": "string",
          "description": "IPv4 addresses for the local standalone DNS.\n"
        },
        "localStandaloneNat": {
          "type": "string",
          "description": "Enable/disable AP local standalone NAT mode. Valid values: `enable`, `disable`.\n"
        },
        "macAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAC authentication bypass. Valid values: `enable`, `disable`.\n"
        },
        "macCalledStationDelimiter": {
          "type": "string",
          "description": "MAC called station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macCallingStationDelimiter": {
          "type": "string",
          "description": "MAC calling station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macCase": {
          "type": "string",
          "description": "MAC case (default = uppercase). Valid values: `uppercase`, `lowercase`.\n"
        },
        "macFilter": {
          "type": "string",
          "description": "Enable/disable MAC filtering to block wireless clients by mac address. Valid values: `enable`, `disable`.\n"
        },
        "macFilterLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapMacFilterList:VapMacFilterList"
          },
          "description": "Create a list of MAC addresses for MAC address filtering. The structure of `mac_filter_list` block is documented below.\n"
        },
        "macFilterPolicyOther": {
          "type": "string",
          "description": "Allow or block clients with MAC addresses that are not in the filter list. Valid values: `allow`, `deny`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously to the VAP (default = 0, meaning no limitation).\n"
        },
        "maxClientsAp": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously to each radio (default = 0, meaning no limitation).\n"
        },
        "mbo": {
          "type": "string",
          "description": "Enable/disable Multiband Operation (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "mboCellDataConnPref": {
          "type": "string",
          "description": "MBO cell data connection preference (0, 1, or 255, default = 1). Valid values: `excluded`, `prefer-not`, `prefer-use`.\n"
        },
        "meDisableThresh": {
          "type": "integer",
          "description": "Disable multicast enhancement when this many clients are receiving multicast traffic.\n"
        },
        "meshBackhaul": {
          "type": "string",
          "description": "Enable/disable using this VAP as a WiFi mesh backhaul (default = disable). This entry is only available when security is set to a WPA type or open. Valid values: `enable`, `disable`.\n"
        },
        "mpsk": {
          "type": "string",
          "description": "Enable/disable multiple pre-shared keys (PSKs.) Valid values: `enable`, `disable`.\n"
        },
        "mpskConcurrentClients": {
          "type": "integer",
          "description": "Number of pre-shared keys (PSKs) to allow if multiple pre-shared keys are enabled.\n"
        },
        "mpskKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapMpskKey:VapMpskKey"
          },
          "description": "Pre-shared keys that can be used to connect to this virtual access point. The structure of `mpsk_key` block is documented below.\n"
        },
        "mpskProfile": {
          "type": "string",
          "description": "MPSK profile name.\n"
        },
        "muMimo": {
          "type": "string",
          "description": "Enable/disable Multi-user MIMO (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "multicastEnhance": {
          "type": "string",
          "description": "Enable/disable converting multicast to unicast to improve performance (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "multicastRate": {
          "type": "string",
          "description": "Multicast rate (0, 6000, 12000, or 24000 kbps, default = 0). Valid values: `0`, `6000`, `12000`, `24000`.\n"
        },
        "n80211k": {
          "type": "string",
          "description": "Enable/disable 802.11k assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "n80211v": {
          "type": "string",
          "description": "Enable/disable 802.11v assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "nac": {
          "type": "string",
          "description": "Enable/disable network access control. Valid values: `enable`, `disable`.\n"
        },
        "nacProfile": {
          "type": "string",
          "description": "NAC profile name.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual AP name.\n"
        },
        "nasFilterRule": {
          "type": "string",
          "description": "Enable/disable NAS filter rule support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "neighborReportDualBand": {
          "type": "string",
          "description": "Enable/disable dual-band neighbor report (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "okc": {
          "type": "string",
          "description": "Enable/disable Opportunistic Key Caching (OKC) (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "osen": {
          "type": "string",
          "description": "Enable/disable OSEN as part of key management (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "oweGroups": {
          "type": "string",
          "description": "OWE-Groups. Valid values: `19`, `20`, `21`.\n"
        },
        "oweTransition": {
          "type": "string",
          "description": "Enable/disable OWE transition mode support. Valid values: `disable`, `enable`.\n"
        },
        "oweTransitionSsid": {
          "type": "string",
          "description": "OWE transition mode peer SSID.\n"
        },
        "passphrase": {
          "type": "string",
          "description": "WPA pre-shard key (PSK) to be used to authenticate WiFi users.\n",
          "secret": true
        },
        "pmf": {
          "type": "string",
          "description": "Protected Management Frames (PMF) support (default = disable). Valid values: `disable`, `enable`, `optional`.\n"
        },
        "pmfAssocComebackTimeout": {
          "type": "integer",
          "description": "Protected Management Frames (PMF) comeback maximum timeout (1-20 sec).\n"
        },
        "pmfSaQueryRetryTimeout": {
          "type": "integer",
          "description": "Protected Management Frames (PMF) SA query retry timeout interval (1 - 5 100s of msec).\n"
        },
        "portMacauth": {
          "type": "string",
          "description": "Enable/disable LAN port MAC authentication (default = disable). Valid values: `disable`, `radius`, `address-group`.\n"
        },
        "portMacauthReauthTimeout": {
          "type": "integer",
          "description": "LAN port MAC authentication re-authentication timeout value (default = 7200 sec).\n"
        },
        "portMacauthTimeout": {
          "type": "integer",
          "description": "LAN port MAC authentication idle timeout value (default = 600 sec).\n"
        },
        "portalMessageOverrideGroup": {
          "type": "string",
          "description": "Replacement message group for this VAP (only available when security is set to a captive portal type).\n"
        },
        "portalMessageOverrides": {
          "$ref": "#/types/fortios:wirelesscontroller%2FVapPortalMessageOverrides:VapPortalMessageOverrides",
          "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
        },
        "portalType": {
          "type": "string",
          "description": "Captive portal functionality. Configure how the captive portal authenticates users and whether it includes a disclaimer.\n"
        },
        "primaryWagProfile": {
          "type": "string",
          "description": "Primary wireless access gateway profile name.\n"
        },
        "probeRespSuppression": {
          "type": "string",
          "description": "Enable/disable probe response suppression (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "probeRespThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to probe requests (-95 to -20, default = -80).\n"
        },
        "ptkRekey": {
          "type": "string",
          "description": "Enable/disable PTK rekey for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "ptkRekeyIntv": {
          "type": "integer",
          "description": "PTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
        },
        "qosProfile": {
          "type": "string",
          "description": "Quality of service profile name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable station quarantine (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "radio2gThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 2.4G band (-95 to -20, default = -79).\n"
        },
        "radio5gThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 5G band(-95 to -20, default = -76).\n"
        },
        "radioSensitivity": {
          "type": "string",
          "description": "Enable/disable software radio sensitivity (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacAuth": {
          "type": "string",
          "description": "Enable/disable RADIUS-based MAC authentication of clients (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacAuthBlockInterval": {
          "type": "integer",
          "description": "Don't send RADIUS MAC auth request again if the client has been rejected within specific interval (0 or 30 - 864000 seconds, default = 0, 0 to disable blocking).\n"
        },
        "radiusMacAuthServer": {
          "type": "string",
          "description": "RADIUS-based MAC authentication server.\n"
        },
        "radiusMacAuthUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapRadiusMacAuthUsergroup:VapRadiusMacAuthUsergroup"
          },
          "description": "Selective user groups that are permitted for RADIUS mac authentication. The structure of `radius_mac_auth_usergroups` block is documented below.\n"
        },
        "radiusMacMpskAuth": {
          "type": "string",
          "description": "Enable/disable RADIUS-based MAC authentication of clients for MPSK authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacMpskTimeout": {
          "type": "integer",
          "description": "RADIUS MAC MPSK cache timeout interval (1800 - 864000, default = 86400).\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server to be used to authenticate WiFi users.\n"
        },
        "rates11a": {
          "type": "string",
          "description": "Allowed data rates for 802.11a.\n"
        },
        "rates11acMcsMap": {
          "type": "string",
          "description": "Comma separated list of max supported VHT MCS for spatial streams 1 through 8.\n"
        },
        "rates11acSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11ac with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
        },
        "rates11acSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11ac with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
        },
        "rates11axMcsMap": {
          "type": "string",
          "description": "Comma separated list of max supported HE MCS for spatial streams 1 through 8.\n"
        },
        "rates11axSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11ax with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
        },
        "rates11axSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11ax with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
        },
        "rates11beMcsMap": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 20MHz/40MHz/80MHz bandwidth.\n"
        },
        "rates11beMcsMap160": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 160MHz bandwidth.\n"
        },
        "rates11beMcsMap320": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 320MHz bandwidth.\n"
        },
        "rates11bg": {
          "type": "string",
          "description": "Allowed data rates for 802.11b/g.\n"
        },
        "rates11nSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11n with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`, `mcs12/2`, `mcs13/2`, `mcs14/2`, `mcs15/2`.\n"
        },
        "rates11nSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11n with 3 or 4 spatial streams. Valid values: `mcs16/3`, `mcs17/3`, `mcs18/3`, `mcs19/3`, `mcs20/3`, `mcs21/3`, `mcs22/3`, `mcs23/3`, `mcs24/4`, `mcs25/4`, `mcs26/4`, `mcs27/4`, `mcs28/4`, `mcs29/4`, `mcs30/4`, `mcs31/4`.\n"
        },
        "roamingAcctInterimUpdate": {
          "type": "string",
          "description": "Enable/disable using accounting interim update instead of accounting start/stop on roaming for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "saeGroups": {
          "type": "string",
          "description": "SAE-Groups. Valid values: `19`, `20`, `21`.\n"
        },
        "saeH2eOnly": {
          "type": "string",
          "description": "Use hash-to-element-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "saeHnpOnly": {
          "type": "string",
          "description": "Use hunting-and-pecking-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "saePassword": {
          "type": "string",
          "description": "WPA3 SAE password to be used to authenticate WiFi users.\n",
          "secret": true
        },
        "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"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `monitor`, `block`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "VAP schedule name.\n"
        },
        "secondaryWagProfile": {
          "type": "string",
          "description": "Secondary wireless access gateway profile name.\n"
        },
        "security": {
          "type": "string",
          "description": "Security mode for the wireless interface (default = wpa2-only-personal).\n"
        },
        "securityExemptList": {
          "type": "string",
          "description": "Optional security exempt list for captive portal authentication.\n"
        },
        "securityObsoleteOption": {
          "type": "string",
          "description": "Enable/disable obsolete security options. Valid values: `enable`, `disable`.\n"
        },
        "securityRedirectUrl": {
          "type": "string",
          "description": "Optional URL for redirecting users after they pass captive portal authentication.\n"
        },
        "selectedUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapSelectedUsergroup:VapSelectedUsergroup"
          },
          "description": "Selective user groups that are permitted to authenticate. The structure of `selected_usergroups` block is documented below.\n"
        },
        "splitTunneling": {
          "type": "string",
          "description": "Enable/disable split tunneling (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ssid": {
          "type": "string",
          "description": "IEEE 802.11 service set identifier (SSID) for the wireless interface. Users who wish to use the wireless network must configure their computers to access this SSID name.\n"
        },
        "stickyClientRemove": {
          "type": "string",
          "description": "Enable/disable sticky client remove to maintain good signal level clients in SSID. (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "stickyClientThreshold2g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 2G client to be serviced by the AP (-95 to -20, default = -79).\n"
        },
        "stickyClientThreshold5g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 5G client to be serviced by the AP (-95 to -20, default = -76).\n"
        },
        "stickyClientThreshold6g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 6G client to be serviced by the AP (-95 to -20, default = -76).\n"
        },
        "targetWakeTime": {
          "type": "string",
          "description": "Enable/disable 802.11ax target wake time (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "tkipCounterMeasure": {
          "type": "string",
          "description": "Enable/disable TKIP counter measure. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEchoInterval": {
          "type": "integer",
          "description": "The time interval to send echo to both primary and secondary tunnel peers (1 - 65535 sec, default = 300).\n"
        },
        "tunnelFallbackInterval": {
          "type": "integer",
          "description": "The time interval for secondary tunnel to fall back to primary tunnel (0 - 65535 sec, default = 7200).\n"
        },
        "usergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapUsergroup:VapUsergroup"
          },
          "description": "Firewall user group to be used to authenticate WiFi users. The structure of `usergroup` block is documented below.\n"
        },
        "utmLog": {
          "type": "string",
          "description": "Enable/disable UTM logging. Valid values: `enable`, `disable`.\n"
        },
        "utmProfile": {
          "type": "string",
          "description": "UTM profile name.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the VAP. 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"
        },
        "vlanAuto": {
          "type": "string",
          "description": "Enable/disable automatic management of SSID VLAN interface. Valid values: `enable`, `disable`.\n"
        },
        "vlanNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanName:VapVlanName"
          },
          "description": "Table for mapping VLAN name to VLAN ID. The structure of `vlan_name` block is documented below.\n"
        },
        "vlanPooling": {
          "type": "string",
          "description": "Enable/disable VLAN pooling, to allow grouping of multiple wireless controller VLANs into VLAN pools (default = disable). When set to wtp-group, VLAN pooling occurs with VLAN assignment by wtp-group. Valid values: `wtp-group`, `round-robin`, `hash`, `disable`.\n"
        },
        "vlanPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanPool:VapVlanPool"
          },
          "description": "VLAN pool. The structure of `vlan_pool` block is documented below.\n"
        },
        "vlanid": {
          "type": "integer",
          "description": "Optional VLAN ID.\n"
        },
        "voiceEnterprise": {
          "type": "string",
          "description": "Enable/disable 802.11k and 802.11v assisted Voice-Enterprise roaming (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "WebFilter profile name.\n"
        }
      },
      "type": "object",
      "required": [
        "accessControlList",
        "acctInterimInterval",
        "additionalAkms",
        "addressGroup",
        "addressGroupPolicy",
        "akm24Only",
        "alias",
        "antivirusProfile",
        "applicationDetectionEngine",
        "applicationDscpMarking",
        "applicationList",
        "applicationReportIntv",
        "atfWeight",
        "auth",
        "authCert",
        "authPortalAddr",
        "beaconAdvertising",
        "beaconProtection",
        "broadcastSsid",
        "broadcastSuppression",
        "bssColorPartial",
        "bstmDisassociationImminent",
        "bstmLoadBalancingDisassocTimer",
        "bstmRssiDisassocTimer",
        "captivePortal",
        "captivePortalAcName",
        "captivePortalAuthTimeout",
        "captivePortalFwAccounting",
        "captivePortalMacauthRadiusServer",
        "captivePortalRadiusServer",
        "captivePortalSessionTimeoutInterval",
        "dhcpAddressEnforcement",
        "dhcpLeaseTime",
        "dhcpOption43Insertion",
        "dhcpOption82CircuitIdInsertion",
        "dhcpOption82Insertion",
        "dhcpOption82RemoteIdInsertion",
        "dynamicVlan",
        "eapReauth",
        "eapReauthIntv",
        "eapolKeyRetries",
        "encrypt",
        "externalFastRoaming",
        "externalLogout",
        "externalWeb",
        "externalWebFormat",
        "fastBssTransition",
        "fastRoaming",
        "ftMobilityDomain",
        "ftOverDs",
        "ftR0KeyLifetime",
        "gasComebackDelay",
        "gasFragmentationLimit",
        "gtkRekey",
        "gtkRekeyIntv",
        "highEfficiency",
        "hotspot20Profile",
        "igmpSnooping",
        "intraVapPrivacy",
        "ip",
        "ipsSensor",
        "ipv6Rules",
        "keyindex",
        "l3Roaming",
        "l3RoamingMode",
        "ldpc",
        "localAuthentication",
        "localBridging",
        "localLan",
        "localStandalone",
        "localStandaloneDns",
        "localStandaloneDnsIp",
        "localStandaloneNat",
        "macAuthBypass",
        "macCalledStationDelimiter",
        "macCallingStationDelimiter",
        "macCase",
        "macFilter",
        "macFilterPolicyOther",
        "macPasswordDelimiter",
        "macUsernameDelimiter",
        "maxClients",
        "maxClientsAp",
        "mbo",
        "mboCellDataConnPref",
        "meDisableThresh",
        "meshBackhaul",
        "mpsk",
        "mpskConcurrentClients",
        "mpskProfile",
        "muMimo",
        "multicastEnhance",
        "multicastRate",
        "n80211k",
        "n80211v",
        "nac",
        "nacProfile",
        "name",
        "nasFilterRule",
        "neighborReportDualBand",
        "okc",
        "osen",
        "oweGroups",
        "oweTransition",
        "oweTransitionSsid",
        "pmf",
        "pmfAssocComebackTimeout",
        "pmfSaQueryRetryTimeout",
        "portMacauth",
        "portMacauthReauthTimeout",
        "portMacauthTimeout",
        "portalMessageOverrideGroup",
        "portalMessageOverrides",
        "portalType",
        "primaryWagProfile",
        "probeRespSuppression",
        "probeRespThreshold",
        "ptkRekey",
        "ptkRekeyIntv",
        "qosProfile",
        "quarantine",
        "radio2gThreshold",
        "radio5gThreshold",
        "radioSensitivity",
        "radiusMacAuth",
        "radiusMacAuthBlockInterval",
        "radiusMacAuthServer",
        "radiusMacMpskAuth",
        "radiusMacMpskTimeout",
        "radiusServer",
        "rates11a",
        "rates11acMcsMap",
        "rates11acSs12",
        "rates11acSs34",
        "rates11axMcsMap",
        "rates11axSs12",
        "rates11axSs34",
        "rates11beMcsMap",
        "rates11beMcsMap160",
        "rates11beMcsMap320",
        "rates11bg",
        "rates11nSs12",
        "rates11nSs34",
        "roamingAcctInterimUpdate",
        "saeGroups",
        "saeH2eOnly",
        "saeHnpOnly",
        "saePk",
        "saePrivateKey",
        "scanBotnetConnections",
        "schedule",
        "secondaryWagProfile",
        "security",
        "securityExemptList",
        "securityObsoleteOption",
        "securityRedirectUrl",
        "splitTunneling",
        "ssid",
        "stickyClientRemove",
        "stickyClientThreshold2g",
        "stickyClientThreshold5g",
        "stickyClientThreshold6g",
        "targetWakeTime",
        "tkipCounterMeasure",
        "tunnelEchoInterval",
        "tunnelFallbackInterval",
        "utmLog",
        "utmProfile",
        "utmStatus",
        "vdomparam",
        "vlanAuto",
        "vlanPooling",
        "vlanid",
        "voiceEnterprise",
        "webfilterProfile"
      ],
      "inputProperties": {
        "accessControlList": {
          "type": "string",
          "description": "access-control-list profile name.\n"
        },
        "acctInterimInterval": {
          "type": "integer",
          "description": "WiFi RADIUS accounting interim interval (60 - 86400 sec, default = 0).\n"
        },
        "additionalAkms": {
          "type": "string",
          "description": "Additional AKMs.\n"
        },
        "addressGroup": {
          "type": "string",
          "description": "Address group ID.\n"
        },
        "addressGroupPolicy": {
          "type": "string",
          "description": "Configure MAC address filtering policy for MAC addresses that are in the address-group. Valid values: `disable`, `allow`, `deny`.\n"
        },
        "akm24Only": {
          "type": "string",
          "description": "WPA3 SAE using group-dependent hash only (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "alias": {
          "type": "string",
          "description": "Alias.\n"
        },
        "antivirusProfile": {
          "type": "string",
          "description": "AntiVirus profile name.\n"
        },
        "applicationDetectionEngine": {
          "type": "string",
          "description": "Enable/disable application detection engine (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "applicationDscpMarking": {
          "type": "string",
          "description": "Enable/disable application attribute based DSCP marking (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application control list name.\n"
        },
        "applicationReportIntv": {
          "type": "integer",
          "description": "Application report interval (30 - 864000 sec, default = 120).\n"
        },
        "atfWeight": {
          "type": "integer",
          "description": "Airtime weight in percentage (default = 20).\n"
        },
        "auth": {
          "type": "string",
          "description": "Authentication protocol.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate.\n"
        },
        "authPortalAddr": {
          "type": "string",
          "description": "Address of captive portal.\n"
        },
        "beaconAdvertising": {
          "type": "string",
          "description": "Fortinet beacon advertising IE data   (default = empty). Valid values: `name`, `model`, `serial-number`.\n"
        },
        "beaconProtection": {
          "type": "string",
          "description": "Enable/disable beacon protection support (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "broadcastSsid": {
          "type": "string",
          "description": "Enable/disable broadcasting the SSID (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "broadcastSuppression": {
          "type": "string",
          "description": "Optional suppression of broadcast messages. For example, you can keep DHCP messages, ARP broadcasts, and so on off of the wireless network.\n"
        },
        "bssColorPartial": {
          "type": "string",
          "description": "Enable/disable 802.11ax partial BSS color (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "bstmDisassociationImminent": {
          "type": "string",
          "description": "Enable/disable forcing of disassociation after the BSTM request timer has been reached (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "bstmLoadBalancingDisassocTimer": {
          "type": "integer",
          "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to AP load-balancing (0 to 30, default = 10).\n"
        },
        "bstmRssiDisassocTimer": {
          "type": "integer",
          "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to low RSSI (0 to 2000, default = 200).\n"
        },
        "captivePortal": {
          "type": "string",
          "description": "Enable/disable captive portal. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalAcName": {
          "type": "string",
          "description": "Local-bridging captive portal ac-name.\n"
        },
        "captivePortalAuthTimeout": {
          "type": "integer",
          "description": "Hard timeout - AP will always clear the session after timeout regardless of traffic (0 - 864000 sec, default = 0).\n"
        },
        "captivePortalFwAccounting": {
          "type": "string",
          "description": "Enable/disable RADIUS accounting for captive portal firewall authentication session. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalMacauthRadiusSecret": {
          "type": "string",
          "description": "Secret key to access the macauth RADIUS server.\n",
          "secret": true
        },
        "captivePortalMacauthRadiusServer": {
          "type": "string",
          "description": "Captive portal external RADIUS server domain name or IP address.\n"
        },
        "captivePortalRadiusSecret": {
          "type": "string",
          "description": "Secret key to access the RADIUS server.\n",
          "secret": true
        },
        "captivePortalRadiusServer": {
          "type": "string",
          "description": "Captive portal RADIUS server domain name or IP address.\n"
        },
        "captivePortalSessionTimeoutInterval": {
          "type": "integer",
          "description": "Session timeout interval (0 - 864000 sec, default = 0).\n"
        },
        "dhcpAddressEnforcement": {
          "type": "string",
          "description": "Enable/disable DHCP address enforcement (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpLeaseTime": {
          "type": "integer",
          "description": "DHCP lease time in seconds for NAT IP address.\n"
        },
        "dhcpOption43Insertion": {
          "type": "string",
          "description": "Enable/disable insertion of DHCP option 43 (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpOption82CircuitIdInsertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 circuit-id insert (default = disable).\n"
        },
        "dhcpOption82Insertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 insert (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dhcpOption82RemoteIdInsertion": {
          "type": "string",
          "description": "Enable/disable DHCP option 82 remote-id insert (default = disable). Valid values: `style-1`, `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"
        },
        "dynamicVlan": {
          "type": "string",
          "description": "Enable/disable dynamic VLAN assignment. Valid values: `enable`, `disable`.\n"
        },
        "eapReauth": {
          "type": "string",
          "description": "Enable/disable EAP re-authentication for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "eapReauthIntv": {
          "type": "integer",
          "description": "EAP re-authentication interval (1800 - 864000 sec, default = 86400).\n"
        },
        "eapolKeyRetries": {
          "type": "string",
          "description": "Enable/disable retransmission of EAPOL-Key frames (message 3/4 and group message 1/2) (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "encrypt": {
          "type": "string",
          "description": "Encryption protocol to use (only available when security is set to a WPA type). Valid values: `TKIP`, `AES`, `TKIP-AES`.\n"
        },
        "externalFastRoaming": {
          "type": "string",
          "description": "Enable/disable fast roaming or pre-authentication with external APs not managed by the FortiGate (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "externalLogout": {
          "type": "string",
          "description": "URL of external authentication logout server.\n"
        },
        "externalWeb": {
          "type": "string",
          "description": "URL of external authentication web server.\n"
        },
        "externalWebFormat": {
          "type": "string",
          "description": "URL query parameter detection (default = auto-detect). Valid values: `auto-detect`, `no-query-string`, `partial-query-string`.\n"
        },
        "fastBssTransition": {
          "type": "string",
          "description": "Enable/disable 802.11r Fast BSS Transition (FT) (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "fastRoaming": {
          "type": "string",
          "description": "Enable/disable fast-roaming, or pre-authentication, where supported by clients (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ftMobilityDomain": {
          "type": "integer",
          "description": "Mobility domain identifier in FT (1 - 65535, default = 1000).\n"
        },
        "ftOverDs": {
          "type": "string",
          "description": "Enable/disable FT over the Distribution System (DS). Valid values: `disable`, `enable`.\n"
        },
        "ftR0KeyLifetime": {
          "type": "integer",
          "description": "Lifetime of the PMK-R0 key in FT, 1-65535 minutes.\n"
        },
        "gasComebackDelay": {
          "type": "integer",
          "description": "GAS comeback delay (0 or 100 - 10000 milliseconds, default = 500).\n"
        },
        "gasFragmentationLimit": {
          "type": "integer",
          "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtkRekey": {
          "type": "string",
          "description": "Enable/disable GTK rekey for WPA security. Valid values: `enable`, `disable`.\n"
        },
        "gtkRekeyIntv": {
          "type": "integer",
          "description": "GTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
        },
        "highEfficiency": {
          "type": "string",
          "description": "Enable/disable 802.11ax high efficiency (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "hotspot20Profile": {
          "type": "string",
          "description": "Hotspot 2.0 profile name.\n"
        },
        "igmpSnooping": {
          "type": "string",
          "description": "Enable/disable IGMP snooping. Valid values: `enable`, `disable`.\n"
        },
        "intraVapPrivacy": {
          "type": "string",
          "description": "Enable/disable blocking communication between clients on the same SSID (called intra-SSID privacy) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address and subnet mask for the local standalone NAT subnet.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipv6Rules": {
          "type": "string",
          "description": "Optional rules of IPv6 packets. For example, you can keep RA, RS and so on off of the wireless network. Valid values: `drop-icmp6ra`, `drop-icmp6rs`, `drop-llmnr6`, `drop-icmp6mld2`, `drop-dhcp6s`, `drop-dhcp6c`, `ndp-proxy`, `drop-ns-dad`, `drop-ns-nondad`.\n"
        },
        "key": {
          "type": "string",
          "description": "WEP Key.\n",
          "secret": true
        },
        "keyindex": {
          "type": "integer",
          "description": "WEP key index (1 - 4).\n"
        },
        "l3Roaming": {
          "type": "string",
          "description": "Enable/disable layer 3 roaming (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "l3RoamingMode": {
          "type": "string",
          "description": "Select the way that layer 3 roaming traffic is passed (default = direct). Valid values: `direct`, `indirect`.\n"
        },
        "ldpc": {
          "type": "string",
          "description": "VAP low-density parity-check (LDPC) coding configuration. Valid values: `disable`, `rx`, `tx`, `rxtx`.\n"
        },
        "localAuthentication": {
          "type": "string",
          "description": "Enable/disable AP local authentication. Valid values: `enable`, `disable`.\n"
        },
        "localBridging": {
          "type": "string",
          "description": "Enable/disable bridging of wireless and Ethernet interfaces on the FortiAP (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "localLan": {
          "type": "string",
          "description": "Allow/deny traffic destined for a Class A, B, or C private IP address (default = allow). Valid values: `allow`, `deny`.\n"
        },
        "localStandalone": {
          "type": "string",
          "description": "Enable/disable AP local standalone (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "localStandaloneDns": {
          "type": "string",
          "description": "Enable/disable AP local standalone DNS. Valid values: `enable`, `disable`.\n"
        },
        "localStandaloneDnsIp": {
          "type": "string",
          "description": "IPv4 addresses for the local standalone DNS.\n"
        },
        "localStandaloneNat": {
          "type": "string",
          "description": "Enable/disable AP local standalone NAT mode. Valid values: `enable`, `disable`.\n"
        },
        "macAuthBypass": {
          "type": "string",
          "description": "Enable/disable MAC authentication bypass. Valid values: `enable`, `disable`.\n"
        },
        "macCalledStationDelimiter": {
          "type": "string",
          "description": "MAC called station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macCallingStationDelimiter": {
          "type": "string",
          "description": "MAC calling station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macCase": {
          "type": "string",
          "description": "MAC case (default = uppercase). Valid values: `uppercase`, `lowercase`.\n"
        },
        "macFilter": {
          "type": "string",
          "description": "Enable/disable MAC filtering to block wireless clients by mac address. Valid values: `enable`, `disable`.\n"
        },
        "macFilterLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapMacFilterList:VapMacFilterList"
          },
          "description": "Create a list of MAC addresses for MAC address filtering. The structure of `mac_filter_list` block is documented below.\n"
        },
        "macFilterPolicyOther": {
          "type": "string",
          "description": "Allow or block clients with MAC addresses that are not in the filter list. Valid values: `allow`, `deny`.\n"
        },
        "macPasswordDelimiter": {
          "type": "string",
          "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "macUsernameDelimiter": {
          "type": "string",
          "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously to the VAP (default = 0, meaning no limitation).\n"
        },
        "maxClientsAp": {
          "type": "integer",
          "description": "Maximum number of clients that can connect simultaneously to each radio (default = 0, meaning no limitation).\n"
        },
        "mbo": {
          "type": "string",
          "description": "Enable/disable Multiband Operation (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "mboCellDataConnPref": {
          "type": "string",
          "description": "MBO cell data connection preference (0, 1, or 255, default = 1). Valid values: `excluded`, `prefer-not`, `prefer-use`.\n"
        },
        "meDisableThresh": {
          "type": "integer",
          "description": "Disable multicast enhancement when this many clients are receiving multicast traffic.\n"
        },
        "meshBackhaul": {
          "type": "string",
          "description": "Enable/disable using this VAP as a WiFi mesh backhaul (default = disable). This entry is only available when security is set to a WPA type or open. Valid values: `enable`, `disable`.\n"
        },
        "mpsk": {
          "type": "string",
          "description": "Enable/disable multiple pre-shared keys (PSKs.) Valid values: `enable`, `disable`.\n"
        },
        "mpskConcurrentClients": {
          "type": "integer",
          "description": "Number of pre-shared keys (PSKs) to allow if multiple pre-shared keys are enabled.\n"
        },
        "mpskKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapMpskKey:VapMpskKey"
          },
          "description": "Pre-shared keys that can be used to connect to this virtual access point. The structure of `mpsk_key` block is documented below.\n"
        },
        "mpskProfile": {
          "type": "string",
          "description": "MPSK profile name.\n"
        },
        "muMimo": {
          "type": "string",
          "description": "Enable/disable Multi-user MIMO (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "multicastEnhance": {
          "type": "string",
          "description": "Enable/disable converting multicast to unicast to improve performance (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "multicastRate": {
          "type": "string",
          "description": "Multicast rate (0, 6000, 12000, or 24000 kbps, default = 0). Valid values: `0`, `6000`, `12000`, `24000`.\n"
        },
        "n80211k": {
          "type": "string",
          "description": "Enable/disable 802.11k assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "n80211v": {
          "type": "string",
          "description": "Enable/disable 802.11v assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "nac": {
          "type": "string",
          "description": "Enable/disable network access control. Valid values: `enable`, `disable`.\n"
        },
        "nacProfile": {
          "type": "string",
          "description": "NAC profile name.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual AP name.\n",
          "willReplaceOnChanges": true
        },
        "nasFilterRule": {
          "type": "string",
          "description": "Enable/disable NAS filter rule support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "neighborReportDualBand": {
          "type": "string",
          "description": "Enable/disable dual-band neighbor report (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "okc": {
          "type": "string",
          "description": "Enable/disable Opportunistic Key Caching (OKC) (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "osen": {
          "type": "string",
          "description": "Enable/disable OSEN as part of key management (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "oweGroups": {
          "type": "string",
          "description": "OWE-Groups. Valid values: `19`, `20`, `21`.\n"
        },
        "oweTransition": {
          "type": "string",
          "description": "Enable/disable OWE transition mode support. Valid values: `disable`, `enable`.\n"
        },
        "oweTransitionSsid": {
          "type": "string",
          "description": "OWE transition mode peer SSID.\n"
        },
        "passphrase": {
          "type": "string",
          "description": "WPA pre-shard key (PSK) to be used to authenticate WiFi users.\n",
          "secret": true
        },
        "pmf": {
          "type": "string",
          "description": "Protected Management Frames (PMF) support (default = disable). Valid values: `disable`, `enable`, `optional`.\n"
        },
        "pmfAssocComebackTimeout": {
          "type": "integer",
          "description": "Protected Management Frames (PMF) comeback maximum timeout (1-20 sec).\n"
        },
        "pmfSaQueryRetryTimeout": {
          "type": "integer",
          "description": "Protected Management Frames (PMF) SA query retry timeout interval (1 - 5 100s of msec).\n"
        },
        "portMacauth": {
          "type": "string",
          "description": "Enable/disable LAN port MAC authentication (default = disable). Valid values: `disable`, `radius`, `address-group`.\n"
        },
        "portMacauthReauthTimeout": {
          "type": "integer",
          "description": "LAN port MAC authentication re-authentication timeout value (default = 7200 sec).\n"
        },
        "portMacauthTimeout": {
          "type": "integer",
          "description": "LAN port MAC authentication idle timeout value (default = 600 sec).\n"
        },
        "portalMessageOverrideGroup": {
          "type": "string",
          "description": "Replacement message group for this VAP (only available when security is set to a captive portal type).\n"
        },
        "portalMessageOverrides": {
          "$ref": "#/types/fortios:wirelesscontroller%2FVapPortalMessageOverrides:VapPortalMessageOverrides",
          "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
        },
        "portalType": {
          "type": "string",
          "description": "Captive portal functionality. Configure how the captive portal authenticates users and whether it includes a disclaimer.\n"
        },
        "primaryWagProfile": {
          "type": "string",
          "description": "Primary wireless access gateway profile name.\n"
        },
        "probeRespSuppression": {
          "type": "string",
          "description": "Enable/disable probe response suppression (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "probeRespThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to probe requests (-95 to -20, default = -80).\n"
        },
        "ptkRekey": {
          "type": "string",
          "description": "Enable/disable PTK rekey for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "ptkRekeyIntv": {
          "type": "integer",
          "description": "PTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
        },
        "qosProfile": {
          "type": "string",
          "description": "Quality of service profile name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable station quarantine (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "radio2gThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 2.4G band (-95 to -20, default = -79).\n"
        },
        "radio5gThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 5G band(-95 to -20, default = -76).\n"
        },
        "radioSensitivity": {
          "type": "string",
          "description": "Enable/disable software radio sensitivity (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacAuth": {
          "type": "string",
          "description": "Enable/disable RADIUS-based MAC authentication of clients (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacAuthBlockInterval": {
          "type": "integer",
          "description": "Don't send RADIUS MAC auth request again if the client has been rejected within specific interval (0 or 30 - 864000 seconds, default = 0, 0 to disable blocking).\n"
        },
        "radiusMacAuthServer": {
          "type": "string",
          "description": "RADIUS-based MAC authentication server.\n"
        },
        "radiusMacAuthUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapRadiusMacAuthUsergroup:VapRadiusMacAuthUsergroup"
          },
          "description": "Selective user groups that are permitted for RADIUS mac authentication. The structure of `radius_mac_auth_usergroups` block is documented below.\n"
        },
        "radiusMacMpskAuth": {
          "type": "string",
          "description": "Enable/disable RADIUS-based MAC authentication of clients for MPSK authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "radiusMacMpskTimeout": {
          "type": "integer",
          "description": "RADIUS MAC MPSK cache timeout interval (1800 - 864000, default = 86400).\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server to be used to authenticate WiFi users.\n"
        },
        "rates11a": {
          "type": "string",
          "description": "Allowed data rates for 802.11a.\n"
        },
        "rates11acMcsMap": {
          "type": "string",
          "description": "Comma separated list of max supported VHT MCS for spatial streams 1 through 8.\n"
        },
        "rates11acSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11ac with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
        },
        "rates11acSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11ac with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
        },
        "rates11axMcsMap": {
          "type": "string",
          "description": "Comma separated list of max supported HE MCS for spatial streams 1 through 8.\n"
        },
        "rates11axSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11ax with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
        },
        "rates11axSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11ax with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
        },
        "rates11beMcsMap": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 20MHz/40MHz/80MHz bandwidth.\n"
        },
        "rates11beMcsMap160": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 160MHz bandwidth.\n"
        },
        "rates11beMcsMap320": {
          "type": "string",
          "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 320MHz bandwidth.\n"
        },
        "rates11bg": {
          "type": "string",
          "description": "Allowed data rates for 802.11b/g.\n"
        },
        "rates11nSs12": {
          "type": "string",
          "description": "Allowed data rates for 802.11n with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`, `mcs12/2`, `mcs13/2`, `mcs14/2`, `mcs15/2`.\n"
        },
        "rates11nSs34": {
          "type": "string",
          "description": "Allowed data rates for 802.11n with 3 or 4 spatial streams. Valid values: `mcs16/3`, `mcs17/3`, `mcs18/3`, `mcs19/3`, `mcs20/3`, `mcs21/3`, `mcs22/3`, `mcs23/3`, `mcs24/4`, `mcs25/4`, `mcs26/4`, `mcs27/4`, `mcs28/4`, `mcs29/4`, `mcs30/4`, `mcs31/4`.\n"
        },
        "roamingAcctInterimUpdate": {
          "type": "string",
          "description": "Enable/disable using accounting interim update instead of accounting start/stop on roaming for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
        },
        "saeGroups": {
          "type": "string",
          "description": "SAE-Groups. Valid values: `19`, `20`, `21`.\n"
        },
        "saeH2eOnly": {
          "type": "string",
          "description": "Use hash-to-element-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "saeHnpOnly": {
          "type": "string",
          "description": "Use hunting-and-pecking-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "saePassword": {
          "type": "string",
          "description": "WPA3 SAE password to be used to authenticate WiFi users.\n",
          "secret": true
        },
        "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"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `monitor`, `block`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "VAP schedule name.\n"
        },
        "secondaryWagProfile": {
          "type": "string",
          "description": "Secondary wireless access gateway profile name.\n"
        },
        "security": {
          "type": "string",
          "description": "Security mode for the wireless interface (default = wpa2-only-personal).\n"
        },
        "securityExemptList": {
          "type": "string",
          "description": "Optional security exempt list for captive portal authentication.\n"
        },
        "securityObsoleteOption": {
          "type": "string",
          "description": "Enable/disable obsolete security options. Valid values: `enable`, `disable`.\n"
        },
        "securityRedirectUrl": {
          "type": "string",
          "description": "Optional URL for redirecting users after they pass captive portal authentication.\n"
        },
        "selectedUsergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapSelectedUsergroup:VapSelectedUsergroup"
          },
          "description": "Selective user groups that are permitted to authenticate. The structure of `selected_usergroups` block is documented below.\n"
        },
        "splitTunneling": {
          "type": "string",
          "description": "Enable/disable split tunneling (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ssid": {
          "type": "string",
          "description": "IEEE 802.11 service set identifier (SSID) for the wireless interface. Users who wish to use the wireless network must configure their computers to access this SSID name.\n"
        },
        "stickyClientRemove": {
          "type": "string",
          "description": "Enable/disable sticky client remove to maintain good signal level clients in SSID. (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "stickyClientThreshold2g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 2G client to be serviced by the AP (-95 to -20, default = -79).\n"
        },
        "stickyClientThreshold5g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 5G client to be serviced by the AP (-95 to -20, default = -76).\n"
        },
        "stickyClientThreshold6g": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the 6G client to be serviced by the AP (-95 to -20, default = -76).\n"
        },
        "targetWakeTime": {
          "type": "string",
          "description": "Enable/disable 802.11ax target wake time (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "tkipCounterMeasure": {
          "type": "string",
          "description": "Enable/disable TKIP counter measure. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEchoInterval": {
          "type": "integer",
          "description": "The time interval to send echo to both primary and secondary tunnel peers (1 - 65535 sec, default = 300).\n"
        },
        "tunnelFallbackInterval": {
          "type": "integer",
          "description": "The time interval for secondary tunnel to fall back to primary tunnel (0 - 65535 sec, default = 7200).\n"
        },
        "usergroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapUsergroup:VapUsergroup"
          },
          "description": "Firewall user group to be used to authenticate WiFi users. The structure of `usergroup` block is documented below.\n"
        },
        "utmLog": {
          "type": "string",
          "description": "Enable/disable UTM logging. Valid values: `enable`, `disable`.\n"
        },
        "utmProfile": {
          "type": "string",
          "description": "UTM profile name.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the VAP. 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
        },
        "vlanAuto": {
          "type": "string",
          "description": "Enable/disable automatic management of SSID VLAN interface. Valid values: `enable`, `disable`.\n"
        },
        "vlanNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanName:VapVlanName"
          },
          "description": "Table for mapping VLAN name to VLAN ID. The structure of `vlan_name` block is documented below.\n"
        },
        "vlanPooling": {
          "type": "string",
          "description": "Enable/disable VLAN pooling, to allow grouping of multiple wireless controller VLANs into VLAN pools (default = disable). When set to wtp-group, VLAN pooling occurs with VLAN assignment by wtp-group. Valid values: `wtp-group`, `round-robin`, `hash`, `disable`.\n"
        },
        "vlanPools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanPool:VapVlanPool"
          },
          "description": "VLAN pool. The structure of `vlan_pool` block is documented below.\n"
        },
        "vlanid": {
          "type": "integer",
          "description": "Optional VLAN ID.\n"
        },
        "voiceEnterprise": {
          "type": "string",
          "description": "Enable/disable 802.11k and 802.11v assisted Voice-Enterprise roaming (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "WebFilter profile name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vap resources.\n",
        "properties": {
          "accessControlList": {
            "type": "string",
            "description": "access-control-list profile name.\n"
          },
          "acctInterimInterval": {
            "type": "integer",
            "description": "WiFi RADIUS accounting interim interval (60 - 86400 sec, default = 0).\n"
          },
          "additionalAkms": {
            "type": "string",
            "description": "Additional AKMs.\n"
          },
          "addressGroup": {
            "type": "string",
            "description": "Address group ID.\n"
          },
          "addressGroupPolicy": {
            "type": "string",
            "description": "Configure MAC address filtering policy for MAC addresses that are in the address-group. Valid values: `disable`, `allow`, `deny`.\n"
          },
          "akm24Only": {
            "type": "string",
            "description": "WPA3 SAE using group-dependent hash only (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "alias": {
            "type": "string",
            "description": "Alias.\n"
          },
          "antivirusProfile": {
            "type": "string",
            "description": "AntiVirus profile name.\n"
          },
          "applicationDetectionEngine": {
            "type": "string",
            "description": "Enable/disable application detection engine (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "applicationDscpMarking": {
            "type": "string",
            "description": "Enable/disable application attribute based DSCP marking (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Application control list name.\n"
          },
          "applicationReportIntv": {
            "type": "integer",
            "description": "Application report interval (30 - 864000 sec, default = 120).\n"
          },
          "atfWeight": {
            "type": "integer",
            "description": "Airtime weight in percentage (default = 20).\n"
          },
          "auth": {
            "type": "string",
            "description": "Authentication protocol.\n"
          },
          "authCert": {
            "type": "string",
            "description": "HTTPS server certificate.\n"
          },
          "authPortalAddr": {
            "type": "string",
            "description": "Address of captive portal.\n"
          },
          "beaconAdvertising": {
            "type": "string",
            "description": "Fortinet beacon advertising IE data   (default = empty). Valid values: `name`, `model`, `serial-number`.\n"
          },
          "beaconProtection": {
            "type": "string",
            "description": "Enable/disable beacon protection support (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "broadcastSsid": {
            "type": "string",
            "description": "Enable/disable broadcasting the SSID (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "broadcastSuppression": {
            "type": "string",
            "description": "Optional suppression of broadcast messages. For example, you can keep DHCP messages, ARP broadcasts, and so on off of the wireless network.\n"
          },
          "bssColorPartial": {
            "type": "string",
            "description": "Enable/disable 802.11ax partial BSS color (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "bstmDisassociationImminent": {
            "type": "string",
            "description": "Enable/disable forcing of disassociation after the BSTM request timer has been reached (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "bstmLoadBalancingDisassocTimer": {
            "type": "integer",
            "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to AP load-balancing (0 to 30, default = 10).\n"
          },
          "bstmRssiDisassocTimer": {
            "type": "integer",
            "description": "Time interval for client to voluntarily leave AP before forcing a disassociation due to low RSSI (0 to 2000, default = 200).\n"
          },
          "captivePortal": {
            "type": "string",
            "description": "Enable/disable captive portal. Valid values: `enable`, `disable`.\n"
          },
          "captivePortalAcName": {
            "type": "string",
            "description": "Local-bridging captive portal ac-name.\n"
          },
          "captivePortalAuthTimeout": {
            "type": "integer",
            "description": "Hard timeout - AP will always clear the session after timeout regardless of traffic (0 - 864000 sec, default = 0).\n"
          },
          "captivePortalFwAccounting": {
            "type": "string",
            "description": "Enable/disable RADIUS accounting for captive portal firewall authentication session. Valid values: `enable`, `disable`.\n"
          },
          "captivePortalMacauthRadiusSecret": {
            "type": "string",
            "description": "Secret key to access the macauth RADIUS server.\n",
            "secret": true
          },
          "captivePortalMacauthRadiusServer": {
            "type": "string",
            "description": "Captive portal external RADIUS server domain name or IP address.\n"
          },
          "captivePortalRadiusSecret": {
            "type": "string",
            "description": "Secret key to access the RADIUS server.\n",
            "secret": true
          },
          "captivePortalRadiusServer": {
            "type": "string",
            "description": "Captive portal RADIUS server domain name or IP address.\n"
          },
          "captivePortalSessionTimeoutInterval": {
            "type": "integer",
            "description": "Session timeout interval (0 - 864000 sec, default = 0).\n"
          },
          "dhcpAddressEnforcement": {
            "type": "string",
            "description": "Enable/disable DHCP address enforcement (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "dhcpLeaseTime": {
            "type": "integer",
            "description": "DHCP lease time in seconds for NAT IP address.\n"
          },
          "dhcpOption43Insertion": {
            "type": "string",
            "description": "Enable/disable insertion of DHCP option 43 (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "dhcpOption82CircuitIdInsertion": {
            "type": "string",
            "description": "Enable/disable DHCP option 82 circuit-id insert (default = disable).\n"
          },
          "dhcpOption82Insertion": {
            "type": "string",
            "description": "Enable/disable DHCP option 82 insert (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "dhcpOption82RemoteIdInsertion": {
            "type": "string",
            "description": "Enable/disable DHCP option 82 remote-id insert (default = disable). Valid values: `style-1`, `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"
          },
          "dynamicVlan": {
            "type": "string",
            "description": "Enable/disable dynamic VLAN assignment. Valid values: `enable`, `disable`.\n"
          },
          "eapReauth": {
            "type": "string",
            "description": "Enable/disable EAP re-authentication for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
          },
          "eapReauthIntv": {
            "type": "integer",
            "description": "EAP re-authentication interval (1800 - 864000 sec, default = 86400).\n"
          },
          "eapolKeyRetries": {
            "type": "string",
            "description": "Enable/disable retransmission of EAPOL-Key frames (message 3/4 and group message 1/2) (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "encrypt": {
            "type": "string",
            "description": "Encryption protocol to use (only available when security is set to a WPA type). Valid values: `TKIP`, `AES`, `TKIP-AES`.\n"
          },
          "externalFastRoaming": {
            "type": "string",
            "description": "Enable/disable fast roaming or pre-authentication with external APs not managed by the FortiGate (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "externalLogout": {
            "type": "string",
            "description": "URL of external authentication logout server.\n"
          },
          "externalWeb": {
            "type": "string",
            "description": "URL of external authentication web server.\n"
          },
          "externalWebFormat": {
            "type": "string",
            "description": "URL query parameter detection (default = auto-detect). Valid values: `auto-detect`, `no-query-string`, `partial-query-string`.\n"
          },
          "fastBssTransition": {
            "type": "string",
            "description": "Enable/disable 802.11r Fast BSS Transition (FT) (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "fastRoaming": {
            "type": "string",
            "description": "Enable/disable fast-roaming, or pre-authentication, where supported by clients (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "ftMobilityDomain": {
            "type": "integer",
            "description": "Mobility domain identifier in FT (1 - 65535, default = 1000).\n"
          },
          "ftOverDs": {
            "type": "string",
            "description": "Enable/disable FT over the Distribution System (DS). Valid values: `disable`, `enable`.\n"
          },
          "ftR0KeyLifetime": {
            "type": "integer",
            "description": "Lifetime of the PMK-R0 key in FT, 1-65535 minutes.\n"
          },
          "gasComebackDelay": {
            "type": "integer",
            "description": "GAS comeback delay (0 or 100 - 10000 milliseconds, default = 500).\n"
          },
          "gasFragmentationLimit": {
            "type": "integer",
            "description": "GAS fragmentation limit (512 - 4096, default = 1024).\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtkRekey": {
            "type": "string",
            "description": "Enable/disable GTK rekey for WPA security. Valid values: `enable`, `disable`.\n"
          },
          "gtkRekeyIntv": {
            "type": "integer",
            "description": "GTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
          },
          "highEfficiency": {
            "type": "string",
            "description": "Enable/disable 802.11ax high efficiency (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "hotspot20Profile": {
            "type": "string",
            "description": "Hotspot 2.0 profile name.\n"
          },
          "igmpSnooping": {
            "type": "string",
            "description": "Enable/disable IGMP snooping. Valid values: `enable`, `disable`.\n"
          },
          "intraVapPrivacy": {
            "type": "string",
            "description": "Enable/disable blocking communication between clients on the same SSID (called intra-SSID privacy) (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address and subnet mask for the local standalone NAT subnet.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "IPS sensor name.\n"
          },
          "ipv6Rules": {
            "type": "string",
            "description": "Optional rules of IPv6 packets. For example, you can keep RA, RS and so on off of the wireless network. Valid values: `drop-icmp6ra`, `drop-icmp6rs`, `drop-llmnr6`, `drop-icmp6mld2`, `drop-dhcp6s`, `drop-dhcp6c`, `ndp-proxy`, `drop-ns-dad`, `drop-ns-nondad`.\n"
          },
          "key": {
            "type": "string",
            "description": "WEP Key.\n",
            "secret": true
          },
          "keyindex": {
            "type": "integer",
            "description": "WEP key index (1 - 4).\n"
          },
          "l3Roaming": {
            "type": "string",
            "description": "Enable/disable layer 3 roaming (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "l3RoamingMode": {
            "type": "string",
            "description": "Select the way that layer 3 roaming traffic is passed (default = direct). Valid values: `direct`, `indirect`.\n"
          },
          "ldpc": {
            "type": "string",
            "description": "VAP low-density parity-check (LDPC) coding configuration. Valid values: `disable`, `rx`, `tx`, `rxtx`.\n"
          },
          "localAuthentication": {
            "type": "string",
            "description": "Enable/disable AP local authentication. Valid values: `enable`, `disable`.\n"
          },
          "localBridging": {
            "type": "string",
            "description": "Enable/disable bridging of wireless and Ethernet interfaces on the FortiAP (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "localLan": {
            "type": "string",
            "description": "Allow/deny traffic destined for a Class A, B, or C private IP address (default = allow). Valid values: `allow`, `deny`.\n"
          },
          "localStandalone": {
            "type": "string",
            "description": "Enable/disable AP local standalone (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "localStandaloneDns": {
            "type": "string",
            "description": "Enable/disable AP local standalone DNS. Valid values: `enable`, `disable`.\n"
          },
          "localStandaloneDnsIp": {
            "type": "string",
            "description": "IPv4 addresses for the local standalone DNS.\n"
          },
          "localStandaloneNat": {
            "type": "string",
            "description": "Enable/disable AP local standalone NAT mode. Valid values: `enable`, `disable`.\n"
          },
          "macAuthBypass": {
            "type": "string",
            "description": "Enable/disable MAC authentication bypass. Valid values: `enable`, `disable`.\n"
          },
          "macCalledStationDelimiter": {
            "type": "string",
            "description": "MAC called station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "macCallingStationDelimiter": {
            "type": "string",
            "description": "MAC calling station delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "macCase": {
            "type": "string",
            "description": "MAC case (default = uppercase). Valid values: `uppercase`, `lowercase`.\n"
          },
          "macFilter": {
            "type": "string",
            "description": "Enable/disable MAC filtering to block wireless clients by mac address. Valid values: `enable`, `disable`.\n"
          },
          "macFilterLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapMacFilterList:VapMacFilterList"
            },
            "description": "Create a list of MAC addresses for MAC address filtering. The structure of `mac_filter_list` block is documented below.\n"
          },
          "macFilterPolicyOther": {
            "type": "string",
            "description": "Allow or block clients with MAC addresses that are not in the filter list. Valid values: `allow`, `deny`.\n"
          },
          "macPasswordDelimiter": {
            "type": "string",
            "description": "MAC authentication password delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "macUsernameDelimiter": {
            "type": "string",
            "description": "MAC authentication username delimiter (default = hyphen). Valid values: `hyphen`, `single-hyphen`, `colon`, `none`.\n"
          },
          "maxClients": {
            "type": "integer",
            "description": "Maximum number of clients that can connect simultaneously to the VAP (default = 0, meaning no limitation).\n"
          },
          "maxClientsAp": {
            "type": "integer",
            "description": "Maximum number of clients that can connect simultaneously to each radio (default = 0, meaning no limitation).\n"
          },
          "mbo": {
            "type": "string",
            "description": "Enable/disable Multiband Operation (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "mboCellDataConnPref": {
            "type": "string",
            "description": "MBO cell data connection preference (0, 1, or 255, default = 1). Valid values: `excluded`, `prefer-not`, `prefer-use`.\n"
          },
          "meDisableThresh": {
            "type": "integer",
            "description": "Disable multicast enhancement when this many clients are receiving multicast traffic.\n"
          },
          "meshBackhaul": {
            "type": "string",
            "description": "Enable/disable using this VAP as a WiFi mesh backhaul (default = disable). This entry is only available when security is set to a WPA type or open. Valid values: `enable`, `disable`.\n"
          },
          "mpsk": {
            "type": "string",
            "description": "Enable/disable multiple pre-shared keys (PSKs.) Valid values: `enable`, `disable`.\n"
          },
          "mpskConcurrentClients": {
            "type": "integer",
            "description": "Number of pre-shared keys (PSKs) to allow if multiple pre-shared keys are enabled.\n"
          },
          "mpskKeys": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapMpskKey:VapMpskKey"
            },
            "description": "Pre-shared keys that can be used to connect to this virtual access point. The structure of `mpsk_key` block is documented below.\n"
          },
          "mpskProfile": {
            "type": "string",
            "description": "MPSK profile name.\n"
          },
          "muMimo": {
            "type": "string",
            "description": "Enable/disable Multi-user MIMO (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "multicastEnhance": {
            "type": "string",
            "description": "Enable/disable converting multicast to unicast to improve performance (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "multicastRate": {
            "type": "string",
            "description": "Multicast rate (0, 6000, 12000, or 24000 kbps, default = 0). Valid values: `0`, `6000`, `12000`, `24000`.\n"
          },
          "n80211k": {
            "type": "string",
            "description": "Enable/disable 802.11k assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "n80211v": {
            "type": "string",
            "description": "Enable/disable 802.11v assisted roaming (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "nac": {
            "type": "string",
            "description": "Enable/disable network access control. Valid values: `enable`, `disable`.\n"
          },
          "nacProfile": {
            "type": "string",
            "description": "NAC profile name.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual AP name.\n",
            "willReplaceOnChanges": true
          },
          "nasFilterRule": {
            "type": "string",
            "description": "Enable/disable NAS filter rule support (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "neighborReportDualBand": {
            "type": "string",
            "description": "Enable/disable dual-band neighbor report (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "okc": {
            "type": "string",
            "description": "Enable/disable Opportunistic Key Caching (OKC) (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "osen": {
            "type": "string",
            "description": "Enable/disable OSEN as part of key management (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "oweGroups": {
            "type": "string",
            "description": "OWE-Groups. Valid values: `19`, `20`, `21`.\n"
          },
          "oweTransition": {
            "type": "string",
            "description": "Enable/disable OWE transition mode support. Valid values: `disable`, `enable`.\n"
          },
          "oweTransitionSsid": {
            "type": "string",
            "description": "OWE transition mode peer SSID.\n"
          },
          "passphrase": {
            "type": "string",
            "description": "WPA pre-shard key (PSK) to be used to authenticate WiFi users.\n",
            "secret": true
          },
          "pmf": {
            "type": "string",
            "description": "Protected Management Frames (PMF) support (default = disable). Valid values: `disable`, `enable`, `optional`.\n"
          },
          "pmfAssocComebackTimeout": {
            "type": "integer",
            "description": "Protected Management Frames (PMF) comeback maximum timeout (1-20 sec).\n"
          },
          "pmfSaQueryRetryTimeout": {
            "type": "integer",
            "description": "Protected Management Frames (PMF) SA query retry timeout interval (1 - 5 100s of msec).\n"
          },
          "portMacauth": {
            "type": "string",
            "description": "Enable/disable LAN port MAC authentication (default = disable). Valid values: `disable`, `radius`, `address-group`.\n"
          },
          "portMacauthReauthTimeout": {
            "type": "integer",
            "description": "LAN port MAC authentication re-authentication timeout value (default = 7200 sec).\n"
          },
          "portMacauthTimeout": {
            "type": "integer",
            "description": "LAN port MAC authentication idle timeout value (default = 600 sec).\n"
          },
          "portalMessageOverrideGroup": {
            "type": "string",
            "description": "Replacement message group for this VAP (only available when security is set to a captive portal type).\n"
          },
          "portalMessageOverrides": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapPortalMessageOverrides:VapPortalMessageOverrides",
            "description": "Individual message overrides. The structure of `portal_message_overrides` block is documented below.\n"
          },
          "portalType": {
            "type": "string",
            "description": "Captive portal functionality. Configure how the captive portal authenticates users and whether it includes a disclaimer.\n"
          },
          "primaryWagProfile": {
            "type": "string",
            "description": "Primary wireless access gateway profile name.\n"
          },
          "probeRespSuppression": {
            "type": "string",
            "description": "Enable/disable probe response suppression (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "probeRespThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the AP response to probe requests (-95 to -20, default = -80).\n"
          },
          "ptkRekey": {
            "type": "string",
            "description": "Enable/disable PTK rekey for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
          },
          "ptkRekeyIntv": {
            "type": "integer",
            "description": "PTK rekey interval (default = 86400). On FortiOS versions 6.2.0-7.4.3: 1800 - 864000 sec. On FortiOS versions >= 7.4.4: 600 - 864000 sec.\n"
          },
          "qosProfile": {
            "type": "string",
            "description": "Quality of service profile name.\n"
          },
          "quarantine": {
            "type": "string",
            "description": "Enable/disable station quarantine (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "radio2gThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 2.4G band (-95 to -20, default = -79).\n"
          },
          "radio5gThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the AP response to receive a packet in 5G band(-95 to -20, default = -76).\n"
          },
          "radioSensitivity": {
            "type": "string",
            "description": "Enable/disable software radio sensitivity (to ignore weak signals) (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "radiusMacAuth": {
            "type": "string",
            "description": "Enable/disable RADIUS-based MAC authentication of clients (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "radiusMacAuthBlockInterval": {
            "type": "integer",
            "description": "Don't send RADIUS MAC auth request again if the client has been rejected within specific interval (0 or 30 - 864000 seconds, default = 0, 0 to disable blocking).\n"
          },
          "radiusMacAuthServer": {
            "type": "string",
            "description": "RADIUS-based MAC authentication server.\n"
          },
          "radiusMacAuthUsergroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapRadiusMacAuthUsergroup:VapRadiusMacAuthUsergroup"
            },
            "description": "Selective user groups that are permitted for RADIUS mac authentication. The structure of `radius_mac_auth_usergroups` block is documented below.\n"
          },
          "radiusMacMpskAuth": {
            "type": "string",
            "description": "Enable/disable RADIUS-based MAC authentication of clients for MPSK authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "radiusMacMpskTimeout": {
            "type": "integer",
            "description": "RADIUS MAC MPSK cache timeout interval (1800 - 864000, default = 86400).\n"
          },
          "radiusServer": {
            "type": "string",
            "description": "RADIUS server to be used to authenticate WiFi users.\n"
          },
          "rates11a": {
            "type": "string",
            "description": "Allowed data rates for 802.11a.\n"
          },
          "rates11acMcsMap": {
            "type": "string",
            "description": "Comma separated list of max supported VHT MCS for spatial streams 1 through 8.\n"
          },
          "rates11acSs12": {
            "type": "string",
            "description": "Allowed data rates for 802.11ac with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
          },
          "rates11acSs34": {
            "type": "string",
            "description": "Allowed data rates for 802.11ac with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
          },
          "rates11axMcsMap": {
            "type": "string",
            "description": "Comma separated list of max supported HE MCS for spatial streams 1 through 8.\n"
          },
          "rates11axSs12": {
            "type": "string",
            "description": "Allowed data rates for 802.11ax with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/1`, `mcs9/1`, `mcs10/1`, `mcs11/1`, `mcs0/2`, `mcs1/2`, `mcs2/2`, `mcs3/2`, `mcs4/2`, `mcs5/2`, `mcs6/2`, `mcs7/2`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`.\n"
          },
          "rates11axSs34": {
            "type": "string",
            "description": "Allowed data rates for 802.11ax with 3 or 4 spatial streams. Valid values: `mcs0/3`, `mcs1/3`, `mcs2/3`, `mcs3/3`, `mcs4/3`, `mcs5/3`, `mcs6/3`, `mcs7/3`, `mcs8/3`, `mcs9/3`, `mcs10/3`, `mcs11/3`, `mcs0/4`, `mcs1/4`, `mcs2/4`, `mcs3/4`, `mcs4/4`, `mcs5/4`, `mcs6/4`, `mcs7/4`, `mcs8/4`, `mcs9/4`, `mcs10/4`, `mcs11/4`.\n"
          },
          "rates11beMcsMap": {
            "type": "string",
            "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 20MHz/40MHz/80MHz bandwidth.\n"
          },
          "rates11beMcsMap160": {
            "type": "string",
            "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 160MHz bandwidth.\n"
          },
          "rates11beMcsMap320": {
            "type": "string",
            "description": "Comma separated list of max nss that supports EHT-MCS 0-9, 10-11, 12-13 for 320MHz bandwidth.\n"
          },
          "rates11bg": {
            "type": "string",
            "description": "Allowed data rates for 802.11b/g.\n"
          },
          "rates11nSs12": {
            "type": "string",
            "description": "Allowed data rates for 802.11n with 1 or 2 spatial streams. Valid values: `mcs0/1`, `mcs1/1`, `mcs2/1`, `mcs3/1`, `mcs4/1`, `mcs5/1`, `mcs6/1`, `mcs7/1`, `mcs8/2`, `mcs9/2`, `mcs10/2`, `mcs11/2`, `mcs12/2`, `mcs13/2`, `mcs14/2`, `mcs15/2`.\n"
          },
          "rates11nSs34": {
            "type": "string",
            "description": "Allowed data rates for 802.11n with 3 or 4 spatial streams. Valid values: `mcs16/3`, `mcs17/3`, `mcs18/3`, `mcs19/3`, `mcs20/3`, `mcs21/3`, `mcs22/3`, `mcs23/3`, `mcs24/4`, `mcs25/4`, `mcs26/4`, `mcs27/4`, `mcs28/4`, `mcs29/4`, `mcs30/4`, `mcs31/4`.\n"
          },
          "roamingAcctInterimUpdate": {
            "type": "string",
            "description": "Enable/disable using accounting interim update instead of accounting start/stop on roaming for WPA-Enterprise security. Valid values: `enable`, `disable`.\n"
          },
          "saeGroups": {
            "type": "string",
            "description": "SAE-Groups. Valid values: `19`, `20`, `21`.\n"
          },
          "saeH2eOnly": {
            "type": "string",
            "description": "Use hash-to-element-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "saeHnpOnly": {
            "type": "string",
            "description": "Use hunting-and-pecking-only mechanism for PWE derivation (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "saePassword": {
            "type": "string",
            "description": "WPA3 SAE password to be used to authenticate WiFi users.\n",
            "secret": true
          },
          "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"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `monitor`, `block`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "VAP schedule name.\n"
          },
          "secondaryWagProfile": {
            "type": "string",
            "description": "Secondary wireless access gateway profile name.\n"
          },
          "security": {
            "type": "string",
            "description": "Security mode for the wireless interface (default = wpa2-only-personal).\n"
          },
          "securityExemptList": {
            "type": "string",
            "description": "Optional security exempt list for captive portal authentication.\n"
          },
          "securityObsoleteOption": {
            "type": "string",
            "description": "Enable/disable obsolete security options. Valid values: `enable`, `disable`.\n"
          },
          "securityRedirectUrl": {
            "type": "string",
            "description": "Optional URL for redirecting users after they pass captive portal authentication.\n"
          },
          "selectedUsergroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapSelectedUsergroup:VapSelectedUsergroup"
            },
            "description": "Selective user groups that are permitted to authenticate. The structure of `selected_usergroups` block is documented below.\n"
          },
          "splitTunneling": {
            "type": "string",
            "description": "Enable/disable split tunneling (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "ssid": {
            "type": "string",
            "description": "IEEE 802.11 service set identifier (SSID) for the wireless interface. Users who wish to use the wireless network must configure their computers to access this SSID name.\n"
          },
          "stickyClientRemove": {
            "type": "string",
            "description": "Enable/disable sticky client remove to maintain good signal level clients in SSID. (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "stickyClientThreshold2g": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the 2G client to be serviced by the AP (-95 to -20, default = -79).\n"
          },
          "stickyClientThreshold5g": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the 5G client to be serviced by the AP (-95 to -20, default = -76).\n"
          },
          "stickyClientThreshold6g": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the 6G client to be serviced by the AP (-95 to -20, default = -76).\n"
          },
          "targetWakeTime": {
            "type": "string",
            "description": "Enable/disable 802.11ax target wake time (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "tkipCounterMeasure": {
            "type": "string",
            "description": "Enable/disable TKIP counter measure. Valid values: `enable`, `disable`.\n"
          },
          "tunnelEchoInterval": {
            "type": "integer",
            "description": "The time interval to send echo to both primary and secondary tunnel peers (1 - 65535 sec, default = 300).\n"
          },
          "tunnelFallbackInterval": {
            "type": "integer",
            "description": "The time interval for secondary tunnel to fall back to primary tunnel (0 - 65535 sec, default = 7200).\n"
          },
          "usergroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapUsergroup:VapUsergroup"
            },
            "description": "Firewall user group to be used to authenticate WiFi users. The structure of `usergroup` block is documented below.\n"
          },
          "utmLog": {
            "type": "string",
            "description": "Enable/disable UTM logging. Valid values: `enable`, `disable`.\n"
          },
          "utmProfile": {
            "type": "string",
            "description": "UTM profile name.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the VAP. 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
          },
          "vlanAuto": {
            "type": "string",
            "description": "Enable/disable automatic management of SSID VLAN interface. Valid values: `enable`, `disable`.\n"
          },
          "vlanNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanName:VapVlanName"
            },
            "description": "Table for mapping VLAN name to VLAN ID. The structure of `vlan_name` block is documented below.\n"
          },
          "vlanPooling": {
            "type": "string",
            "description": "Enable/disable VLAN pooling, to allow grouping of multiple wireless controller VLANs into VLAN pools (default = disable). When set to wtp-group, VLAN pooling occurs with VLAN assignment by wtp-group. Valid values: `wtp-group`, `round-robin`, `hash`, `disable`.\n"
          },
          "vlanPools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapVlanPool:VapVlanPool"
            },
            "description": "VLAN pool. The structure of `vlan_pool` block is documented below.\n"
          },
          "vlanid": {
            "type": "integer",
            "description": "Optional VLAN ID.\n"
          },
          "voiceEnterprise": {
            "type": "string",
            "description": "Enable/disable 802.11k and 802.11v assisted Voice-Enterprise roaming (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "WebFilter profile name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/vapgroup:Vapgroup": {
      "description": "Configure virtual Access Point (VAP) groups.\n\n## Import\n\nWirelessController VapGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/vapgroup:Vapgroup 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:wirelesscontroller/vapgroup:Vapgroup 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": "Group Name\n"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapgroupVap:VapgroupVap"
          },
          "description": "List of SSIDs to be included in the VAP group. The structure of `vaps` 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": "Group Name\n",
          "willReplaceOnChanges": true
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapgroupVap:VapgroupVap"
          },
          "description": "List of SSIDs to be included in the VAP group. The structure of `vaps` 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 Vapgroup 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": "Group Name\n",
            "willReplaceOnChanges": true
          },
          "vaps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FVapgroupVap:VapgroupVap"
            },
            "description": "List of SSIDs to be included in the VAP group. The structure of `vaps` 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:wirelesscontroller/wagprofile:Wagprofile": {
      "description": "Configure wireless access gateway (WAG) profiles used for tunnels on AP. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nWirelessController WagProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/wagprofile:Wagprofile 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:wirelesscontroller/wagprofile:Wagprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpAddr": {
          "type": "string",
          "description": "IP address of the monitoring DHCP request packet sent through the tunnel.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel profile name.\n"
        },
        "pingInterval": {
          "type": "integer",
          "description": "Interval between two tunnel monitoring echo packets (1 - 65535 sec, default = 1).\n"
        },
        "pingNumber": {
          "type": "integer",
          "description": "Number of the tunnel mointoring echo packets (1 - 65535, default = 5).\n"
        },
        "returnPacketTimeout": {
          "type": "integer",
          "description": "Window of time for the return packets from the tunnel's remote end (1 - 65535 sec, default = 160).\n"
        },
        "tunnelType": {
          "type": "string",
          "description": "Tunnel type. Valid values: `l2tpv3`, `gre`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wagIp": {
          "type": "string",
          "description": "IP Address of the wireless access gateway.\n"
        },
        "wagPort": {
          "type": "integer",
          "description": "UDP port of the wireless access gateway.\n"
        }
      },
      "type": "object",
      "required": [
        "dhcpIpAddr",
        "name",
        "pingInterval",
        "pingNumber",
        "returnPacketTimeout",
        "tunnelType",
        "vdomparam",
        "wagIp",
        "wagPort"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dhcpIpAddr": {
          "type": "string",
          "description": "IP address of the monitoring DHCP request packet sent through the tunnel.\n"
        },
        "name": {
          "type": "string",
          "description": "Tunnel profile name.\n",
          "willReplaceOnChanges": true
        },
        "pingInterval": {
          "type": "integer",
          "description": "Interval between two tunnel monitoring echo packets (1 - 65535 sec, default = 1).\n"
        },
        "pingNumber": {
          "type": "integer",
          "description": "Number of the tunnel mointoring echo packets (1 - 65535, default = 5).\n"
        },
        "returnPacketTimeout": {
          "type": "integer",
          "description": "Window of time for the return packets from the tunnel's remote end (1 - 65535 sec, default = 160).\n"
        },
        "tunnelType": {
          "type": "string",
          "description": "Tunnel type. Valid values: `l2tpv3`, `gre`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wagIp": {
          "type": "string",
          "description": "IP Address of the wireless access gateway.\n"
        },
        "wagPort": {
          "type": "integer",
          "description": "UDP port of the wireless access gateway.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Wagprofile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dhcpIpAddr": {
            "type": "string",
            "description": "IP address of the monitoring DHCP request packet sent through the tunnel.\n"
          },
          "name": {
            "type": "string",
            "description": "Tunnel profile name.\n",
            "willReplaceOnChanges": true
          },
          "pingInterval": {
            "type": "integer",
            "description": "Interval between two tunnel monitoring echo packets (1 - 65535 sec, default = 1).\n"
          },
          "pingNumber": {
            "type": "integer",
            "description": "Number of the tunnel mointoring echo packets (1 - 65535, default = 5).\n"
          },
          "returnPacketTimeout": {
            "type": "integer",
            "description": "Window of time for the return packets from the tunnel's remote end (1 - 65535 sec, default = 160).\n"
          },
          "tunnelType": {
            "type": "string",
            "description": "Tunnel type. Valid values: `l2tpv3`, `gre`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wagIp": {
            "type": "string",
            "description": "IP Address of the wireless access gateway.\n"
          },
          "wagPort": {
            "type": "integer",
            "description": "UDP port of the wireless access gateway.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/widsprofile:Widsprofile": {
      "description": "Configure wireless intrusion detection system (WIDS) profiles.\n\n## Import\n\nWirelessController WidsProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/widsprofile:Widsprofile 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:wirelesscontroller/widsprofile:Widsprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "apAutoSuppress": {
          "type": "string",
          "description": "Enable/disable on-wire rogue AP auto-suppression (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apBgscanDisableDay": {
          "type": "string",
          "description": "Optionally turn off scanning for one or more days of the week. Separate the days with a space. By default, no days are set. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "apBgscanDisableEnd": {
          "type": "string",
          "description": "End time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
        },
        "apBgscanDisableSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApBgscanDisableSchedule:WidsprofileApBgscanDisableSchedule"
          },
          "description": "Firewall schedules for turning off FortiAP radio background scan. Background scan will be disabled when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `ap_bgscan_disable_schedules` block is documented below.\n"
        },
        "apBgscanDisableStart": {
          "type": "string",
          "description": "Start time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
        },
        "apBgscanDuration": {
          "type": "integer",
          "description": "Listen time on scanning a channel (10 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 20. On FortiOS versions >= 7.0.2: default = 30.\n"
        },
        "apBgscanIdle": {
          "type": "integer",
          "description": "Wait time for channel inactivity before scanning this channel (0 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 0. On FortiOS versions >= 7.0.2: default = 20.\n"
        },
        "apBgscanIntv": {
          "type": "integer",
          "description": "Period between successive channel scans (1 - 600 sec). On FortiOS versions 6.2.0-7.0.1: default = 1. On FortiOS versions >= 7.0.2: default = 3.\n"
        },
        "apBgscanPeriod": {
          "type": "integer",
          "description": "Period between background scans (default = 600). On FortiOS versions 6.2.0-6.2.6: 60 - 3600 sec. On FortiOS versions 6.4.0-7.0.1: 10 - 3600 sec.\n"
        },
        "apBgscanReportIntv": {
          "type": "integer",
          "description": "Period between background scan reports (15 - 600 sec, default = 30).\n"
        },
        "apFgscanReportIntv": {
          "type": "integer",
          "description": "Period between foreground scan reports (15 - 600 sec, default = 15).\n"
        },
        "apScan": {
          "type": "string",
          "description": "Enable/disable rogue AP detection. Valid values: `disable`, `enable`.\n"
        },
        "apScanChannelList2g5gs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList2g5g:WidsprofileApScanChannelList2g5g"
          },
          "description": "Selected ap scan channel list for 2.4G and 5G bands. The structure of `ap_scan_channel_list_2g_5g` block is documented below.\n"
        },
        "apScanChannelList6gs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList6g:WidsprofileApScanChannelList6g"
          },
          "description": "Selected ap scan channel list for 6G band. The structure of `ap_scan_channel_list_6g` block is documented below.\n"
        },
        "apScanPassive": {
          "type": "string",
          "description": "Enable/disable passive scanning. Enable means do not send probe request on any channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apScanThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP to report detected rogue AP (-95 to -20, default = -90).\n"
        },
        "asleapAttack": {
          "type": "string",
          "description": "Enable/disable asleap attack detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "assocFloodThresh": {
          "type": "integer",
          "description": "The threshold value for association frame flooding.\n"
        },
        "assocFloodTime": {
          "type": "integer",
          "description": "Number of seconds after which a station is considered not connected.\n"
        },
        "assocFrameFlood": {
          "type": "string",
          "description": "Enable/disable association frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "authFloodThresh": {
          "type": "integer",
          "description": "The threshold value for authentication frame flooding.\n"
        },
        "authFloodTime": {
          "type": "integer",
          "description": "Number of seconds after which a station is considered not connected.\n"
        },
        "authFrameFlood": {
          "type": "string",
          "description": "Enable/disable authentication frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "deauthBroadcast": {
          "type": "string",
          "description": "Enable/disable broadcasting de-authentication detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "deauthUnknownSrcThresh": {
          "type": "integer",
          "description": "Threshold value per second to deauth unknown src for DoS attack (0: no limit).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eapolFailFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Failure flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolFailIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Failure flooding (1 - 3600 sec).\n"
        },
        "eapolFailThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Failure flooding in specified interval.\n"
        },
        "eapolLogoffFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Logoff flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolLogoffIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Logoff flooding (1 - 3600 sec).\n"
        },
        "eapolLogoffThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Logoff flooding in specified interval.\n"
        },
        "eapolPreFailFlood": {
          "type": "string",
          "description": "Enable/disable premature EAPOL-Failure flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolPreFailIntv": {
          "type": "integer",
          "description": "The detection interval for premature EAPOL-Failure flooding (1 - 3600 sec).\n"
        },
        "eapolPreFailThresh": {
          "type": "integer",
          "description": "The threshold value for premature EAPOL-Failure flooding in specified interval.\n"
        },
        "eapolPreSuccFlood": {
          "type": "string",
          "description": "Enable/disable premature EAPOL-Success flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolPreSuccIntv": {
          "type": "integer",
          "description": "The detection interval for premature EAPOL-Success flooding (1 - 3600 sec).\n"
        },
        "eapolPreSuccThresh": {
          "type": "integer",
          "description": "The threshold value for premature EAPOL-Success flooding in specified interval.\n"
        },
        "eapolStartFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Start flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolStartIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Start flooding (1 - 3600 sec).\n"
        },
        "eapolStartThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Start flooding in specified interval.\n"
        },
        "eapolSuccFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Success flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolSuccIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Success flooding (1 - 3600 sec).\n"
        },
        "eapolSuccThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Success flooding in specified interval.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "invalidMacOui": {
          "type": "string",
          "description": "Enable/disable invalid MAC OUI detection. Valid values: `enable`, `disable`.\n"
        },
        "longDurationAttack": {
          "type": "string",
          "description": "Enable/disable long duration attack detection based on user configured threshold (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "longDurationThresh": {
          "type": "integer",
          "description": "Threshold value for long duration attack detection (1000 - 32767 usec, default = 8200).\n"
        },
        "name": {
          "type": "string",
          "description": "WIDS profile name.\n"
        },
        "nullSsidProbeResp": {
          "type": "string",
          "description": "Enable/disable null SSID probe response detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "sensorMode": {
          "type": "string",
          "description": "Scan nearby WiFi stations (default = disable). Valid values: `disable`, `foreign`, `both`.\n"
        },
        "spoofedDeauth": {
          "type": "string",
          "description": "Enable/disable spoofed de-authentication attack detection (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\nThe `ap_scan_channel_list_2g_5g` block supports:\n"
        },
        "weakWepIv": {
          "type": "string",
          "description": "Enable/disable weak WEP IV (Initialization Vector) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "wirelessBridge": {
          "type": "string",
          "description": "Enable/disable wireless bridge detection (default = disable). Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "apAutoSuppress",
        "apBgscanDisableDay",
        "apBgscanDisableEnd",
        "apBgscanDisableStart",
        "apBgscanDuration",
        "apBgscanIdle",
        "apBgscanIntv",
        "apBgscanPeriod",
        "apBgscanReportIntv",
        "apFgscanReportIntv",
        "apScan",
        "apScanPassive",
        "apScanThreshold",
        "asleapAttack",
        "assocFloodThresh",
        "assocFloodTime",
        "assocFrameFlood",
        "authFloodThresh",
        "authFloodTime",
        "authFrameFlood",
        "comment",
        "deauthBroadcast",
        "deauthUnknownSrcThresh",
        "eapolFailFlood",
        "eapolFailIntv",
        "eapolFailThresh",
        "eapolLogoffFlood",
        "eapolLogoffIntv",
        "eapolLogoffThresh",
        "eapolPreFailFlood",
        "eapolPreFailIntv",
        "eapolPreFailThresh",
        "eapolPreSuccFlood",
        "eapolPreSuccIntv",
        "eapolPreSuccThresh",
        "eapolStartFlood",
        "eapolStartIntv",
        "eapolStartThresh",
        "eapolSuccFlood",
        "eapolSuccIntv",
        "eapolSuccThresh",
        "invalidMacOui",
        "longDurationAttack",
        "longDurationThresh",
        "name",
        "nullSsidProbeResp",
        "sensorMode",
        "spoofedDeauth",
        "vdomparam",
        "weakWepIv",
        "wirelessBridge"
      ],
      "inputProperties": {
        "apAutoSuppress": {
          "type": "string",
          "description": "Enable/disable on-wire rogue AP auto-suppression (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apBgscanDisableDay": {
          "type": "string",
          "description": "Optionally turn off scanning for one or more days of the week. Separate the days with a space. By default, no days are set. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "apBgscanDisableEnd": {
          "type": "string",
          "description": "End time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
        },
        "apBgscanDisableSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApBgscanDisableSchedule:WidsprofileApBgscanDisableSchedule"
          },
          "description": "Firewall schedules for turning off FortiAP radio background scan. Background scan will be disabled when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `ap_bgscan_disable_schedules` block is documented below.\n"
        },
        "apBgscanDisableStart": {
          "type": "string",
          "description": "Start time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
        },
        "apBgscanDuration": {
          "type": "integer",
          "description": "Listen time on scanning a channel (10 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 20. On FortiOS versions >= 7.0.2: default = 30.\n"
        },
        "apBgscanIdle": {
          "type": "integer",
          "description": "Wait time for channel inactivity before scanning this channel (0 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 0. On FortiOS versions >= 7.0.2: default = 20.\n"
        },
        "apBgscanIntv": {
          "type": "integer",
          "description": "Period between successive channel scans (1 - 600 sec). On FortiOS versions 6.2.0-7.0.1: default = 1. On FortiOS versions >= 7.0.2: default = 3.\n"
        },
        "apBgscanPeriod": {
          "type": "integer",
          "description": "Period between background scans (default = 600). On FortiOS versions 6.2.0-6.2.6: 60 - 3600 sec. On FortiOS versions 6.4.0-7.0.1: 10 - 3600 sec.\n"
        },
        "apBgscanReportIntv": {
          "type": "integer",
          "description": "Period between background scan reports (15 - 600 sec, default = 30).\n"
        },
        "apFgscanReportIntv": {
          "type": "integer",
          "description": "Period between foreground scan reports (15 - 600 sec, default = 15).\n"
        },
        "apScan": {
          "type": "string",
          "description": "Enable/disable rogue AP detection. Valid values: `disable`, `enable`.\n"
        },
        "apScanChannelList2g5gs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList2g5g:WidsprofileApScanChannelList2g5g"
          },
          "description": "Selected ap scan channel list for 2.4G and 5G bands. The structure of `ap_scan_channel_list_2g_5g` block is documented below.\n"
        },
        "apScanChannelList6gs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList6g:WidsprofileApScanChannelList6g"
          },
          "description": "Selected ap scan channel list for 6G band. The structure of `ap_scan_channel_list_6g` block is documented below.\n"
        },
        "apScanPassive": {
          "type": "string",
          "description": "Enable/disable passive scanning. Enable means do not send probe request on any channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apScanThreshold": {
          "type": "string",
          "description": "Minimum signal level/threshold in dBm required for the AP to report detected rogue AP (-95 to -20, default = -90).\n"
        },
        "asleapAttack": {
          "type": "string",
          "description": "Enable/disable asleap attack detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "assocFloodThresh": {
          "type": "integer",
          "description": "The threshold value for association frame flooding.\n"
        },
        "assocFloodTime": {
          "type": "integer",
          "description": "Number of seconds after which a station is considered not connected.\n"
        },
        "assocFrameFlood": {
          "type": "string",
          "description": "Enable/disable association frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "authFloodThresh": {
          "type": "integer",
          "description": "The threshold value for authentication frame flooding.\n"
        },
        "authFloodTime": {
          "type": "integer",
          "description": "Number of seconds after which a station is considered not connected.\n"
        },
        "authFrameFlood": {
          "type": "string",
          "description": "Enable/disable authentication frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "deauthBroadcast": {
          "type": "string",
          "description": "Enable/disable broadcasting de-authentication detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "deauthUnknownSrcThresh": {
          "type": "integer",
          "description": "Threshold value per second to deauth unknown src for DoS attack (0: no limit).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "eapolFailFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Failure flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolFailIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Failure flooding (1 - 3600 sec).\n"
        },
        "eapolFailThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Failure flooding in specified interval.\n"
        },
        "eapolLogoffFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Logoff flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolLogoffIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Logoff flooding (1 - 3600 sec).\n"
        },
        "eapolLogoffThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Logoff flooding in specified interval.\n"
        },
        "eapolPreFailFlood": {
          "type": "string",
          "description": "Enable/disable premature EAPOL-Failure flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolPreFailIntv": {
          "type": "integer",
          "description": "The detection interval for premature EAPOL-Failure flooding (1 - 3600 sec).\n"
        },
        "eapolPreFailThresh": {
          "type": "integer",
          "description": "The threshold value for premature EAPOL-Failure flooding in specified interval.\n"
        },
        "eapolPreSuccFlood": {
          "type": "string",
          "description": "Enable/disable premature EAPOL-Success flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolPreSuccIntv": {
          "type": "integer",
          "description": "The detection interval for premature EAPOL-Success flooding (1 - 3600 sec).\n"
        },
        "eapolPreSuccThresh": {
          "type": "integer",
          "description": "The threshold value for premature EAPOL-Success flooding in specified interval.\n"
        },
        "eapolStartFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Start flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolStartIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Start flooding (1 - 3600 sec).\n"
        },
        "eapolStartThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Start flooding in specified interval.\n"
        },
        "eapolSuccFlood": {
          "type": "string",
          "description": "Enable/disable EAPOL-Success flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "eapolSuccIntv": {
          "type": "integer",
          "description": "The detection interval for EAPOL-Success flooding (1 - 3600 sec).\n"
        },
        "eapolSuccThresh": {
          "type": "integer",
          "description": "The threshold value for EAPOL-Success flooding in specified interval.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "invalidMacOui": {
          "type": "string",
          "description": "Enable/disable invalid MAC OUI detection. Valid values: `enable`, `disable`.\n"
        },
        "longDurationAttack": {
          "type": "string",
          "description": "Enable/disable long duration attack detection based on user configured threshold (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "longDurationThresh": {
          "type": "integer",
          "description": "Threshold value for long duration attack detection (1000 - 32767 usec, default = 8200).\n"
        },
        "name": {
          "type": "string",
          "description": "WIDS profile name.\n",
          "willReplaceOnChanges": true
        },
        "nullSsidProbeResp": {
          "type": "string",
          "description": "Enable/disable null SSID probe response detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "sensorMode": {
          "type": "string",
          "description": "Scan nearby WiFi stations (default = disable). Valid values: `disable`, `foreign`, `both`.\n"
        },
        "spoofedDeauth": {
          "type": "string",
          "description": "Enable/disable spoofed de-authentication attack detection (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\nThe `ap_scan_channel_list_2g_5g` block supports:\n",
          "willReplaceOnChanges": true
        },
        "weakWepIv": {
          "type": "string",
          "description": "Enable/disable weak WEP IV (Initialization Vector) detection (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "wirelessBridge": {
          "type": "string",
          "description": "Enable/disable wireless bridge detection (default = disable). Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Widsprofile resources.\n",
        "properties": {
          "apAutoSuppress": {
            "type": "string",
            "description": "Enable/disable on-wire rogue AP auto-suppression (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "apBgscanDisableDay": {
            "type": "string",
            "description": "Optionally turn off scanning for one or more days of the week. Separate the days with a space. By default, no days are set. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "apBgscanDisableEnd": {
            "type": "string",
            "description": "End time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
          },
          "apBgscanDisableSchedules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApBgscanDisableSchedule:WidsprofileApBgscanDisableSchedule"
            },
            "description": "Firewall schedules for turning off FortiAP radio background scan. Background scan will be disabled when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `ap_bgscan_disable_schedules` block is documented below.\n"
          },
          "apBgscanDisableStart": {
            "type": "string",
            "description": "Start time, using a 24-hour clock in the format of hh:mm, for disabling background scanning (default = 00:00).\n"
          },
          "apBgscanDuration": {
            "type": "integer",
            "description": "Listen time on scanning a channel (10 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 20. On FortiOS versions >= 7.0.2: default = 30.\n"
          },
          "apBgscanIdle": {
            "type": "integer",
            "description": "Wait time for channel inactivity before scanning this channel (0 - 1000 msec). On FortiOS versions 6.2.0-7.0.1: default = 0. On FortiOS versions >= 7.0.2: default = 20.\n"
          },
          "apBgscanIntv": {
            "type": "integer",
            "description": "Period between successive channel scans (1 - 600 sec). On FortiOS versions 6.2.0-7.0.1: default = 1. On FortiOS versions >= 7.0.2: default = 3.\n"
          },
          "apBgscanPeriod": {
            "type": "integer",
            "description": "Period between background scans (default = 600). On FortiOS versions 6.2.0-6.2.6: 60 - 3600 sec. On FortiOS versions 6.4.0-7.0.1: 10 - 3600 sec.\n"
          },
          "apBgscanReportIntv": {
            "type": "integer",
            "description": "Period between background scan reports (15 - 600 sec, default = 30).\n"
          },
          "apFgscanReportIntv": {
            "type": "integer",
            "description": "Period between foreground scan reports (15 - 600 sec, default = 15).\n"
          },
          "apScan": {
            "type": "string",
            "description": "Enable/disable rogue AP detection. Valid values: `disable`, `enable`.\n"
          },
          "apScanChannelList2g5gs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList2g5g:WidsprofileApScanChannelList2g5g"
            },
            "description": "Selected ap scan channel list for 2.4G and 5G bands. The structure of `ap_scan_channel_list_2g_5g` block is documented below.\n"
          },
          "apScanChannelList6gs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWidsprofileApScanChannelList6g:WidsprofileApScanChannelList6g"
            },
            "description": "Selected ap scan channel list for 6G band. The structure of `ap_scan_channel_list_6g` block is documented below.\n"
          },
          "apScanPassive": {
            "type": "string",
            "description": "Enable/disable passive scanning. Enable means do not send probe request on any channels (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "apScanThreshold": {
            "type": "string",
            "description": "Minimum signal level/threshold in dBm required for the AP to report detected rogue AP (-95 to -20, default = -90).\n"
          },
          "asleapAttack": {
            "type": "string",
            "description": "Enable/disable asleap attack detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "assocFloodThresh": {
            "type": "integer",
            "description": "The threshold value for association frame flooding.\n"
          },
          "assocFloodTime": {
            "type": "integer",
            "description": "Number of seconds after which a station is considered not connected.\n"
          },
          "assocFrameFlood": {
            "type": "string",
            "description": "Enable/disable association frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "authFloodThresh": {
            "type": "integer",
            "description": "The threshold value for authentication frame flooding.\n"
          },
          "authFloodTime": {
            "type": "integer",
            "description": "Number of seconds after which a station is considered not connected.\n"
          },
          "authFrameFlood": {
            "type": "string",
            "description": "Enable/disable authentication frame flooding detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "deauthBroadcast": {
            "type": "string",
            "description": "Enable/disable broadcasting de-authentication detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "deauthUnknownSrcThresh": {
            "type": "integer",
            "description": "Threshold value per second to deauth unknown src for DoS attack (0: no limit).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "eapolFailFlood": {
            "type": "string",
            "description": "Enable/disable EAPOL-Failure flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolFailIntv": {
            "type": "integer",
            "description": "The detection interval for EAPOL-Failure flooding (1 - 3600 sec).\n"
          },
          "eapolFailThresh": {
            "type": "integer",
            "description": "The threshold value for EAPOL-Failure flooding in specified interval.\n"
          },
          "eapolLogoffFlood": {
            "type": "string",
            "description": "Enable/disable EAPOL-Logoff flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolLogoffIntv": {
            "type": "integer",
            "description": "The detection interval for EAPOL-Logoff flooding (1 - 3600 sec).\n"
          },
          "eapolLogoffThresh": {
            "type": "integer",
            "description": "The threshold value for EAPOL-Logoff flooding in specified interval.\n"
          },
          "eapolPreFailFlood": {
            "type": "string",
            "description": "Enable/disable premature EAPOL-Failure flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolPreFailIntv": {
            "type": "integer",
            "description": "The detection interval for premature EAPOL-Failure flooding (1 - 3600 sec).\n"
          },
          "eapolPreFailThresh": {
            "type": "integer",
            "description": "The threshold value for premature EAPOL-Failure flooding in specified interval.\n"
          },
          "eapolPreSuccFlood": {
            "type": "string",
            "description": "Enable/disable premature EAPOL-Success flooding (to STA) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolPreSuccIntv": {
            "type": "integer",
            "description": "The detection interval for premature EAPOL-Success flooding (1 - 3600 sec).\n"
          },
          "eapolPreSuccThresh": {
            "type": "integer",
            "description": "The threshold value for premature EAPOL-Success flooding in specified interval.\n"
          },
          "eapolStartFlood": {
            "type": "string",
            "description": "Enable/disable EAPOL-Start flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolStartIntv": {
            "type": "integer",
            "description": "The detection interval for EAPOL-Start flooding (1 - 3600 sec).\n"
          },
          "eapolStartThresh": {
            "type": "integer",
            "description": "The threshold value for EAPOL-Start flooding in specified interval.\n"
          },
          "eapolSuccFlood": {
            "type": "string",
            "description": "Enable/disable EAPOL-Success flooding (to AP) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "eapolSuccIntv": {
            "type": "integer",
            "description": "The detection interval for EAPOL-Success flooding (1 - 3600 sec).\n"
          },
          "eapolSuccThresh": {
            "type": "integer",
            "description": "The threshold value for EAPOL-Success flooding in specified interval.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "invalidMacOui": {
            "type": "string",
            "description": "Enable/disable invalid MAC OUI detection. Valid values: `enable`, `disable`.\n"
          },
          "longDurationAttack": {
            "type": "string",
            "description": "Enable/disable long duration attack detection based on user configured threshold (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "longDurationThresh": {
            "type": "integer",
            "description": "Threshold value for long duration attack detection (1000 - 32767 usec, default = 8200).\n"
          },
          "name": {
            "type": "string",
            "description": "WIDS profile name.\n",
            "willReplaceOnChanges": true
          },
          "nullSsidProbeResp": {
            "type": "string",
            "description": "Enable/disable null SSID probe response detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "sensorMode": {
            "type": "string",
            "description": "Scan nearby WiFi stations (default = disable). Valid values: `disable`, `foreign`, `both`.\n"
          },
          "spoofedDeauth": {
            "type": "string",
            "description": "Enable/disable spoofed de-authentication attack detection (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\nThe `ap_scan_channel_list_2g_5g` block supports:\n",
            "willReplaceOnChanges": true
          },
          "weakWepIv": {
            "type": "string",
            "description": "Enable/disable weak WEP IV (Initialization Vector) detection (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "wirelessBridge": {
            "type": "string",
            "description": "Enable/disable wireless bridge detection (default = disable). Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/wtp:Wtp": {
      "description": "Configure Wireless Termination Points (WTPs), that is, FortiAPs or APs to be managed by FortiGate.\n\n## Import\n\nWirelessController Wtp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/wtp:Wtp labelname {{wtp_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:wirelesscontroller/wtp:Wtp labelname {{wtp_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "admin": {
          "type": "string",
          "description": "Configure how the FortiGate operating as a wireless controller discovers and manages this WTP, AP or FortiAP. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
        },
        "apcfgProfile": {
          "type": "string",
          "description": "AP local configuration profile name.\n"
        },
        "bleMajorId": {
          "type": "integer",
          "description": "Override BLE Major ID.\n"
        },
        "bleMinorId": {
          "type": "integer",
          "description": "Override BLE Minor ID.\n"
        },
        "bonjourProfile": {
          "type": "string",
          "description": "Bonjour profile name.\n"
        },
        "coordinateLatitude": {
          "type": "string",
          "description": "WTP latitude coordinate.\n"
        },
        "coordinateLongitude": {
          "type": "string",
          "description": "WTP longitude coordinate.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "firmwareProvision": {
          "type": "string",
          "description": "Firmware version to provision to this FortiAP on bootup (major.minor.build, i.e. 6.2.1234).\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "imageDownload": {
          "type": "string",
          "description": "Enable/disable WTP image download. Valid values: `enable`, `disable`.\n"
        },
        "index": {
          "type": "integer",
          "description": "Index (0 - 4294967295).\n"
        },
        "ipFragmentPreventing": {
          "type": "string",
          "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
        },
        "lan": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpLan:WtpLan",
          "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
        },
        "ledState": {
          "type": "string",
          "description": "Enable to allow the FortiAPs LEDs to light. Disable to keep the LEDs off. You may want to keep the LEDs off so they are not distracting in low light areas etc. Valid values: `enable`, `disable`.\n"
        },
        "location": {
          "type": "string",
          "description": "Field for describing the physical location of the WTP, AP or FortiAP.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
          "secret": true
        },
        "loginPasswdChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "meshBridgeEnable": {
          "type": "string",
          "description": "Enable/disable mesh Ethernet bridge when WTP is configured as a mesh branch/leaf AP. Valid values: `default`, `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "WTP, AP or FortiAP configuration name.\n"
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the WTP profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideIpFragment": {
          "type": "string",
          "description": "Enable/disable overriding the WTP profile IP fragment prevention setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLan": {
          "type": "string",
          "description": "Enable to override the WTP profile LAN port setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLedState": {
          "type": "string",
          "description": "Enable to override the profile LED state setting for this FortiAP. You must enable this option to use the led-state command to turn off the FortiAP's LEDs. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswdChange": {
          "type": "string",
          "description": "Enable to override the WTP profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideSplitTunnel": {
          "type": "string",
          "description": "Enable/disable overriding the WTP profile split tunneling setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideWanPortMode": {
          "type": "string",
          "description": "Enable/disable overriding the wan-port-mode in the WTP profile. Valid values: `enable`, `disable`.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this WTP. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "radio1": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio1:WtpRadio1",
          "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
        },
        "radio2": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio2:WtpRadio2",
          "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
        },
        "radio3": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio3:WtpRadio3",
          "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
        },
        "radio4": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio4:WtpRadio4",
          "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
        },
        "region": {
          "type": "string",
          "description": "Region name WTP is associated with.\n"
        },
        "regionX": {
          "type": "string",
          "description": "Relative horizontal region coordinate (between 0 and 1).\n"
        },
        "regionY": {
          "type": "string",
          "description": "Relative vertical region coordinate (between 0 and 1).\n"
        },
        "splitTunnelingAclLocalApSubnet": {
          "type": "string",
          "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingAclPath": {
          "type": "string",
          "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
        },
        "splitTunnelingAcls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpSplitTunnelingAcl:WtpSplitTunnelingAcl"
          },
          "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
        },
        "tunMtuDownlink": {
          "type": "integer",
          "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "tunMtuUplink": {
          "type": "integer",
          "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\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"
        },
        "wanPortMode": {
          "type": "string",
          "description": "Enable/disable using the FortiAP WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
        },
        "wtpId": {
          "type": "string",
          "description": "WTP ID.\n"
        },
        "wtpMode": {
          "type": "string",
          "description": "WTP, AP, or FortiAP operating mode; normal (by default) or remote. A tunnel mode SSID can be assigned to an AP in normal mode but not remote mode, while a local-bridge mode SSID can be assigned to an AP in either normal mode or remote mode. Valid values: `normal`, `remote`.\n"
        },
        "wtpProfile": {
          "type": "string",
          "description": "WTP profile name to apply to this WTP, AP or FortiAP.\n"
        }
      },
      "type": "object",
      "required": [
        "admin",
        "allowaccess",
        "apcfgProfile",
        "bleMajorId",
        "bleMinorId",
        "bonjourProfile",
        "coordinateLatitude",
        "coordinateLongitude",
        "firmwareProvision",
        "firmwareProvisionLatest",
        "imageDownload",
        "index",
        "ipFragmentPreventing",
        "lan",
        "ledState",
        "location",
        "loginPasswdChange",
        "meshBridgeEnable",
        "name",
        "overrideAllowaccess",
        "overrideIpFragment",
        "overrideLan",
        "overrideLedState",
        "overrideLoginPasswdChange",
        "overrideSplitTunnel",
        "overrideWanPortMode",
        "purdueLevel",
        "radio1",
        "radio2",
        "radio3",
        "radio4",
        "region",
        "regionX",
        "regionY",
        "splitTunnelingAclLocalApSubnet",
        "splitTunnelingAclPath",
        "tunMtuDownlink",
        "tunMtuUplink",
        "uuid",
        "vdomparam",
        "wanPortMode",
        "wtpId",
        "wtpMode",
        "wtpProfile"
      ],
      "inputProperties": {
        "admin": {
          "type": "string",
          "description": "Configure how the FortiGate operating as a wireless controller discovers and manages this WTP, AP or FortiAP. Valid values: `discovered`, `disable`, `enable`.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
        },
        "apcfgProfile": {
          "type": "string",
          "description": "AP local configuration profile name.\n"
        },
        "bleMajorId": {
          "type": "integer",
          "description": "Override BLE Major ID.\n"
        },
        "bleMinorId": {
          "type": "integer",
          "description": "Override BLE Minor ID.\n"
        },
        "bonjourProfile": {
          "type": "string",
          "description": "Bonjour profile name.\n"
        },
        "coordinateLatitude": {
          "type": "string",
          "description": "WTP latitude coordinate.\n"
        },
        "coordinateLongitude": {
          "type": "string",
          "description": "WTP longitude coordinate.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "firmwareProvision": {
          "type": "string",
          "description": "Firmware version to provision to this FortiAP on bootup (major.minor.build, i.e. 6.2.1234).\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "imageDownload": {
          "type": "string",
          "description": "Enable/disable WTP image download. Valid values: `enable`, `disable`.\n"
        },
        "index": {
          "type": "integer",
          "description": "Index (0 - 4294967295).\n"
        },
        "ipFragmentPreventing": {
          "type": "string",
          "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
        },
        "lan": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpLan:WtpLan",
          "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
        },
        "ledState": {
          "type": "string",
          "description": "Enable to allow the FortiAPs LEDs to light. Disable to keep the LEDs off. You may want to keep the LEDs off so they are not distracting in low light areas etc. Valid values: `enable`, `disable`.\n"
        },
        "location": {
          "type": "string",
          "description": "Field for describing the physical location of the WTP, AP or FortiAP.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
          "secret": true
        },
        "loginPasswdChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "meshBridgeEnable": {
          "type": "string",
          "description": "Enable/disable mesh Ethernet bridge when WTP is configured as a mesh branch/leaf AP. Valid values: `default`, `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "WTP, AP or FortiAP configuration name.\n"
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the WTP profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideIpFragment": {
          "type": "string",
          "description": "Enable/disable overriding the WTP profile IP fragment prevention setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLan": {
          "type": "string",
          "description": "Enable to override the WTP profile LAN port setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLedState": {
          "type": "string",
          "description": "Enable to override the profile LED state setting for this FortiAP. You must enable this option to use the led-state command to turn off the FortiAP's LEDs. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswdChange": {
          "type": "string",
          "description": "Enable to override the WTP profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideSplitTunnel": {
          "type": "string",
          "description": "Enable/disable overriding the WTP profile split tunneling setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideWanPortMode": {
          "type": "string",
          "description": "Enable/disable overriding the wan-port-mode in the WTP profile. Valid values: `enable`, `disable`.\n"
        },
        "purdueLevel": {
          "type": "string",
          "description": "Purdue Level of this WTP. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
        },
        "radio1": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio1:WtpRadio1",
          "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
        },
        "radio2": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio2:WtpRadio2",
          "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
        },
        "radio3": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio3:WtpRadio3",
          "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
        },
        "radio4": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio4:WtpRadio4",
          "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
        },
        "region": {
          "type": "string",
          "description": "Region name WTP is associated with.\n"
        },
        "regionX": {
          "type": "string",
          "description": "Relative horizontal region coordinate (between 0 and 1).\n"
        },
        "regionY": {
          "type": "string",
          "description": "Relative vertical region coordinate (between 0 and 1).\n"
        },
        "splitTunnelingAclLocalApSubnet": {
          "type": "string",
          "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingAclPath": {
          "type": "string",
          "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
        },
        "splitTunnelingAcls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpSplitTunnelingAcl:WtpSplitTunnelingAcl"
          },
          "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
        },
        "tunMtuDownlink": {
          "type": "integer",
          "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "tunMtuUplink": {
          "type": "integer",
          "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\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
        },
        "wanPortMode": {
          "type": "string",
          "description": "Enable/disable using the FortiAP WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
        },
        "wtpId": {
          "type": "string",
          "description": "WTP ID.\n",
          "willReplaceOnChanges": true
        },
        "wtpMode": {
          "type": "string",
          "description": "WTP, AP, or FortiAP operating mode; normal (by default) or remote. A tunnel mode SSID can be assigned to an AP in normal mode but not remote mode, while a local-bridge mode SSID can be assigned to an AP in either normal mode or remote mode. Valid values: `normal`, `remote`.\n"
        },
        "wtpProfile": {
          "type": "string",
          "description": "WTP profile name to apply to this WTP, AP or FortiAP.\n"
        }
      },
      "requiredInputs": [
        "wtpProfile"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Wtp resources.\n",
        "properties": {
          "admin": {
            "type": "string",
            "description": "Configure how the FortiGate operating as a wireless controller discovers and manages this WTP, AP or FortiAP. Valid values: `discovered`, `disable`, `enable`.\n"
          },
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
          },
          "apcfgProfile": {
            "type": "string",
            "description": "AP local configuration profile name.\n"
          },
          "bleMajorId": {
            "type": "integer",
            "description": "Override BLE Major ID.\n"
          },
          "bleMinorId": {
            "type": "integer",
            "description": "Override BLE Minor ID.\n"
          },
          "bonjourProfile": {
            "type": "string",
            "description": "Bonjour profile name.\n"
          },
          "coordinateLatitude": {
            "type": "string",
            "description": "WTP latitude coordinate.\n"
          },
          "coordinateLongitude": {
            "type": "string",
            "description": "WTP longitude coordinate.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "firmwareProvision": {
            "type": "string",
            "description": "Firmware version to provision to this FortiAP on bootup (major.minor.build, i.e. 6.2.1234).\n"
          },
          "firmwareProvisionLatest": {
            "type": "string",
            "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "imageDownload": {
            "type": "string",
            "description": "Enable/disable WTP image download. Valid values: `enable`, `disable`.\n"
          },
          "index": {
            "type": "integer",
            "description": "Index (0 - 4294967295).\n"
          },
          "ipFragmentPreventing": {
            "type": "string",
            "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
          },
          "lan": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpLan:WtpLan",
            "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
          },
          "ledState": {
            "type": "string",
            "description": "Enable to allow the FortiAPs LEDs to light. Disable to keep the LEDs off. You may want to keep the LEDs off so they are not distracting in low light areas etc. Valid values: `enable`, `disable`.\n"
          },
          "location": {
            "type": "string",
            "description": "Field for describing the physical location of the WTP, AP or FortiAP.\n"
          },
          "loginPasswd": {
            "type": "string",
            "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
            "secret": true
          },
          "loginPasswdChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "meshBridgeEnable": {
            "type": "string",
            "description": "Enable/disable mesh Ethernet bridge when WTP is configured as a mesh branch/leaf AP. Valid values: `default`, `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "WTP, AP or FortiAP configuration name.\n"
          },
          "overrideAllowaccess": {
            "type": "string",
            "description": "Enable to override the WTP profile management access configuration. Valid values: `enable`, `disable`.\n"
          },
          "overrideIpFragment": {
            "type": "string",
            "description": "Enable/disable overriding the WTP profile IP fragment prevention setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideLan": {
            "type": "string",
            "description": "Enable to override the WTP profile LAN port setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideLedState": {
            "type": "string",
            "description": "Enable to override the profile LED state setting for this FortiAP. You must enable this option to use the led-state command to turn off the FortiAP's LEDs. Valid values: `enable`, `disable`.\n"
          },
          "overrideLoginPasswdChange": {
            "type": "string",
            "description": "Enable to override the WTP profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideSplitTunnel": {
            "type": "string",
            "description": "Enable/disable overriding the WTP profile split tunneling setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideWanPortMode": {
            "type": "string",
            "description": "Enable/disable overriding the wan-port-mode in the WTP profile. Valid values: `enable`, `disable`.\n"
          },
          "purdueLevel": {
            "type": "string",
            "description": "Purdue Level of this WTP. Valid values: `1`, `1.5`, `2`, `2.5`, `3`, `3.5`, `4`, `5`, `5.5`.\n"
          },
          "radio1": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio1:WtpRadio1",
            "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
          },
          "radio2": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio2:WtpRadio2",
            "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
          },
          "radio3": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio3:WtpRadio3",
            "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
          },
          "radio4": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio4:WtpRadio4",
            "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
          },
          "region": {
            "type": "string",
            "description": "Region name WTP is associated with.\n"
          },
          "regionX": {
            "type": "string",
            "description": "Relative horizontal region coordinate (between 0 and 1).\n"
          },
          "regionY": {
            "type": "string",
            "description": "Relative vertical region coordinate (between 0 and 1).\n"
          },
          "splitTunnelingAclLocalApSubnet": {
            "type": "string",
            "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "splitTunnelingAclPath": {
            "type": "string",
            "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
          },
          "splitTunnelingAcls": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWtpSplitTunnelingAcl:WtpSplitTunnelingAcl"
            },
            "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
          },
          "tunMtuDownlink": {
            "type": "integer",
            "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
          },
          "tunMtuUplink": {
            "type": "integer",
            "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\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
          },
          "wanPortMode": {
            "type": "string",
            "description": "Enable/disable using the FortiAP WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
          },
          "wtpId": {
            "type": "string",
            "description": "WTP ID.\n",
            "willReplaceOnChanges": true
          },
          "wtpMode": {
            "type": "string",
            "description": "WTP, AP, or FortiAP operating mode; normal (by default) or remote. A tunnel mode SSID can be assigned to an AP in normal mode but not remote mode, while a local-bridge mode SSID can be assigned to an AP in either normal mode or remote mode. Valid values: `normal`, `remote`.\n"
          },
          "wtpProfile": {
            "type": "string",
            "description": "WTP profile name to apply to this WTP, AP or FortiAP.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/wtpgroup:Wtpgroup": {
      "description": "Configure WTP groups.\n\n## Import\n\nWirelessController WtpGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/wtpgroup:Wtpgroup 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:wirelesscontroller/wtpgroup:Wtpgroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bleMajorId": {
          "type": "integer",
          "description": "Override BLE Major 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "WTP group name.\n"
        },
        "platformType": {
          "type": "string",
          "description": "FortiAP models to define the WTP group platform 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"
        },
        "wtps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpgroupWtp:WtpgroupWtp"
          },
          "description": "WTP list. The structure of `wtps` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "bleMajorId",
        "name",
        "platformType",
        "vdomparam"
      ],
      "inputProperties": {
        "bleMajorId": {
          "type": "integer",
          "description": "Override BLE Major 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"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "WTP group name.\n",
          "willReplaceOnChanges": true
        },
        "platformType": {
          "type": "string",
          "description": "FortiAP models to define the WTP group platform 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
        },
        "wtps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpgroupWtp:WtpgroupWtp"
          },
          "description": "WTP list. The structure of `wtps` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Wtpgroup resources.\n",
        "properties": {
          "bleMajorId": {
            "type": "integer",
            "description": "Override BLE Major 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"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, 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": "WTP group name.\n",
            "willReplaceOnChanges": true
          },
          "platformType": {
            "type": "string",
            "description": "FortiAP models to define the WTP group platform 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
          },
          "wtps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWtpgroupWtp:WtpgroupWtp"
            },
            "description": "WTP list. The structure of `wtps` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:wirelesscontroller/wtpprofile:Wtpprofile": {
      "description": "Configure WTP profiles or FortiAP profiles that define radio settings for manageable FortiAP platforms.\n\n## Import\n\nWirelessController WtpProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:wirelesscontroller/wtpprofile:Wtpprofile 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:wirelesscontroller/wtpprofile:Wtpprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
        },
        "apCountry": {
          "type": "string",
          "description": "Country in which this WTP, FortiAP or AP will operate (default = NA, automatically use the country configured for the current VDOM).\n"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apcfgProfile": {
          "type": "string",
          "description": "AP local configuration profile name.\n"
        },
        "bleProfile": {
          "type": "string",
          "description": "Bluetooth Low Energy profile name.\n"
        },
        "bonjourProfile": {
          "type": "string",
          "description": "Bonjour profile name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "consoleLogin": {
          "type": "string",
          "description": "Enable/disable FortiAP console login access (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "controlMessageOffload": {
          "type": "string",
          "description": "Enable/disable CAPWAP control message data channel offload.\n"
        },
        "denyMacLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileDenyMacList:WtpprofileDenyMacList"
          },
          "description": "List of MAC addresses that are denied access to this WTP, FortiAP, or AP. The structure of `deny_mac_list` block is documented below.\n"
        },
        "dtlsInKernel": {
          "type": "string",
          "description": "Enable/disable data channel DTLS in kernel. Valid values: `enable`, `disable`.\n"
        },
        "dtlsPolicy": {
          "type": "string",
          "description": "WTP data channel DTLS policy (default = clear-text).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "energyEfficientEthernet": {
          "type": "string",
          "description": "Enable/disable use of energy efficient Ethernet on WTP. Valid values: `enable`, `disable`.\n"
        },
        "eslSesDongle": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileEslSesDongle:WtpprofileEslSesDongle",
          "description": "ESL SES-imagotag dongle configuration. The structure of `esl_ses_dongle` block is documented below.\n"
        },
        "extInfoEnable": {
          "type": "string",
          "description": "Enable/disable station/VAP/radio extension information. Valid values: `enable`, `disable`.\n"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (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"
        },
        "handoffRoaming": {
          "type": "string",
          "description": "Enable/disable client load balancing during roaming to avoid roaming delay (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "handoffRssi": {
          "type": "integer",
          "description": "Minimum received signal strength indicator (RSSI) value for handoff (20 - 30, default = 25).\n"
        },
        "handoffStaThresh": {
          "type": "integer",
          "description": "Threshold value for AP handoff.\n"
        },
        "indoorOutdoorDeployment": {
          "type": "string",
          "description": "Set to allow indoor/outdoor-only channels under regulatory rules (default = platform-determined). Valid values: `platform-determined`, `outdoor`, `indoor`.\n"
        },
        "ipFragmentPreventing": {
          "type": "string",
          "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
        },
        "lan": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLan:WtpprofileLan",
          "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
        },
        "lbs": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLbs:WtpprofileLbs",
          "description": "Set various location based service (LBS) options. The structure of `lbs` block is documented below.\n"
        },
        "ledSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLedSchedule:WtpprofileLedSchedule"
          },
          "description": "Recurring firewall schedules for illuminating LEDs on the FortiAP. If led-state is enabled, LEDs will be visible when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `led_schedules` block is documented below.\n"
        },
        "ledState": {
          "type": "string",
          "description": "Enable/disable use of LEDs on WTP (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "lldp": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) for the WTP, FortiAP, or AP. On FortiOS versions 6.2.0: default = disable. On FortiOS versions >= 6.2.4: default = enable. Valid values: `enable`, `disable`.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
          "secret": true
        },
        "loginPasswdChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "name": {
          "type": "string",
          "description": "WTP (or FortiAP or AP) profile name.\n"
        },
        "platform": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofilePlatform:WtpprofilePlatform",
          "description": "WTP, FortiAP, or AP platform. The structure of `platform` block is documented below.\n"
        },
        "poeMode": {
          "type": "string",
          "description": "Set the WTP, FortiAP, or AP's PoE mode.\n"
        },
        "radio1": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio1:WtpprofileRadio1",
          "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
        },
        "radio2": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio2:WtpprofileRadio2",
          "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
        },
        "radio3": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio3:WtpprofileRadio3",
          "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
        },
        "radio4": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio4:WtpprofileRadio4",
          "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
        },
        "splitTunnelingAclLocalApSubnet": {
          "type": "string",
          "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingAclPath": {
          "type": "string",
          "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
        },
        "splitTunnelingAcls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileSplitTunnelingAcl:WtpprofileSplitTunnelingAcl"
          },
          "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
        },
        "syslogProfile": {
          "type": "string",
          "description": "System log server configuration profile name.\n"
        },
        "tunMtuDownlink": {
          "type": "integer",
          "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "tunMtuUplink": {
          "type": "integer",
          "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "unii45ghzBand": {
          "type": "string",
          "description": "Enable/disable UNII-4 5Ghz band channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "usbPort": {
          "type": "string",
          "description": "Enable/disable USB port of the WTP (default = enable). 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"
        },
        "wanPortAuth": {
          "type": "string",
          "description": "Set WAN port authentication mode (default = none). Valid values: `none`, `802.1x`.\n"
        },
        "wanPortAuthMacsec": {
          "type": "string",
          "description": "Enable/disable WAN port 802.1x supplicant MACsec policy (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "wanPortAuthMethods": {
          "type": "string",
          "description": "WAN port 802.1x supplicant EAP methods (default = all). Valid values: `all`, `EAP-FAST`, `EAP-TLS`, `EAP-PEAP`.\n"
        },
        "wanPortAuthPassword": {
          "type": "string",
          "description": "Set WAN port 802.1x supplicant password.\n"
        },
        "wanPortAuthUsrname": {
          "type": "string",
          "description": "Set WAN port 802.1x supplicant user name.\n"
        },
        "wanPortMode": {
          "type": "string",
          "description": "Enable/disable using a WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "apCountry",
        "apHandoff",
        "apcfgProfile",
        "bleProfile",
        "bonjourProfile",
        "consoleLogin",
        "controlMessageOffload",
        "dtlsInKernel",
        "dtlsPolicy",
        "energyEfficientEthernet",
        "eslSesDongle",
        "extInfoEnable",
        "frequencyHandoff",
        "handoffRoaming",
        "handoffRssi",
        "handoffStaThresh",
        "indoorOutdoorDeployment",
        "ipFragmentPreventing",
        "lan",
        "lbs",
        "ledState",
        "lldp",
        "loginPasswdChange",
        "maxClients",
        "name",
        "platform",
        "poeMode",
        "radio1",
        "radio2",
        "radio3",
        "radio4",
        "splitTunnelingAclLocalApSubnet",
        "splitTunnelingAclPath",
        "syslogProfile",
        "tunMtuDownlink",
        "tunMtuUplink",
        "unii45ghzBand",
        "usbPort",
        "vdomparam",
        "wanPortAuth",
        "wanPortAuthMacsec",
        "wanPortAuthMethods",
        "wanPortAuthUsrname",
        "wanPortMode"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
        },
        "apCountry": {
          "type": "string",
          "description": "Country in which this WTP, FortiAP or AP will operate (default = NA, automatically use the country configured for the current VDOM).\n"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apcfgProfile": {
          "type": "string",
          "description": "AP local configuration profile name.\n"
        },
        "bleProfile": {
          "type": "string",
          "description": "Bluetooth Low Energy profile name.\n"
        },
        "bonjourProfile": {
          "type": "string",
          "description": "Bonjour profile name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "consoleLogin": {
          "type": "string",
          "description": "Enable/disable FortiAP console login access (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "controlMessageOffload": {
          "type": "string",
          "description": "Enable/disable CAPWAP control message data channel offload.\n"
        },
        "denyMacLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileDenyMacList:WtpprofileDenyMacList"
          },
          "description": "List of MAC addresses that are denied access to this WTP, FortiAP, or AP. The structure of `deny_mac_list` block is documented below.\n"
        },
        "dtlsInKernel": {
          "type": "string",
          "description": "Enable/disable data channel DTLS in kernel. Valid values: `enable`, `disable`.\n"
        },
        "dtlsPolicy": {
          "type": "string",
          "description": "WTP data channel DTLS policy (default = clear-text).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "energyEfficientEthernet": {
          "type": "string",
          "description": "Enable/disable use of energy efficient Ethernet on WTP. Valid values: `enable`, `disable`.\n"
        },
        "eslSesDongle": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileEslSesDongle:WtpprofileEslSesDongle",
          "description": "ESL SES-imagotag dongle configuration. The structure of `esl_ses_dongle` block is documented below.\n"
        },
        "extInfoEnable": {
          "type": "string",
          "description": "Enable/disable station/VAP/radio extension information. Valid values: `enable`, `disable`.\n"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (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"
        },
        "handoffRoaming": {
          "type": "string",
          "description": "Enable/disable client load balancing during roaming to avoid roaming delay (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "handoffRssi": {
          "type": "integer",
          "description": "Minimum received signal strength indicator (RSSI) value for handoff (20 - 30, default = 25).\n"
        },
        "handoffStaThresh": {
          "type": "integer",
          "description": "Threshold value for AP handoff.\n"
        },
        "indoorOutdoorDeployment": {
          "type": "string",
          "description": "Set to allow indoor/outdoor-only channels under regulatory rules (default = platform-determined). Valid values: `platform-determined`, `outdoor`, `indoor`.\n"
        },
        "ipFragmentPreventing": {
          "type": "string",
          "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
        },
        "lan": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLan:WtpprofileLan",
          "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
        },
        "lbs": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLbs:WtpprofileLbs",
          "description": "Set various location based service (LBS) options. The structure of `lbs` block is documented below.\n"
        },
        "ledSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLedSchedule:WtpprofileLedSchedule"
          },
          "description": "Recurring firewall schedules for illuminating LEDs on the FortiAP. If led-state is enabled, LEDs will be visible when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `led_schedules` block is documented below.\n"
        },
        "ledState": {
          "type": "string",
          "description": "Enable/disable use of LEDs on WTP (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "lldp": {
          "type": "string",
          "description": "Enable/disable Link Layer Discovery Protocol (LLDP) for the WTP, FortiAP, or AP. On FortiOS versions 6.2.0: default = disable. On FortiOS versions >= 6.2.4: default = enable. Valid values: `enable`, `disable`.\n"
        },
        "loginPasswd": {
          "type": "string",
          "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
          "secret": true
        },
        "loginPasswdChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "name": {
          "type": "string",
          "description": "WTP (or FortiAP or AP) profile name.\n",
          "willReplaceOnChanges": true
        },
        "platform": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofilePlatform:WtpprofilePlatform",
          "description": "WTP, FortiAP, or AP platform. The structure of `platform` block is documented below.\n"
        },
        "poeMode": {
          "type": "string",
          "description": "Set the WTP, FortiAP, or AP's PoE mode.\n"
        },
        "radio1": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio1:WtpprofileRadio1",
          "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
        },
        "radio2": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio2:WtpprofileRadio2",
          "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
        },
        "radio3": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio3:WtpprofileRadio3",
          "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
        },
        "radio4": {
          "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio4:WtpprofileRadio4",
          "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
        },
        "splitTunnelingAclLocalApSubnet": {
          "type": "string",
          "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "splitTunnelingAclPath": {
          "type": "string",
          "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
        },
        "splitTunnelingAcls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileSplitTunnelingAcl:WtpprofileSplitTunnelingAcl"
          },
          "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
        },
        "syslogProfile": {
          "type": "string",
          "description": "System log server configuration profile name.\n"
        },
        "tunMtuDownlink": {
          "type": "integer",
          "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "tunMtuUplink": {
          "type": "integer",
          "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
        },
        "unii45ghzBand": {
          "type": "string",
          "description": "Enable/disable UNII-4 5Ghz band channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "usbPort": {
          "type": "string",
          "description": "Enable/disable USB port of the WTP (default = enable). 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
        },
        "wanPortAuth": {
          "type": "string",
          "description": "Set WAN port authentication mode (default = none). Valid values: `none`, `802.1x`.\n"
        },
        "wanPortAuthMacsec": {
          "type": "string",
          "description": "Enable/disable WAN port 802.1x supplicant MACsec policy (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "wanPortAuthMethods": {
          "type": "string",
          "description": "WAN port 802.1x supplicant EAP methods (default = all). Valid values: `all`, `EAP-FAST`, `EAP-TLS`, `EAP-PEAP`.\n"
        },
        "wanPortAuthPassword": {
          "type": "string",
          "description": "Set WAN port 802.1x supplicant password.\n"
        },
        "wanPortAuthUsrname": {
          "type": "string",
          "description": "Set WAN port 802.1x supplicant user name.\n"
        },
        "wanPortMode": {
          "type": "string",
          "description": "Enable/disable using a WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Wtpprofile resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed WTP, FortiAP, or AP. Separate entries with a space.\n"
          },
          "apCountry": {
            "type": "string",
            "description": "Country in which this WTP, FortiAP or AP will operate (default = NA, automatically use the country configured for the current VDOM).\n"
          },
          "apHandoff": {
            "type": "string",
            "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "apcfgProfile": {
            "type": "string",
            "description": "AP local configuration profile name.\n"
          },
          "bleProfile": {
            "type": "string",
            "description": "Bluetooth Low Energy profile name.\n"
          },
          "bonjourProfile": {
            "type": "string",
            "description": "Bonjour profile name.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "consoleLogin": {
            "type": "string",
            "description": "Enable/disable FortiAP console login access (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "controlMessageOffload": {
            "type": "string",
            "description": "Enable/disable CAPWAP control message data channel offload.\n"
          },
          "denyMacLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileDenyMacList:WtpprofileDenyMacList"
            },
            "description": "List of MAC addresses that are denied access to this WTP, FortiAP, or AP. The structure of `deny_mac_list` block is documented below.\n"
          },
          "dtlsInKernel": {
            "type": "string",
            "description": "Enable/disable data channel DTLS in kernel. Valid values: `enable`, `disable`.\n"
          },
          "dtlsPolicy": {
            "type": "string",
            "description": "WTP data channel DTLS policy (default = clear-text).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "energyEfficientEthernet": {
            "type": "string",
            "description": "Enable/disable use of energy efficient Ethernet on WTP. Valid values: `enable`, `disable`.\n"
          },
          "eslSesDongle": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileEslSesDongle:WtpprofileEslSesDongle",
            "description": "ESL SES-imagotag dongle configuration. The structure of `esl_ses_dongle` block is documented below.\n"
          },
          "extInfoEnable": {
            "type": "string",
            "description": "Enable/disable station/VAP/radio extension information. Valid values: `enable`, `disable`.\n"
          },
          "frequencyHandoff": {
            "type": "string",
            "description": "Enable/disable frequency handoff of clients to other channels (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"
          },
          "handoffRoaming": {
            "type": "string",
            "description": "Enable/disable client load balancing during roaming to avoid roaming delay (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "handoffRssi": {
            "type": "integer",
            "description": "Minimum received signal strength indicator (RSSI) value for handoff (20 - 30, default = 25).\n"
          },
          "handoffStaThresh": {
            "type": "integer",
            "description": "Threshold value for AP handoff.\n"
          },
          "indoorOutdoorDeployment": {
            "type": "string",
            "description": "Set to allow indoor/outdoor-only channels under regulatory rules (default = platform-determined). Valid values: `platform-determined`, `outdoor`, `indoor`.\n"
          },
          "ipFragmentPreventing": {
            "type": "string",
            "description": "Method(s) by which IP fragmentation is prevented for control and data packets through CAPWAP tunnel (default = tcp-mss-adjust). Valid values: `tcp-mss-adjust`, `icmp-unreachable`.\n"
          },
          "lan": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLan:WtpprofileLan",
            "description": "WTP LAN port mapping. The structure of `lan` block is documented below.\n"
          },
          "lbs": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLbs:WtpprofileLbs",
            "description": "Set various location based service (LBS) options. The structure of `lbs` block is documented below.\n"
          },
          "ledSchedules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileLedSchedule:WtpprofileLedSchedule"
            },
            "description": "Recurring firewall schedules for illuminating LEDs on the FortiAP. If led-state is enabled, LEDs will be visible when at least one of the schedules is valid. Separate multiple schedule names with a space. The structure of `led_schedules` block is documented below.\n"
          },
          "ledState": {
            "type": "string",
            "description": "Enable/disable use of LEDs on WTP (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "lldp": {
            "type": "string",
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) for the WTP, FortiAP, or AP. On FortiOS versions 6.2.0: default = disable. On FortiOS versions >= 6.2.4: default = enable. Valid values: `enable`, `disable`.\n"
          },
          "loginPasswd": {
            "type": "string",
            "description": "Set the managed WTP, FortiAP, or AP's administrator password.\n",
            "secret": true
          },
          "loginPasswdChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed WTP, FortiAP or AP (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "maxClients": {
            "type": "integer",
            "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
          },
          "name": {
            "type": "string",
            "description": "WTP (or FortiAP or AP) profile name.\n",
            "willReplaceOnChanges": true
          },
          "platform": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofilePlatform:WtpprofilePlatform",
            "description": "WTP, FortiAP, or AP platform. The structure of `platform` block is documented below.\n"
          },
          "poeMode": {
            "type": "string",
            "description": "Set the WTP, FortiAP, or AP's PoE mode.\n"
          },
          "radio1": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio1:WtpprofileRadio1",
            "description": "Configuration options for radio 1. The structure of `radio_1` block is documented below.\n"
          },
          "radio2": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio2:WtpprofileRadio2",
            "description": "Configuration options for radio 2. The structure of `radio_2` block is documented below.\n"
          },
          "radio3": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio3:WtpprofileRadio3",
            "description": "Configuration options for radio 3. The structure of `radio_3` block is documented below.\n"
          },
          "radio4": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio4:WtpprofileRadio4",
            "description": "Configuration options for radio 4. The structure of `radio_4` block is documented below.\n"
          },
          "splitTunnelingAclLocalApSubnet": {
            "type": "string",
            "description": "Enable/disable automatically adding local subnetwork of FortiAP to split-tunneling ACL (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "splitTunnelingAclPath": {
            "type": "string",
            "description": "Split tunneling ACL path is local/tunnel. Valid values: `tunnel`, `local`.\n"
          },
          "splitTunnelingAcls": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileSplitTunnelingAcl:WtpprofileSplitTunnelingAcl"
            },
            "description": "Split tunneling ACL filter list. The structure of `split_tunneling_acl` block is documented below.\n"
          },
          "syslogProfile": {
            "type": "string",
            "description": "System log server configuration profile name.\n"
          },
          "tunMtuDownlink": {
            "type": "integer",
            "description": "The MTU of downlink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
          },
          "tunMtuUplink": {
            "type": "integer",
            "description": "The maximum transmission unit (MTU) of uplink CAPWAP tunnel (576 - 1500 bytes or 0; 0 means the local MTU of FortiAP; default = 0).\n"
          },
          "unii45ghzBand": {
            "type": "string",
            "description": "Enable/disable UNII-4 5Ghz band channels (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "usbPort": {
            "type": "string",
            "description": "Enable/disable USB port of the WTP (default = enable). 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
          },
          "wanPortAuth": {
            "type": "string",
            "description": "Set WAN port authentication mode (default = none). Valid values: `none`, `802.1x`.\n"
          },
          "wanPortAuthMacsec": {
            "type": "string",
            "description": "Enable/disable WAN port 802.1x supplicant MACsec policy (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "wanPortAuthMethods": {
            "type": "string",
            "description": "WAN port 802.1x supplicant EAP methods (default = all). Valid values: `all`, `EAP-FAST`, `EAP-TLS`, `EAP-PEAP`.\n"
          },
          "wanPortAuthPassword": {
            "type": "string",
            "description": "Set WAN port 802.1x supplicant password.\n"
          },
          "wanPortAuthUsrname": {
            "type": "string",
            "description": "Set WAN port 802.1x supplicant user name.\n"
          },
          "wanPortMode": {
            "type": "string",
            "description": "Enable/disable using a WAN port as a LAN port. Valid values: `wan-lan`, `wan-only`.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "fortios:firewall/consolidated/getPolicy:getPolicy": {
      "description": "Use this data source to get information on an fortios firewallconsolidated policy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewallconsolidated policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy.\n",
        "properties": {
          "action": {
            "description": "Policy action (allow/deny/ipsec).\n",
            "type": "string"
          },
          "appCategories": {
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyAppCategory:getPolicyAppCategory"
            },
            "type": "array"
          },
          "appGroups": {
            "description": "Application group names. The structure of `app_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyAppGroup:getPolicyAppGroup"
            },
            "type": "array"
          },
          "applicationList": {
            "description": "Name of an existing Application list.\n",
            "type": "string"
          },
          "applications": {
            "description": "Application ID list. The structure of `application` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyApplication:getPolicyApplication"
            },
            "type": "array"
          },
          "autoAsicOffload": {
            "description": "Enable/disable policy traffic ASIC offloading.\n",
            "type": "string"
          },
          "avProfile": {
            "description": "Name of an existing Antivirus profile.\n",
            "type": "string"
          },
          "captivePortalExempt": {
            "description": "Enable exemption of some users from the captive portal.\n",
            "type": "string"
          },
          "cifsProfile": {
            "description": "Name of an existing CIFS profile.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "diffservForward": {
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value.\n",
            "type": "string"
          },
          "diffservReverse": {
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.\n",
            "type": "string"
          },
          "diffservcodeForward": {
            "description": "Change packet's DiffServ to this value.\n",
            "type": "string"
          },
          "diffservcodeRev": {
            "description": "Change packet's reverse (reply) DiffServ to this value.\n",
            "type": "string"
          },
          "dlpSensor": {
            "description": "Name of an existing DLP sensor.\n",
            "type": "string"
          },
          "dnsfilterProfile": {
            "description": "Name of an existing DNS filter profile.\n",
            "type": "string"
          },
          "dstaddr4s": {
            "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyDstaddr4:getPolicyDstaddr4"
            },
            "type": "array"
          },
          "dstaddr6s": {
            "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyDstaddr6:getPolicyDstaddr6"
            },
            "type": "array"
          },
          "dstaddrNegate": {
            "description": "When enabled dstaddr specifies what the destination address must NOT be.\n",
            "type": "string"
          },
          "dstintfs": {
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyDstintf:getPolicyDstintf"
            },
            "type": "array"
          },
          "emailfilterProfile": {
            "description": "Name of an existing email filter profile.\n",
            "type": "string"
          },
          "fixedport": {
            "description": "Enable to prevent source NAT from changing a session's source port.\n",
            "type": "string"
          },
          "fssoGroups": {
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyFssoGroup:getPolicyFssoGroup"
            },
            "type": "array"
          },
          "groups": {
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyGroup:getPolicyGroup"
            },
            "type": "array"
          },
          "httpPolicyRedirect": {
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy.\n",
            "type": "string"
          },
          "icapProfile": {
            "description": "Name of an existing ICAP profile.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inbound": {
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN.\n",
            "type": "string"
          },
          "inspectionMode": {
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode.\n",
            "type": "string"
          },
          "internetService": {
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.\n",
            "type": "string"
          },
          "internetServiceCustomGroups": {
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceCustomGroup:getPolicyInternetServiceCustomGroup"
            },
            "type": "array"
          },
          "internetServiceCustoms": {
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceCustom:getPolicyInternetServiceCustom"
            },
            "type": "array"
          },
          "internetServiceGroups": {
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceGroup:getPolicyInternetServiceGroup"
            },
            "type": "array"
          },
          "internetServiceIds": {
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceId:getPolicyInternetServiceId"
            },
            "type": "array"
          },
          "internetServiceNames": {
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceName:getPolicyInternetServiceName"
            },
            "type": "array"
          },
          "internetServiceNegate": {
            "description": "When enabled internet-service specifies what the service must NOT be.\n",
            "type": "string"
          },
          "internetServiceSrc": {
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.\n",
            "type": "string"
          },
          "internetServiceSrcCustomGroups": {
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceSrcCustomGroup:getPolicyInternetServiceSrcCustomGroup"
            },
            "type": "array"
          },
          "internetServiceSrcCustoms": {
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceSrcCustom:getPolicyInternetServiceSrcCustom"
            },
            "type": "array"
          },
          "internetServiceSrcGroups": {
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceSrcGroup:getPolicyInternetServiceSrcGroup"
            },
            "type": "array"
          },
          "internetServiceSrcIds": {
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceSrcId:getPolicyInternetServiceSrcId"
            },
            "type": "array"
          },
          "internetServiceSrcNames": {
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyInternetServiceSrcName:getPolicyInternetServiceSrcName"
            },
            "type": "array"
          },
          "internetServiceSrcNegate": {
            "description": "When enabled internet-service-src specifies what the service must NOT be.\n",
            "type": "string"
          },
          "ippool": {
            "description": "Enable to use IP Pools for source NAT.\n",
            "type": "string"
          },
          "ipsSensor": {
            "description": "Name of an existing IPS sensor.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable or disable logging. Log all sessions or security profile sessions.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Record logs when a session starts.\n",
            "type": "string"
          },
          "name": {
            "description": "Application group names.\n",
            "type": "string"
          },
          "nat": {
            "description": "Enable/disable source NAT.\n",
            "type": "string"
          },
          "outbound": {
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN.\n",
            "type": "string"
          },
          "perIpShaper": {
            "description": "Per-IP traffic shaper.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolname4s": {
            "description": "IPv4 pool names. The structure of `poolname4` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyPoolname4:getPolicyPoolname4"
            },
            "type": "array"
          },
          "poolname6s": {
            "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyPoolname6:getPolicyPoolname6"
            },
            "type": "array"
          },
          "profileGroup": {
            "description": "Name of profile group.\n",
            "type": "string"
          },
          "profileProtocolOptions": {
            "description": "Name of an existing Protocol options profile.\n",
            "type": "string"
          },
          "profileType": {
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only.\n",
            "type": "string"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "serviceNegate": {
            "description": "When enabled service specifies what the service must NOT be.\n",
            "type": "string"
          },
          "services": {
            "description": "Service and service group names. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyService:getPolicyService"
            },
            "type": "array"
          },
          "sessionTtl": {
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n",
            "type": "integer"
          },
          "spamfilterProfile": {
            "description": "Name of an existing Spam filter profile.\n",
            "type": "string"
          },
          "srcaddr4s": {
            "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicySrcaddr4:getPolicySrcaddr4"
            },
            "type": "array"
          },
          "srcaddr6s": {
            "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicySrcaddr6:getPolicySrcaddr6"
            },
            "type": "array"
          },
          "srcaddrNegate": {
            "description": "When enabled srcaddr specifies what the source address must NOT be.\n",
            "type": "string"
          },
          "srcintfs": {
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicySrcintf:getPolicySrcintf"
            },
            "type": "array"
          },
          "sshFilterProfile": {
            "description": "Name of an existing SSH filter profile.\n",
            "type": "string"
          },
          "sshPolicyRedirect": {
            "description": "Redirect SSH traffic to matching transparent proxy policy.\n",
            "type": "string"
          },
          "sslSshProfile": {
            "description": "Name of an existing SSL SSH profile.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable or disable this policy.\n",
            "type": "string"
          },
          "tcpMssReceiver": {
            "description": "Receiver TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "tcpMssSender": {
            "description": "Sender TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "trafficShaper": {
            "description": "Traffic shaper.\n",
            "type": "string"
          },
          "trafficShaperReverse": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "urlCategories": {
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyUrlCategory:getPolicyUrlCategory"
            },
            "type": "array"
          },
          "users": {
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FgetPolicyUser:getPolicyUser"
            },
            "type": "array"
          },
          "utmStatus": {
            "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "voipProfile": {
            "description": "Name of an existing VoIP profile.\n",
            "type": "string"
          },
          "vpntunnel": {
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n",
            "type": "string"
          },
          "wafProfile": {
            "description": "Name of an existing Web application firewall profile.\n",
            "type": "string"
          },
          "wanopt": {
            "description": "Enable/disable WAN optimization.\n",
            "type": "string"
          },
          "wanoptDetection": {
            "description": "WAN optimization auto-detection mode.\n",
            "type": "string"
          },
          "wanoptPassiveOpt": {
            "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect to server.\n",
            "type": "string"
          },
          "wanoptPeer": {
            "description": "WAN optimization peer.\n",
            "type": "string"
          },
          "wanoptProfile": {
            "description": "WAN optimization profile.\n",
            "type": "string"
          },
          "webcache": {
            "description": "Enable/disable web cache.\n",
            "type": "string"
          },
          "webcacheHttps": {
            "description": "Enable/disable web cache for HTTPS.\n",
            "type": "string"
          },
          "webfilterProfile": {
            "description": "Name of an existing Web filter profile.\n",
            "type": "string"
          },
          "webproxyForwardServer": {
            "description": "Webproxy forward server name.\n",
            "type": "string"
          },
          "webproxyProfile": {
            "description": "Webproxy profile name.\n",
            "type": "string"
          }
        },
        "required": [
          "action",
          "appCategories",
          "appGroups",
          "applicationList",
          "applications",
          "autoAsicOffload",
          "avProfile",
          "captivePortalExempt",
          "cifsProfile",
          "comments",
          "diffservForward",
          "diffservReverse",
          "diffservcodeForward",
          "diffservcodeRev",
          "dlpSensor",
          "dnsfilterProfile",
          "dstaddr4s",
          "dstaddr6s",
          "dstaddrNegate",
          "dstintfs",
          "emailfilterProfile",
          "fixedport",
          "fssoGroups",
          "groups",
          "httpPolicyRedirect",
          "icapProfile",
          "id",
          "inbound",
          "inspectionMode",
          "internetService",
          "internetServiceCustomGroups",
          "internetServiceCustoms",
          "internetServiceGroups",
          "internetServiceIds",
          "internetServiceNames",
          "internetServiceNegate",
          "internetServiceSrc",
          "internetServiceSrcCustomGroups",
          "internetServiceSrcCustoms",
          "internetServiceSrcGroups",
          "internetServiceSrcIds",
          "internetServiceSrcNames",
          "internetServiceSrcNegate",
          "ippool",
          "ipsSensor",
          "logtraffic",
          "logtrafficStart",
          "name",
          "nat",
          "outbound",
          "perIpShaper",
          "policyid",
          "poolname4s",
          "poolname6s",
          "profileGroup",
          "profileProtocolOptions",
          "profileType",
          "schedule",
          "serviceNegate",
          "services",
          "sessionTtl",
          "spamfilterProfile",
          "srcaddr4s",
          "srcaddr6s",
          "srcaddrNegate",
          "srcintfs",
          "sshFilterProfile",
          "sshPolicyRedirect",
          "sslSshProfile",
          "status",
          "tcpMssReceiver",
          "tcpMssSender",
          "trafficShaper",
          "trafficShaperReverse",
          "urlCategories",
          "users",
          "utmStatus",
          "uuid",
          "voipProfile",
          "vpntunnel",
          "wafProfile",
          "wanopt",
          "wanoptDetection",
          "wanoptPassiveOpt",
          "wanoptPeer",
          "wanoptProfile",
          "webcache",
          "webcacheHttps",
          "webfilterProfile",
          "webproxyForwardServer",
          "webproxyProfile"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/consolidated/getPolicylist:getPolicylist": {
      "description": "Provides a list of `fortios.firewall/consolidated.Policy`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall/consolidated.Policy`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddress6:getAddress6": {
      "description": "Use this data source to get information on an fortios firewall address6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddress6.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall address6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAddress6.\n",
        "properties": {
          "cacheTtl": {
            "description": "Minimal TTL of individual IPv6 addresses in FQDN cache.\n",
            "type": "integer"
          },
          "color": {
            "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",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "country": {
            "description": "IPv6 addresses associated to a specific country.\n",
            "type": "string"
          },
          "endIp": {
            "description": "Final IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n",
            "type": "string"
          },
          "endMac": {
            "description": "Last MAC address in the range.\n",
            "type": "string"
          },
          "epgName": {
            "description": "Endpoint group name.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "fqdn": {
            "description": "Fully qualified domain name.\n",
            "type": "string"
          },
          "host": {
            "description": "Host Address.\n",
            "type": "string"
          },
          "hostType": {
            "description": "Host type.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip6": {
            "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n",
            "type": "string"
          },
          "lists": {
            "description": "IP address list. The structure of `list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddress6List:getAddress6List"
            },
            "type": "array"
          },
          "macaddrs": {
            "description": "MAC address ranges \u003cstart\u003e[-\u003cend\u003e] separated by space.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddress6Macaddr:getAddress6Macaddr"
            },
            "type": "array"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "objId": {
            "description": "Object ID for NSX.\n",
            "type": "string"
          },
          "routeTag": {
            "description": "route-tag address.\n",
            "type": "integer"
          },
          "sdn": {
            "description": "SDN.\n",
            "type": "string"
          },
          "sdnTag": {
            "description": "SDN Tag.\n",
            "type": "string"
          },
          "startIp": {
            "description": "First IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n",
            "type": "string"
          },
          "startMac": {
            "description": "First MAC address in the range.\n",
            "type": "string"
          },
          "subnetSegments": {
            "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddress6SubnetSegment:getAddress6SubnetSegment"
            },
            "type": "array"
          },
          "taggings": {
            "description": "Config object tagging The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddress6Tagging:getAddress6Tagging"
            },
            "type": "array"
          },
          "template": {
            "description": "IPv6 address template.\n",
            "type": "string"
          },
          "tenant": {
            "description": "Tenant.\n",
            "type": "string"
          },
          "type": {
            "description": "Subnet segment type.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable the visibility of the object in the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "cacheTtl",
          "color",
          "comment",
          "country",
          "endIp",
          "endMac",
          "epgName",
          "fabricObject",
          "fqdn",
          "host",
          "hostType",
          "id",
          "ip6",
          "lists",
          "macaddrs",
          "name",
          "objId",
          "routeTag",
          "sdn",
          "sdnTag",
          "startIp",
          "startMac",
          "subnetSegments",
          "taggings",
          "template",
          "tenant",
          "type",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddress6list:getAddress6list": {
      "description": "Provides a list of `fortios.firewall.Address6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddress6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAddress6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Address6`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddress6template:getAddress6template": {
      "description": "Use this data source to get information on an fortios firewall address6template\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddress6template.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall address6template.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAddress6template.\n",
        "properties": {
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip6": {
            "description": "IPv6 address prefix.\n",
            "type": "string"
          },
          "name": {
            "description": "Subnet segment value name.\n",
            "type": "string"
          },
          "subnetSegmentCount": {
            "description": "Number of IPv6 subnet segments.\n",
            "type": "integer"
          },
          "subnetSegments": {
            "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddress6templateSubnetSegment:getAddress6templateSubnetSegment"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fabricObject",
          "id",
          "ip6",
          "name",
          "subnetSegmentCount",
          "subnetSegments"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddress6templatelist:getAddress6templatelist": {
      "description": "Provides a list of `fortios.firewall.Address6template`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddress6templatelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAddress6templatelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Address6template`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddress:getAddress": {
      "description": "Use this data source to get information on an fortios firewall address\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddress.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall address.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAddress.\n",
        "properties": {
          "allowRouting": {
            "description": "Enable/disable use of this address in the static route configuration.\n",
            "type": "string"
          },
          "associatedInterface": {
            "description": "Network interface associated with address.\n",
            "type": "string"
          },
          "cacheTtl": {
            "description": "Defines the minimal TTL of individual IP addresses in FQDN cache measured in seconds.\n",
            "type": "integer"
          },
          "clearpassSpt": {
            "description": "SPT (System Posture Token) value.\n",
            "type": "string"
          },
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "country": {
            "description": "IP addresses associated to a specific country.\n",
            "type": "string"
          },
          "endIp": {
            "description": "Final IP address (inclusive) in the range for the address.\n",
            "type": "string"
          },
          "endMac": {
            "description": "Last MAC address in the range.\n",
            "type": "string"
          },
          "epgName": {
            "description": "Endpoint group name.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "filter": {
            "description": "Match criteria filter.\n",
            "type": "string"
          },
          "fqdn": {
            "description": "Fully Qualified Domain Name address.\n",
            "type": "string"
          },
          "fssoGroups": {
            "description": "FSSO group(s). The structure of `fsso_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddressFssoGroup:getAddressFssoGroup"
            },
            "type": "array"
          },
          "hwModel": {
            "description": "Dynamic address matching hardware model.\n",
            "type": "string"
          },
          "hwVendor": {
            "description": "Dynamic address matching hardware vendor.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Name of interface whose IP address is to be used.\n",
            "type": "string"
          },
          "lists": {
            "description": "IP address list. The structure of `list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddressList:getAddressList"
            },
            "type": "array"
          },
          "macaddrs": {
            "description": "MAC address ranges \u003cstart\u003e[-\u003cend\u003e] separated by space.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddressMacaddr:getAddressMacaddr"
            },
            "type": "array"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "nodeIpOnly": {
            "description": "Enable/disable collection of node addresses only in Kubernetes.\n",
            "type": "string"
          },
          "objId": {
            "description": "Object ID for NSX.\n",
            "type": "string"
          },
          "objTag": {
            "description": "Tag of dynamic address object.\n",
            "type": "string"
          },
          "objType": {
            "description": "Object type.\n",
            "type": "string"
          },
          "organization": {
            "description": "Organization domain name (Syntax: organization/domain).\n",
            "type": "string"
          },
          "os": {
            "description": "Dynamic address matching operating system.\n",
            "type": "string"
          },
          "policyGroup": {
            "description": "Policy group name.\n",
            "type": "string"
          },
          "routeTag": {
            "description": "route-tag address.\n",
            "type": "integer"
          },
          "sdn": {
            "description": "SDN.\n",
            "type": "string"
          },
          "sdnAddrType": {
            "description": "Type of addresses to collect.\n",
            "type": "string"
          },
          "sdnTag": {
            "description": "SDN Tag.\n",
            "type": "string"
          },
          "startIp": {
            "description": "First IP address (inclusive) in the range for the address.\n",
            "type": "string"
          },
          "startMac": {
            "description": "First MAC address in the range.\n",
            "type": "string"
          },
          "subType": {
            "description": "Sub-type of address.\n",
            "type": "string"
          },
          "subnet": {
            "description": "IP address and subnet mask of address.\n",
            "type": "string"
          },
          "subnetName": {
            "description": "Subnet name.\n",
            "type": "string"
          },
          "swVersion": {
            "description": "Dynamic address matching software version.\n",
            "type": "string"
          },
          "tagDetectionLevel": {
            "description": "Tag detection level of dynamic address object.\n",
            "type": "string"
          },
          "tagType": {
            "description": "Tag type of dynamic address object.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddressTagging:getAddressTagging"
            },
            "type": "array"
          },
          "tenant": {
            "description": "Tenant.\n",
            "type": "string"
          },
          "type": {
            "description": "Type of address.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable address visibility in the GUI.\n",
            "type": "string"
          },
          "wildcard": {
            "description": "IP address and wildcard netmask.\n",
            "type": "string"
          },
          "wildcardFqdn": {
            "description": "Fully Qualified Domain Name with wildcard characters.\n",
            "type": "string"
          }
        },
        "required": [
          "allowRouting",
          "associatedInterface",
          "cacheTtl",
          "clearpassSpt",
          "color",
          "comment",
          "country",
          "endIp",
          "endMac",
          "epgName",
          "fabricObject",
          "filter",
          "fqdn",
          "fssoGroups",
          "hwModel",
          "hwVendor",
          "id",
          "interface",
          "lists",
          "macaddrs",
          "name",
          "nodeIpOnly",
          "objId",
          "objTag",
          "objType",
          "organization",
          "os",
          "policyGroup",
          "routeTag",
          "sdn",
          "sdnAddrType",
          "sdnTag",
          "startIp",
          "startMac",
          "subType",
          "subnet",
          "subnetName",
          "swVersion",
          "tagDetectionLevel",
          "tagType",
          "taggings",
          "tenant",
          "type",
          "uuid",
          "visibility",
          "wildcard",
          "wildcardFqdn"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddresslist:getAddresslist": {
      "description": "Provides a list of `fortios.firewall.Address`.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddresslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAddresslist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Address`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddrgrp6:getAddrgrp6": {
      "description": "Use this data source to get information on an fortios firewall addrgrp6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddrgrp6.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall addrgrp6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAddrgrp6.\n",
        "properties": {
          "color": {
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets the value to 1).\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "exclude": {
            "description": "Enable/disable address6 exclusion.\n",
            "type": "string"
          },
          "excludeMembers": {
            "description": "Address6 exclusion member. The structure of `exclude_member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrp6ExcludeMember:getAddrgrp6ExcludeMember"
            },
            "type": "array"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Address objects contained within the group. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrp6Member:getAddrgrp6Member"
            },
            "type": "array"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrp6Tagging:getAddrgrp6Tagging"
            },
            "type": "array"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable address group6 visibility in the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "exclude",
          "excludeMembers",
          "fabricObject",
          "id",
          "members",
          "name",
          "taggings",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddrgrp6list:getAddrgrp6list": {
      "description": "Provides a list of `fortios.firewall.Addrgrp6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddrgrp6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAddrgrp6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Addrgrp6`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddrgrp:getAddrgrp": {
      "description": "Use this data source to get information on an fortios firewall addrgrp\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddrgrp.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall addrgrp.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAddrgrp.\n",
        "properties": {
          "allowRouting": {
            "description": "Enable/disable use of this group in the static route configuration.\n",
            "type": "string"
          },
          "category": {
            "description": "Tag category.\n",
            "type": "string"
          },
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "exclude": {
            "description": "Enable/disable address exclusion.\n",
            "type": "string"
          },
          "excludeMembers": {
            "description": "Address exclusion member. The structure of `exclude_member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrpExcludeMember:getAddrgrpExcludeMember"
            },
            "type": "array"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Address objects contained within the group. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrpMember:getAddrgrpMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetAddrgrpTagging:getAddrgrpTagging"
            },
            "type": "array"
          },
          "type": {
            "description": "Address group type.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable address visibility in the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "allowRouting",
          "category",
          "color",
          "comment",
          "exclude",
          "excludeMembers",
          "fabricObject",
          "id",
          "members",
          "name",
          "taggings",
          "type",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getAddrgrplist:getAddrgrplist": {
      "description": "Provides a list of `fortios.firewall.Addrgrp`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAddrgrplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAddrgrplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Addrgrp`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getCentralsnatmap:getCentralsnatmap": {
      "description": "Use this data source to get information on an fortios firewall centralsnatmap\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCentralsnatmap.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall centralsnatmap.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCentralsnatmap.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "dstAddr6s": {
            "description": "IPv6 Destination address. The structure of `dst_addr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapDstAddr6:getCentralsnatmapDstAddr6"
            },
            "type": "array"
          },
          "dstAddrs": {
            "description": "Destination address name from available addresses. The structure of `dst_addr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapDstAddr:getCentralsnatmapDstAddr"
            },
            "type": "array"
          },
          "dstPort": {
            "description": "Destination port or port range (1 to 65535, 0 means any port).\n",
            "type": "string"
          },
          "dstintfs": {
            "description": "Destination interface name from available interfaces. The structure of `dstintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapDstintf:getCentralsnatmapDstintf"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "nat": {
            "description": "Enable/disable source NAT.\n",
            "type": "string"
          },
          "nat46": {
            "description": "Enable/disable NAT46.\n",
            "type": "string"
          },
          "nat64": {
            "description": "Enable/disable NAT64.\n",
            "type": "string"
          },
          "natIppool6s": {
            "description": "IPv6 pools to be used for source NAT. The structure of `nat_ippool6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapNatIppool6:getCentralsnatmapNatIppool6"
            },
            "type": "array"
          },
          "natIppools": {
            "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",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapNatIppool:getCentralsnatmapNatIppool"
            },
            "type": "array"
          },
          "natPort": {
            "description": "Translated port or port range (0 to 65535).\n",
            "type": "string"
          },
          "origAddr6s": {
            "description": "IPv6 Original address. The structure of `orig_addr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapOrigAddr6:getCentralsnatmapOrigAddr6"
            },
            "type": "array"
          },
          "origAddrs": {
            "description": "Original address. The structure of `orig_addr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapOrigAddr:getCentralsnatmapOrigAddr"
            },
            "type": "array"
          },
          "origPort": {
            "description": "Original TCP port (0 to 65535).\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "portPreserve": {
            "description": "Enable/disable preservation of the original source port from source NAT if it has not been used.\n",
            "type": "string"
          },
          "protocol": {
            "description": "Integer value for the protocol type (0 - 255).\n",
            "type": "integer"
          },
          "srcintfs": {
            "description": "Source interface name from available interfaces. The structure of `srcintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetCentralsnatmapSrcintf:getCentralsnatmapSrcintf"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable the active status of this policy.\n",
            "type": "string"
          },
          "type": {
            "description": "IPv4/IPv6 source NAT.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "dstAddr6s",
          "dstAddrs",
          "dstPort",
          "dstintfs",
          "id",
          "nat",
          "nat46",
          "nat64",
          "natIppool6s",
          "natIppools",
          "natPort",
          "origAddr6s",
          "origAddrs",
          "origPort",
          "policyid",
          "portPreserve",
          "protocol",
          "srcintfs",
          "status",
          "type",
          "uuid"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getCentralsnatmaplist:getCentralsnatmaplist": {
      "description": "Provides a list of `fortios.firewall.Centralsnatmap`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCentralsnatmaplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCentralsnatmaplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Centralsnatmap`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getDoSpolicy6:getDoSpolicy6": {
      "description": "Use this data source to get information on an fortios firewall DoSpolicy6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDoSpolicy6.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall DoSpolicy6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDoSpolicy6.\n",
        "properties": {
          "anomalies": {
            "description": "Anomaly name. The structure of `anomaly` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicy6Anomaly:getDoSpolicy6Anomaly"
            },
            "type": "array"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicy6Dstaddr:getDoSpolicy6Dstaddr"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Incoming interface name from available interfaces.\n",
            "type": "string"
          },
          "name": {
            "description": "Anomaly name.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "services": {
            "description": "Service object from available options. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicy6Service:getDoSpolicy6Service"
            },
            "type": "array"
          },
          "srcaddrs": {
            "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicy6Srcaddr:getDoSpolicy6Srcaddr"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable this anomaly.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "anomalies",
          "comments",
          "dstaddrs",
          "id",
          "interface",
          "name",
          "policyid",
          "services",
          "srcaddrs",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getDoSpolicy6list:getDoSpolicy6list": {
      "description": "Provides a list of `fortios_firewall_DoSpolicy6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDoSpolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDoSpolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios_firewall_DoSpolicy6`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getDoSpolicy:getDoSpolicy": {
      "description": "Use this data source to get information on an fortios firewall DoSpolicy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDoSpolicy.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall DoSpolicy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDoSpolicy.\n",
        "properties": {
          "anomalies": {
            "description": "Anomaly name. The structure of `anomaly` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicyAnomaly:getDoSpolicyAnomaly"
            },
            "type": "array"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicyDstaddr:getDoSpolicyDstaddr"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Incoming interface name from available interfaces.\n",
            "type": "string"
          },
          "name": {
            "description": "Anomaly name.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "services": {
            "description": "Service object from available options. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicyService:getDoSpolicyService"
            },
            "type": "array"
          },
          "srcaddrs": {
            "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetDoSpolicySrcaddr:getDoSpolicySrcaddr"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable this anomaly.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "anomalies",
          "comments",
          "dstaddrs",
          "id",
          "interface",
          "name",
          "policyid",
          "services",
          "srcaddrs",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getDoSpolicylist:getDoSpolicylist": {
      "description": "Provides a list of `fortios_firewall_DoSpolicy`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDoSpolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDoSpolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios_firewall_DoSpolicy`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservice:getInternetservice": {
      "description": "Use this data source to get information on an fortios firewall internetservice\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservice.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired firewall internetservice.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservice.\n",
        "properties": {
          "database": {
            "description": "Database name this Internet Service belongs to.\n",
            "type": "string"
          },
          "direction": {
            "description": "How this service may be used in a firewall policy (source, destination or both).\n",
            "type": "string"
          },
          "extraIp6RangeNumber": {
            "description": "Extra number of IPv6 ranges.\n",
            "type": "integer"
          },
          "extraIpRangeNumber": {
            "description": "Extra number of IP ranges.\n",
            "type": "integer"
          },
          "fosid": {
            "description": "Internet Service ID.\n",
            "type": "integer"
          },
          "iconId": {
            "description": "Icon ID of Internet Service.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip6RangeNumber": {
            "description": "Number of IPv6 ranges.\n",
            "type": "integer"
          },
          "ipNumber": {
            "description": "Total number of IP addresses.\n",
            "type": "integer"
          },
          "ipRangeNumber": {
            "description": "Total number of IP ranges.\n",
            "type": "integer"
          },
          "name": {
            "description": "Internet Service name.\n",
            "type": "string"
          },
          "obsolete": {
            "description": "Indicates whether the Internet Service can be used.\n",
            "type": "integer"
          },
          "reputation": {
            "description": "Reputation level of the Internet Service.\n",
            "type": "integer"
          },
          "singularity": {
            "description": "Singular level of the Internet Service.\n",
            "type": "integer"
          },
          "sldId": {
            "description": "Second Level Domain.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "database",
          "direction",
          "extraIp6RangeNumber",
          "extraIpRangeNumber",
          "fosid",
          "iconId",
          "id",
          "ip6RangeNumber",
          "ipNumber",
          "ipRangeNumber",
          "name",
          "obsolete",
          "reputation",
          "singularity",
          "sldId"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicecustom:getInternetservicecustom": {
      "description": "Use this data source to get information on an fortios firewall internetservicecustom\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicecustom.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall internetservicecustom.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicecustom.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "entries": {
            "description": "Entries added to the Internet Service database and custom database. The structure of `entry` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetservicecustomEntry:getInternetservicecustomEntry"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Select the destination address6 or address group object from available options.\n",
            "type": "string"
          },
          "reputation": {
            "description": "Reputation level of the custom Internet Service.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comment",
          "entries",
          "id",
          "name",
          "reputation"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicecustomgroup:getInternetservicecustomgroup": {
      "description": "Use this data source to get information on an fortios firewall internetservicecustomgroup\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicecustomgroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall internetservicecustomgroup.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicecustomgroup.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Custom Internet Service group members. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetservicecustomgroupMember:getInternetservicecustomgroupMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Group member name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comment",
          "id",
          "members",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicecustomgrouplist:getInternetservicecustomgrouplist": {
      "description": "Provides a list of `fortios.firewall.Internetservicecustomgroup`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicecustomgrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicecustomgrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Internetservicecustomgroup`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicecustomlist:getInternetservicecustomlist": {
      "description": "Provides a list of `fortios.firewall.Internetservicecustom`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicecustomlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicecustomlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Internetservicecustom`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicedefinition:getInternetservicedefinition": {
      "description": "Use this data source to get information on an fortios firewall internetservicedefinition\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicedefinition.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired firewall internetservicedefinition.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicedefinition.\n",
        "properties": {
          "entries": {
            "description": "Protocol and port information in an Internet Service entry. The structure of `entry` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetservicedefinitionEntry:getInternetservicedefinitionEntry"
            },
            "type": "array"
          },
          "fosid": {
            "description": "Internet Service application list ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "entries",
          "fosid",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicedefinitionlist:getInternetservicedefinitionlist": {
      "description": "Provides a list of `fortios.firewall.Internetservicedefinition`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicedefinitionlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicedefinitionlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.firewall.Internetservicedefinition`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetserviceextension:getInternetserviceextension": {
      "description": "Use this data source to get information on an fortios firewall internetserviceextension\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetserviceextension.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired firewall internetserviceextension.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetserviceextension.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "disableEntries": {
            "description": "Disable entries in the Internet Service database. The structure of `disable_entry` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionDisableEntry:getInternetserviceextensionDisableEntry"
            },
            "type": "array"
          },
          "entries": {
            "description": "Entries added to the Internet Service extension database. The structure of `entry` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionEntry:getInternetserviceextensionEntry"
            },
            "type": "array"
          },
          "fosid": {
            "description": "Internet Service ID in the Internet Service database.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comment",
          "disableEntries",
          "entries",
          "fosid",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetserviceextensionlist:getInternetserviceextensionlist": {
      "description": "Provides a list of `fortios.firewall.Internetserviceextension`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetserviceextensionlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetserviceextensionlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.firewall.Internetserviceextension`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicegroup:getInternetservicegroup": {
      "description": "Use this data source to get information on an fortios firewall internetservicegroup\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicegroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall internetservicegroup.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicegroup.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "direction": {
            "description": "How this service may be used (source, destination or both).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Internet Service group member. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetInternetservicegroupMember:getInternetservicegroupMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Internet Service name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comment",
          "direction",
          "id",
          "members",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicegrouplist:getInternetservicegrouplist": {
      "description": "Provides a list of `fortios.firewall.Internetservicegroup`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicegrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicegrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Internetservicegroup`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getInternetservicelist:getInternetservicelist": {
      "description": "Provides a list of `fortios.firewall.Internetservice`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInternetservicelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInternetservicelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.firewall.Internetservice`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getIpv6ehfilter:getIpv6ehfilter": {
      "description": "Use this data source to get information on fortios firewall ipv6ehfilter\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpv6ehfilter.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getIpv6ehfilter.\n",
        "properties": {
          "auth": {
            "description": "Enable/disable blocking packets with the Authentication header (default = disable).\n",
            "type": "string"
          },
          "destOpt": {
            "description": "Enable/disable blocking packets with Destination Options headers (default = disable).\n",
            "type": "string"
          },
          "fragment": {
            "description": "Enable/disable blocking packets with the Fragment header (default = disable).\n",
            "type": "string"
          },
          "hdoptType": {
            "description": "Block specific Hop-by-Hop and/or Destination Option types (max. 7 types, each between 0 and 255, default = 0).\n",
            "type": "integer"
          },
          "hopOpt": {
            "description": "Enable/disable blocking packets with the Hop-by-Hop Options header (default = disable).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "noNext": {
            "description": "Enable/disable blocking packets with the No Next header (default = disable)\n",
            "type": "string"
          },
          "routing": {
            "description": "Enable/disable blocking packets with Routing headers (default = enable).\n",
            "type": "string"
          },
          "routingType": {
            "description": "Block specific Routing header types (max. 7 types, each between 0 and 255, default =  0).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "auth",
          "destOpt",
          "fragment",
          "hdoptType",
          "hopOpt",
          "id",
          "noNext",
          "routing",
          "routingType"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getMulticastaddress6:getMulticastaddress6": {
      "description": "Use this data source to get information on an fortios firewall multicastaddress6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastaddress6.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall multicastaddress6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastaddress6.\n",
        "properties": {
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip6": {
            "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n",
            "type": "string"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetMulticastaddress6Tagging:getMulticastaddress6Tagging"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable visibility of the IPv6 multicast address on the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "id",
          "ip6",
          "name",
          "taggings",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getMulticastaddress6list:getMulticastaddress6list": {
      "description": "Provides a list of `fortios.firewall.Multicastaddress6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastaddress6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastaddress6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Multicastaddress6`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getMulticastaddress:getMulticastaddress": {
      "description": "Use this data source to get information on an fortios firewall multicastaddress\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastaddress.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall multicastaddress.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastaddress.\n",
        "properties": {
          "associatedInterface": {
            "description": "Interface associated with the address object. When setting up a policy, only addresses associated with this interface are available.\n",
            "type": "string"
          },
          "color": {
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "endIp": {
            "description": "Final IPv4 address (inclusive) in the range for the address.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "startIp": {
            "description": "First IPv4 address (inclusive) in the range for the address.\n",
            "type": "string"
          },
          "subnet": {
            "description": "Broadcast address and subnet.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetMulticastaddressTagging:getMulticastaddressTagging"
            },
            "type": "array"
          },
          "type": {
            "description": "Type of address object: multicast IP address range or broadcast IP/mask to be treated as a multicast address.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable visibility of the multicast address on the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "associatedInterface",
          "color",
          "comment",
          "endIp",
          "id",
          "name",
          "startIp",
          "subnet",
          "taggings",
          "type",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getMulticastaddresslist:getMulticastaddresslist": {
      "description": "Provides a list of `fortios.firewall.Multicastaddress`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastaddresslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastaddresslist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Multicastaddress`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy46:getPolicy46": {
      "description": "Use this data source to get information on an fortios firewall policy46\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy46.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall policy46.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy46.\n",
        "properties": {
          "action": {
            "description": "Accept or deny traffic matching the policy.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy46Dstaddr:getPolicy46Dstaddr"
            },
            "type": "array"
          },
          "dstintf": {
            "description": "Destination interface name.\n",
            "type": "string"
          },
          "fixedport": {
            "description": "Enable/disable fixed port for this policy.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ippool": {
            "description": "Enable/disable use of IP Pools for source NAT.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable/disable traffic logging for this policy.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Record logs when a session starts and ends.\n",
            "type": "string"
          },
          "name": {
            "description": "IP pool name.\n",
            "type": "string"
          },
          "perIpShaper": {
            "description": "Per IP traffic shaper.\n",
            "type": "string"
          },
          "permitAnyHost": {
            "description": "Enable/disable allowing any host.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolnames": {
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy46Poolname:getPolicy46Poolname"
            },
            "type": "array"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "services": {
            "description": "Service name. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy46Service:getPolicy46Service"
            },
            "type": "array"
          },
          "srcaddrs": {
            "description": "Source address objects. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy46Srcaddr:getPolicy46Srcaddr"
            },
            "type": "array"
          },
          "srcintf": {
            "description": "Source interface name.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this policy.\n",
            "type": "string"
          },
          "tcpMssReceiver": {
            "description": "TCP Maximum Segment Size value of receiver (0 - 65535, default = 0)\n",
            "type": "integer"
          },
          "tcpMssSender": {
            "description": "TCP Maximum Segment Size value of sender (0 - 65535, default = 0).\n",
            "type": "integer"
          },
          "trafficShaper": {
            "description": "Traffic shaper.\n",
            "type": "string"
          },
          "trafficShaperReverse": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "comments",
          "dstaddrs",
          "dstintf",
          "fixedport",
          "id",
          "ippool",
          "logtraffic",
          "logtrafficStart",
          "name",
          "perIpShaper",
          "permitAnyHost",
          "policyid",
          "poolnames",
          "schedule",
          "services",
          "srcaddrs",
          "srcintf",
          "status",
          "tcpMssReceiver",
          "tcpMssSender",
          "trafficShaper",
          "trafficShaperReverse",
          "uuid"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy46list:getPolicy46list": {
      "description": "Provides a list of `fortios.firewall.Policy46`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy46list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy46list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Policy46`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy64:getPolicy64": {
      "description": "Use this data source to get information on an fortios firewall policy64\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy64.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall policy64.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy64.\n",
        "properties": {
          "action": {
            "description": "Policy action.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address name. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy64Dstaddr:getPolicy64Dstaddr"
            },
            "type": "array"
          },
          "dstintf": {
            "description": "Destination interface name.\n",
            "type": "string"
          },
          "fixedport": {
            "description": "Enable/disable policy fixed port.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ippool": {
            "description": "Enable/disable policy64 IP pool.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable/disable policy log traffic.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Record logs when a session starts and ends.\n",
            "type": "string"
          },
          "name": {
            "description": "IP pool name.\n",
            "type": "string"
          },
          "perIpShaper": {
            "description": "Per-IP traffic shaper.\n",
            "type": "string"
          },
          "permitAnyHost": {
            "description": "Enable/disable permit any host in.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolnames": {
            "description": "Policy IP pool names. The structure of `poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy64Poolname:getPolicy64Poolname"
            },
            "type": "array"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "services": {
            "description": "Service name. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy64Service:getPolicy64Service"
            },
            "type": "array"
          },
          "srcaddrs": {
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy64Srcaddr:getPolicy64Srcaddr"
            },
            "type": "array"
          },
          "srcintf": {
            "description": "Source interface name.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable policy status.\n",
            "type": "string"
          },
          "tcpMssReceiver": {
            "description": "TCP MSS value of receiver.\n",
            "type": "integer"
          },
          "tcpMssSender": {
            "description": "TCP MSS value of sender.\n",
            "type": "integer"
          },
          "trafficShaper": {
            "description": "Traffic shaper.\n",
            "type": "string"
          },
          "trafficShaperReverse": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "comments",
          "dstaddrs",
          "dstintf",
          "fixedport",
          "id",
          "ippool",
          "logtraffic",
          "logtrafficStart",
          "name",
          "perIpShaper",
          "permitAnyHost",
          "policyid",
          "poolnames",
          "schedule",
          "services",
          "srcaddrs",
          "srcintf",
          "status",
          "tcpMssReceiver",
          "tcpMssSender",
          "trafficShaper",
          "trafficShaperReverse",
          "uuid"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy64list:getPolicy64list": {
      "description": "Provides a list of `fortios.firewall.Policy64`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy64list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy64list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Policy64`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy6:getPolicy6": {
      "description": "Use this data source to get information on an fortios firewall policy6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy6.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall policy6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy6.\n",
        "properties": {
          "action": {
            "description": "Policy action (allow/deny/ipsec).\n",
            "type": "string"
          },
          "antiReplay": {
            "description": "Enable/disable anti-replay check.\n",
            "type": "string"
          },
          "appCategories": {
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6AppCategory:getPolicy6AppCategory"
            },
            "type": "array"
          },
          "appGroups": {
            "description": "Application group names. The structure of `app_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6AppGroup:getPolicy6AppGroup"
            },
            "type": "array"
          },
          "applicationList": {
            "description": "Name of an existing Application list.\n",
            "type": "string"
          },
          "applications": {
            "description": "Application ID list. The structure of `application` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Application:getPolicy6Application"
            },
            "type": "array"
          },
          "autoAsicOffload": {
            "description": "Enable/disable policy traffic ASIC offloading.\n",
            "type": "string"
          },
          "avProfile": {
            "description": "Name of an existing Antivirus profile.\n",
            "type": "string"
          },
          "cifsProfile": {
            "description": "Name of an existing CIFS profile.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "customLogFields": {
            "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",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6CustomLogField:getPolicy6CustomLogField"
            },
            "type": "array"
          },
          "decryptedTrafficMirror": {
            "description": "Decrypted traffic mirror.\n",
            "type": "string"
          },
          "devices": {
            "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Device:getPolicy6Device"
            },
            "type": "array"
          },
          "diffservForward": {
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value.\n",
            "type": "string"
          },
          "diffservReverse": {
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.\n",
            "type": "string"
          },
          "diffservcodeForward": {
            "description": "Change packet's DiffServ to this value.\n",
            "type": "string"
          },
          "diffservcodeRev": {
            "description": "Change packet's reverse (reply) DiffServ to this value.\n",
            "type": "string"
          },
          "dlpSensor": {
            "description": "Name of an existing DLP sensor.\n",
            "type": "string"
          },
          "dnsfilterProfile": {
            "description": "Name of an existing DNS filter profile.\n",
            "type": "string"
          },
          "dsri": {
            "description": "Enable DSRI to ignore HTTP server responses.\n",
            "type": "string"
          },
          "dstaddrNegate": {
            "description": "When enabled dstaddr specifies what the destination address must NOT be.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Dstaddr:getPolicy6Dstaddr"
            },
            "type": "array"
          },
          "dstintfs": {
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Dstintf:getPolicy6Dstintf"
            },
            "type": "array"
          },
          "emailfilterProfile": {
            "description": "Name of an existing email filter profile.\n",
            "type": "string"
          },
          "firewallSessionDirty": {
            "description": "How to handle sessions if the configuration of this firewall policy changes.\n",
            "type": "string"
          },
          "fixedport": {
            "description": "Enable to prevent source NAT from changing a session's source port.\n",
            "type": "string"
          },
          "fssoGroups": {
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6FssoGroup:getPolicy6FssoGroup"
            },
            "type": "array"
          },
          "globalLabel": {
            "description": "Label for the policy that appears when the GUI is in Global View mode.\n",
            "type": "string"
          },
          "groups": {
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Group:getPolicy6Group"
            },
            "type": "array"
          },
          "httpPolicyRedirect": {
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy.\n",
            "type": "string"
          },
          "icapProfile": {
            "description": "Name of an existing ICAP profile.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inbound": {
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN.\n",
            "type": "string"
          },
          "inspectionMode": {
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode.\n",
            "type": "string"
          },
          "ippool": {
            "description": "Enable to use IP Pools for source NAT.\n",
            "type": "string"
          },
          "ipsSensor": {
            "description": "Name of an existing IPS sensor.\n",
            "type": "string"
          },
          "label": {
            "description": "Label for the policy that appears when the GUI is in Section View mode.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable or disable logging. Log all sessions or security profile sessions.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Record logs when a session starts.\n",
            "type": "string"
          },
          "name": {
            "description": "Names of FSSO groups.\n",
            "type": "string"
          },
          "nat": {
            "description": "Enable/disable source NAT.\n",
            "type": "string"
          },
          "natinbound": {
            "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic.\n",
            "type": "string"
          },
          "natoutbound": {
            "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic.\n",
            "type": "string"
          },
          "outbound": {
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN.\n",
            "type": "string"
          },
          "perIpShaper": {
            "description": "Per-IP traffic shaper.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolnames": {
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Poolname:getPolicy6Poolname"
            },
            "type": "array"
          },
          "profileGroup": {
            "description": "Name of profile group.\n",
            "type": "string"
          },
          "profileProtocolOptions": {
            "description": "Name of an existing Protocol options profile.\n",
            "type": "string"
          },
          "profileType": {
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only.\n",
            "type": "string"
          },
          "replacemsgOverrideGroup": {
            "description": "Override the default replacement message group for this policy.\n",
            "type": "string"
          },
          "rsso": {
            "description": "Enable/disable RADIUS single sign-on (RSSO).\n",
            "type": "string"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "sendDenyPacket": {
            "description": "Enable/disable return of deny-packet.\n",
            "type": "string"
          },
          "serviceNegate": {
            "description": "When enabled service specifies what the service must NOT be.\n",
            "type": "string"
          },
          "services": {
            "description": "Service and service group names. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Service:getPolicy6Service"
            },
            "type": "array"
          },
          "sessionTtl": {
            "description": "Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.\n",
            "type": "integer"
          },
          "spamfilterProfile": {
            "description": "Name of an existing Spam filter profile.\n",
            "type": "string"
          },
          "srcaddrNegate": {
            "description": "When enabled srcaddr specifies what the source address must NOT be.\n",
            "type": "string"
          },
          "srcaddrs": {
            "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Srcaddr:getPolicy6Srcaddr"
            },
            "type": "array"
          },
          "srcintfs": {
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6Srcintf:getPolicy6Srcintf"
            },
            "type": "array"
          },
          "sshFilterProfile": {
            "description": "Name of an existing SSH filter profile.\n",
            "type": "string"
          },
          "sshPolicyRedirect": {
            "description": "Redirect SSH traffic to matching transparent proxy policy.\n",
            "type": "string"
          },
          "sslMirror": {
            "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring).\n",
            "type": "string"
          },
          "sslMirrorIntfs": {
            "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6SslMirrorIntf:getPolicy6SslMirrorIntf"
            },
            "type": "array"
          },
          "sslSshProfile": {
            "description": "Name of an existing SSL SSH profile.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable or disable this policy.\n",
            "type": "string"
          },
          "tcpMssReceiver": {
            "description": "Receiver TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "tcpMssSender": {
            "description": "Sender TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "tcpSessionWithoutSyn": {
            "description": "Enable/disable creation of TCP session without SYN flag.\n",
            "type": "string"
          },
          "timeoutSendRst": {
            "description": "Enable/disable sending RST packets when TCP sessions expire.\n",
            "type": "string"
          },
          "tos": {
            "description": "ToS (Type of Service) value used for comparison.\n",
            "type": "string"
          },
          "tosMask": {
            "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n",
            "type": "string"
          },
          "tosNegate": {
            "description": "Enable negated TOS match.\n",
            "type": "string"
          },
          "trafficShaper": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "trafficShaperReverse": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "urlCategories": {
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6UrlCategory:getPolicy6UrlCategory"
            },
            "type": "array"
          },
          "users": {
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicy6User:getPolicy6User"
            },
            "type": "array"
          },
          "utmStatus": {
            "description": "Enable AV/web/ips protection profile.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vlanCosFwd": {
            "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest\n",
            "type": "integer"
          },
          "vlanCosRev": {
            "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest\n",
            "type": "integer"
          },
          "vlanFilter": {
            "description": "Set VLAN filters.\n",
            "type": "string"
          },
          "voipProfile": {
            "description": "Name of an existing VoIP profile.\n",
            "type": "string"
          },
          "vpntunnel": {
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n",
            "type": "string"
          },
          "wafProfile": {
            "description": "Name of an existing Web application firewall profile.\n",
            "type": "string"
          },
          "webcache": {
            "description": "Enable/disable web cache.\n",
            "type": "string"
          },
          "webcacheHttps": {
            "description": "Enable/disable web cache for HTTPS.\n",
            "type": "string"
          },
          "webfilterProfile": {
            "description": "Name of an existing Web filter profile.\n",
            "type": "string"
          },
          "webproxyForwardServer": {
            "description": "Web proxy forward server name.\n",
            "type": "string"
          },
          "webproxyProfile": {
            "description": "Webproxy profile name.\n",
            "type": "string"
          }
        },
        "required": [
          "action",
          "antiReplay",
          "appCategories",
          "appGroups",
          "applicationList",
          "applications",
          "autoAsicOffload",
          "avProfile",
          "cifsProfile",
          "comments",
          "customLogFields",
          "decryptedTrafficMirror",
          "devices",
          "diffservForward",
          "diffservReverse",
          "diffservcodeForward",
          "diffservcodeRev",
          "dlpSensor",
          "dnsfilterProfile",
          "dsri",
          "dstaddrNegate",
          "dstaddrs",
          "dstintfs",
          "emailfilterProfile",
          "firewallSessionDirty",
          "fixedport",
          "fssoGroups",
          "globalLabel",
          "groups",
          "httpPolicyRedirect",
          "icapProfile",
          "id",
          "inbound",
          "inspectionMode",
          "ippool",
          "ipsSensor",
          "label",
          "logtraffic",
          "logtrafficStart",
          "name",
          "nat",
          "natinbound",
          "natoutbound",
          "outbound",
          "perIpShaper",
          "policyid",
          "poolnames",
          "profileGroup",
          "profileProtocolOptions",
          "profileType",
          "replacemsgOverrideGroup",
          "rsso",
          "schedule",
          "sendDenyPacket",
          "serviceNegate",
          "services",
          "sessionTtl",
          "spamfilterProfile",
          "srcaddrNegate",
          "srcaddrs",
          "srcintfs",
          "sshFilterProfile",
          "sshPolicyRedirect",
          "sslMirror",
          "sslMirrorIntfs",
          "sslSshProfile",
          "status",
          "tcpMssReceiver",
          "tcpMssSender",
          "tcpSessionWithoutSyn",
          "timeoutSendRst",
          "tos",
          "tosMask",
          "tosNegate",
          "trafficShaper",
          "trafficShaperReverse",
          "urlCategories",
          "users",
          "utmStatus",
          "uuid",
          "vlanCosFwd",
          "vlanCosRev",
          "vlanFilter",
          "voipProfile",
          "vpntunnel",
          "wafProfile",
          "webcache",
          "webcacheHttps",
          "webfilterProfile",
          "webproxyForwardServer",
          "webproxyProfile"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy6list:getPolicy6list": {
      "description": "Provides a list of `fortios.firewall.Policy6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Policy6`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicy:getPolicy": {
      "description": "Use this data source to get information on an fortios firewall policy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy.\n",
        "properties": {
          "action": {
            "description": "Policy action (allow/deny/ipsec).\n",
            "type": "string"
          },
          "antiReplay": {
            "description": "Enable/disable anti-replay check.\n",
            "type": "string"
          },
          "appCategories": {
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyAppCategory:getPolicyAppCategory"
            },
            "type": "array"
          },
          "appGroups": {
            "description": "Application group names. The structure of `app_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyAppGroup:getPolicyAppGroup"
            },
            "type": "array"
          },
          "applicationList": {
            "description": "Name of an existing Application list.\n",
            "type": "string"
          },
          "applications": {
            "description": "Application ID list. The structure of `application` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyApplication:getPolicyApplication"
            },
            "type": "array"
          },
          "authCert": {
            "description": "HTTPS server certificate for policy authentication.\n",
            "type": "string"
          },
          "authPath": {
            "description": "Enable/disable authentication-based routing.\n",
            "type": "string"
          },
          "authRedirectAddr": {
            "description": "HTTP-to-HTTPS redirect address for firewall authentication.\n",
            "type": "string"
          },
          "autoAsicOffload": {
            "description": "Enable/disable policy traffic ASIC offloading.\n",
            "type": "string"
          },
          "avProfile": {
            "description": "Name of an existing Antivirus profile.\n",
            "type": "string"
          },
          "blockNotification": {
            "description": "Enable/disable block notification.\n",
            "type": "string"
          },
          "captivePortalExempt": {
            "description": "Enable to exempt some users from the captive portal.\n",
            "type": "string"
          },
          "capturePacket": {
            "description": "Enable/disable capture packets.\n",
            "type": "string"
          },
          "casbProfile": {
            "description": "Name of an existing CASB profile.\n",
            "type": "string"
          },
          "cifsProfile": {
            "description": "Name of an existing CIFS profile.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "customLogFields": {
            "description": "Custom fields to append to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyCustomLogField:getPolicyCustomLogField"
            },
            "type": "array"
          },
          "decryptedTrafficMirror": {
            "description": "Decrypted traffic mirror.\n",
            "type": "string"
          },
          "delayTcpNpuSession": {
            "description": "Enable TCP NPU session delay to guarantee packet order of 3-way handshake.\n",
            "type": "string"
          },
          "devices": {
            "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyDevice:getPolicyDevice"
            },
            "type": "array"
          },
          "diameterFilterProfile": {
            "description": "Name of an existing Diameter filter profile.\n",
            "type": "string"
          },
          "diffservCopy": {
            "description": "Enable to copy packet's DiffServ values from session's original direction to its reply direction.\n",
            "type": "string"
          },
          "diffservForward": {
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value.\n",
            "type": "string"
          },
          "diffservReverse": {
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.\n",
            "type": "string"
          },
          "diffservcodeForward": {
            "description": "Change packet's DiffServ to this value.\n",
            "type": "string"
          },
          "diffservcodeRev": {
            "description": "Change packet's reverse (reply) DiffServ to this value.\n",
            "type": "string"
          },
          "disclaimer": {
            "description": "Enable/disable user authentication disclaimer.\n",
            "type": "string"
          },
          "dlpProfile": {
            "description": "Name of an existing DLP profile.\n",
            "type": "string"
          },
          "dlpSensor": {
            "description": "Name of an existing DLP sensor.\n",
            "type": "string"
          },
          "dnsfilterProfile": {
            "description": "Name of an existing DNS filter profile.\n",
            "type": "string"
          },
          "dsri": {
            "description": "Enable DSRI to ignore HTTP server responses.\n",
            "type": "string"
          },
          "dstaddr6Negate": {
            "description": "When enabled dstaddr6 specifies what the destination address must NOT be.\n",
            "type": "string"
          },
          "dstaddr6s": {
            "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyDstaddr6:getPolicyDstaddr6"
            },
            "type": "array"
          },
          "dstaddrNegate": {
            "description": "When enabled dstaddr specifies what the destination address must NOT be.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyDstaddr:getPolicyDstaddr"
            },
            "type": "array"
          },
          "dstintfs": {
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyDstintf:getPolicyDstintf"
            },
            "type": "array"
          },
          "dynamicShaping": {
            "description": "Enable/disable dynamic RADIUS defined traffic shaping.\n",
            "type": "string"
          },
          "emailCollect": {
            "description": "Enable/disable email collection.\n",
            "type": "string"
          },
          "emailfilterProfile": {
            "description": "Name of an existing email filter profile.\n",
            "type": "string"
          },
          "fec": {
            "description": "Enable/disable Forward Error Correction on traffic matching this policy on a FEC device.\n",
            "type": "string"
          },
          "fileFilterProfile": {
            "description": "Name of an existing file-filter profile.\n",
            "type": "string"
          },
          "firewallSessionDirty": {
            "description": "How to handle sessions if the configuration of this firewall policy changes.\n",
            "type": "string"
          },
          "fixedport": {
            "description": "Enable to prevent source NAT from changing a session's source port.\n",
            "type": "string"
          },
          "fsso": {
            "description": "Enable/disable Fortinet Single Sign-On.\n",
            "type": "string"
          },
          "fssoAgentForNtlm": {
            "description": "FSSO agent to use for NTLM authentication.\n",
            "type": "string"
          },
          "fssoGroups": {
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyFssoGroup:getPolicyFssoGroup"
            },
            "type": "array"
          },
          "geoipAnycast": {
            "description": "Enable/disable recognition of anycast IP addresses using the geography IP database.\n",
            "type": "string"
          },
          "geoipMatch": {
            "description": "Match geography address based either on its physical location or registered location.\n",
            "type": "string"
          },
          "globalLabel": {
            "description": "Label for the policy that appears when the GUI is in Global View mode.\n",
            "type": "string"
          },
          "groups": {
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyGroup:getPolicyGroup"
            },
            "type": "array"
          },
          "httpPolicyRedirect": {
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy.\n",
            "type": "string"
          },
          "icapProfile": {
            "description": "Name of an existing ICAP profile.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "identityBasedRoute": {
            "description": "Name of identity-based routing rule.\n",
            "type": "string"
          },
          "inbound": {
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN.\n",
            "type": "string"
          },
          "inspectionMode": {
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode.\n",
            "type": "string"
          },
          "internetService": {
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.\n",
            "type": "string"
          },
          "internetService6": {
            "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address and service are not used.\n",
            "type": "string"
          },
          "internetService6CustomGroups": {
            "description": "Custom Internet Service6 group name. The structure of `internet_service6_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6CustomGroup:getPolicyInternetService6CustomGroup"
            },
            "type": "array"
          },
          "internetService6Customs": {
            "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6Custom:getPolicyInternetService6Custom"
            },
            "type": "array"
          },
          "internetService6Groups": {
            "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6Group:getPolicyInternetService6Group"
            },
            "type": "array"
          },
          "internetService6Names": {
            "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6Name:getPolicyInternetService6Name"
            },
            "type": "array"
          },
          "internetService6Negate": {
            "description": "When enabled internet-service6 specifies what the service must NOT be.\n",
            "type": "string"
          },
          "internetService6Src": {
            "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used.\n",
            "type": "string"
          },
          "internetService6SrcCustomGroups": {
            "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6SrcCustomGroup:getPolicyInternetService6SrcCustomGroup"
            },
            "type": "array"
          },
          "internetService6SrcCustoms": {
            "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6SrcCustom:getPolicyInternetService6SrcCustom"
            },
            "type": "array"
          },
          "internetService6SrcGroups": {
            "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6SrcGroup:getPolicyInternetService6SrcGroup"
            },
            "type": "array"
          },
          "internetService6SrcNames": {
            "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetService6SrcName:getPolicyInternetService6SrcName"
            },
            "type": "array"
          },
          "internetService6SrcNegate": {
            "description": "When enabled internet-service6-src specifies what the service must NOT be.\n",
            "type": "string"
          },
          "internetServiceCustomGroups": {
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceCustomGroup:getPolicyInternetServiceCustomGroup"
            },
            "type": "array"
          },
          "internetServiceCustoms": {
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceCustom:getPolicyInternetServiceCustom"
            },
            "type": "array"
          },
          "internetServiceGroups": {
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceGroup:getPolicyInternetServiceGroup"
            },
            "type": "array"
          },
          "internetServiceIds": {
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceId:getPolicyInternetServiceId"
            },
            "type": "array"
          },
          "internetServiceNames": {
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceName:getPolicyInternetServiceName"
            },
            "type": "array"
          },
          "internetServiceNegate": {
            "description": "When enabled internet-service specifies what the service must NOT be.\n",
            "type": "string"
          },
          "internetServiceSrc": {
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.\n",
            "type": "string"
          },
          "internetServiceSrcCustomGroups": {
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceSrcCustomGroup:getPolicyInternetServiceSrcCustomGroup"
            },
            "type": "array"
          },
          "internetServiceSrcCustoms": {
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceSrcCustom:getPolicyInternetServiceSrcCustom"
            },
            "type": "array"
          },
          "internetServiceSrcGroups": {
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceSrcGroup:getPolicyInternetServiceSrcGroup"
            },
            "type": "array"
          },
          "internetServiceSrcIds": {
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceSrcId:getPolicyInternetServiceSrcId"
            },
            "type": "array"
          },
          "internetServiceSrcNames": {
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyInternetServiceSrcName:getPolicyInternetServiceSrcName"
            },
            "type": "array"
          },
          "internetServiceSrcNegate": {
            "description": "When enabled internet-service-src specifies what the service must NOT be.\n",
            "type": "string"
          },
          "ippool": {
            "description": "Enable to use IP Pools for source NAT.\n",
            "type": "string"
          },
          "ipsSensor": {
            "description": "Name of an existing IPS sensor.\n",
            "type": "string"
          },
          "ipsVoipFilter": {
            "description": "Name of an existing VoIP (ips) profile.\n",
            "type": "string"
          },
          "label": {
            "description": "Label for the policy that appears when the GUI is in Section View mode.\n",
            "type": "string"
          },
          "learningMode": {
            "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable or disable logging. Log all sessions or security profile sessions.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Record logs when a session starts.\n",
            "type": "string"
          },
          "matchVip": {
            "description": "Enable to match packets that have had their destination addresses changed by a VIP.\n",
            "type": "string"
          },
          "matchVipOnly": {
            "description": "Enable/disable matching of only those packets that have had their destination addresses changed by a VIP.\n",
            "type": "string"
          },
          "name": {
            "description": "Mirror Interface name.\n",
            "type": "string"
          },
          "nat": {
            "description": "Enable/disable source NAT.\n",
            "type": "string"
          },
          "nat46": {
            "description": "Enable/disable NAT46.\n",
            "type": "string"
          },
          "nat64": {
            "description": "Enable/disable NAT64.\n",
            "type": "string"
          },
          "natinbound": {
            "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic.\n",
            "type": "string"
          },
          "natip": {
            "description": "Policy-based IPsec VPN: source NAT IP address for outgoing traffic.\n",
            "type": "string"
          },
          "natoutbound": {
            "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic.\n",
            "type": "string"
          },
          "networkServiceDynamics": {
            "description": "Dynamic Network Service name. The structure of `network_service_dynamic` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyNetworkServiceDynamic:getPolicyNetworkServiceDynamic"
            },
            "type": "array"
          },
          "networkServiceSrcDynamics": {
            "description": "Dynamic Network Service source name. The structure of `network_service_src_dynamic` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyNetworkServiceSrcDynamic:getPolicyNetworkServiceSrcDynamic"
            },
            "type": "array"
          },
          "npAcceleration": {
            "description": "Enable/disable UTM Network Processor acceleration.\n",
            "type": "string"
          },
          "ntlm": {
            "description": "Enable/disable NTLM authentication.\n",
            "type": "string"
          },
          "ntlmEnabledBrowsers": {
            "description": "HTTP-User-Agent value of supported browsers. The structure of `ntlm_enabled_browsers` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyNtlmEnabledBrowser:getPolicyNtlmEnabledBrowser"
            },
            "type": "array"
          },
          "ntlmGuest": {
            "description": "Enable/disable NTLM guest user access.\n",
            "type": "string"
          },
          "outbound": {
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN.\n",
            "type": "string"
          },
          "passiveWanHealthMeasurement": {
            "description": "Enable/disable passive WAN health measurement. When enabled, auto-asic-offload is disabled.\n",
            "type": "string"
          },
          "pcpInbound": {
            "description": "Enable/disable PCP inbound DNAT.\n",
            "type": "string"
          },
          "pcpOutbound": {
            "description": "Enable/disable PCP outbound SNAT.\n",
            "type": "string"
          },
          "pcpPoolnames": {
            "description": "PCP pool names. The structure of `pcp_poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyPcpPoolname:getPolicyPcpPoolname"
            },
            "type": "array"
          },
          "perIpShaper": {
            "description": "Per-IP traffic shaper.\n",
            "type": "string"
          },
          "permitAnyHost": {
            "description": "Accept UDP packets from any host.\n",
            "type": "string"
          },
          "permitStunHost": {
            "description": "Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host.\n",
            "type": "string"
          },
          "policyExpiry": {
            "description": "Enable/disable policy expiry.\n",
            "type": "string"
          },
          "policyExpiryDate": {
            "description": "Policy expiry date (YYYY-MM-DD HH:MM:SS).\n",
            "type": "string"
          },
          "policyExpiryDateUtc": {
            "description": "Policy expiry date and time, in epoch format.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolname6s": {
            "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyPoolname6:getPolicyPoolname6"
            },
            "type": "array"
          },
          "poolnames": {
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyPoolname:getPolicyPoolname"
            },
            "type": "array"
          },
          "portPreserve": {
            "description": "Enable/disable preservation of the original source port from source NAT if it has not been used.\n",
            "type": "string"
          },
          "profileGroup": {
            "description": "Name of profile group.\n",
            "type": "string"
          },
          "profileProtocolOptions": {
            "description": "Name of an existing Protocol options profile.\n",
            "type": "string"
          },
          "profileType": {
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only.\n",
            "type": "string"
          },
          "radiusMacAuthBypass": {
            "description": "Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server.\n",
            "type": "string"
          },
          "redirectUrl": {
            "description": "URL users are directed to after seeing and accepting the disclaimer or authenticating.\n",
            "type": "string"
          },
          "replacemsgOverrideGroup": {
            "description": "Override the default replacement message group for this policy.\n",
            "type": "string"
          },
          "reputationDirection": {
            "description": "Direction of the initial traffic for reputation to take effect.\n",
            "type": "string"
          },
          "reputationDirection6": {
            "description": "Direction of the initial traffic for IPv6 reputation to take effect.\n",
            "type": "string"
          },
          "reputationMinimum": {
            "description": "Minimum Reputation to take action.\n",
            "type": "integer"
          },
          "reputationMinimum6": {
            "description": "IPv6 Minimum Reputation to take action.\n",
            "type": "integer"
          },
          "rsso": {
            "description": "Enable/disable RADIUS single sign-on (RSSO).\n",
            "type": "string"
          },
          "rtpAddrs": {
            "description": "Address names if this is an RTP NAT policy. The structure of `rtp_addr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyRtpAddr:getPolicyRtpAddr"
            },
            "type": "array"
          },
          "rtpNat": {
            "description": "Enable Real Time Protocol (RTP) NAT.\n",
            "type": "string"
          },
          "scanBotnetConnections": {
            "description": "Block or monitor connections to Botnet servers or disable Botnet scanning.\n",
            "type": "string"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "scheduleTimeout": {
            "description": "Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity.\n",
            "type": "string"
          },
          "sctpFilterProfile": {
            "description": "Name of an existing SCTP filter profile.\n",
            "type": "string"
          },
          "sendDenyPacket": {
            "description": "Enable to send a reply when a session is denied or blocked by a firewall policy.\n",
            "type": "string"
          },
          "serviceNegate": {
            "description": "When enabled service specifies what the service must NOT be.\n",
            "type": "string"
          },
          "services": {
            "description": "Service and service group names. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyService:getPolicyService"
            },
            "type": "array"
          },
          "sessionTtl": {
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n",
            "type": "integer"
          },
          "sgtCheck": {
            "description": "Enable/disable security group tags (SGT) check.\n",
            "type": "string"
          },
          "sgts": {
            "description": "Security group tags. The structure of `sgt` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySgt:getPolicySgt"
            },
            "type": "array"
          },
          "spamfilterProfile": {
            "description": "Name of an existing Spam filter profile.\n",
            "type": "string"
          },
          "srcVendorMacs": {
            "description": "Vendor MAC source ID. The structure of `src_vendor_mac` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySrcVendorMac:getPolicySrcVendorMac"
            },
            "type": "array"
          },
          "srcaddr6Negate": {
            "description": "When enabled srcaddr6 specifies what the source address must NOT be.\n",
            "type": "string"
          },
          "srcaddr6s": {
            "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySrcaddr6:getPolicySrcaddr6"
            },
            "type": "array"
          },
          "srcaddrNegate": {
            "description": "When enabled srcaddr specifies what the source address must NOT be.\n",
            "type": "string"
          },
          "srcaddrs": {
            "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySrcaddr:getPolicySrcaddr"
            },
            "type": "array"
          },
          "srcintfs": {
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySrcintf:getPolicySrcintf"
            },
            "type": "array"
          },
          "sshFilterProfile": {
            "description": "Name of an existing SSH filter profile.\n",
            "type": "string"
          },
          "sshPolicyRedirect": {
            "description": "Redirect SSH traffic to matching transparent proxy policy.\n",
            "type": "string"
          },
          "sslMirror": {
            "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring).\n",
            "type": "string"
          },
          "sslMirrorIntfs": {
            "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicySslMirrorIntf:getPolicySslMirrorIntf"
            },
            "type": "array"
          },
          "sslSshProfile": {
            "description": "Name of an existing SSL SSH profile.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable or disable this policy.\n",
            "type": "string"
          },
          "tcpMssReceiver": {
            "description": "Receiver TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "tcpMssSender": {
            "description": "Sender TCP maximum segment size (MSS).\n",
            "type": "integer"
          },
          "tcpSessionWithoutSyn": {
            "description": "Enable/disable creation of TCP session without SYN flag.\n",
            "type": "string"
          },
          "timeoutSendRst": {
            "description": "Enable/disable sending RST packets when TCP sessions expire.\n",
            "type": "string"
          },
          "tos": {
            "description": "ToS (Type of Service) value used for comparison.\n",
            "type": "string"
          },
          "tosMask": {
            "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n",
            "type": "string"
          },
          "tosNegate": {
            "description": "Enable negated TOS match.\n",
            "type": "string"
          },
          "trafficShaper": {
            "description": "Traffic shaper.\n",
            "type": "string"
          },
          "trafficShaperReverse": {
            "description": "Reverse traffic shaper.\n",
            "type": "string"
          },
          "urlCategories": {
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyUrlCategory:getPolicyUrlCategory"
            },
            "type": "array"
          },
          "users": {
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyUser:getPolicyUser"
            },
            "type": "array"
          },
          "utmStatus": {
            "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "videofilterProfile": {
            "description": "Name of an existing VideoFilter profile.\n",
            "type": "string"
          },
          "virtualPatchProfile": {
            "description": "Name of an existing virtual-patch profile.\n",
            "type": "string"
          },
          "vlanCosFwd": {
            "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.\n",
            "type": "integer"
          },
          "vlanCosRev": {
            "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest.\n",
            "type": "integer"
          },
          "vlanFilter": {
            "description": "Set VLAN filters.\n",
            "type": "string"
          },
          "voipProfile": {
            "description": "Name of an existing VoIP profile.\n",
            "type": "string"
          },
          "vpntunnel": {
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n",
            "type": "string"
          },
          "wafProfile": {
            "description": "Name of an existing Web application firewall profile.\n",
            "type": "string"
          },
          "wanopt": {
            "description": "Enable/disable WAN optimization.\n",
            "type": "string"
          },
          "wanoptDetection": {
            "description": "WAN optimization auto-detection mode.\n",
            "type": "string"
          },
          "wanoptPassiveOpt": {
            "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect server.\n",
            "type": "string"
          },
          "wanoptPeer": {
            "description": "WAN optimization peer.\n",
            "type": "string"
          },
          "wanoptProfile": {
            "description": "WAN optimization profile.\n",
            "type": "string"
          },
          "wccp": {
            "description": "Enable/disable forwarding traffic matching this policy to a configured WCCP server.\n",
            "type": "string"
          },
          "webcache": {
            "description": "Enable/disable web cache.\n",
            "type": "string"
          },
          "webcacheHttps": {
            "description": "Enable/disable web cache for HTTPS.\n",
            "type": "string"
          },
          "webfilterProfile": {
            "description": "Name of an existing Web filter profile.\n",
            "type": "string"
          },
          "webproxyForwardServer": {
            "description": "Web proxy forward server name.\n",
            "type": "string"
          },
          "webproxyProfile": {
            "description": "Webproxy profile name.\n",
            "type": "string"
          },
          "wsso": {
            "description": "Enable/disable WiFi Single Sign On (WSSO).\n",
            "type": "string"
          },
          "ztnaDeviceOwnership": {
            "description": "Enable/disable zero trust device ownership.\n",
            "type": "string"
          },
          "ztnaEmsTagSecondaries": {
            "description": "Source ztna-ems-tag-secondary names. The structure of `ztna_ems_tag_secondary` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyZtnaEmsTagSecondary:getPolicyZtnaEmsTagSecondary"
            },
            "type": "array"
          },
          "ztnaEmsTags": {
            "description": "Source ztna-ems-tag names. The structure of `ztna_ems_tag` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyZtnaEmsTag:getPolicyZtnaEmsTag"
            },
            "type": "array"
          },
          "ztnaGeoTags": {
            "description": "Source ztna-geo-tag names. The structure of `ztna_geo_tag` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetPolicyZtnaGeoTag:getPolicyZtnaGeoTag"
            },
            "type": "array"
          },
          "ztnaPolicyRedirect": {
            "description": "Redirect ZTNA traffic to matching Access-Proxy proxy-policy.\n",
            "type": "string"
          },
          "ztnaStatus": {
            "description": "Enable/disable zero trust access.\n",
            "type": "string"
          },
          "ztnaTagsMatchLogic": {
            "description": "ZTNA tag matching logic.\n",
            "type": "string"
          }
        },
        "required": [
          "action",
          "antiReplay",
          "appCategories",
          "appGroups",
          "applicationList",
          "applications",
          "authCert",
          "authPath",
          "authRedirectAddr",
          "autoAsicOffload",
          "avProfile",
          "blockNotification",
          "captivePortalExempt",
          "capturePacket",
          "casbProfile",
          "cifsProfile",
          "comments",
          "customLogFields",
          "decryptedTrafficMirror",
          "delayTcpNpuSession",
          "devices",
          "diameterFilterProfile",
          "diffservCopy",
          "diffservForward",
          "diffservReverse",
          "diffservcodeForward",
          "diffservcodeRev",
          "disclaimer",
          "dlpProfile",
          "dlpSensor",
          "dnsfilterProfile",
          "dsri",
          "dstaddr6Negate",
          "dstaddr6s",
          "dstaddrNegate",
          "dstaddrs",
          "dstintfs",
          "dynamicShaping",
          "emailCollect",
          "emailfilterProfile",
          "fec",
          "fileFilterProfile",
          "firewallSessionDirty",
          "fixedport",
          "fsso",
          "fssoAgentForNtlm",
          "fssoGroups",
          "geoipAnycast",
          "geoipMatch",
          "globalLabel",
          "groups",
          "httpPolicyRedirect",
          "icapProfile",
          "id",
          "identityBasedRoute",
          "inbound",
          "inspectionMode",
          "internetService",
          "internetService6",
          "internetService6CustomGroups",
          "internetService6Customs",
          "internetService6Groups",
          "internetService6Names",
          "internetService6Negate",
          "internetService6Src",
          "internetService6SrcCustomGroups",
          "internetService6SrcCustoms",
          "internetService6SrcGroups",
          "internetService6SrcNames",
          "internetService6SrcNegate",
          "internetServiceCustomGroups",
          "internetServiceCustoms",
          "internetServiceGroups",
          "internetServiceIds",
          "internetServiceNames",
          "internetServiceNegate",
          "internetServiceSrc",
          "internetServiceSrcCustomGroups",
          "internetServiceSrcCustoms",
          "internetServiceSrcGroups",
          "internetServiceSrcIds",
          "internetServiceSrcNames",
          "internetServiceSrcNegate",
          "ippool",
          "ipsSensor",
          "ipsVoipFilter",
          "label",
          "learningMode",
          "logtraffic",
          "logtrafficStart",
          "matchVip",
          "matchVipOnly",
          "name",
          "nat",
          "nat46",
          "nat64",
          "natinbound",
          "natip",
          "natoutbound",
          "networkServiceDynamics",
          "networkServiceSrcDynamics",
          "npAcceleration",
          "ntlm",
          "ntlmEnabledBrowsers",
          "ntlmGuest",
          "outbound",
          "passiveWanHealthMeasurement",
          "pcpInbound",
          "pcpOutbound",
          "pcpPoolnames",
          "perIpShaper",
          "permitAnyHost",
          "permitStunHost",
          "policyExpiry",
          "policyExpiryDate",
          "policyExpiryDateUtc",
          "policyid",
          "poolname6s",
          "poolnames",
          "portPreserve",
          "profileGroup",
          "profileProtocolOptions",
          "profileType",
          "radiusMacAuthBypass",
          "redirectUrl",
          "replacemsgOverrideGroup",
          "reputationDirection",
          "reputationDirection6",
          "reputationMinimum",
          "reputationMinimum6",
          "rsso",
          "rtpAddrs",
          "rtpNat",
          "scanBotnetConnections",
          "schedule",
          "scheduleTimeout",
          "sctpFilterProfile",
          "sendDenyPacket",
          "serviceNegate",
          "services",
          "sessionTtl",
          "sgtCheck",
          "sgts",
          "spamfilterProfile",
          "srcVendorMacs",
          "srcaddr6Negate",
          "srcaddr6s",
          "srcaddrNegate",
          "srcaddrs",
          "srcintfs",
          "sshFilterProfile",
          "sshPolicyRedirect",
          "sslMirror",
          "sslMirrorIntfs",
          "sslSshProfile",
          "status",
          "tcpMssReceiver",
          "tcpMssSender",
          "tcpSessionWithoutSyn",
          "timeoutSendRst",
          "tos",
          "tosMask",
          "tosNegate",
          "trafficShaper",
          "trafficShaperReverse",
          "urlCategories",
          "users",
          "utmStatus",
          "uuid",
          "videofilterProfile",
          "virtualPatchProfile",
          "vlanCosFwd",
          "vlanCosRev",
          "vlanFilter",
          "voipProfile",
          "vpntunnel",
          "wafProfile",
          "wanopt",
          "wanoptDetection",
          "wanoptPassiveOpt",
          "wanoptPeer",
          "wanoptProfile",
          "wccp",
          "webcache",
          "webcacheHttps",
          "webfilterProfile",
          "webproxyForwardServer",
          "webproxyProfile",
          "wsso",
          "ztnaDeviceOwnership",
          "ztnaEmsTagSecondaries",
          "ztnaEmsTags",
          "ztnaGeoTags",
          "ztnaPolicyRedirect",
          "ztnaStatus",
          "ztnaTagsMatchLogic"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getPolicylist:getPolicylist": {
      "description": "Provides a list of `fortios.firewall.Policy`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.firewall.getPolicylist({});\nexport const output1 = sample1;\nconst sample2 = fortios.firewall.getPolicylist({\n    filter: \"schedule==always\u0026action==accept,action==deny\",\n});\nexport const sample2Output = sample2.then(sample2 =\u003e sample2.policyidlists);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.firewall.get_policylist()\npulumi.export(\"output1\", sample1)\nsample2 = fortios.firewall.get_policylist(filter=\"schedule==always\u0026action==accept,action==deny\")\npulumi.export(\"sample2Output\", sample2.policyidlists)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Firewall.GetPolicylist.Invoke();\n\n    var sample2 = Fortios.Firewall.GetPolicylist.Invoke(new()\n    {\n        Filter = \"schedule==always\u0026action==accept,action==deny\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1,\n        [\"sample2Output\"] = sample2.Apply(getPolicylistResult =\u003e getPolicylistResult.Policyidlists),\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\tsample1, err := firewall.GetPolicylist(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1)\n\t\tsample2, err := firewall.GetPolicylist(ctx, \u0026firewall.GetPolicylistArgs{\n\t\t\tFilter: pulumi.StringRef(\"schedule==always\u0026action==accept,action==deny\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sample2Output\", sample2.Policyidlists)\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.FirewallFunctions;\nimport com.pulumi.fortios.firewall.inputs.GetPolicylistArgs;\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 sample1 = FirewallFunctions.getPolicylist();\n\n        ctx.export(\"output1\", sample1.applyValue(getPolicylistResult -\u003e getPolicylistResult));\n        final var sample2 = FirewallFunctions.getPolicylist(GetPolicylistArgs.builder()\n            .filter(\"schedule==always\u0026action==accept,action==deny\")\n            .build());\n\n        ctx.export(\"sample2Output\", sample2.applyValue(getPolicylistResult -\u003e getPolicylistResult.policyidlists()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:firewall:getPolicylist\n      Arguments: {}\n  sample2:\n    fn::invoke:\n      Function: fortios:firewall:getPolicylist\n      Arguments:\n        filter: schedule==always\u0026action==accept,action==deny\noutputs:\n  output1: ${sample1}\n  sample2Output: ${sample2.policyidlists}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Policy`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProfileprotocoloptions:getProfileprotocoloptions": {
      "description": "Use this data source to get information on an fortios firewall profileprotocoloptions\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProfileprotocoloptions.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall profileprotocoloptions.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProfileprotocoloptions.\n",
        "properties": {
          "cifs": {
            "description": "Configure CIFS protocol options. The structure of `cifs` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsCif:getProfileprotocoloptionsCif"
            },
            "type": "array"
          },
          "comment": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "dns": {
            "description": "Configure DNS protocol options. The structure of `dns` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsDn:getProfileprotocoloptionsDn"
            },
            "type": "array"
          },
          "featureSet": {
            "description": "Flow/proxy feature set.\n",
            "type": "string"
          },
          "ftps": {
            "description": "Configure FTP protocol options. The structure of `ftp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsFtp:getProfileprotocoloptionsFtp"
            },
            "type": "array"
          },
          "https": {
            "description": "Configure HTTP protocol options. The structure of `http` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsHttp:getProfileprotocoloptionsHttp"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "imaps": {
            "description": "Configure IMAP protocol options. The structure of `imap` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsImap:getProfileprotocoloptionsImap"
            },
            "type": "array"
          },
          "mailSignatures": {
            "description": "Configure Mail signature. The structure of `mail_signature` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsMailSignature:getProfileprotocoloptionsMailSignature"
            },
            "type": "array"
          },
          "mapis": {
            "description": "Configure MAPI protocol options. The structure of `mapi` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsMapi:getProfileprotocoloptionsMapi"
            },
            "type": "array"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "nntps": {
            "description": "Configure NNTP protocol options. The structure of `nntp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsNntp:getProfileprotocoloptionsNntp"
            },
            "type": "array"
          },
          "oversizeLog": {
            "description": "Enable/disable logging for antivirus oversize file blocking.\n",
            "type": "string"
          },
          "pop3s": {
            "description": "Configure POP3 protocol options. The structure of `pop3` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsPop3:getProfileprotocoloptionsPop3"
            },
            "type": "array"
          },
          "replacemsgGroup": {
            "description": "Name of the replacement message group to be used\n",
            "type": "string"
          },
          "rpcOverHttp": {
            "description": "Enable/disable inspection of RPC over HTTP.\n",
            "type": "string"
          },
          "smtps": {
            "description": "Configure SMTP protocol options. The structure of `smtp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsSmtp:getProfileprotocoloptionsSmtp"
            },
            "type": "array"
          },
          "sshes": {
            "description": "Configure SFTP and SCP protocol options. The structure of `ssh` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsSsh:getProfileprotocoloptionsSsh"
            },
            "type": "array"
          },
          "switchingProtocolsLog": {
            "description": "Enable/disable logging for HTTP/HTTPS switching protocols.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "cifs",
          "comment",
          "dns",
          "featureSet",
          "ftps",
          "https",
          "id",
          "imaps",
          "mailSignatures",
          "mapis",
          "name",
          "nntps",
          "oversizeLog",
          "pop3s",
          "replacemsgGroup",
          "rpcOverHttp",
          "smtps",
          "sshes",
          "switchingProtocolsLog"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProfileprotocoloptionslist:getProfileprotocoloptionslist": {
      "description": "Provides a list of `fortios.firewall.Profileprotocoloptions`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProfileprotocoloptionslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProfileprotocoloptionslist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Profileprotocoloptions`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxyaddress:getProxyaddress": {
      "description": "Use this data source to get information on an fortios firewall proxyaddress\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyaddress.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall proxyaddress.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProxyaddress.\n",
        "properties": {
          "applications": {
            "description": "SaaS application. The structure of `application` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddressApplication:getProxyaddressApplication"
            },
            "type": "array"
          },
          "caseSensitivity": {
            "description": "Case sensitivity in pattern.\n",
            "type": "string"
          },
          "categories": {
            "description": "Tag category.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddressCategory:getProxyaddressCategory"
            },
            "type": "array"
          },
          "color": {
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n",
            "type": "integer"
          },
          "comment": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "header": {
            "description": "HTTP header regular expression.\n",
            "type": "string"
          },
          "headerGroups": {
            "description": "HTTP header group. The structure of `header_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddressHeaderGroup:getProxyaddressHeaderGroup"
            },
            "type": "array"
          },
          "headerName": {
            "description": "HTTP header.\n",
            "type": "string"
          },
          "host": {
            "description": "Address object for the host.\n",
            "type": "string"
          },
          "hostRegex": {
            "description": "Host name as a regular expression.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "method": {
            "description": "HTTP request methods to be used.\n",
            "type": "string"
          },
          "name": {
            "description": "SaaS applicaton name.\n",
            "type": "string"
          },
          "path": {
            "description": "URL path as a regular expression.\n",
            "type": "string"
          },
          "query": {
            "description": "Match the query part of the URL as a regular expression.\n",
            "type": "string"
          },
          "referrer": {
            "description": "Enable/disable use of referrer field in the HTTP header to match the address.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddressTagging:getProxyaddressTagging"
            },
            "type": "array"
          },
          "type": {
            "description": "Proxy address type.\n",
            "type": "string"
          },
          "ua": {
            "description": "Names of browsers to be used as user agent.\n",
            "type": "string"
          },
          "uaMaxVer": {
            "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",
            "type": "string"
          },
          "uaMinVer": {
            "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",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable visibility of the object in the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "applications",
          "caseSensitivity",
          "categories",
          "color",
          "comment",
          "header",
          "headerGroups",
          "headerName",
          "host",
          "hostRegex",
          "id",
          "method",
          "name",
          "path",
          "query",
          "referrer",
          "taggings",
          "type",
          "ua",
          "uaMaxVer",
          "uaMinVer",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxyaddresslist:getProxyaddresslist": {
      "description": "Provides a list of `fortios.firewall.Proxyaddress`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyaddresslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProxyaddresslist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Proxyaddress`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxyaddrgrp:getProxyaddrgrp": {
      "description": "Use this data source to get information on an fortios firewall proxyaddrgrp\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyaddrgrp.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewall proxyaddrgrp.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProxyaddrgrp.\n",
        "properties": {
          "color": {
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n",
            "type": "integer"
          },
          "comment": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Members of address group. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddrgrpMember:getProxyaddrgrpMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxyaddrgrpTagging:getProxyaddrgrpTagging"
            },
            "type": "array"
          },
          "type": {
            "description": "Source or destination address group type.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable visibility of the object in the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "id",
          "members",
          "name",
          "taggings",
          "type",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxyaddrgrplist:getProxyaddrgrplist": {
      "description": "Provides a list of `fortios.firewall.Proxyaddrgrp`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyaddrgrplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProxyaddrgrplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall.Proxyaddrgrp`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxypolicy:getProxypolicy": {
      "description": "Use this data source to get information on an fortios firewall proxypolicy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxypolicy.\n",
        "properties": {
          "policyid": {
            "type": "integer",
            "description": "Specify the policyid of the desired firewall proxypolicy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "policyid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProxypolicy.\n",
        "properties": {
          "accessProxies": {
            "description": "IPv4 access proxy. The structure of `access_proxy` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyAccessProxy:getProxypolicyAccessProxy"
            },
            "type": "array"
          },
          "accessProxy6s": {
            "description": "IPv6 access proxy. The structure of `access_proxy6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyAccessProxy6:getProxypolicyAccessProxy6"
            },
            "type": "array"
          },
          "action": {
            "description": "Accept or deny traffic matching the policy parameters.\n",
            "type": "string"
          },
          "applicationList": {
            "description": "Name of an existing Application list.\n",
            "type": "string"
          },
          "avProfile": {
            "description": "Name of an existing Antivirus profile.\n",
            "type": "string"
          },
          "blockNotification": {
            "description": "Enable/disable block notification.\n",
            "type": "string"
          },
          "casbProfile": {
            "description": "Name of an existing CASB profile.\n",
            "type": "string"
          },
          "cifsProfile": {
            "description": "Name of an existing CIFS profile.\n",
            "type": "string"
          },
          "comments": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "decryptedTrafficMirror": {
            "description": "Decrypted traffic mirror.\n",
            "type": "string"
          },
          "detectHttpsInHttpRequest": {
            "description": "Enable/disable detection of HTTPS in HTTP request.\n",
            "type": "string"
          },
          "deviceOwnership": {
            "description": "When enabled, the ownership enforcement will be done at policy level.\n",
            "type": "string"
          },
          "diameterFilterProfile": {
            "description": "Name of an existing Diameter filter profile.\n",
            "type": "string"
          },
          "disclaimer": {
            "description": "Web proxy disclaimer setting: by domain, policy, or user.\n",
            "type": "string"
          },
          "dlpProfile": {
            "description": "Name of an existing DLP profile.\n",
            "type": "string"
          },
          "dlpSensor": {
            "description": "Name of an existing DLP sensor.\n",
            "type": "string"
          },
          "dstaddr6s": {
            "description": "IPv6 destination address objects. The structure of `dstaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyDstaddr6:getProxypolicyDstaddr6"
            },
            "type": "array"
          },
          "dstaddrNegate": {
            "description": "When enabled, destination addresses match against any address EXCEPT the specified destination addresses.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyDstaddr:getProxypolicyDstaddr"
            },
            "type": "array"
          },
          "dstintfs": {
            "description": "Destination interface names. The structure of `dstintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyDstintf:getProxypolicyDstintf"
            },
            "type": "array"
          },
          "emailfilterProfile": {
            "description": "Name of an existing email filter profile.\n",
            "type": "string"
          },
          "fileFilterProfile": {
            "description": "Name of an existing file-filter profile.\n",
            "type": "string"
          },
          "globalLabel": {
            "description": "Global web-based manager visible label.\n",
            "type": "string"
          },
          "groups": {
            "description": "Names of group objects. The structure of `groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyGroup:getProxypolicyGroup"
            },
            "type": "array"
          },
          "httpTunnelAuth": {
            "description": "Enable/disable HTTP tunnel authentication.\n",
            "type": "string"
          },
          "icapProfile": {
            "description": "Name of an existing ICAP profile.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "internetService": {
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.\n",
            "type": "string"
          },
          "internetService6": {
            "description": "Enable/disable use of Internet Services IPv6 for this policy. If enabled, destination IPv6 address and service are not used.\n",
            "type": "string"
          },
          "internetService6CustomGroups": {
            "description": "Custom Internet Service IPv6 group name. The structure of `internet_service6_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetService6CustomGroup:getProxypolicyInternetService6CustomGroup"
            },
            "type": "array"
          },
          "internetService6Customs": {
            "description": "Custom Internet Service IPv6 name. The structure of `internet_service6_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetService6Custom:getProxypolicyInternetService6Custom"
            },
            "type": "array"
          },
          "internetService6Groups": {
            "description": "Internet Service IPv6 group name. The structure of `internet_service6_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetService6Group:getProxypolicyInternetService6Group"
            },
            "type": "array"
          },
          "internetService6Names": {
            "description": "Internet Service IPv6 name. The structure of `internet_service6_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetService6Name:getProxypolicyInternetService6Name"
            },
            "type": "array"
          },
          "internetService6Negate": {
            "description": "When enabled, Internet Services match against any internet service IPv6 EXCEPT the selected Internet Service IPv6.\n",
            "type": "string"
          },
          "internetServiceCustomGroups": {
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetServiceCustomGroup:getProxypolicyInternetServiceCustomGroup"
            },
            "type": "array"
          },
          "internetServiceCustoms": {
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetServiceCustom:getProxypolicyInternetServiceCustom"
            },
            "type": "array"
          },
          "internetServiceGroups": {
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetServiceGroup:getProxypolicyInternetServiceGroup"
            },
            "type": "array"
          },
          "internetServiceIds": {
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetServiceId:getProxypolicyInternetServiceId"
            },
            "type": "array"
          },
          "internetServiceNames": {
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyInternetServiceName:getProxypolicyInternetServiceName"
            },
            "type": "array"
          },
          "internetServiceNegate": {
            "description": "When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service.\n",
            "type": "string"
          },
          "ipsSensor": {
            "description": "Name of an existing IPS sensor.\n",
            "type": "string"
          },
          "ipsVoipFilter": {
            "description": "Name of an existing VoIP (ips) profile.\n",
            "type": "string"
          },
          "label": {
            "description": "VDOM-specific GUI visible label.\n",
            "type": "string"
          },
          "logtraffic": {
            "description": "Enable/disable logging traffic through the policy.\n",
            "type": "string"
          },
          "logtrafficStart": {
            "description": "Enable/disable policy log traffic start.\n",
            "type": "string"
          },
          "name": {
            "description": "Group name.\n",
            "type": "string"
          },
          "policyid": {
            "description": "Policy ID.\n",
            "type": "integer"
          },
          "poolnames": {
            "description": "Name of IP pool object. The structure of `poolname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyPoolname:getProxypolicyPoolname"
            },
            "type": "array"
          },
          "profileGroup": {
            "description": "Name of profile group.\n",
            "type": "string"
          },
          "profileProtocolOptions": {
            "description": "Name of an existing Protocol options profile.\n",
            "type": "string"
          },
          "profileType": {
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only.\n",
            "type": "string"
          },
          "proxy": {
            "description": "Type of explicit proxy.\n",
            "type": "string"
          },
          "redirectUrl": {
            "description": "Redirect URL for further explicit web proxy processing.\n",
            "type": "string"
          },
          "replacemsgOverrideGroup": {
            "description": "Authentication replacement message override group.\n",
            "type": "string"
          },
          "scanBotnetConnections": {
            "description": "Enable/disable scanning of connections to Botnet servers.\n",
            "type": "string"
          },
          "schedule": {
            "description": "Name of schedule object.\n",
            "type": "string"
          },
          "sctpFilterProfile": {
            "description": "Name of an existing SCTP filter profile.\n",
            "type": "string"
          },
          "serviceNegate": {
            "description": "When enabled, services match against any service EXCEPT the specified destination services.\n",
            "type": "string"
          },
          "services": {
            "description": "Name of service objects. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyService:getProxypolicyService"
            },
            "type": "array"
          },
          "sessionTtl": {
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n",
            "type": "integer"
          },
          "spamfilterProfile": {
            "description": "Name of an existing Spam filter profile.\n",
            "type": "string"
          },
          "srcaddr6s": {
            "description": "IPv6 source address objects. The structure of `srcaddr6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicySrcaddr6:getProxypolicySrcaddr6"
            },
            "type": "array"
          },
          "srcaddrNegate": {
            "description": "When enabled, source addresses match against any address EXCEPT the specified source addresses.\n",
            "type": "string"
          },
          "srcaddrs": {
            "description": "Source address objects. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicySrcaddr:getProxypolicySrcaddr"
            },
            "type": "array"
          },
          "srcintfs": {
            "description": "Source interface names. The structure of `srcintf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicySrcintf:getProxypolicySrcintf"
            },
            "type": "array"
          },
          "sshFilterProfile": {
            "description": "Name of an existing SSH filter profile.\n",
            "type": "string"
          },
          "sshPolicyRedirect": {
            "description": "Redirect SSH traffic to matching transparent proxy policy.\n",
            "type": "string"
          },
          "sslSshProfile": {
            "description": "Name of an existing SSL SSH profile.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable the active status of the policy.\n",
            "type": "string"
          },
          "transparent": {
            "description": "Enable to use the IP address of the client to connect to the server.\n",
            "type": "string"
          },
          "users": {
            "description": "Names of user objects. The structure of `users` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyUser:getProxypolicyUser"
            },
            "type": "array"
          },
          "utmStatus": {
            "description": "Enable the use of UTM profiles/sensors/lists.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "videofilterProfile": {
            "description": "Name of an existing VideoFilter profile.\n",
            "type": "string"
          },
          "virtualPatchProfile": {
            "description": "Name of an existing virtual-patch profile.\n",
            "type": "string"
          },
          "voipProfile": {
            "description": "Name of an existing VoIP profile.\n",
            "type": "string"
          },
          "wafProfile": {
            "description": "Name of an existing Web application firewall profile.\n",
            "type": "string"
          },
          "webcache": {
            "description": "Enable/disable web caching.\n",
            "type": "string"
          },
          "webcacheHttps": {
            "description": "Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile).\n",
            "type": "string"
          },
          "webfilterProfile": {
            "description": "Name of an existing Web filter profile.\n",
            "type": "string"
          },
          "webproxyForwardServer": {
            "description": "Web proxy forward server name.\n",
            "type": "string"
          },
          "webproxyProfile": {
            "description": "Name of web proxy profile.\n",
            "type": "string"
          },
          "ztnaEmsTags": {
            "description": "ZTNA EMS Tag names. The structure of `ztna_ems_tag` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2FgetProxypolicyZtnaEmsTag:getProxypolicyZtnaEmsTag"
            },
            "type": "array"
          },
          "ztnaTagsMatchLogic": {
            "description": "ZTNA tag matching logic.\n",
            "type": "string"
          }
        },
        "required": [
          "accessProxies",
          "accessProxy6s",
          "action",
          "applicationList",
          "avProfile",
          "blockNotification",
          "casbProfile",
          "cifsProfile",
          "comments",
          "decryptedTrafficMirror",
          "detectHttpsInHttpRequest",
          "deviceOwnership",
          "diameterFilterProfile",
          "disclaimer",
          "dlpProfile",
          "dlpSensor",
          "dstaddr6s",
          "dstaddrNegate",
          "dstaddrs",
          "dstintfs",
          "emailfilterProfile",
          "fileFilterProfile",
          "globalLabel",
          "groups",
          "httpTunnelAuth",
          "icapProfile",
          "id",
          "internetService",
          "internetService6",
          "internetService6CustomGroups",
          "internetService6Customs",
          "internetService6Groups",
          "internetService6Names",
          "internetService6Negate",
          "internetServiceCustomGroups",
          "internetServiceCustoms",
          "internetServiceGroups",
          "internetServiceIds",
          "internetServiceNames",
          "internetServiceNegate",
          "ipsSensor",
          "ipsVoipFilter",
          "label",
          "logtraffic",
          "logtrafficStart",
          "name",
          "policyid",
          "poolnames",
          "profileGroup",
          "profileProtocolOptions",
          "profileType",
          "proxy",
          "redirectUrl",
          "replacemsgOverrideGroup",
          "scanBotnetConnections",
          "schedule",
          "sctpFilterProfile",
          "serviceNegate",
          "services",
          "sessionTtl",
          "spamfilterProfile",
          "srcaddr6s",
          "srcaddrNegate",
          "srcaddrs",
          "srcintfs",
          "sshFilterProfile",
          "sshPolicyRedirect",
          "sslSshProfile",
          "status",
          "transparent",
          "users",
          "utmStatus",
          "uuid",
          "videofilterProfile",
          "virtualPatchProfile",
          "voipProfile",
          "wafProfile",
          "webcache",
          "webcacheHttps",
          "webfilterProfile",
          "webproxyForwardServer",
          "webproxyProfile",
          "ztnaEmsTags",
          "ztnaTagsMatchLogic"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/getProxypolicylist:getProxypolicylist": {
      "description": "Provides a list of `fortios.firewall.Proxypolicy`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxypolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProxypolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "policyidlists": {
            "description": "A list of the `fortios.firewall.Proxypolicy`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "policyidlists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getGroup:getGroup": {
      "description": "Use this data source to get information on an fortios firewallschedule group\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallschedule group.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getGroup.\n",
        "properties": {
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Schedules added to the schedule group. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fschedule%2FgetGroupMember:getGroupMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "fabricObject",
          "id",
          "members",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getGrouplist:getGrouplist": {
      "description": "Provides a list of `fortios.firewall/schedule.Group`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/schedule.Group`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getOnetime:getOnetime": {
      "description": "Use this data source to get information on an fortios firewallschedule onetime\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOnetime.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallschedule onetime.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getOnetime.\n",
        "properties": {
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "end": {
            "description": "Schedule end date and time, format hh:mm yyyy/mm/dd.\n",
            "type": "string"
          },
          "endUtc": {
            "description": "Schedule end date and time, in epoch format.\n",
            "type": "string"
          },
          "expirationDays": {
            "description": "Write an event log message this many days before the schedule expires.\n",
            "type": "integer"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Onetime schedule name.\n",
            "type": "string"
          },
          "start": {
            "description": "Schedule start date and time, format hh:mm yyyy/mm/dd.\n",
            "type": "string"
          },
          "startUtc": {
            "description": "Schedule start date and time, in epoch format.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "end",
          "endUtc",
          "expirationDays",
          "fabricObject",
          "id",
          "name",
          "start",
          "startUtc"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getOnetimelist:getOnetimelist": {
      "description": "Provides a list of `fortios.firewall/schedule.Onetime`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOnetimelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getOnetimelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/schedule.Onetime`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getRecurring:getRecurring": {
      "description": "Use this data source to get information on an fortios firewallschedule recurring\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRecurring.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallschedule recurring.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRecurring.\n",
        "properties": {
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "day": {
            "description": "One or more days of the week on which the schedule is valid. Separate the names of the days with a space.\n",
            "type": "string"
          },
          "end": {
            "description": "Time of day to end the schedule, format hh:mm.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Recurring schedule name.\n",
            "type": "string"
          },
          "start": {
            "description": "Time of day to start the schedule, format hh:mm.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "day",
          "end",
          "fabricObject",
          "id",
          "name",
          "start"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/schedule/getRecurringlist:getRecurringlist": {
      "description": "Provides a list of `fortios.firewall/schedule.Recurring`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRecurringlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getRecurringlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/schedule.Recurring`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getCategory:getCategory": {
      "description": "Use this data source to get information on an fortios firewallservice category\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCategory.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallservice category.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCategory.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Service category name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comment",
          "fabricObject",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getCategorylist:getCategorylist": {
      "description": "Provides a list of `fortios.firewall/service.Category`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCategorylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCategorylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/service.Category`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getCustom:getCustom": {
      "description": "Use this data source to get information on an fortios firewallservice custom\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCustom.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallservice custom.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCustom.\n",
        "properties": {
          "appCategories": {
            "description": "Application category ID. The structure of `app_category` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FgetCustomAppCategory:getCustomAppCategory"
            },
            "type": "array"
          },
          "appServiceType": {
            "description": "Application service type.\n",
            "type": "string"
          },
          "applications": {
            "description": "Application ID. The structure of `application` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FgetCustomApplication:getCustomApplication"
            },
            "type": "array"
          },
          "category": {
            "description": "Service category.\n",
            "type": "string"
          },
          "checkResetRange": {
            "description": "Configure the type of ICMP error message verification.\n",
            "type": "string"
          },
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "fqdn": {
            "description": "Fully qualified domain name.\n",
            "type": "string"
          },
          "helper": {
            "description": "Helper name.\n",
            "type": "string"
          },
          "icmpcode": {
            "description": "ICMP code.\n",
            "type": "integer"
          },
          "icmptype": {
            "description": "ICMP type.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "iprange": {
            "description": "Start and end of the IP range associated with service.\n",
            "type": "string"
          },
          "name": {
            "description": "Custom service name.\n",
            "type": "string"
          },
          "protocol": {
            "description": "Protocol type based on IANA numbers.\n",
            "type": "string"
          },
          "protocolNumber": {
            "description": "IP protocol number.\n",
            "type": "integer"
          },
          "proxy": {
            "description": "Enable/disable web proxy service.\n",
            "type": "string"
          },
          "sctpPortrange": {
            "description": "Multiple SCTP port ranges.\n",
            "type": "string"
          },
          "sessionTtl": {
            "description": "Session TTL (300 - 604800, 0 = default).\n",
            "type": "integer"
          },
          "tcpHalfcloseTimer": {
            "description": "Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default).\n",
            "type": "integer"
          },
          "tcpHalfopenTimer": {
            "description": "Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default).\n",
            "type": "integer"
          },
          "tcpPortrange": {
            "description": "Multiple TCP port ranges.\n",
            "type": "string"
          },
          "tcpRstTimer": {
            "description": "Set the length of the TCP CLOSE state in seconds (5 - 300 sec, 0 = default).\n",
            "type": "integer"
          },
          "tcpTimewaitTimer": {
            "description": "Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default).\n",
            "type": "integer"
          },
          "udpIdleTimer": {
            "description": "UDP half close timeout (0 - 86400 sec, 0 = default).\n",
            "type": "integer"
          },
          "udpPortrange": {
            "description": "Multiple UDP port ranges.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable the visibility of the service on the GUI.\n",
            "type": "string"
          }
        },
        "required": [
          "appCategories",
          "appServiceType",
          "applications",
          "category",
          "checkResetRange",
          "color",
          "comment",
          "fabricObject",
          "fqdn",
          "helper",
          "icmpcode",
          "icmptype",
          "id",
          "iprange",
          "name",
          "protocol",
          "protocolNumber",
          "proxy",
          "sctpPortrange",
          "sessionTtl",
          "tcpHalfcloseTimer",
          "tcpHalfopenTimer",
          "tcpPortrange",
          "tcpRstTimer",
          "tcpTimewaitTimer",
          "udpIdleTimer",
          "udpPortrange",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getCustomlist:getCustomlist": {
      "description": "Provides a list of `fortios.firewall/service.Custom`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCustomlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCustomlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/service.Custom`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getGroup:getGroup": {
      "description": "Use this data source to get information on an fortios firewallservice group\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallservice group.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getGroup.\n",
        "properties": {
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "fabricObject": {
            "description": "Security Fabric global object setting.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Service objects contained within the group. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FgetGroupMember:getGroupMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Address name.\n",
            "type": "string"
          },
          "proxy": {
            "description": "Enable/disable web proxy service group.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "fabricObject",
          "id",
          "members",
          "name",
          "proxy",
          "uuid"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/service/getGrouplist:getGrouplist": {
      "description": "Provides a list of `fortios.firewall/service.Group`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/service.Group`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/shaper/getPeripshaper:getPeripshaper": {
      "description": "Use this data source to get information on an fortios firewallshaper peripshaper\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPeripshaper.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallshaper peripshaper.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPeripshaper.\n",
        "properties": {
          "bandwidthUnit": {
            "description": "Unit of measurement for maximum bandwidth for this shaper (Kbps, Mbps or Gbps).\n",
            "type": "string"
          },
          "diffservForward": {
            "description": "Enable/disable changing the Forward (original) DiffServ setting applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "diffservReverse": {
            "description": "Enable/disable changing the Reverse (reply) DiffServ setting applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "diffservcodeForward": {
            "description": "Forward (original) DiffServ setting to be applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "diffservcodeRev": {
            "description": "Reverse (reply) DiffServ setting to be applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "maxBandwidth": {
            "description": "Upper bandwidth limit enforced by this shaper (0 - 16776000). 0 means no limit. Units depend on the bandwidth-unit setting.\n",
            "type": "integer"
          },
          "maxConcurrentSession": {
            "description": "Maximum number of concurrent sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n",
            "type": "integer"
          },
          "maxConcurrentTcpSession": {
            "description": "Maximum number of concurrent TCP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n",
            "type": "integer"
          },
          "maxConcurrentUdpSession": {
            "description": "Maximum number of concurrent UDP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n",
            "type": "integer"
          },
          "name": {
            "description": "Traffic shaper name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "bandwidthUnit",
          "diffservForward",
          "diffservReverse",
          "diffservcodeForward",
          "diffservcodeRev",
          "id",
          "maxBandwidth",
          "maxConcurrentSession",
          "maxConcurrentTcpSession",
          "maxConcurrentUdpSession",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/shaper/getPeripshaperlist:getPeripshaperlist": {
      "description": "Provides a list of `fortios.firewall/shaper.Peripshaper`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPeripshaperlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPeripshaperlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/shaper.Peripshaper`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/shaper/getTrafficshaper:getTrafficshaper": {
      "description": "Use this data source to get information on an fortios firewallshaper trafficshaper\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTrafficshaper.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallshaper trafficshaper.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTrafficshaper.\n",
        "properties": {
          "bandwidthUnit": {
            "description": "Unit of measurement for guaranteed and maximum bandwidth for this shaper (Kbps, Mbps or Gbps).\n",
            "type": "string"
          },
          "cos": {
            "description": "VLAN CoS mark.\n",
            "type": "string"
          },
          "cosMarking": {
            "description": "Enable/disable VLAN CoS marking.\n",
            "type": "string"
          },
          "cosMarkingMethod": {
            "description": "Select VLAN CoS marking method.\n",
            "type": "string"
          },
          "diffserv": {
            "description": "Enable/disable changing the DiffServ setting applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "diffservcode": {
            "description": "DiffServ setting to be applied to traffic accepted by this shaper.\n",
            "type": "string"
          },
          "dscpMarkingMethod": {
            "description": "Select DSCP marking method.\n",
            "type": "string"
          },
          "exceedBandwidth": {
            "description": "Exceed bandwidth used for DSCP multi-stage marking. Units depend on the bandwidth-unit setting.\n",
            "type": "integer"
          },
          "exceedClassId": {
            "description": "Class ID for traffic in [guaranteed-bandwidth, maximum-bandwidth].\n",
            "type": "integer"
          },
          "exceedCos": {
            "description": "VLAN CoS mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n",
            "type": "string"
          },
          "exceedDscp": {
            "description": "DSCP mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n",
            "type": "string"
          },
          "guaranteedBandwidth": {
            "description": "Amount of bandwidth guaranteed for this shaper (0 - 16776000). Units depend on the bandwidth-unit setting.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "maximumBandwidth": {
            "description": "Upper bandwidth limit enforced by this shaper (0 - 16776000). 0 means no limit. Units depend on the bandwidth-unit setting.\n",
            "type": "integer"
          },
          "maximumCos": {
            "description": "VLAN CoS mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n",
            "type": "string"
          },
          "maximumDscp": {
            "description": "DSCP mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n",
            "type": "string"
          },
          "name": {
            "description": "Traffic shaper name.\n",
            "type": "string"
          },
          "overhead": {
            "description": "Per-packet size overhead used in rate computations.\n",
            "type": "integer"
          },
          "perPolicy": {
            "description": "Enable/disable applying a separate shaper for each policy. For example, if enabled the guaranteed bandwidth is applied separately for each policy.\n",
            "type": "string"
          },
          "priority": {
            "description": "Higher priority traffic is more likely to be forwarded without delays and without compromising the guaranteed bandwidth.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "bandwidthUnit",
          "cos",
          "cosMarking",
          "cosMarkingMethod",
          "diffserv",
          "diffservcode",
          "dscpMarkingMethod",
          "exceedBandwidth",
          "exceedClassId",
          "exceedCos",
          "exceedDscp",
          "guaranteedBandwidth",
          "id",
          "maximumBandwidth",
          "maximumCos",
          "maximumDscp",
          "name",
          "overhead",
          "perPolicy",
          "priority"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/shaper/getTrafficshaperlist:getTrafficshaperlist": {
      "description": "Provides a list of `fortios.firewall/shaper.Trafficshaper`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTrafficshaperlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getTrafficshaperlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/shaper.Trafficshaper`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/getCustom:getCustom": {
      "description": "Use this data source to get information on an fortios firewallwildcardfqdn custom\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCustom.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallwildcardfqdn custom.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCustom.\n",
        "properties": {
          "color": {
            "description": "GUI icon color.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Address name.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable address visibility.\n",
            "type": "string"
          },
          "wildcardFqdn": {
            "description": "Wildcard FQDN.\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "id",
          "name",
          "uuid",
          "visibility",
          "wildcardFqdn"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/getCustomlist:getCustomlist": {
      "description": "Provides a list of `fortios.firewall/wildcardfqdn.Custom`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCustomlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCustomlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/wildcardfqdn.Custom`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/getGroup:getGroup": {
      "description": "Use this data source to get information on an fortios firewallwildcardfqdn group\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired firewallwildcardfqdn group.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getGroup.\n",
        "properties": {
          "color": {
            "description": "GUI icon color.\n",
            "type": "integer"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Address group members. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fwildcardfqdn%2FgetGroupMember:getGroupMember"
            },
            "type": "array"
          },
          "name": {
            "description": "Address name.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "visibility": {
            "description": "Enable/disable address visibility.\n",
            "type": "string"
          }
        },
        "required": [
          "color",
          "comment",
          "id",
          "members",
          "name",
          "uuid",
          "visibility"
        ],
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/getGrouplist:getGrouplist": {
      "description": "Provides a list of `fortios.firewall/wildcardfqdn.Group`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getGrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.firewall/wildcardfqdn.Group`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:ipmask/getCidr:getCidr": {
      "description": "Convert IP/Mask to CIDR\n\n## Example Usage\n\n### Example1\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst trnameInterface = fortios.system.getInterface({\n    name: \"port3\",\n});\nconst trnameCidr = trnameInterface.then(trnameInterface =\u003e fortios.ipmask.getCidr({\n    ipmask: trnameInterface.ip,\n}));\nexport const output1 = trnameCidr.then(trnameCidr =\u003e trnameCidr.cidr);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\ntrname_interface = fortios.system.get_interface(name=\"port3\")\ntrname_cidr = fortios.ipmask.get_cidr(ipmask=trname_interface.ip)\npulumi.export(\"output1\", trname_cidr.cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var trnameInterface = Fortios.System.GetInterface.Invoke(new()\n    {\n        Name = \"port3\",\n    });\n\n    var trnameCidr = Fortios.Ipmask.GetCidr.Invoke(new()\n    {\n        Ipmask = trnameInterface.Apply(getInterfaceResult =\u003e getInterfaceResult.Ip),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = trnameCidr.Apply(getCidrResult =\u003e getCidrResult.Cidr),\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/ipmask\"\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\ttrnameInterface, err := system.LookupInterface(ctx, \u0026system.LookupInterfaceArgs{\n\t\t\tName: \"port3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttrnameCidr, err := ipmask.GetCidr(ctx, \u0026ipmask.GetCidrArgs{\n\t\t\tIpmask: pulumi.StringRef(trnameInterface.Ip),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", trnameCidr.Cidr)\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.SystemFunctions;\nimport com.pulumi.fortios.system.inputs.GetInterfaceArgs;\nimport com.pulumi.fortios.ipmask.IpmaskFunctions;\nimport com.pulumi.fortios.ipmask.inputs.GetCidrArgs;\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 trnameInterface = SystemFunctions.getInterface(GetInterfaceArgs.builder()\n            .name(\"port3\")\n            .build());\n\n        final var trnameCidr = IpmaskFunctions.getCidr(GetCidrArgs.builder()\n            .ipmask(trnameInterface.applyValue(getInterfaceResult -\u003e getInterfaceResult.ip()))\n            .build());\n\n        ctx.export(\"output1\", trnameCidr.applyValue(getCidrResult -\u003e getCidrResult.cidr()));\n    }\n}\n```\n```yaml\nvariables:\n  trnameInterface:\n    fn::invoke:\n      Function: fortios:system:getInterface\n      Arguments:\n        name: port3\n  trnameCidr:\n    fn::invoke:\n      Function: fortios:ipmask:getCidr\n      Arguments:\n        ipmask: ${trnameInterface.ip}\noutputs:\n  output1: ${trnameCidr.cidr}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Example2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst trnameInterface = fortios.system.getInterface({\n    name: \"port3\",\n});\nconst trnameCidr = trnameInterface.then(trnameInterface =\u003e fortios.ipmask.getCidr({\n    ipmask: trnameInterface.ip,\n    ipmasklists: [\n        \"21.1.1.1 255.255.255.0\",\n        \"22.1.1.1 255.255.255.240\",\n        \"23.1.1.1 255.255.255.224\",\n    ],\n}));\nexport const outputConv1 = trnameCidr.then(trnameCidr =\u003e trnameCidr.cidr);\nexport const outputConv2 = trnameCidr.then(trnameCidr =\u003e trnameCidr.cidrlists);\nexport const outputOrignal = trnameInterface.then(trnameInterface =\u003e trnameInterface.ip);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\ntrname_interface = fortios.system.get_interface(name=\"port3\")\ntrname_cidr = fortios.ipmask.get_cidr(ipmask=trname_interface.ip,\n    ipmasklists=[\n        \"21.1.1.1 255.255.255.0\",\n        \"22.1.1.1 255.255.255.240\",\n        \"23.1.1.1 255.255.255.224\",\n    ])\npulumi.export(\"outputConv1\", trname_cidr.cidr)\npulumi.export(\"outputConv2\", trname_cidr.cidrlists)\npulumi.export(\"outputOrignal\", trname_interface.ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var trnameInterface = Fortios.System.GetInterface.Invoke(new()\n    {\n        Name = \"port3\",\n    });\n\n    var trnameCidr = Fortios.Ipmask.GetCidr.Invoke(new()\n    {\n        Ipmask = trnameInterface.Apply(getInterfaceResult =\u003e getInterfaceResult.Ip),\n        Ipmasklists = new[]\n        {\n            \"21.1.1.1 255.255.255.0\",\n            \"22.1.1.1 255.255.255.240\",\n            \"23.1.1.1 255.255.255.224\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"outputConv1\"] = trnameCidr.Apply(getCidrResult =\u003e getCidrResult.Cidr),\n        [\"outputConv2\"] = trnameCidr.Apply(getCidrResult =\u003e getCidrResult.Cidrlists),\n        [\"outputOrignal\"] = trnameInterface.Apply(getInterfaceResult =\u003e getInterfaceResult.Ip),\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/ipmask\"\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\ttrnameInterface, err := system.LookupInterface(ctx, \u0026system.LookupInterfaceArgs{\n\t\t\tName: \"port3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttrnameCidr, err := ipmask.GetCidr(ctx, \u0026ipmask.GetCidrArgs{\n\t\t\tIpmask: pulumi.StringRef(trnameInterface.Ip),\n\t\t\tIpmasklists: []string{\n\t\t\t\t\"21.1.1.1 255.255.255.0\",\n\t\t\t\t\"22.1.1.1 255.255.255.240\",\n\t\t\t\t\"23.1.1.1 255.255.255.224\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"outputConv1\", trnameCidr.Cidr)\n\t\tctx.Export(\"outputConv2\", trnameCidr.Cidrlists)\n\t\tctx.Export(\"outputOrignal\", trnameInterface.Ip)\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.SystemFunctions;\nimport com.pulumi.fortios.system.inputs.GetInterfaceArgs;\nimport com.pulumi.fortios.ipmask.IpmaskFunctions;\nimport com.pulumi.fortios.ipmask.inputs.GetCidrArgs;\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 trnameInterface = SystemFunctions.getInterface(GetInterfaceArgs.builder()\n            .name(\"port3\")\n            .build());\n\n        final var trnameCidr = IpmaskFunctions.getCidr(GetCidrArgs.builder()\n            .ipmask(trnameInterface.applyValue(getInterfaceResult -\u003e getInterfaceResult.ip()))\n            .ipmasklists(            \n                \"21.1.1.1 255.255.255.0\",\n                \"22.1.1.1 255.255.255.240\",\n                \"23.1.1.1 255.255.255.224\")\n            .build());\n\n        ctx.export(\"outputConv1\", trnameCidr.applyValue(getCidrResult -\u003e getCidrResult.cidr()));\n        ctx.export(\"outputConv2\", trnameCidr.applyValue(getCidrResult -\u003e getCidrResult.cidrlists()));\n        ctx.export(\"outputOrignal\", trnameInterface.applyValue(getInterfaceResult -\u003e getInterfaceResult.ip()));\n    }\n}\n```\n```yaml\nvariables:\n  trnameInterface:\n    fn::invoke:\n      Function: fortios:system:getInterface\n      Arguments:\n        name: port3\n  trnameCidr:\n    fn::invoke:\n      Function: fortios:ipmask:getCidr\n      Arguments:\n        ipmask: ${trnameInterface.ip}\n        ipmasklists:\n          - 21.1.1.1 255.255.255.0\n          - 22.1.1.1 255.255.255.240\n          - 23.1.1.1 255.255.255.224\noutputs:\n  outputConv1: ${trnameCidr.cidr}\n  outputConv2: ${trnameCidr.cidrlists}\n  outputOrignal: ${trnameInterface.ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCidr.\n",
        "properties": {
          "ipmask": {
            "type": "string",
            "description": "Specify IP/MASK.\n"
          },
          "ipmasklists": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specify IP/MASK list.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getCidr.\n",
        "properties": {
          "cidr": {
            "description": "Classless Inter-Domain Routing of the IP/MASK.\n",
            "type": "string"
          },
          "cidrlists": {
            "description": "Classless Inter-Domain Routing list converted from the IP/MASK list.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ipmask": {
            "description": "IP/MASK.\n",
            "type": "string"
          },
          "ipmasklists": {
            "description": "IP/MASK list.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "cidr",
          "cidrlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:json/getGenericApi:getGenericApi": {
      "description": "Provides a FortiAPI Generic Interface data source.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGenericApi.\n",
        "properties": {
          "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
          }
        },
        "type": "object",
        "required": [
          "path"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getGenericApi.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "path": {
            "description": "FortiAPI URL path.\n",
            "type": "string"
          },
          "response": {
            "description": "FortiAPI returns results.\n",
            "type": "string"
          },
          "specialparams": {
            "description": "URL parameters, in addition to the URL path, user can specify URL parameters which are appended to the URL path..\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "path",
          "response"
        ],
        "type": "object"
      }
    },
    "fortios:router/bgp/getNeighbor:getNeighbor": {
      "description": "Use this data source to get information on an fortios routerbgp neighbor\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.router.bgp.getNeighbor({\n    ip: \"21.1.1.12\",\n});\nexport const output1 = sample1;\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.router.bgp.get_neighbor(ip=\"21.1.1.12\")\npulumi.export(\"output1\", sample1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Router.Bgp.GetNeighbor.Invoke(new()\n    {\n        Ip = \"21.1.1.12\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1,\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample1, err := router.GetNeighbor(ctx, \u0026bgp.GetNeighborArgs{\n\t\t\tIp: \"21.1.1.12\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1)\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.router_bgp.Router_bgpFunctions;\nimport com.pulumi.fortios.router.inputs.GetNeighborArgs;\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 sample1 = Router/bgpFunctions.getNeighbor(GetNeighborArgs.builder()\n            .ip(\"21.1.1.12\")\n            .build());\n\n        ctx.export(\"output1\", sample1.applyValue(getNeighborResult -\u003e getNeighborResult));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:router/bgp:getNeighbor\n      Arguments:\n        ip: 21.1.1.12\noutputs:\n  output1: ${sample1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNeighbor.\n",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Specify the ip of the desired routerbgp neighbor.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "ip"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getNeighbor.\n",
        "properties": {
          "activate": {
            "description": "Enable/disable address family IPv4 for this neighbor.\n",
            "type": "string"
          },
          "activate6": {
            "description": "Enable/disable address family IPv6 for this neighbor.\n",
            "type": "string"
          },
          "activateEvpn": {
            "description": "Enable/disable address family L2VPN EVPN for this neighbor.\n",
            "type": "string"
          },
          "activateVpnv4": {
            "description": "Enable/disable address family VPNv4 for this neighbor.\n",
            "type": "string"
          },
          "activateVpnv6": {
            "description": "Enable/disable address family VPNv6 for this neighbor.\n",
            "type": "string"
          },
          "additionalPath": {
            "description": "Enable/disable IPv4 additional-path capability.\n",
            "type": "string"
          },
          "additionalPath6": {
            "description": "Enable/disable IPv6 additional-path capability.\n",
            "type": "string"
          },
          "additionalPathVpnv4": {
            "description": "Enable/disable VPNv4 additional-path capability.\n",
            "type": "string"
          },
          "additionalPathVpnv6": {
            "description": "Enable/disable VPNv6 additional-path capability.\n",
            "type": "string"
          },
          "advAdditionalPath": {
            "description": "Number of IPv4 additional paths that can be advertised to this neighbor.\n",
            "type": "integer"
          },
          "advAdditionalPath6": {
            "description": "Number of IPv6 additional paths that can be advertised to this neighbor.\n",
            "type": "integer"
          },
          "advAdditionalPathVpnv4": {
            "description": "Number of VPNv4 additional paths that can be advertised to this neighbor.\n",
            "type": "integer"
          },
          "advAdditionalPathVpnv6": {
            "description": "Number of VPNv6 additional paths that can be advertised to this neighbor.\n",
            "type": "integer"
          },
          "advertisementInterval": {
            "description": "Minimum interval (sec) between sending updates.\n",
            "type": "integer"
          },
          "allowasIn": {
            "description": "IPv4 The maximum number of occurrence of my AS number allowed.\n",
            "type": "integer"
          },
          "allowasIn6": {
            "description": "IPv6 The maximum number of occurrence of my AS number allowed.\n",
            "type": "integer"
          },
          "allowasInEnable": {
            "description": "Enable/disable IPv4 Enable to allow my AS in AS path.\n",
            "type": "string"
          },
          "allowasInEnable6": {
            "description": "Enable/disable IPv6 Enable to allow my AS in AS path.\n",
            "type": "string"
          },
          "allowasInEnableEvpn": {
            "description": "Enable/disable to allow my AS in AS path for L2VPN EVPN route.\n",
            "type": "string"
          },
          "allowasInEnableVpnv4": {
            "description": "Enable/disable to allow my AS in AS path for VPNv4 route.\n",
            "type": "string"
          },
          "allowasInEnableVpnv6": {
            "description": "Enable/disable use of my AS in AS path for VPNv6 route.\n",
            "type": "string"
          },
          "allowasInEvpn": {
            "description": "The maximum number of occurrence of my AS number allowed for L2VPN EVPN route.\n",
            "type": "integer"
          },
          "allowasInVpnv4": {
            "description": "The maximum number of occurrence of my AS number allowed for VPNv4 route.\n",
            "type": "integer"
          },
          "allowasInVpnv6": {
            "description": "The maximum number of occurrence of my AS number allowed for VPNv6 route.\n",
            "type": "integer"
          },
          "asOverride": {
            "description": "Enable/disable replace peer AS with own AS for IPv4.\n",
            "type": "string"
          },
          "asOverride6": {
            "description": "Enable/disable replace peer AS with own AS for IPv6.\n",
            "type": "string"
          },
          "attributeUnchanged": {
            "description": "IPv4 List of attributes that should be unchanged.\n",
            "type": "string"
          },
          "attributeUnchanged6": {
            "description": "IPv6 List of attributes that should be unchanged.\n",
            "type": "string"
          },
          "attributeUnchangedVpnv4": {
            "description": "List of attributes that should be unchanged for VPNv4 route.\n",
            "type": "string"
          },
          "attributeUnchangedVpnv6": {
            "description": "List of attributes that should not be changed for VPNv6 route.\n",
            "type": "string"
          },
          "authOptions": {
            "description": "Key-chain name for TCP authentication options.\n",
            "type": "string"
          },
          "bfd": {
            "description": "Enable/disable BFD for this neighbor.\n",
            "type": "string"
          },
          "capabilityDefaultOriginate": {
            "description": "Enable/disable advertise default IPv4 route to this neighbor.\n",
            "type": "string"
          },
          "capabilityDefaultOriginate6": {
            "description": "Enable/disable advertise default IPv6 route to this neighbor.\n",
            "type": "string"
          },
          "capabilityDynamic": {
            "description": "Enable/disable advertise dynamic capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityGracefulRestart": {
            "description": "Enable/disable advertise IPv4 graceful restart capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityGracefulRestart6": {
            "description": "Enable/disable advertise IPv6 graceful restart capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityGracefulRestartEvpn": {
            "description": "Enable/disable advertisement of L2VPN EVPN graceful restart capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityGracefulRestartVpnv4": {
            "description": "Enable/disable advertise VPNv4 graceful restart capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityGracefulRestartVpnv6": {
            "description": "Enable/disable advertisement of VPNv6 graceful restart capability to this neighbor.\n",
            "type": "string"
          },
          "capabilityOrf": {
            "description": "Accept/Send IPv4 ORF lists to/from this neighbor.\n",
            "type": "string"
          },
          "capabilityOrf6": {
            "description": "Accept/Send IPv6 ORF lists to/from this neighbor.\n",
            "type": "string"
          },
          "capabilityRouteRefresh": {
            "description": "Enable/disable advertise route refresh capability to this neighbor.\n",
            "type": "string"
          },
          "conditionalAdvertise6s": {
            "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2Fbgp%2FgetNeighborConditionalAdvertise6:getNeighborConditionalAdvertise6"
            },
            "type": "array"
          },
          "conditionalAdvertises": {
            "description": "Conditional advertisement. The structure of `conditional_advertise` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2Fbgp%2FgetNeighborConditionalAdvertise:getNeighborConditionalAdvertise"
            },
            "type": "array"
          },
          "connectTimer": {
            "description": "Interval (sec) for connect timer.\n",
            "type": "integer"
          },
          "defaultOriginateRoutemap": {
            "description": "Route map to specify criteria to originate IPv4 default.\n",
            "type": "string"
          },
          "defaultOriginateRoutemap6": {
            "description": "Route map to specify criteria to originate IPv6 default.\n",
            "type": "string"
          },
          "description": {
            "description": "Description.\n",
            "type": "string"
          },
          "distributeListIn": {
            "description": "Filter for IPv4 updates from this neighbor.\n",
            "type": "string"
          },
          "distributeListIn6": {
            "description": "Filter for IPv6 updates from this neighbor.\n",
            "type": "string"
          },
          "distributeListInVpnv4": {
            "description": "Filter for VPNv4 updates from this neighbor.\n",
            "type": "string"
          },
          "distributeListInVpnv6": {
            "description": "Filter for VPNv6 updates from this neighbor.\n",
            "type": "string"
          },
          "distributeListOut": {
            "description": "Filter for IPv4 updates to this neighbor.\n",
            "type": "string"
          },
          "distributeListOut6": {
            "description": "Filter for IPv6 updates to this neighbor.\n",
            "type": "string"
          },
          "distributeListOutVpnv4": {
            "description": "Filter for VPNv4 updates to this neighbor.\n",
            "type": "string"
          },
          "distributeListOutVpnv6": {
            "description": "Filter for VPNv6 updates to this neighbor.\n",
            "type": "string"
          },
          "dontCapabilityNegotiate": {
            "description": "Don't negotiate capabilities with this neighbor\n",
            "type": "string"
          },
          "ebgpEnforceMultihop": {
            "description": "Enable/disable allow multi-hop EBGP neighbors.\n",
            "type": "string"
          },
          "ebgpMultihopTtl": {
            "description": "EBGP multihop TTL for this peer.\n",
            "type": "integer"
          },
          "filterListIn": {
            "description": "BGP filter for IPv4 inbound routes.\n",
            "type": "string"
          },
          "filterListIn6": {
            "description": "BGP filter for IPv6 inbound routes.\n",
            "type": "string"
          },
          "filterListInVpnv4": {
            "description": "BGP filter for VPNv4 inbound routes.\n",
            "type": "string"
          },
          "filterListInVpnv6": {
            "description": "BGP filter for VPNv6 inbound routes.\n",
            "type": "string"
          },
          "filterListOut": {
            "description": "BGP filter for IPv4 outbound routes.\n",
            "type": "string"
          },
          "filterListOut6": {
            "description": "BGP filter for IPv6 outbound routes.\n",
            "type": "string"
          },
          "filterListOutVpnv4": {
            "description": "BGP filter for VPNv4 outbound routes.\n",
            "type": "string"
          },
          "filterListOutVpnv6": {
            "description": "BGP filter for VPNv6 outbound routes.\n",
            "type": "string"
          },
          "holdtimeTimer": {
            "description": "Interval (sec) before peer considered dead.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface\n",
            "type": "string"
          },
          "ip": {
            "description": "IP/IPv6 address of neighbor.\n",
            "type": "string"
          },
          "keepAliveTimer": {
            "description": "Keep alive timer interval (sec).\n",
            "type": "integer"
          },
          "linkDownFailover": {
            "description": "Enable/disable failover upon link down.\n",
            "type": "string"
          },
          "localAs": {
            "description": "Local AS number of neighbor.\n",
            "type": "integer"
          },
          "localAsNoPrepend": {
            "description": "Do not prepend local-as to incoming updates.\n",
            "type": "string"
          },
          "localAsReplaceAs": {
            "description": "Replace real AS with local-as in outgoing updates.\n",
            "type": "string"
          },
          "maximumPrefix": {
            "description": "Maximum number of IPv4 prefixes to accept from this peer.\n",
            "type": "integer"
          },
          "maximumPrefix6": {
            "description": "Maximum number of IPv6 prefixes to accept from this peer.\n",
            "type": "integer"
          },
          "maximumPrefixEvpn": {
            "description": "Maximum number of L2VPN EVPN prefixes to accept from this peer.\n",
            "type": "integer"
          },
          "maximumPrefixThreshold": {
            "description": "Maximum IPv4 prefix threshold value (1 - 100 percent).\n",
            "type": "integer"
          },
          "maximumPrefixThreshold6": {
            "description": "Maximum IPv6 prefix threshold value (1 - 100 percent).\n",
            "type": "integer"
          },
          "maximumPrefixThresholdEvpn": {
            "description": "Maximum L2VPN EVPN prefix threshold value (1 - 100 percent).\n",
            "type": "integer"
          },
          "maximumPrefixThresholdVpnv4": {
            "description": "Maximum VPNv4 prefix threshold value (1 - 100 percent).\n",
            "type": "integer"
          },
          "maximumPrefixThresholdVpnv6": {
            "description": "Maximum VPNv6 prefix threshold value (1 - 100 percent).\n",
            "type": "integer"
          },
          "maximumPrefixVpnv4": {
            "description": "Maximum number of VPNv4 prefixes to accept from this peer.\n",
            "type": "integer"
          },
          "maximumPrefixVpnv6": {
            "description": "Maximum number of VPNv6 prefixes to accept from this peer.\n",
            "type": "integer"
          },
          "maximumPrefixWarningOnly": {
            "description": "Enable/disable IPv4 Only give warning message when limit is exceeded.\n",
            "type": "string"
          },
          "maximumPrefixWarningOnly6": {
            "description": "Enable/disable IPv6 Only give warning message when limit is exceeded.\n",
            "type": "string"
          },
          "maximumPrefixWarningOnlyEvpn": {
            "description": "Enable/disable only sending warning message when exceeding limit of L2VPN EVPN routes.\n",
            "type": "string"
          },
          "maximumPrefixWarningOnlyVpnv4": {
            "description": "Enable/disable only giving warning message when limit is exceeded for VPNv4 routes.\n",
            "type": "string"
          },
          "maximumPrefixWarningOnlyVpnv6": {
            "description": "Enable/disable warning message when limit is exceeded for VPNv6 routes.\n",
            "type": "string"
          },
          "nextHopSelf": {
            "description": "Enable/disable IPv4 next-hop calculation for this neighbor.\n",
            "type": "string"
          },
          "nextHopSelf6": {
            "description": "Enable/disable IPv6 next-hop calculation for this neighbor.\n",
            "type": "string"
          },
          "nextHopSelfRr": {
            "description": "Enable/disable setting nexthop's address to interface's IPv4 address for route-reflector routes.\n",
            "type": "string"
          },
          "nextHopSelfRr6": {
            "description": "Enable/disable setting nexthop's address to interface's IPv6 address for route-reflector routes.\n",
            "type": "string"
          },
          "nextHopSelfVpnv4": {
            "description": "Enable/disable setting VPNv4 next-hop to interface's IP address for this neighbor.\n",
            "type": "string"
          },
          "nextHopSelfVpnv6": {
            "description": "Enable/disable use of outgoing interface's IP address as VPNv6 next-hop for this neighbor.\n",
            "type": "string"
          },
          "overrideCapability": {
            "description": "Enable/disable override result of capability negotiation.\n",
            "type": "string"
          },
          "passive": {
            "description": "Enable/disable sending of open messages to this neighbor.\n",
            "type": "string"
          },
          "password": {
            "description": "Password used in MD5 authentication.\n",
            "secret": true,
            "type": "string"
          },
          "prefixListIn": {
            "description": "IPv4 Inbound filter for updates from this neighbor.\n",
            "type": "string"
          },
          "prefixListIn6": {
            "description": "IPv6 Inbound filter for updates from this neighbor.\n",
            "type": "string"
          },
          "prefixListInVpnv4": {
            "description": "Inbound filter for VPNv4 updates from this neighbor.\n",
            "type": "string"
          },
          "prefixListInVpnv6": {
            "description": "Inbound filter for VPNv6 updates from this neighbor.\n",
            "type": "string"
          },
          "prefixListOut": {
            "description": "IPv4 Outbound filter for updates to this neighbor.\n",
            "type": "string"
          },
          "prefixListOut6": {
            "description": "IPv6 Outbound filter for updates to this neighbor.\n",
            "type": "string"
          },
          "prefixListOutVpnv4": {
            "description": "Outbound filter for VPNv4 updates to this neighbor.\n",
            "type": "string"
          },
          "prefixListOutVpnv6": {
            "description": "Outbound filter for VPNv6 updates to this neighbor.\n",
            "type": "string"
          },
          "remoteAs": {
            "description": "AS number of neighbor.\n",
            "type": "integer"
          },
          "removePrivateAs": {
            "description": "Enable/disable remove private AS number from IPv4 outbound updates.\n",
            "type": "string"
          },
          "removePrivateAs6": {
            "description": "Enable/disable remove private AS number from IPv6 outbound updates.\n",
            "type": "string"
          },
          "removePrivateAsEvpn": {
            "description": "Enable/disable removing private AS number from L2VPN EVPN outbound updates.\n",
            "type": "string"
          },
          "removePrivateAsVpnv4": {
            "description": "Enable/disable remove private AS number from VPNv4 outbound updates.\n",
            "type": "string"
          },
          "removePrivateAsVpnv6": {
            "description": "Enable/disable to remove private AS number from VPNv6 outbound updates.\n",
            "type": "string"
          },
          "restartTime": {
            "description": "Graceful restart delay time (sec, 0 = global default).\n",
            "type": "integer"
          },
          "retainStaleTime": {
            "description": "Time to retain stale routes.\n",
            "type": "integer"
          },
          "routeMapIn": {
            "description": "IPv4 Inbound route map filter.\n",
            "type": "string"
          },
          "routeMapIn6": {
            "description": "IPv6 Inbound route map filter.\n",
            "type": "string"
          },
          "routeMapInEvpn": {
            "description": "L2VPN EVPN inbound route map filter.\n",
            "type": "string"
          },
          "routeMapInVpnv4": {
            "description": "VPNv4 inbound route map filter.\n",
            "type": "string"
          },
          "routeMapInVpnv6": {
            "description": "VPNv6 inbound route map filter.\n",
            "type": "string"
          },
          "routeMapOut": {
            "description": "IPv4 Outbound route map filter.\n",
            "type": "string"
          },
          "routeMapOut6": {
            "description": "IPv6 Outbound route map filter.\n",
            "type": "string"
          },
          "routeMapOut6Preferable": {
            "description": "IPv6 outbound route map filter if the peer is preferred.\n",
            "type": "string"
          },
          "routeMapOutEvpn": {
            "description": "L2VPN EVPN outbound route map filter.\n",
            "type": "string"
          },
          "routeMapOutPreferable": {
            "description": "IPv4 outbound route map filter if the peer is preferred.\n",
            "type": "string"
          },
          "routeMapOutVpnv4": {
            "description": "VPNv4 outbound route map filter.\n",
            "type": "string"
          },
          "routeMapOutVpnv4Preferable": {
            "description": "VPNv4 outbound route map filter if the peer is preferred.\n",
            "type": "string"
          },
          "routeMapOutVpnv6": {
            "description": "VPNv6 outbound route map filter.\n",
            "type": "string"
          },
          "routeMapOutVpnv6Preferable": {
            "description": "VPNv6 outbound route map filter if this neighbor is preferred.\n",
            "type": "string"
          },
          "routeReflectorClient": {
            "description": "Enable/disable IPv4 AS route reflector client.\n",
            "type": "string"
          },
          "routeReflectorClient6": {
            "description": "Enable/disable IPv6 AS route reflector client.\n",
            "type": "string"
          },
          "routeReflectorClientEvpn": {
            "description": "Enable/disable L2VPN EVPN AS route reflector client for this neighbor.\n",
            "type": "string"
          },
          "routeReflectorClientVpnv4": {
            "description": "Enable/disable VPNv4 AS route reflector client for this neighbor.\n",
            "type": "string"
          },
          "routeReflectorClientVpnv6": {
            "description": "Enable/disable VPNv6 AS route reflector client for this neighbor.\n",
            "type": "string"
          },
          "routeServerClient": {
            "description": "Enable/disable IPv4 AS route server client.\n",
            "type": "string"
          },
          "routeServerClient6": {
            "description": "Enable/disable IPv6 AS route server client.\n",
            "type": "string"
          },
          "routeServerClientEvpn": {
            "description": "Enable/disable L2VPN EVPN AS route server client for this neighbor.\n",
            "type": "string"
          },
          "routeServerClientVpnv4": {
            "description": "Enable/disable VPNv4 AS route server client for this neighbor.\n",
            "type": "string"
          },
          "routeServerClientVpnv6": {
            "description": "Enable/disable VPNv6 AS route server client for this neighbor.\n",
            "type": "string"
          },
          "sendCommunity": {
            "description": "IPv4 Send community attribute to neighbor.\n",
            "type": "string"
          },
          "sendCommunity6": {
            "description": "IPv6 Send community attribute to neighbor.\n",
            "type": "string"
          },
          "sendCommunityEvpn": {
            "description": "Enable/disable sending community attribute to neighbor for L2VPN EVPN address family.\n",
            "type": "string"
          },
          "sendCommunityVpnv4": {
            "description": "Send community attribute to neighbor for VPNv4 address family.\n",
            "type": "string"
          },
          "sendCommunityVpnv6": {
            "description": "Enable/disable sending community attribute to this neighbor for VPNv6 address family.\n",
            "type": "string"
          },
          "shutdown": {
            "description": "Enable/disable shutdown this neighbor.\n",
            "type": "string"
          },
          "softReconfiguration": {
            "description": "Enable/disable allow IPv4 inbound soft reconfiguration.\n",
            "type": "string"
          },
          "softReconfiguration6": {
            "description": "Enable/disable allow IPv6 inbound soft reconfiguration.\n",
            "type": "string"
          },
          "softReconfigurationEvpn": {
            "description": "Enable/disable L2VPN EVPN inbound soft reconfiguration.\n",
            "type": "string"
          },
          "softReconfigurationVpnv4": {
            "description": "Enable/disable allow VPNv4 inbound soft reconfiguration.\n",
            "type": "string"
          },
          "softReconfigurationVpnv6": {
            "description": "Enable/disable VPNv6 inbound soft reconfiguration.\n",
            "type": "string"
          },
          "staleRoute": {
            "description": "Enable/disable stale route after neighbor down.\n",
            "type": "string"
          },
          "strictCapabilityMatch": {
            "description": "Enable/disable strict capability matching.\n",
            "type": "string"
          },
          "unsuppressMap": {
            "description": "IPv4 Route map to selectively unsuppress suppressed routes.\n",
            "type": "string"
          },
          "unsuppressMap6": {
            "description": "IPv6 Route map to selectively unsuppress suppressed routes.\n",
            "type": "string"
          },
          "updateSource": {
            "description": "Interface to use as source IP/IPv6 address of TCP connections.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "weight": {
            "description": "Neighbor weight.\n",
            "type": "integer"
          }
        },
        "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",
          "id",
          "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"
        ],
        "type": "object"
      }
    },
    "fortios:router/bgp/getNeighborlist:getNeighborlist": {
      "description": "Provides a list of `fortios.router/bgp.Neighbor`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.router.bgp.getNeighborlist({});\nexport const output1 = sample1.then(sample1 =\u003e sample1.iplists);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.router.bgp.get_neighborlist()\npulumi.export(\"output1\", sample1.iplists)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Router.Bgp.GetNeighborlist.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1.Apply(getNeighborlistResult =\u003e getNeighborlistResult.Iplists),\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample1, err := router.GetNeighborlist(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1.Iplists)\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.router_bgp.Router_bgpFunctions;\nimport com.pulumi.fortios.router.inputs.GetNeighborlistArgs;\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 sample1 = Router/bgpFunctions.getNeighborlist();\n\n        ctx.export(\"output1\", sample1.applyValue(getNeighborlistResult -\u003e getNeighborlistResult.iplists()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:router/bgp:getNeighborlist\n      Arguments: {}\noutputs:\n  output1: ${sample1.iplists}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNeighborlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNeighborlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "iplists": {
            "description": "A list of the `fortios.router/bgp.Neighbor`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "iplists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAccesslist6:getAccesslist6": {
      "description": "Use this data source to get information on an fortios router accesslist6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccesslist6.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router accesslist6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAccesslist6.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "rules": {
            "description": "Rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetAccesslist6Rule:getAccesslist6Rule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAccesslist6list:getAccesslist6list": {
      "description": "Provides a list of `fortios.router.Accesslist6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccesslist6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAccesslist6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Accesslist6`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAccesslist:getAccesslist": {
      "description": "Use this data source to get information on an fortios router accesslist\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccesslist.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router accesslist.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAccesslist.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "rules": {
            "description": "Rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetAccesslistRule:getAccesslistRule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAccesslistlist:getAccesslistlist": {
      "description": "Provides a list of `fortios.router.Accesslist`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccesslistlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAccesslistlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Accesslist`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAspathlist:getAspathlist": {
      "description": "Use this data source to get information on an fortios router aspathlist\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAspathlist.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router aspathlist.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAspathlist.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "AS path list name.\n",
            "type": "string"
          },
          "rules": {
            "description": "AS path list rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetAspathlistRule:getAspathlistRule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAspathlistlist:getAspathlistlist": {
      "description": "Provides a list of `fortios.router.Aspathlist`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAspathlistlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAspathlistlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Aspathlist`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAuthpath:getAuthpath": {
      "description": "Use this data source to get information on an fortios router authpath\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAuthpath.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router authpath.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAuthpath.\n",
        "properties": {
          "device": {
            "description": "Outgoing interface.\n",
            "type": "string"
          },
          "gateway": {
            "description": "Gateway IP address.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of the entry.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "device",
          "gateway",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:router/getAuthpathlist:getAuthpathlist": {
      "description": "Provides a list of `fortios.router.Authpath`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAuthpathlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAuthpathlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Authpath`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getBfd6:getBfd6": {
      "description": "Use this data source to get information on fortios router bfd6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBfd6.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getBfd6.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "multihopTemplates": {
            "description": "BFD IPv6 multi-hop template table. The structure of `multihop_template` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBfd6MultihopTemplate:getBfd6MultihopTemplate"
            },
            "type": "array"
          },
          "neighbors": {
            "description": "Configure neighbor of IPv6 BFD. The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBfd6Neighbor:getBfd6Neighbor"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "multihopTemplates",
          "neighbors"
        ],
        "type": "object"
      }
    },
    "fortios:router/getBfd:getBfd": {
      "description": "Use this data source to get information on fortios router bfd\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBfd.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getBfd.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "multihopTemplates": {
            "description": "BFD multi-hop template table. The structure of `multihop_template` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBfdMultihopTemplate:getBfdMultihopTemplate"
            },
            "type": "array"
          },
          "neighbors": {
            "description": "neighbor The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBfdNeighbor:getBfdNeighbor"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "multihopTemplates",
          "neighbors"
        ],
        "type": "object"
      }
    },
    "fortios:router/getBgp:getBgp": {
      "description": "Use this data source to get information on fortios router bgp\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.router.getBgp({});\nexport const output1 = sample1.then(sample1 =\u003e sample1.neighbors);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.router.get_bgp()\npulumi.export(\"output1\", sample1.neighbors)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Router.GetBgp.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1.Apply(getBgpResult =\u003e getBgpResult.Neighbors),\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample1, err := router.LookupBgp(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1.Neighbors)\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.router.RouterFunctions;\nimport com.pulumi.fortios.router.inputs.GetBgpArgs;\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 sample1 = RouterFunctions.getBgp();\n\n        ctx.export(\"output1\", sample1.applyValue(getBgpResult -\u003e getBgpResult.neighbors()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:router:getBgp\n      Arguments: {}\noutputs:\n  output1: ${sample1.neighbors}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBgp.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getBgp.\n",
        "properties": {
          "additionalPath": {
            "description": "Enable/disable IPv4 additional-path capability.\n",
            "type": "string"
          },
          "additionalPath6": {
            "description": "Enable/disable IPv6 additional-path capability.\n",
            "type": "string"
          },
          "additionalPathSelect": {
            "description": "Number of additional paths to be selected for each IPv4 NLRI.\n",
            "type": "integer"
          },
          "additionalPathSelect6": {
            "description": "Number of additional paths to be selected for each IPv6 NLRI.\n",
            "type": "integer"
          },
          "additionalPathSelectVpnv4": {
            "description": "Number of additional paths to be selected for each VPNv4 NLRI.\n",
            "type": "integer"
          },
          "additionalPathSelectVpnv6": {
            "description": "Number of additional paths to be selected for each VPNv6 NLRI.\n",
            "type": "integer"
          },
          "additionalPathVpnv4": {
            "description": "Enable/disable VPNv4 additional-path capability.\n",
            "type": "string"
          },
          "additionalPathVpnv6": {
            "description": "Enable/disable VPNv6 additional-path capability.\n",
            "type": "string"
          },
          "adminDistances": {
            "description": "Administrative distance modifications. The structure of `admin_distance` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpAdminDistance:getBgpAdminDistance"
            },
            "type": "array"
          },
          "aggregateAddress6s": {
            "description": "BGP IPv6 aggregate address table. The structure of `aggregate_address6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpAggregateAddress6:getBgpAggregateAddress6"
            },
            "type": "array"
          },
          "aggregateAddresses": {
            "description": "BGP aggregate address table. The structure of `aggregate_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpAggregateAddress:getBgpAggregateAddress"
            },
            "type": "array"
          },
          "alwaysCompareMed": {
            "description": "Enable/disable always compare MED.\n",
            "type": "string"
          },
          "as": {
            "description": "Router AS number, valid from 1 to 4294967295, 0 to disable BGP.\n",
            "type": "integer"
          },
          "asString": {
            "description": "Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP.\n",
            "type": "string"
          },
          "bestpathAsPathIgnore": {
            "description": "Enable/disable ignore AS path.\n",
            "type": "string"
          },
          "bestpathCmpConfedAspath": {
            "description": "Enable/disable compare federation AS path length.\n",
            "type": "string"
          },
          "bestpathCmpRouterid": {
            "description": "Enable/disable compare router ID for identical EBGP paths.\n",
            "type": "string"
          },
          "bestpathMedConfed": {
            "description": "Enable/disable compare MED among confederation paths.\n",
            "type": "string"
          },
          "bestpathMedMissingAsWorst": {
            "description": "Enable/disable treat missing MED as least preferred.\n",
            "type": "string"
          },
          "clientToClientReflection": {
            "description": "Enable/disable client-to-client route reflection.\n",
            "type": "string"
          },
          "clusterId": {
            "description": "Route reflector cluster ID.\n",
            "type": "string"
          },
          "confederationIdentifier": {
            "description": "Confederation identifier.\n",
            "type": "integer"
          },
          "confederationPeers": {
            "description": "Confederation peers. The structure of `confederation_peers` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpConfederationPeer:getBgpConfederationPeer"
            },
            "type": "array"
          },
          "crossFamilyConditionalAdv": {
            "description": "Enable/disable cross address family conditional advertisement.\n",
            "type": "string"
          },
          "dampening": {
            "description": "Enable/disable route-flap dampening.\n",
            "type": "string"
          },
          "dampeningMaxSuppressTime": {
            "description": "Maximum minutes a route can be suppressed.\n",
            "type": "integer"
          },
          "dampeningReachabilityHalfLife": {
            "description": "Reachability half-life time for penalty (min).\n",
            "type": "integer"
          },
          "dampeningReuse": {
            "description": "Threshold to reuse routes.\n",
            "type": "integer"
          },
          "dampeningRouteMap": {
            "description": "Criteria for dampening.\n",
            "type": "string"
          },
          "dampeningSuppress": {
            "description": "Threshold to suppress routes.\n",
            "type": "integer"
          },
          "dampeningUnreachabilityHalfLife": {
            "description": "Unreachability half-life time for penalty (min).\n",
            "type": "integer"
          },
          "defaultLocalPreference": {
            "description": "Default local preference.\n",
            "type": "integer"
          },
          "deterministicMed": {
            "description": "Enable/disable enforce deterministic comparison of MED.\n",
            "type": "string"
          },
          "distanceExternal": {
            "description": "Distance for routes external to the AS.\n",
            "type": "integer"
          },
          "distanceInternal": {
            "description": "Distance for routes internal to the AS.\n",
            "type": "integer"
          },
          "distanceLocal": {
            "description": "Distance for routes local to the AS.\n",
            "type": "integer"
          },
          "ebgpMultipath": {
            "description": "Enable/disable EBGP multi-path.\n",
            "type": "string"
          },
          "enforceFirstAs": {
            "description": "Enable/disable enforce first AS for EBGP routes.\n",
            "type": "string"
          },
          "fastExternalFailover": {
            "description": "Enable/disable reset peer BGP session if link goes down.\n",
            "type": "string"
          },
          "gracefulEndOnTimer": {
            "description": "Enable/disable to exit graceful restart on timer only.\n",
            "type": "string"
          },
          "gracefulRestart": {
            "description": "Enable/disable BGP graceful restart capabilities.\n",
            "type": "string"
          },
          "gracefulRestartTime": {
            "description": "Time needed for neighbors to restart (sec).\n",
            "type": "integer"
          },
          "gracefulStalepathTime": {
            "description": "Time to hold stale paths of restarting neighbor (sec).\n",
            "type": "integer"
          },
          "gracefulUpdateDelay": {
            "description": "Route advertisement/selection delay after restart (sec).\n",
            "type": "integer"
          },
          "holdtimeTimer": {
            "description": "Interval (sec) before peer considered dead.\n",
            "type": "integer"
          },
          "ibgpMultipath": {
            "description": "Enable/disable IBGP multi-path.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ignoreOptionalCapability": {
            "description": "Don't send unknown optional capability notification message\n",
            "type": "string"
          },
          "keepaliveTimer": {
            "description": "Frequency to send keep alive requests.\n",
            "type": "integer"
          },
          "logNeighbourChanges": {
            "description": "Enable logging of BGP neighbour's changes\n",
            "type": "string"
          },
          "multipathRecursiveDistance": {
            "description": "Enable/disable use of recursive distance to select multipath.\n",
            "type": "string"
          },
          "neighborGroups": {
            "description": "Neighbor group name.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNeighborGroup:getBgpNeighborGroup"
            },
            "type": "array"
          },
          "neighborRange6s": {
            "description": "BGP IPv6 neighbor range table. The structure of `neighbor_range6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNeighborRange6:getBgpNeighborRange6"
            },
            "type": "array"
          },
          "neighborRanges": {
            "description": "BGP neighbor range table. The structure of `neighbor_range` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNeighborRange:getBgpNeighborRange"
            },
            "type": "array"
          },
          "neighbors": {
            "description": "BGP neighbor table. The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNeighbor:getBgpNeighbor"
            },
            "type": "array"
          },
          "network6s": {
            "description": "BGP IPv6 network table. The structure of `network6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNetwork6:getBgpNetwork6"
            },
            "type": "array"
          },
          "networkImportCheck": {
            "description": "Configure insurance of BGP network route existence in IGP.\n",
            "type": "string"
          },
          "networks": {
            "description": "BGP network table. The structure of `network` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpNetwork:getBgpNetwork"
            },
            "type": "array"
          },
          "recursiveInheritPriority": {
            "description": "Enable/disable priority inheritance for recursive resolution.\n",
            "type": "string"
          },
          "recursiveNextHop": {
            "description": "Enable/disable recursive resolution of next-hop using BGP route.\n",
            "type": "string"
          },
          "redistribute6s": {
            "description": "BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpRedistribute6:getBgpRedistribute6"
            },
            "type": "array"
          },
          "redistributes": {
            "description": "BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpRedistribute:getBgpRedistribute"
            },
            "type": "array"
          },
          "routerId": {
            "description": "Router ID.\n",
            "type": "string"
          },
          "scanTime": {
            "description": "Background scanner interval (sec), 0 to disable it.\n",
            "type": "integer"
          },
          "synchronization": {
            "description": "Enable/disable only advertise routes from iBGP if routes present in an IGP.\n",
            "type": "string"
          },
          "tagResolveMode": {
            "description": "Configure tag-match mode. Resolves BGP routes with other routes containing the same tag.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vrf6s": {
            "description": "BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpVrf6:getBgpVrf6"
            },
            "type": "array"
          },
          "vrfLeak6s": {
            "description": "BGP IPv6 VRF leaking table. The structure of `vrf_leak6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpVrfLeak6:getBgpVrfLeak6"
            },
            "type": "array"
          },
          "vrfLeaks": {
            "description": "BGP VRF leaking table. The structure of `vrf_leak` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpVrfLeak:getBgpVrfLeak"
            },
            "type": "array"
          },
          "vrves": {
            "description": "Target VRF ID \u003c0 - 31\u003e.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetBgpVrf:getBgpVrf"
            },
            "type": "array"
          }
        },
        "required": [
          "additionalPath",
          "additionalPath6",
          "additionalPathSelect",
          "additionalPathSelect6",
          "additionalPathSelectVpnv4",
          "additionalPathSelectVpnv6",
          "additionalPathVpnv4",
          "additionalPathVpnv6",
          "adminDistances",
          "aggregateAddress6s",
          "aggregateAddresses",
          "alwaysCompareMed",
          "as",
          "asString",
          "bestpathAsPathIgnore",
          "bestpathCmpConfedAspath",
          "bestpathCmpRouterid",
          "bestpathMedConfed",
          "bestpathMedMissingAsWorst",
          "clientToClientReflection",
          "clusterId",
          "confederationIdentifier",
          "confederationPeers",
          "crossFamilyConditionalAdv",
          "dampening",
          "dampeningMaxSuppressTime",
          "dampeningReachabilityHalfLife",
          "dampeningReuse",
          "dampeningRouteMap",
          "dampeningSuppress",
          "dampeningUnreachabilityHalfLife",
          "defaultLocalPreference",
          "deterministicMed",
          "distanceExternal",
          "distanceInternal",
          "distanceLocal",
          "ebgpMultipath",
          "enforceFirstAs",
          "fastExternalFailover",
          "gracefulEndOnTimer",
          "gracefulRestart",
          "gracefulRestartTime",
          "gracefulStalepathTime",
          "gracefulUpdateDelay",
          "holdtimeTimer",
          "ibgpMultipath",
          "id",
          "ignoreOptionalCapability",
          "keepaliveTimer",
          "logNeighbourChanges",
          "multipathRecursiveDistance",
          "neighborGroups",
          "neighborRange6s",
          "neighborRanges",
          "neighbors",
          "network6s",
          "networkImportCheck",
          "networks",
          "recursiveInheritPriority",
          "recursiveNextHop",
          "redistribute6s",
          "redistributes",
          "routerId",
          "scanTime",
          "synchronization",
          "tagResolveMode",
          "vrf6s",
          "vrfLeak6s",
          "vrfLeaks",
          "vrves"
        ],
        "type": "object"
      }
    },
    "fortios:router/getCommunitylist:getCommunitylist": {
      "description": "Use this data source to get information on an fortios router communitylist\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCommunitylist.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router communitylist.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCommunitylist.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Community list name.\n",
            "type": "string"
          },
          "rules": {
            "description": "Community list rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetCommunitylistRule:getCommunitylistRule"
            },
            "type": "array"
          },
          "type": {
            "description": "Community list type (standard or expanded).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "rules",
          "type"
        ],
        "type": "object"
      }
    },
    "fortios:router/getCommunitylistlist:getCommunitylistlist": {
      "description": "Provides a list of `fortios.router.Communitylist`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCommunitylistlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCommunitylistlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Communitylist`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getIsis:getIsis": {
      "description": "Use this data source to get information on fortios router isis\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIsis.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getIsis.\n",
        "properties": {
          "adjacencyCheck": {
            "description": "Enable/disable adjacency check.\n",
            "type": "string"
          },
          "adjacencyCheck6": {
            "description": "Enable/disable IPv6 adjacency check.\n",
            "type": "string"
          },
          "advPassiveOnly": {
            "description": "Enable/disable IS-IS advertisement of passive interfaces only.\n",
            "type": "string"
          },
          "advPassiveOnly6": {
            "description": "Enable/disable IPv6 IS-IS advertisement of passive interfaces only.\n",
            "type": "string"
          },
          "authKeychainL1": {
            "description": "Authentication key-chain for level 1 PDUs.\n",
            "type": "string"
          },
          "authKeychainL2": {
            "description": "Authentication key-chain for level 2 PDUs.\n",
            "type": "string"
          },
          "authModeL1": {
            "description": "Level 1 authentication mode.\n",
            "type": "string"
          },
          "authModeL2": {
            "description": "Level 2 authentication mode.\n",
            "type": "string"
          },
          "authPasswordL1": {
            "description": "Authentication password for level 1 PDUs.\n",
            "secret": true,
            "type": "string"
          },
          "authPasswordL2": {
            "description": "Authentication password for level 2 PDUs.\n",
            "secret": true,
            "type": "string"
          },
          "authSendonlyL1": {
            "description": "Enable/disable level 1 authentication send-only.\n",
            "type": "string"
          },
          "authSendonlyL2": {
            "description": "Enable/disable level 2 authentication send-only.\n",
            "type": "string"
          },
          "defaultOriginate": {
            "description": "Enable/disable distribution of default route information.\n",
            "type": "string"
          },
          "defaultOriginate6": {
            "description": "Enable/disable distribution of default IPv6 route information.\n",
            "type": "string"
          },
          "dynamicHostname": {
            "description": "Enable/disable dynamic hostname.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ignoreLspErrors": {
            "description": "Enable/disable ignoring of LSP errors with bad checksums.\n",
            "type": "string"
          },
          "isType": {
            "description": "IS type.\n",
            "type": "string"
          },
          "isisInterfaces": {
            "description": "IS-IS interface configuration. The structure of `isis_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisIsisInterface:getIsisIsisInterface"
            },
            "type": "array"
          },
          "isisNets": {
            "description": "IS-IS net configuration. The structure of `isis_net` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisIsisNet:getIsisIsisNet"
            },
            "type": "array"
          },
          "lspGenIntervalL1": {
            "description": "Minimum interval for level 1 LSP regenerating.\n",
            "type": "integer"
          },
          "lspGenIntervalL2": {
            "description": "Minimum interval for level 2 LSP regenerating.\n",
            "type": "integer"
          },
          "lspRefreshInterval": {
            "description": "LSP refresh time in seconds.\n",
            "type": "integer"
          },
          "maxLspLifetime": {
            "description": "Maximum LSP lifetime in seconds.\n",
            "type": "integer"
          },
          "metricStyle": {
            "description": "Use old-style (ISO 10589) or new-style packet formats\n",
            "type": "string"
          },
          "overloadBit": {
            "description": "Enable/disable signal other routers not to use us in SPF.\n",
            "type": "string"
          },
          "overloadBitOnStartup": {
            "description": "Overload-bit only temporarily after reboot.\n",
            "type": "integer"
          },
          "overloadBitSuppress": {
            "description": "Suppress overload-bit for the specific prefixes.\n",
            "type": "string"
          },
          "redistribute6L1": {
            "description": "Enable/disable redistribution of level 1 IPv6 routes into level 2.\n",
            "type": "string"
          },
          "redistribute6L1List": {
            "description": "Access-list for IPv6 route redistribution from l1 to l2.\n",
            "type": "string"
          },
          "redistribute6L2": {
            "description": "Enable/disable redistribution of level 2 IPv6 routes into level 1.\n",
            "type": "string"
          },
          "redistribute6L2List": {
            "description": "Access-list for IPv6 route redistribution from l2 to l1.\n",
            "type": "string"
          },
          "redistribute6s": {
            "description": "IS-IS IPv6 redistribution for routing protocols. The structure of `redistribute6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisRedistribute6:getIsisRedistribute6"
            },
            "type": "array"
          },
          "redistributeL1": {
            "description": "Enable/disable redistribution of level 1 routes into level 2.\n",
            "type": "string"
          },
          "redistributeL1List": {
            "description": "Access-list for route redistribution from l1 to l2.\n",
            "type": "string"
          },
          "redistributeL2": {
            "description": "Enable/disable redistribution of level 2 routes into level 1.\n",
            "type": "string"
          },
          "redistributeL2List": {
            "description": "Access-list for route redistribution from l2 to l1.\n",
            "type": "string"
          },
          "redistributes": {
            "description": "IS-IS redistribute protocols. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisRedistribute:getIsisRedistribute"
            },
            "type": "array"
          },
          "spfIntervalExpL1": {
            "description": "Level 1 SPF calculation delay.\n",
            "type": "string"
          },
          "spfIntervalExpL2": {
            "description": "Level 2 SPF calculation delay.\n",
            "type": "string"
          },
          "summaryAddress6s": {
            "description": "IS-IS IPv6 summary address. The structure of `summary_address6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisSummaryAddress6:getIsisSummaryAddress6"
            },
            "type": "array"
          },
          "summaryAddresses": {
            "description": "IS-IS summary addresses. The structure of `summary_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetIsisSummaryAddress:getIsisSummaryAddress"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "adjacencyCheck",
          "adjacencyCheck6",
          "advPassiveOnly",
          "advPassiveOnly6",
          "authKeychainL1",
          "authKeychainL2",
          "authModeL1",
          "authModeL2",
          "authPasswordL1",
          "authPasswordL2",
          "authSendonlyL1",
          "authSendonlyL2",
          "defaultOriginate",
          "defaultOriginate6",
          "dynamicHostname",
          "id",
          "ignoreLspErrors",
          "isType",
          "isisInterfaces",
          "isisNets",
          "lspGenIntervalL1",
          "lspGenIntervalL2",
          "lspRefreshInterval",
          "maxLspLifetime",
          "metricStyle",
          "overloadBit",
          "overloadBitOnStartup",
          "overloadBitSuppress",
          "redistribute6L1",
          "redistribute6L1List",
          "redistribute6L2",
          "redistribute6L2List",
          "redistribute6s",
          "redistributeL1",
          "redistributeL1List",
          "redistributeL2",
          "redistributeL2List",
          "redistributes",
          "spfIntervalExpL1",
          "spfIntervalExpL2",
          "summaryAddress6s",
          "summaryAddresses"
        ],
        "type": "object"
      }
    },
    "fortios:router/getKeychain:getKeychain": {
      "description": "Use this data source to get information on an fortios router keychain\n",
      "inputs": {
        "description": "A collection of arguments for invoking getKeychain.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router keychain.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getKeychain.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "keys": {
            "description": "Configuration method to edit key settings. The structure of `key` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetKeychainKey:getKeychainKey"
            },
            "type": "array"
          },
          "name": {
            "description": "Key-chain name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "keys",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:router/getKeychainlist:getKeychainlist": {
      "description": "Provides a list of `fortios.router.Keychain`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getKeychainlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getKeychainlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Keychain`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getMulticast6:getMulticast6": {
      "description": "Use this data source to get information on fortios router multicast6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticast6.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMulticast6.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "Protocol Independent Multicast (PIM) interfaces. The structure of `interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetMulticast6Interface:getMulticast6Interface"
            },
            "type": "array"
          },
          "multicastPmtu": {
            "description": "Enable/disable PMTU for IPv6 multicast.\n",
            "type": "string"
          },
          "multicastRouting": {
            "description": "Enable/disable IPv6 multicast routing.\n",
            "type": "string"
          },
          "pimSmGlobals": {
            "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetMulticast6PimSmGlobal:getMulticast6PimSmGlobal"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "interfaces",
          "multicastPmtu",
          "multicastRouting",
          "pimSmGlobals"
        ],
        "type": "object"
      }
    },
    "fortios:router/getMulticast:getMulticast": {
      "description": "Use this data source to get information on fortios router multicast\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticast.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMulticast.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "PIM interfaces. The structure of `interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetMulticastInterface:getMulticastInterface"
            },
            "type": "array"
          },
          "multicastRouting": {
            "description": "Enable/disable IP multicast routing.\n",
            "type": "string"
          },
          "pimSmGlobals": {
            "description": "PIM sparse-mode global settings. The structure of `pim_sm_global` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetMulticastPimSmGlobal:getMulticastPimSmGlobal"
            },
            "type": "array"
          },
          "routeLimit": {
            "description": "Maximum number of multicast routes.\n",
            "type": "integer"
          },
          "routeThreshold": {
            "description": "Generate warnings when the number of multicast routes exceeds this number, must not be greater than route-limit.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "interfaces",
          "multicastRouting",
          "pimSmGlobals",
          "routeLimit",
          "routeThreshold"
        ],
        "type": "object"
      }
    },
    "fortios:router/getMulticastflow:getMulticastflow": {
      "description": "Use this data source to get information on an fortios router multicastflow\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastflow.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router multicastflow.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastflow.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "flows": {
            "description": "Multicast-flow entries. The structure of `flows` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetMulticastflowFlow:getMulticastflowFlow"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "flows",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:router/getMulticastflowlist:getMulticastflowlist": {
      "description": "Provides a list of `fortios.router.Multicastflow`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMulticastflowlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMulticastflowlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Multicastflow`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getOspf6:getOspf6": {
      "description": "Use this data source to get information on fortios router ospf6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOspf6.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getOspf6.\n",
        "properties": {
          "abrType": {
            "description": "Area border router type.\n",
            "type": "string"
          },
          "areas": {
            "description": "OSPF6 area configuration. The structure of `area` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspf6Area:getOspf6Area"
            },
            "type": "array"
          },
          "autoCostRefBandwidth": {
            "description": "Reference bandwidth in terms of megabits per second.\n",
            "type": "integer"
          },
          "bfd": {
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD).\n",
            "type": "string"
          },
          "defaultInformationMetric": {
            "description": "Default information metric.\n",
            "type": "integer"
          },
          "defaultInformationMetricType": {
            "description": "Default information metric type.\n",
            "type": "string"
          },
          "defaultInformationOriginate": {
            "description": "Enable/disable generation of default route.\n",
            "type": "string"
          },
          "defaultInformationRouteMap": {
            "description": "Default information route map.\n",
            "type": "string"
          },
          "defaultMetric": {
            "description": "Default metric of redistribute routes.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "logNeighbourChanges": {
            "description": "Enable logging of OSPFv3 neighbour's changes\n",
            "type": "string"
          },
          "ospf6Interfaces": {
            "description": "OSPF6 interface configuration. The structure of `ospf6_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspf6Ospf6Interface:getOspf6Ospf6Interface"
            },
            "type": "array"
          },
          "passiveInterfaces": {
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspf6PassiveInterface:getOspf6PassiveInterface"
            },
            "type": "array"
          },
          "redistributes": {
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspf6Redistribute:getOspf6Redistribute"
            },
            "type": "array"
          },
          "restartMode": {
            "description": "OSPFv3 restart mode (graceful or none).\n",
            "type": "string"
          },
          "restartOnTopologyChange": {
            "description": "Enable/disable continuing graceful restart upon topology change.\n",
            "type": "string"
          },
          "restartPeriod": {
            "description": "Graceful restart period in seconds.\n",
            "type": "integer"
          },
          "routerId": {
            "description": "A.B.C.D, in IPv4 address format.\n",
            "type": "string"
          },
          "spfTimers": {
            "description": "SPF calculation frequency.\n",
            "type": "string"
          },
          "summaryAddresses": {
            "description": "IPv6 address summary configuration. The structure of `summary_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspf6SummaryAddress:getOspf6SummaryAddress"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "abrType",
          "areas",
          "autoCostRefBandwidth",
          "bfd",
          "defaultInformationMetric",
          "defaultInformationMetricType",
          "defaultInformationOriginate",
          "defaultInformationRouteMap",
          "defaultMetric",
          "id",
          "logNeighbourChanges",
          "ospf6Interfaces",
          "passiveInterfaces",
          "redistributes",
          "restartMode",
          "restartOnTopologyChange",
          "restartPeriod",
          "routerId",
          "spfTimers",
          "summaryAddresses"
        ],
        "type": "object"
      }
    },
    "fortios:router/getOspf:getOspf": {
      "description": "Use this data source to get information on fortios router ospf\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOspf.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getOspf.\n",
        "properties": {
          "abrType": {
            "description": "Area border router type.\n",
            "type": "string"
          },
          "areas": {
            "description": "Attach the network to area.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfArea:getOspfArea"
            },
            "type": "array"
          },
          "autoCostRefBandwidth": {
            "description": "Reference bandwidth in terms of megabits per second.\n",
            "type": "integer"
          },
          "bfd": {
            "description": "Bidirectional Forwarding Detection (BFD).\n",
            "type": "string"
          },
          "databaseOverflow": {
            "description": "Enable/disable database overflow.\n",
            "type": "string"
          },
          "databaseOverflowMaxLsas": {
            "description": "Database overflow maximum LSAs.\n",
            "type": "integer"
          },
          "databaseOverflowTimeToRecover": {
            "description": "Database overflow time to recover (sec).\n",
            "type": "integer"
          },
          "defaultInformationMetric": {
            "description": "Default information metric.\n",
            "type": "integer"
          },
          "defaultInformationMetricType": {
            "description": "Default information metric type.\n",
            "type": "string"
          },
          "defaultInformationOriginate": {
            "description": "Enable/disable generation of default route.\n",
            "type": "string"
          },
          "defaultInformationRouteMap": {
            "description": "Default information route map.\n",
            "type": "string"
          },
          "defaultMetric": {
            "description": "Default metric of redistribute routes.\n",
            "type": "integer"
          },
          "distance": {
            "description": "Distance of the route.\n",
            "type": "integer"
          },
          "distanceExternal": {
            "description": "Administrative external distance.\n",
            "type": "integer"
          },
          "distanceInterArea": {
            "description": "Administrative inter-area distance.\n",
            "type": "integer"
          },
          "distanceIntraArea": {
            "description": "Administrative intra-area distance.\n",
            "type": "integer"
          },
          "distributeListIn": {
            "description": "Filter incoming routes.\n",
            "type": "string"
          },
          "distributeLists": {
            "description": "Distribute list configuration. The structure of `distribute_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfDistributeList:getOspfDistributeList"
            },
            "type": "array"
          },
          "distributeRouteMapIn": {
            "description": "Filter incoming external routes by route-map.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "logNeighbourChanges": {
            "description": "Enable logging of OSPF neighbour's changes\n",
            "type": "string"
          },
          "neighbors": {
            "description": "OSPF neighbor configuration are used when OSPF runs on non-broadcast media The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfNeighbor:getOspfNeighbor"
            },
            "type": "array"
          },
          "networks": {
            "description": "OSPF network configuration. The structure of `network` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfNetwork:getOspfNetwork"
            },
            "type": "array"
          },
          "ospfInterfaces": {
            "description": "OSPF interface configuration. The structure of `ospf_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfOspfInterface:getOspfOspfInterface"
            },
            "type": "array"
          },
          "passiveInterfaces": {
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfPassiveInterface:getOspfPassiveInterface"
            },
            "type": "array"
          },
          "redistributes": {
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfRedistribute:getOspfRedistribute"
            },
            "type": "array"
          },
          "restartMode": {
            "description": "OSPF restart mode (graceful or LLS).\n",
            "type": "string"
          },
          "restartOnTopologyChange": {
            "description": "Enable/disable continuing graceful restart upon topology change.\n",
            "type": "string"
          },
          "restartPeriod": {
            "description": "Graceful restart period.\n",
            "type": "integer"
          },
          "rfc1583Compatible": {
            "description": "Enable/disable RFC1583 compatibility.\n",
            "type": "string"
          },
          "routerId": {
            "description": "Router ID.\n",
            "type": "string"
          },
          "spfTimers": {
            "description": "SPF calculation frequency.\n",
            "type": "string"
          },
          "summaryAddresses": {
            "description": "IP address summary configuration. The structure of `summary_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetOspfSummaryAddress:getOspfSummaryAddress"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "abrType",
          "areas",
          "autoCostRefBandwidth",
          "bfd",
          "databaseOverflow",
          "databaseOverflowMaxLsas",
          "databaseOverflowTimeToRecover",
          "defaultInformationMetric",
          "defaultInformationMetricType",
          "defaultInformationOriginate",
          "defaultInformationRouteMap",
          "defaultMetric",
          "distance",
          "distanceExternal",
          "distanceInterArea",
          "distanceIntraArea",
          "distributeListIn",
          "distributeLists",
          "distributeRouteMapIn",
          "id",
          "logNeighbourChanges",
          "neighbors",
          "networks",
          "ospfInterfaces",
          "passiveInterfaces",
          "redistributes",
          "restartMode",
          "restartOnTopologyChange",
          "restartPeriod",
          "rfc1583Compatible",
          "routerId",
          "spfTimers",
          "summaryAddresses"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPolicy6:getPolicy6": {
      "description": "Use this data source to get information on an fortios router policy6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy6.\n",
        "properties": {
          "seqNum": {
            "type": "integer",
            "description": "Specify the seq_num of the desired router policy6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "seqNum"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy6.\n",
        "properties": {
          "action": {
            "description": "Action of the policy route.\n",
            "type": "string"
          },
          "comments": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "dst": {
            "description": "Destination IPv6 prefix.\n",
            "type": "string"
          },
          "dstNegate": {
            "description": "Enable/disable negating destination address match.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address name. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicy6Dstaddr:getPolicy6Dstaddr"
            },
            "type": "array"
          },
          "endPort": {
            "description": "End destination port number (1 - 65535).\n",
            "type": "integer"
          },
          "endSourcePort": {
            "description": "End source port number (1 - 65535).\n",
            "type": "integer"
          },
          "gateway": {
            "description": "IPv6 address of the gateway.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inputDevice": {
            "description": "Incoming interface name.\n",
            "type": "string"
          },
          "inputDeviceNegate": {
            "description": "Enable/disable negation of input device match.\n",
            "type": "string"
          },
          "internetServiceCustoms": {
            "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicy6InternetServiceCustom:getPolicy6InternetServiceCustom"
            },
            "type": "array"
          },
          "internetServiceIds": {
            "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicy6InternetServiceId:getPolicy6InternetServiceId"
            },
            "type": "array"
          },
          "outputDevice": {
            "description": "Outgoing interface name.\n",
            "type": "string"
          },
          "protocol": {
            "description": "Protocol number (0 - 255).\n",
            "type": "integer"
          },
          "seqNum": {
            "description": "Sequence number.\n",
            "type": "integer"
          },
          "src": {
            "description": "Source IPv6 prefix.\n",
            "type": "string"
          },
          "srcNegate": {
            "description": "Enable/disable negating source address match.\n",
            "type": "string"
          },
          "srcaddrs": {
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicy6Srcaddr:getPolicy6Srcaddr"
            },
            "type": "array"
          },
          "startPort": {
            "description": "Start destination port number (1 - 65535).\n",
            "type": "integer"
          },
          "startSourcePort": {
            "description": "Start source port number (1 - 65535).\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable this policy route.\n",
            "type": "string"
          },
          "tos": {
            "description": "Type of service bit pattern.\n",
            "type": "string"
          },
          "tosMask": {
            "description": "Type of service evaluated bits.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "comments",
          "dst",
          "dstNegate",
          "dstaddrs",
          "endPort",
          "endSourcePort",
          "gateway",
          "id",
          "inputDevice",
          "inputDeviceNegate",
          "internetServiceCustoms",
          "internetServiceIds",
          "outputDevice",
          "protocol",
          "seqNum",
          "src",
          "srcNegate",
          "srcaddrs",
          "startPort",
          "startSourcePort",
          "status",
          "tos",
          "tosMask"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPolicy6list:getPolicy6list": {
      "description": "Provides a list of `fortios.router.Policy6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "seqNumlists": {
            "description": "A list of the `fortios.router.Policy6`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "seqNumlists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPolicy:getPolicy": {
      "description": "Use this data source to get information on an fortios router policy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicy.\n",
        "properties": {
          "seqNum": {
            "type": "integer",
            "description": "Specify the seq_num of the desired router policy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "seqNum"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPolicy.\n",
        "properties": {
          "action": {
            "description": "Action of the policy route.\n",
            "type": "string"
          },
          "comments": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "dstNegate": {
            "description": "Enable/disable negating destination address match.\n",
            "type": "string"
          },
          "dstaddrs": {
            "description": "Destination address name. The structure of `dstaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicyDstaddr:getPolicyDstaddr"
            },
            "type": "array"
          },
          "dsts": {
            "description": "Destination IP and mask (x.x.x.x/x). The structure of `dst` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicyDst:getPolicyDst"
            },
            "type": "array"
          },
          "endPort": {
            "description": "End destination port number (0 - 65535).\n",
            "type": "integer"
          },
          "endSourcePort": {
            "description": "End source port number (0 - 65535).\n",
            "type": "integer"
          },
          "gateway": {
            "description": "IP address of the gateway.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inputDeviceNegate": {
            "description": "Enable/disable negation of input device match.\n",
            "type": "string"
          },
          "inputDevices": {
            "description": "Incoming interface name. The structure of `input_device` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicyInputDevice:getPolicyInputDevice"
            },
            "type": "array"
          },
          "internetServiceCustoms": {
            "description": "Custom Destination Internet Service name. The structure of `internet_service_custom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicyInternetServiceCustom:getPolicyInternetServiceCustom"
            },
            "type": "array"
          },
          "internetServiceIds": {
            "description": "Destination Internet Service ID. The structure of `internet_service_id` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicyInternetServiceId:getPolicyInternetServiceId"
            },
            "type": "array"
          },
          "outputDevice": {
            "description": "Outgoing interface name.\n",
            "type": "string"
          },
          "protocol": {
            "description": "Protocol number (0 - 255).\n",
            "type": "integer"
          },
          "seqNum": {
            "description": "Sequence number.\n",
            "type": "integer"
          },
          "srcNegate": {
            "description": "Enable/disable negating source address match.\n",
            "type": "string"
          },
          "srcaddrs": {
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicySrcaddr:getPolicySrcaddr"
            },
            "type": "array"
          },
          "srcs": {
            "description": "Source IP and mask (x.x.x.x/x). The structure of `src` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPolicySrc:getPolicySrc"
            },
            "type": "array"
          },
          "startPort": {
            "description": "Start destination port number (0 - 65535).\n",
            "type": "integer"
          },
          "startSourcePort": {
            "description": "Start source port number (0 - 65535).\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable this policy route.\n",
            "type": "string"
          },
          "tos": {
            "description": "Type of service bit pattern.\n",
            "type": "string"
          },
          "tosMask": {
            "description": "Type of service evaluated bits.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "comments",
          "dstNegate",
          "dstaddrs",
          "dsts",
          "endPort",
          "endSourcePort",
          "gateway",
          "id",
          "inputDeviceNegate",
          "inputDevices",
          "internetServiceCustoms",
          "internetServiceIds",
          "outputDevice",
          "protocol",
          "seqNum",
          "srcNegate",
          "srcaddrs",
          "srcs",
          "startPort",
          "startSourcePort",
          "status",
          "tos",
          "tosMask"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPolicylist:getPolicylist": {
      "description": "Provides a list of `fortios.router.Policy`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "seqNumlists": {
            "description": "A list of the `fortios.router.Policy`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "seqNumlists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPrefixlist6:getPrefixlist6": {
      "description": "Use this data source to get information on an fortios router prefixlist6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPrefixlist6.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router prefixlist6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPrefixlist6.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "rules": {
            "description": "IPv6 prefix list rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPrefixlist6Rule:getPrefixlist6Rule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPrefixlist6list:getPrefixlist6list": {
      "description": "Provides a list of `fortios.router.Prefixlist6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPrefixlist6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPrefixlist6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Prefixlist6`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPrefixlist:getPrefixlist": {
      "description": "Use this data source to get information on an fortios router prefixlist\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPrefixlist.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router prefixlist.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPrefixlist.\n",
        "properties": {
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "rules": {
            "description": "IPv4 prefix list rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetPrefixlistRule:getPrefixlistRule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getPrefixlistlist:getPrefixlistlist": {
      "description": "Provides a list of `fortios.router.Prefixlist`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPrefixlistlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPrefixlistlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Prefixlist`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getRip:getRip": {
      "description": "Use this data source to get information on fortios router rip\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRip.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getRip.\n",
        "properties": {
          "defaultInformationOriginate": {
            "description": "Enable/disable generation of default route.\n",
            "type": "string"
          },
          "defaultMetric": {
            "description": "Default metric.\n",
            "type": "integer"
          },
          "distances": {
            "description": "Distance (1 - 255).\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipDistance:getRipDistance"
            },
            "type": "array"
          },
          "distributeLists": {
            "description": "Distribute list. The structure of `distribute_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipDistributeList:getRipDistributeList"
            },
            "type": "array"
          },
          "garbageTimer": {
            "description": "Garbage timer in seconds.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "Interface name.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipInterface:getRipInterface"
            },
            "type": "array"
          },
          "maxOutMetric": {
            "description": "Maximum metric allowed to output(0 means 'not set').\n",
            "type": "integer"
          },
          "neighbors": {
            "description": "neighbor The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipNeighbor:getRipNeighbor"
            },
            "type": "array"
          },
          "networks": {
            "description": "network The structure of `network` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipNetwork:getRipNetwork"
            },
            "type": "array"
          },
          "offsetLists": {
            "description": "Offset list. The structure of `offset_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipOffsetList:getRipOffsetList"
            },
            "type": "array"
          },
          "passiveInterfaces": {
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipPassiveInterface:getRipPassiveInterface"
            },
            "type": "array"
          },
          "recvBufferSize": {
            "description": "Receiving buffer size.\n",
            "type": "integer"
          },
          "redistributes": {
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipRedistribute:getRipRedistribute"
            },
            "type": "array"
          },
          "timeoutTimer": {
            "description": "Timeout timer in seconds.\n",
            "type": "integer"
          },
          "updateTimer": {
            "description": "Update timer in seconds.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          },
          "version": {
            "description": "RIP version.\n",
            "type": "string"
          }
        },
        "required": [
          "defaultInformationOriginate",
          "defaultMetric",
          "distances",
          "distributeLists",
          "garbageTimer",
          "id",
          "interfaces",
          "maxOutMetric",
          "neighbors",
          "networks",
          "offsetLists",
          "passiveInterfaces",
          "recvBufferSize",
          "redistributes",
          "timeoutTimer",
          "updateTimer",
          "version"
        ],
        "type": "object"
      }
    },
    "fortios:router/getRipng:getRipng": {
      "description": "Use this data source to get information on fortios router ripng\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRipng.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getRipng.\n",
        "properties": {
          "aggregateAddresses": {
            "description": "Aggregate address. The structure of `aggregate_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngAggregateAddress:getRipngAggregateAddress"
            },
            "type": "array"
          },
          "defaultInformationOriginate": {
            "description": "Enable/disable generation of default route.\n",
            "type": "string"
          },
          "defaultMetric": {
            "description": "Default metric.\n",
            "type": "integer"
          },
          "distances": {
            "description": "Distance (1 - 255).\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngDistance:getRipngDistance"
            },
            "type": "array"
          },
          "distributeLists": {
            "description": "Distribute list. The structure of `distribute_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngDistributeList:getRipngDistributeList"
            },
            "type": "array"
          },
          "garbageTimer": {
            "description": "Garbage timer.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "Interface name.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngInterface:getRipngInterface"
            },
            "type": "array"
          },
          "maxOutMetric": {
            "description": "Maximum metric allowed to output(0 means 'not set').\n",
            "type": "integer"
          },
          "neighbors": {
            "description": "neighbor The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngNeighbor:getRipngNeighbor"
            },
            "type": "array"
          },
          "networks": {
            "description": "Network. The structure of `network` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngNetwork:getRipngNetwork"
            },
            "type": "array"
          },
          "offsetLists": {
            "description": "Offset list. The structure of `offset_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngOffsetList:getRipngOffsetList"
            },
            "type": "array"
          },
          "passiveInterfaces": {
            "description": "Passive interface configuration. The structure of `passive_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngPassiveInterface:getRipngPassiveInterface"
            },
            "type": "array"
          },
          "redistributes": {
            "description": "Redistribute configuration. The structure of `redistribute` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRipngRedistribute:getRipngRedistribute"
            },
            "type": "array"
          },
          "timeoutTimer": {
            "description": "Timeout timer.\n",
            "type": "integer"
          },
          "updateTimer": {
            "description": "Update timer.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "aggregateAddresses",
          "defaultInformationOriginate",
          "defaultMetric",
          "distances",
          "distributeLists",
          "garbageTimer",
          "id",
          "interfaces",
          "maxOutMetric",
          "neighbors",
          "networks",
          "offsetLists",
          "passiveInterfaces",
          "redistributes",
          "timeoutTimer",
          "updateTimer"
        ],
        "type": "object"
      }
    },
    "fortios:router/getRoutemap:getRoutemap": {
      "description": "Use this data source to get information on an fortios router routemap\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRoutemap.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired router routemap.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRoutemap.\n",
        "properties": {
          "comments": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "rules": {
            "description": "Rule. The structure of `rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetRoutemapRule:getRoutemapRule"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "comments",
          "id",
          "name",
          "rules"
        ],
        "type": "object"
      }
    },
    "fortios:router/getRoutemaplist:getRoutemaplist": {
      "description": "Provides a list of `fortios.router.Routemap`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRoutemaplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getRoutemaplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.router.Routemap`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getSetting:getSetting": {
      "description": "Use this data source to get information on fortios router setting\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSetting.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSetting.\n",
        "properties": {
          "bgpDebugFlags": {
            "description": "bgp_debug_flags\n",
            "type": "string"
          },
          "hostname": {
            "description": "Hostname for this virtual domain router.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "igmpDebugFlags": {
            "description": "igmp_debug_flags\n",
            "type": "string"
          },
          "imiDebugFlags": {
            "description": "imi_debug_flags\n",
            "type": "string"
          },
          "isisDebugFlags": {
            "description": "isis_debug_flags\n",
            "type": "string"
          },
          "ospf6DebugEventsFlags": {
            "description": "ospf6_debug_events_flags\n",
            "type": "string"
          },
          "ospf6DebugIfsmFlags": {
            "description": "ospf6_debug_ifsm_flags\n",
            "type": "string"
          },
          "ospf6DebugLsaFlags": {
            "description": "ospf6_debug_lsa_flags\n",
            "type": "string"
          },
          "ospf6DebugNfsmFlags": {
            "description": "ospf6_debug_nfsm_flags\n",
            "type": "string"
          },
          "ospf6DebugNsmFlags": {
            "description": "ospf6_debug_nsm_flags\n",
            "type": "string"
          },
          "ospf6DebugPacketFlags": {
            "description": "ospf6_debug_packet_flags\n",
            "type": "string"
          },
          "ospf6DebugRouteFlags": {
            "description": "ospf6_debug_route_flags\n",
            "type": "string"
          },
          "ospfDebugEventsFlags": {
            "description": "ospf_debug_events_flags\n",
            "type": "string"
          },
          "ospfDebugIfsmFlags": {
            "description": "ospf_debug_ifsm_flags\n",
            "type": "string"
          },
          "ospfDebugLsaFlags": {
            "description": "ospf_debug_lsa_flags\n",
            "type": "string"
          },
          "ospfDebugNfsmFlags": {
            "description": "ospf_debug_nfsm_flags\n",
            "type": "string"
          },
          "ospfDebugNsmFlags": {
            "description": "ospf_debug_nsm_flags\n",
            "type": "string"
          },
          "ospfDebugPacketFlags": {
            "description": "ospf_debug_packet_flags\n",
            "type": "string"
          },
          "ospfDebugRouteFlags": {
            "description": "ospf_debug_route_flags\n",
            "type": "string"
          },
          "pimdmDebugFlags": {
            "description": "pimdm_debug_flags\n",
            "type": "string"
          },
          "pimsmDebugJoinpruneFlags": {
            "description": "pimsm_debug_joinprune_flags\n",
            "type": "string"
          },
          "pimsmDebugSimpleFlags": {
            "description": "pimsm_debug_simple_flags\n",
            "type": "string"
          },
          "pimsmDebugTimerFlags": {
            "description": "pimsm_debug_timer_flags\n",
            "type": "string"
          },
          "ripDebugFlags": {
            "description": "rip_debug_flags\n",
            "type": "string"
          },
          "ripngDebugFlags": {
            "description": "ripng_debug_flags\n",
            "type": "string"
          },
          "showFilter": {
            "description": "Prefix-list as filter for showing routes.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "bgpDebugFlags",
          "hostname",
          "id",
          "igmpDebugFlags",
          "imiDebugFlags",
          "isisDebugFlags",
          "ospf6DebugEventsFlags",
          "ospf6DebugIfsmFlags",
          "ospf6DebugLsaFlags",
          "ospf6DebugNfsmFlags",
          "ospf6DebugNsmFlags",
          "ospf6DebugPacketFlags",
          "ospf6DebugRouteFlags",
          "ospfDebugEventsFlags",
          "ospfDebugIfsmFlags",
          "ospfDebugLsaFlags",
          "ospfDebugNfsmFlags",
          "ospfDebugNsmFlags",
          "ospfDebugPacketFlags",
          "ospfDebugRouteFlags",
          "pimdmDebugFlags",
          "pimsmDebugJoinpruneFlags",
          "pimsmDebugSimpleFlags",
          "pimsmDebugTimerFlags",
          "ripDebugFlags",
          "ripngDebugFlags",
          "showFilter"
        ],
        "type": "object"
      }
    },
    "fortios:router/getStatic6:getStatic6": {
      "description": "Use this data source to get information on an fortios router static6\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStatic6.\n",
        "properties": {
          "seqNum": {
            "type": "integer",
            "description": "Specify the seq_num of the desired router static6.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "seqNum"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getStatic6.\n",
        "properties": {
          "bfd": {
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD).\n",
            "type": "string"
          },
          "blackhole": {
            "description": "Enable/disable black hole.\n",
            "type": "string"
          },
          "comment": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "device": {
            "description": "Gateway out interface or tunnel.\n",
            "type": "string"
          },
          "devindex": {
            "description": "Device index (0 - 4294967295).\n",
            "type": "integer"
          },
          "distance": {
            "description": "Administrative distance (1 - 255).\n",
            "type": "integer"
          },
          "dst": {
            "description": "Destination IPv6 prefix.\n",
            "type": "string"
          },
          "dstaddr": {
            "description": "Name of firewall address or address group.\n",
            "type": "string"
          },
          "dynamicGateway": {
            "description": "Enable use of dynamic gateway retrieved from Router Advertisement (RA).\n",
            "type": "string"
          },
          "gateway": {
            "description": "IPv6 address of the gateway.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "linkMonitorExempt": {
            "description": "Enable/disable withdrawal of this static route when link monitor or health check is down.\n",
            "type": "string"
          },
          "priority": {
            "description": "Administrative priority (0 - 4294967295).\n",
            "type": "integer"
          },
          "sdwan": {
            "description": "Enable/disable egress through the SD-WAN.\n",
            "type": "string"
          },
          "sdwanZones": {
            "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetStatic6SdwanZone:getStatic6SdwanZone"
            },
            "type": "array"
          },
          "seqNum": {
            "description": "Sequence number.\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable this static route.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "virtualWanLink": {
            "description": "Enable/disable egress through the virtual-wan-link.\n",
            "type": "string"
          },
          "vrf": {
            "description": "Virtual Routing Forwarding ID.\n",
            "type": "integer"
          },
          "weight": {
            "description": "Administrative weight (0 - 255).\n",
            "type": "integer"
          }
        },
        "required": [
          "bfd",
          "blackhole",
          "comment",
          "device",
          "devindex",
          "distance",
          "dst",
          "dstaddr",
          "dynamicGateway",
          "gateway",
          "id",
          "linkMonitorExempt",
          "priority",
          "sdwan",
          "sdwanZones",
          "seqNum",
          "status",
          "virtualWanLink",
          "vrf",
          "weight"
        ],
        "type": "object"
      }
    },
    "fortios:router/getStatic6list:getStatic6list": {
      "description": "Provides a list of `fortios.router.Static6`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStatic6list.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getStatic6list.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "seqNumlists": {
            "description": "A list of the `fortios.router.Static6`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "seqNumlists"
        ],
        "type": "object"
      }
    },
    "fortios:router/getStatic:getStatic": {
      "description": "Use this data source to get information on an fortios router static\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.router.getStatic({\n    seqNum: 1,\n});\nexport const output1 = sample1;\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.router.get_static(seq_num=1)\npulumi.export(\"output1\", sample1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Router.GetStatic.Invoke(new()\n    {\n        SeqNum = 1,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1,\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample1, err := router.LookupStatic(ctx, \u0026router.LookupStaticArgs{\n\t\t\tSeqNum: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1)\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.router.RouterFunctions;\nimport com.pulumi.fortios.router.inputs.GetStaticArgs;\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 sample1 = RouterFunctions.getStatic(GetStaticArgs.builder()\n            .seqNum(1)\n            .build());\n\n        ctx.export(\"output1\", sample1.applyValue(getStaticResult -\u003e getStaticResult));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:router:getStatic\n      Arguments:\n        seqNum: 1\noutputs:\n  output1: ${sample1}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStatic.\n",
        "properties": {
          "seqNum": {
            "type": "integer",
            "description": "Specify the seq_num of the desired router static.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "seqNum"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getStatic.\n",
        "properties": {
          "bfd": {
            "description": "Enable/disable Bidirectional Forwarding Detection (BFD).\n",
            "type": "string"
          },
          "blackhole": {
            "description": "Enable/disable black hole.\n",
            "type": "string"
          },
          "comment": {
            "description": "Optional comments.\n",
            "type": "string"
          },
          "device": {
            "description": "Gateway out interface or tunnel.\n",
            "type": "string"
          },
          "distance": {
            "description": "Administrative distance (1 - 255).\n",
            "type": "integer"
          },
          "dst": {
            "description": "Destination IP and mask for this route.\n",
            "type": "string"
          },
          "dstaddr": {
            "description": "Name of firewall address or address group.\n",
            "type": "string"
          },
          "dynamicGateway": {
            "description": "Enable use of dynamic gateway retrieved from a DHCP or PPP server.\n",
            "type": "string"
          },
          "gateway": {
            "description": "Gateway IP for this route.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "internetService": {
            "description": "Application ID in the Internet service database.\n",
            "type": "integer"
          },
          "internetServiceCustom": {
            "description": "Application name in the Internet service custom database.\n",
            "type": "string"
          },
          "linkMonitorExempt": {
            "description": "Enable/disable withdrawing this route when link monitor or health check is down.\n",
            "type": "string"
          },
          "preferredSource": {
            "description": "Preferred source IP for this route.\n",
            "type": "string"
          },
          "priority": {
            "description": "Administrative priority (0 - 4294967295).\n",
            "type": "integer"
          },
          "sdwan": {
            "description": "Enable/disable egress through SD-WAN.\n",
            "type": "string"
          },
          "sdwanZones": {
            "description": "Choose SD-WAN Zone. The structure of `sdwan_zone` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:router%2FgetStaticSdwanZone:getStaticSdwanZone"
            },
            "type": "array"
          },
          "seqNum": {
            "description": "Sequence number.\n",
            "type": "integer"
          },
          "src": {
            "description": "Source prefix for this route.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this static route.\n",
            "type": "string"
          },
          "tag": {
            "description": "Route tag.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          },
          "virtualWanLink": {
            "description": "Enable/disable egress through the virtual-wan-link.\n",
            "type": "string"
          },
          "vrf": {
            "description": "Virtual Routing Forwarding ID.\n",
            "type": "integer"
          },
          "weight": {
            "description": "Administrative weight (0 - 255).\n",
            "type": "integer"
          }
        },
        "required": [
          "bfd",
          "blackhole",
          "comment",
          "device",
          "distance",
          "dst",
          "dstaddr",
          "dynamicGateway",
          "gateway",
          "id",
          "internetService",
          "internetServiceCustom",
          "linkMonitorExempt",
          "preferredSource",
          "priority",
          "sdwan",
          "sdwanZones",
          "seqNum",
          "src",
          "status",
          "tag",
          "virtualWanLink",
          "vrf",
          "weight"
        ],
        "type": "object"
      }
    },
    "fortios:router/getStaticlist:getStaticlist": {
      "description": "Provides a list of `fortios.router.Static`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.router.getStaticlist({\n    filter: \"seq_num\u003e1\",\n});\nexport const output1 = sample1.then(sample1 =\u003e sample1.seqNumlists);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.router.get_staticlist(filter=\"seq_num\u003e1\")\npulumi.export(\"output1\", sample1.seq_numlists)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.Router.GetStaticlist.Invoke(new()\n    {\n        Filter = \"seq_num\u003e1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1.Apply(getStaticlistResult =\u003e getStaticlistResult.SeqNumlists),\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/router\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample1, err := router.GetStaticlist(ctx, \u0026router.GetStaticlistArgs{\n\t\t\tFilter: pulumi.StringRef(\"seq_num\u003e1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1.SeqNumlists)\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.router.RouterFunctions;\nimport com.pulumi.fortios.router.inputs.GetStaticlistArgs;\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 sample1 = RouterFunctions.getStaticlist(GetStaticlistArgs.builder()\n            .filter(\"seq_num\u003e1\")\n            .build());\n\n        ctx.export(\"output1\", sample1.applyValue(getStaticlistResult -\u003e getStaticlistResult.seqNumlists()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:router:getStaticlist\n      Arguments:\n        filter: seq_num\u003e1\noutputs:\n  output1: ${sample1.seqNumlists}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStaticlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getStaticlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "seqNumlists": {
            "description": "A list of the `fortios.router.Static`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "seqNumlists"
        ],
        "type": "object"
      }
    },
    "fortios:system/autoupdate/getPushupdate:getPushupdate": {
      "description": "Use this data source to get information on fortios systemautoupdate pushupdate\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPushupdate.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPushupdate.\n",
        "properties": {
          "address": {
            "description": "Push update override server.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "override": {
            "description": "Enable/disable push update override server.\n",
            "type": "string"
          },
          "port": {
            "description": "Push update override port. (Do not overlap with other service ports)\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable push updates.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "id",
          "override",
          "port",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/autoupdate/getSchedule:getSchedule": {
      "description": "Use this data source to get information on fortios systemautoupdate schedule\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSchedule.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSchedule.\n",
        "properties": {
          "day": {
            "description": "Update day.\n",
            "type": "string"
          },
          "frequency": {
            "description": "Update frequency.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable scheduled updates.\n",
            "type": "string"
          },
          "time": {
            "description": "Update time.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "day",
          "frequency",
          "id",
          "status",
          "time"
        ],
        "type": "object"
      }
    },
    "fortios:system/autoupdate/getTunneling:getTunneling": {
      "description": "Use this data source to get information on fortios systemautoupdate tunneling\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTunneling.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getTunneling.\n",
        "properties": {
          "address": {
            "description": "Web proxy IP address or FQDN.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "password": {
            "description": "Web proxy password.\n",
            "secret": true,
            "type": "string"
          },
          "port": {
            "description": "Web proxy port.\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable web proxy tunnelling.\n",
            "type": "string"
          },
          "username": {
            "description": "Web proxy username.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "id",
          "password",
          "port",
          "status",
          "username"
        ],
        "type": "object"
      }
    },
    "fortios:system/dhcp/getServer:getServer": {
      "description": "Use this data source to get information on an fortios systemdhcp server\n",
      "inputs": {
        "description": "A collection of arguments for invoking getServer.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired systemdhcp server.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getServer.\n",
        "properties": {
          "autoConfiguration": {
            "description": "Enable/disable auto configuration.\n",
            "type": "string"
          },
          "autoManagedStatus": {
            "description": "Enable/disable use of this DHCP server once this interface has been assigned an IP address from FortiIPAM.\n",
            "type": "string"
          },
          "conflictedIpTimeout": {
            "description": "Time in seconds to wait after a conflicted IP address is removed from the DHCP range before it can be reused.\n",
            "type": "integer"
          },
          "ddnsAuth": {
            "description": "DDNS authentication mode.\n",
            "type": "string"
          },
          "ddnsKey": {
            "description": "DDNS update key (base 64 encoding).\n",
            "secret": true,
            "type": "string"
          },
          "ddnsKeyname": {
            "description": "DDNS update key name.\n",
            "type": "string"
          },
          "ddnsServerIp": {
            "description": "DDNS server IP.\n",
            "type": "string"
          },
          "ddnsTtl": {
            "description": "TTL.\n",
            "type": "integer"
          },
          "ddnsUpdate": {
            "description": "Enable/disable DDNS update for DHCP.\n",
            "type": "string"
          },
          "ddnsUpdateOverride": {
            "description": "Enable/disable DDNS update override for DHCP.\n",
            "type": "string"
          },
          "ddnsZone": {
            "description": "Zone of your domain name (ex. DDNS.com).\n",
            "type": "string"
          },
          "defaultGateway": {
            "description": "Default gateway IP address assigned by the DHCP server.\n",
            "type": "string"
          },
          "dhcpSettingsFromFortiipam": {
            "description": "Enable/disable populating of DHCP server settings from FortiIPAM.\n",
            "type": "string"
          },
          "dnsServer1": {
            "description": "DNS server 1.\n",
            "type": "string"
          },
          "dnsServer2": {
            "description": "DNS server 2.\n",
            "type": "string"
          },
          "dnsServer3": {
            "description": "DNS server 3.\n",
            "type": "string"
          },
          "dnsServer4": {
            "description": "DNS server 4.\n",
            "type": "string"
          },
          "dnsService": {
            "description": "Options for assigning DNS servers to DHCP clients.\n",
            "type": "string"
          },
          "domain": {
            "description": "Domain name suffix for the IP addresses that the DHCP server assigns to clients.\n",
            "type": "string"
          },
          "excludeRanges": {
            "description": "Exclude one or more ranges of IP addresses from being assigned to clients. The structure of `exclude_range` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerExcludeRange:getServerExcludeRange"
            },
            "type": "array"
          },
          "filename": {
            "description": "Name of the boot file on the TFTP server.\n",
            "type": "string"
          },
          "forticlientOnNetStatus": {
            "description": "Enable/disable FortiClient-On-Net service for this DHCP server.\n",
            "type": "string"
          },
          "fosid": {
            "description": "ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "DHCP server can assign IP configurations to clients connected to this interface.\n",
            "type": "string"
          },
          "ipMode": {
            "description": "Method used to assign client IP.\n",
            "type": "string"
          },
          "ipRanges": {
            "description": "DHCP IP range configuration. The structure of `ip_range` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerIpRange:getServerIpRange"
            },
            "type": "array"
          },
          "ipsecLeaseHold": {
            "description": "DHCP over IPsec leases expire this many seconds after tunnel down (0 to disable forced-expiry).\n",
            "type": "integer"
          },
          "leaseTime": {
            "description": "Lease time in seconds, 0 means default lease time.\n",
            "type": "integer"
          },
          "macAclDefaultAction": {
            "description": "MAC access control default action (allow or block assigning IP settings).\n",
            "type": "string"
          },
          "netmask": {
            "description": "Netmask assigned by the DHCP server.\n",
            "type": "string"
          },
          "nextServer": {
            "description": "IP address of a server (for example, a TFTP sever) that DHCP clients can download a boot file from.\n",
            "type": "string"
          },
          "ntpServer1": {
            "description": "NTP server 1.\n",
            "type": "string"
          },
          "ntpServer2": {
            "description": "NTP server 2.\n",
            "type": "string"
          },
          "ntpServer3": {
            "description": "NTP server 3.\n",
            "type": "string"
          },
          "ntpService": {
            "description": "Options for assigning Network Time Protocol (NTP) servers to DHCP clients.\n",
            "type": "string"
          },
          "options": {
            "description": "DHCP options. The structure of `options` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerOption:getServerOption"
            },
            "type": "array"
          },
          "relayAgent": {
            "description": "Relay agent IP.\n",
            "type": "string"
          },
          "reservedAddresses": {
            "description": "Options for the DHCP server to assign IP settings to specific MAC addresses. The structure of `reserved_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerReservedAddress:getServerReservedAddress"
            },
            "type": "array"
          },
          "serverType": {
            "description": "DHCP server can be a normal DHCP server or an IPsec DHCP server.\n",
            "type": "string"
          },
          "sharedSubnet": {
            "description": "Enable/disable shared subnet.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this DHCP configuration.\n",
            "type": "string"
          },
          "tftpServers": {
            "description": "TFTP server.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerTftpServer:getServerTftpServer"
            },
            "type": "array"
          },
          "timezone": {
            "description": "Select the time zone to be assigned to DHCP clients.\n",
            "type": "string"
          },
          "timezoneOption": {
            "description": "Options for the DHCP server to set the client's time zone.\n",
            "type": "string"
          },
          "vciMatch": {
            "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range.\n",
            "type": "string"
          },
          "vciStrings": {
            "description": "VCI strings.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerVciString:getServerVciString"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "wifiAc1": {
            "description": "WiFi Access Controller 1 IP address (DHCP option 138, RFC 5417).\n",
            "type": "string"
          },
          "wifiAc2": {
            "description": "WiFi Access Controller 2 IP address (DHCP option 138, RFC 5417).\n",
            "type": "string"
          },
          "wifiAc3": {
            "description": "WiFi Access Controller 3 IP address (DHCP option 138, RFC 5417).\n",
            "type": "string"
          },
          "wifiAcService": {
            "description": "Options for assigning WiFi Access Controllers to DHCP clients\n",
            "type": "string"
          },
          "winsServer1": {
            "description": "WINS server 1.\n",
            "type": "string"
          },
          "winsServer2": {
            "description": "WINS server 2.\n",
            "type": "string"
          }
        },
        "required": [
          "autoConfiguration",
          "autoManagedStatus",
          "conflictedIpTimeout",
          "ddnsAuth",
          "ddnsKey",
          "ddnsKeyname",
          "ddnsServerIp",
          "ddnsTtl",
          "ddnsUpdate",
          "ddnsUpdateOverride",
          "ddnsZone",
          "defaultGateway",
          "dhcpSettingsFromFortiipam",
          "dnsServer1",
          "dnsServer2",
          "dnsServer3",
          "dnsServer4",
          "dnsService",
          "domain",
          "excludeRanges",
          "filename",
          "forticlientOnNetStatus",
          "fosid",
          "id",
          "interface",
          "ipMode",
          "ipRanges",
          "ipsecLeaseHold",
          "leaseTime",
          "macAclDefaultAction",
          "netmask",
          "nextServer",
          "ntpServer1",
          "ntpServer2",
          "ntpServer3",
          "ntpService",
          "options",
          "relayAgent",
          "reservedAddresses",
          "serverType",
          "sharedSubnet",
          "status",
          "tftpServers",
          "timezone",
          "timezoneOption",
          "vciMatch",
          "vciStrings",
          "wifiAc1",
          "wifiAc2",
          "wifiAc3",
          "wifiAcService",
          "winsServer1",
          "winsServer2"
        ],
        "type": "object"
      }
    },
    "fortios:system/dhcp/getServerlist:getServerlist": {
      "description": "Provides a list of `fortios.system/dhcp.Server`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getServerlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getServerlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system/dhcp.Server`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAccprofile:getAccprofile": {
      "description": "Use this data source to get information on an fortios system accprofile\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccprofile.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system accprofile.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAccprofile.\n",
        "properties": {
          "admintimeout": {
            "description": "Administrator timeout for this access profile (0 - 480 min, default = 10, 0 means never timeout).\n",
            "type": "integer"
          },
          "admintimeoutOverride": {
            "description": "Enable/disable overriding the global administrator idle timeout.\n",
            "type": "string"
          },
          "authgrp": {
            "description": "Administrator access to Users and Devices.\n",
            "type": "string"
          },
          "cliConfig": {
            "description": "Enable/disable permission to run config commands.\n",
            "type": "string"
          },
          "cliDiagnose": {
            "description": "Enable/disable permission to run diagnostic commands.\n",
            "type": "string"
          },
          "cliExec": {
            "description": "Enable/disable permission to run execute commands.\n",
            "type": "string"
          },
          "cliGet": {
            "description": "Enable/disable permission to run get commands.\n",
            "type": "string"
          },
          "cliShow": {
            "description": "Enable/disable permission to run show commands.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "ftviewgrp": {
            "description": "FortiView.\n",
            "type": "string"
          },
          "fwgrp": {
            "description": "Administrator access to the Firewall configuration.\n",
            "type": "string"
          },
          "fwgrpPermissions": {
            "description": "Custom firewall permission. The structure of `fwgrp_permission` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAccprofileFwgrpPermission:getAccprofileFwgrpPermission"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "loggrp": {
            "description": "Administrator access to Logging and Reporting including viewing log messages.\n",
            "type": "string"
          },
          "loggrpPermissions": {
            "description": "Custom Log \u0026 Report permission. The structure of `loggrp_permission` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAccprofileLoggrpPermission:getAccprofileLoggrpPermission"
            },
            "type": "array"
          },
          "name": {
            "description": "Profile name.\n",
            "type": "string"
          },
          "netgrp": {
            "description": "Network Configuration.\n",
            "type": "string"
          },
          "netgrpPermissions": {
            "description": "Custom network permission. The structure of `netgrp_permission` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAccprofileNetgrpPermission:getAccprofileNetgrpPermission"
            },
            "type": "array"
          },
          "scope": {
            "description": "Scope of admin access: global or specific VDOM(s).\n",
            "type": "string"
          },
          "secfabgrp": {
            "description": "Security Fabric.\n",
            "type": "string"
          },
          "sysgrp": {
            "description": "System Configuration.\n",
            "type": "string"
          },
          "sysgrpPermissions": {
            "description": "Custom system permission. The structure of `sysgrp_permission` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAccprofileSysgrpPermission:getAccprofileSysgrpPermission"
            },
            "type": "array"
          },
          "systemDiagnostics": {
            "description": "Enable/disable permission to run system diagnostic commands.\n",
            "type": "string"
          },
          "systemExecuteSsh": {
            "description": "Enable/disable permission to execute SSH commands.\n",
            "type": "string"
          },
          "systemExecuteTelnet": {
            "description": "Enable/disable permission to execute TELNET commands.\n",
            "type": "string"
          },
          "utmgrp": {
            "description": "Administrator access to Security Profiles.\n",
            "type": "string"
          },
          "utmgrpPermissions": {
            "description": "Custom Security Profile permissions. The structure of `utmgrp_permission` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAccprofileUtmgrpPermission:getAccprofileUtmgrpPermission"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "vpngrp": {
            "description": "Administrator access to IPsec, SSL, PPTP, and L2TP VPN.\n",
            "type": "string"
          },
          "wanoptgrp": {
            "description": "Administrator access to WAN Opt \u0026 Cache.\n",
            "type": "string"
          },
          "wifi": {
            "description": "Administrator access to the WiFi controller and Switch controller.\n",
            "type": "string"
          }
        },
        "required": [
          "admintimeout",
          "admintimeoutOverride",
          "authgrp",
          "cliConfig",
          "cliDiagnose",
          "cliExec",
          "cliGet",
          "cliShow",
          "comments",
          "ftviewgrp",
          "fwgrp",
          "fwgrpPermissions",
          "id",
          "loggrp",
          "loggrpPermissions",
          "name",
          "netgrp",
          "netgrpPermissions",
          "scope",
          "secfabgrp",
          "sysgrp",
          "sysgrpPermissions",
          "systemDiagnostics",
          "systemExecuteSsh",
          "systemExecuteTelnet",
          "utmgrp",
          "utmgrpPermissions",
          "vpngrp",
          "wanoptgrp",
          "wifi"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAccprofilelist:getAccprofilelist": {
      "description": "Provides a list of `fortios.system.Accprofile`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccprofilelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAccprofilelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Accprofile`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAdmin:getAdmin": {
      "description": "Use this data source to get information on an fortios system admin\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAdmin.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system admin.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAdmin.\n",
        "properties": {
          "accprofile": {
            "description": "Access profile for this administrator. Access profiles control administrator access to FortiGate features.\n",
            "type": "string"
          },
          "accprofileOverride": {
            "description": "Enable to use the name of an access profile provided by the remote authentication server to control the FortiGate features that this administrator can access.\n",
            "type": "string"
          },
          "allowRemoveAdminSession": {
            "description": "Enable/disable allow admin session to be removed by privileged admin users.\n",
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "emailTo": {
            "description": "This administrator's email address.\n",
            "type": "string"
          },
          "forcePasswordChange": {
            "description": "Enable/disable force password change on next login.\n",
            "type": "string"
          },
          "fortitoken": {
            "description": "This administrator's FortiToken serial number.\n",
            "type": "string"
          },
          "guestAuth": {
            "description": "Enable/disable guest authentication.\n",
            "type": "string"
          },
          "guestLang": {
            "description": "Guest management portal language.\n",
            "type": "string"
          },
          "guestUsergroups": {
            "description": "Select guest user groups. The structure of `guest_usergroups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminGuestUsergroup:getAdminGuestUsergroup"
            },
            "type": "array"
          },
          "guiDashboards": {
            "description": "GUI dashboards. The structure of `gui_dashboard` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminGuiDashboard:getAdminGuiDashboard"
            },
            "type": "array"
          },
          "guiGlobalMenuFavorites": {
            "description": "Favorite GUI menu IDs for the global VDOM. The structure of `gui_global_menu_favorites` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminGuiGlobalMenuFavorite:getAdminGuiGlobalMenuFavorite"
            },
            "type": "array"
          },
          "guiNewFeatureAcknowledges": {
            "description": "Acknowledgement of new features. The structure of `gui_new_feature_acknowledge` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminGuiNewFeatureAcknowledge:getAdminGuiNewFeatureAcknowledge"
            },
            "type": "array"
          },
          "guiVdomMenuFavorites": {
            "description": "Favorite GUI menu IDs for VDOMs. The structure of `gui_vdom_menu_favorites` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminGuiVdomMenuFavorite:getAdminGuiVdomMenuFavorite"
            },
            "type": "array"
          },
          "hidden": {
            "description": "Admin user hidden attribute.\n",
            "type": "integer"
          },
          "history0": {
            "description": "history0\n",
            "secret": true,
            "type": "string"
          },
          "history1": {
            "description": "history1\n",
            "secret": true,
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip6Trusthost1": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost10": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost2": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost3": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost4": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost5": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost6": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost7": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost8": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "ip6Trusthost9": {
            "description": "Any IPv6 address from which the administrator can connect to the FortiGate unit. Default allows access from any IPv6 address.\n",
            "type": "string"
          },
          "loginTimes": {
            "description": "Record user login time. The structure of `login_time` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminLoginTime:getAdminLoginTime"
            },
            "type": "array"
          },
          "name": {
            "description": "Select guest user groups.\n",
            "type": "string"
          },
          "password": {
            "description": "Admin user password.\n",
            "secret": true,
            "type": "string"
          },
          "passwordExpire": {
            "description": "Password expire time.\n",
            "type": "string"
          },
          "peerAuth": {
            "description": "Set to enable peer certificate authentication (for HTTPS admin access).\n",
            "type": "string"
          },
          "peerGroup": {
            "description": "Name of peer group defined under config user group which has PKI members. Used for peer certificate authentication (for HTTPS admin access).\n",
            "type": "string"
          },
          "radiusVdomOverride": {
            "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access.\n",
            "type": "string"
          },
          "remoteAuth": {
            "description": "Enable/disable authentication using a remote RADIUS, LDAP, or TACACS+ server.\n",
            "type": "string"
          },
          "remoteGroup": {
            "description": "User group name used for remote auth.\n",
            "type": "string"
          },
          "schedule": {
            "description": "Firewall schedule used to restrict when the administrator can log in. No schedule means no restrictions.\n",
            "type": "string"
          },
          "smsCustomServer": {
            "description": "Custom SMS server to send SMS messages to.\n",
            "type": "string"
          },
          "smsPhone": {
            "description": "Phone number on which the administrator receives SMS messages.\n",
            "type": "string"
          },
          "smsServer": {
            "description": "Send SMS messages using the FortiGuard SMS server or a custom server.\n",
            "type": "string"
          },
          "sshCertificate": {
            "description": "Select the certificate to be used by the FortiGate for authentication with an SSH client.\n",
            "type": "string"
          },
          "sshPublicKey1": {
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true,
            "type": "string"
          },
          "sshPublicKey2": {
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true,
            "type": "string"
          },
          "sshPublicKey3": {
            "description": "Public key of an SSH client. The client is authenticated without being asked for credentials. Create the public-private key pair in the SSH client application.\n",
            "secret": true,
            "type": "string"
          },
          "trusthost1": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost10": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost2": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost3": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost4": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost5": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost6": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost7": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost8": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "trusthost9": {
            "description": "Any IPv4 address or subnet address and netmask from which the administrator can connect to the FortiGate unit. Default allows access from any IPv4 address.\n",
            "type": "string"
          },
          "twoFactor": {
            "description": "Enable/disable two-factor authentication.\n",
            "type": "string"
          },
          "twoFactorAuthentication": {
            "description": "Authentication method by FortiToken Cloud.\n",
            "type": "string"
          },
          "twoFactorNotification": {
            "description": "Notification method for user activation by FortiToken Cloud.\n",
            "type": "string"
          },
          "vdomOverride": {
            "description": "Enable to use the names of VDOMs provided by the remote authentication server to control the VDOMs that this administrator can access.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "Virtual domain(s) that the administrator can access. The structure of `vdom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAdminVdom:getAdminVdom"
            },
            "type": "array"
          },
          "wildcard": {
            "description": "Enable/disable wildcard RADIUS authentication.\n",
            "type": "string"
          }
        },
        "required": [
          "accprofile",
          "accprofileOverride",
          "allowRemoveAdminSession",
          "comments",
          "emailTo",
          "forcePasswordChange",
          "fortitoken",
          "guestAuth",
          "guestLang",
          "guestUsergroups",
          "guiDashboards",
          "guiGlobalMenuFavorites",
          "guiNewFeatureAcknowledges",
          "guiVdomMenuFavorites",
          "hidden",
          "history0",
          "history1",
          "id",
          "ip6Trusthost1",
          "ip6Trusthost10",
          "ip6Trusthost2",
          "ip6Trusthost3",
          "ip6Trusthost4",
          "ip6Trusthost5",
          "ip6Trusthost6",
          "ip6Trusthost7",
          "ip6Trusthost8",
          "ip6Trusthost9",
          "loginTimes",
          "name",
          "password",
          "passwordExpire",
          "peerAuth",
          "peerGroup",
          "radiusVdomOverride",
          "remoteAuth",
          "remoteGroup",
          "schedule",
          "smsCustomServer",
          "smsPhone",
          "smsServer",
          "sshCertificate",
          "sshPublicKey1",
          "sshPublicKey2",
          "sshPublicKey3",
          "trusthost1",
          "trusthost10",
          "trusthost2",
          "trusthost3",
          "trusthost4",
          "trusthost5",
          "trusthost6",
          "trusthost7",
          "trusthost8",
          "trusthost9",
          "twoFactor",
          "twoFactorAuthentication",
          "twoFactorNotification",
          "vdomOverride",
          "vdoms",
          "wildcard"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAdminlist:getAdminlist": {
      "description": "Provides a list of `fortios.system.Admin`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAdminlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAdminlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Admin`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAlias:getAlias": {
      "description": "Use this data source to get information on an fortios system alias\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAlias.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system alias.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAlias.\n",
        "properties": {
          "command": {
            "description": "Command list to execute.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Alias command name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "command",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAliaslist:getAliaslist": {
      "description": "Provides a list of `fortios.system.Alias`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAliaslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAliaslist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Alias`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getApiuser:getApiuser": {
      "description": "Use this data source to get information on an fortios system apiuser\n",
      "inputs": {
        "description": "A collection of arguments for invoking getApiuser.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system apiuser.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getApiuser.\n",
        "properties": {
          "accprofile": {
            "description": "Admin user access profile.\n",
            "type": "string"
          },
          "apiKey": {
            "description": "Admin user password.\n",
            "secret": true,
            "type": "string"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "corsAllowOrigin": {
            "description": "Value for Access-Control-Allow-Origin on API responses. Avoid using '*' if possible.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Virtual domain name.\n",
            "type": "string"
          },
          "peerAuth": {
            "description": "Enable/disable peer authentication.\n",
            "type": "string"
          },
          "peerGroup": {
            "description": "Peer group name.\n",
            "type": "string"
          },
          "schedule": {
            "description": "Schedule name.\n",
            "type": "string"
          },
          "trusthosts": {
            "description": "Trusthost. The structure of `trusthost` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetApiuserTrusthost:getApiuserTrusthost"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "Virtual domains. The structure of `vdom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetApiuserVdom:getApiuserVdom"
            },
            "type": "array"
          }
        },
        "required": [
          "accprofile",
          "apiKey",
          "comments",
          "corsAllowOrigin",
          "id",
          "name",
          "peerAuth",
          "peerGroup",
          "schedule",
          "trusthosts",
          "vdoms"
        ],
        "type": "object"
      }
    },
    "fortios:system/getApiuserlist:getApiuserlist": {
      "description": "Provides a list of `fortios.system.Apiuser`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getApiuserlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getApiuserlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Apiuser`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getArptable:getArptable": {
      "description": "Use this data source to get information on an fortios system arptable\n",
      "inputs": {
        "description": "A collection of arguments for invoking getArptable.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system arptable.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getArptable.\n",
        "properties": {
          "fosid": {
            "description": "Unique integer ID of the entry.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface name.\n",
            "type": "string"
          },
          "ip": {
            "description": "IP address.\n",
            "type": "string"
          },
          "mac": {
            "description": "MAC address.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosid",
          "id",
          "interface",
          "ip",
          "mac"
        ],
        "type": "object"
      }
    },
    "fortios:system/getArptablelist:getArptablelist": {
      "description": "Provides a list of `fortios.system.Arptable`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getArptablelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getArptablelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Arptable`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutoinstall:getAutoinstall": {
      "description": "Use this data source to get information on fortios system autoinstall\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutoinstall.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAutoinstall.\n",
        "properties": {
          "autoInstallConfig": {
            "description": "Enable/disable auto install the config in USB disk.\n",
            "type": "string"
          },
          "autoInstallImage": {
            "description": "Enable/disable auto install the image in USB disk.\n",
            "type": "string"
          },
          "defaultConfigFile": {
            "description": "Default config file name in USB disk.\n",
            "type": "string"
          },
          "defaultImageFile": {
            "description": "Default image file name in USB disk.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "autoInstallConfig",
          "autoInstallImage",
          "defaultConfigFile",
          "defaultImageFile",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationaction:getAutomationaction": {
      "description": "Use this data source to get information on an fortios system automationaction\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationaction.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system automationaction.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationaction.\n",
        "properties": {
          "accprofile": {
            "description": "Access profile for CLI script action to access FortiGate features.\n",
            "type": "string"
          },
          "actionType": {
            "description": "Action type.\n",
            "type": "string"
          },
          "alicloudAccessKeyId": {
            "description": "AliCloud AccessKey ID.\n",
            "type": "string"
          },
          "alicloudAccessKeySecret": {
            "description": "AliCloud AccessKey secret.\n",
            "secret": true,
            "type": "string"
          },
          "alicloudAccountId": {
            "description": "AliCloud account ID.\n",
            "type": "string"
          },
          "alicloudFunction": {
            "description": "AliCloud function name.\n",
            "type": "string"
          },
          "alicloudFunctionAuthorization": {
            "description": "AliCloud function authorization type.\n",
            "type": "string"
          },
          "alicloudFunctionDomain": {
            "description": "AliCloud function domain.\n",
            "type": "string"
          },
          "alicloudRegion": {
            "description": "AliCloud region.\n",
            "type": "string"
          },
          "alicloudService": {
            "description": "AliCloud service name.\n",
            "type": "string"
          },
          "alicloudVersion": {
            "description": "AliCloud version.\n",
            "type": "string"
          },
          "awsApiId": {
            "description": "AWS API Gateway ID.\n",
            "type": "string"
          },
          "awsApiKey": {
            "description": "AWS API Gateway API key.\n",
            "secret": true,
            "type": "string"
          },
          "awsApiPath": {
            "description": "AWS API Gateway path.\n",
            "type": "string"
          },
          "awsApiStage": {
            "description": "AWS API Gateway deployment stage name.\n",
            "type": "string"
          },
          "awsDomain": {
            "description": "AWS domain.\n",
            "type": "string"
          },
          "awsRegion": {
            "description": "AWS region.\n",
            "type": "string"
          },
          "azureApiKey": {
            "description": "Azure function API key.\n",
            "secret": true,
            "type": "string"
          },
          "azureApp": {
            "description": "Azure function application name.\n",
            "type": "string"
          },
          "azureDomain": {
            "description": "Azure function domain.\n",
            "type": "string"
          },
          "azureFunction": {
            "description": "Azure function name.\n",
            "type": "string"
          },
          "azureFunctionAuthorization": {
            "description": "Azure function authorization level.\n",
            "type": "string"
          },
          "delay": {
            "description": "Delay before execution (in seconds).\n",
            "type": "integer"
          },
          "description": {
            "description": "Description.\n",
            "type": "string"
          },
          "emailBody": {
            "description": "Email body.\n",
            "type": "string"
          },
          "emailFrom": {
            "description": "Email sender name.\n",
            "type": "string"
          },
          "emailSubject": {
            "description": "Email subject.\n",
            "type": "string"
          },
          "emailTos": {
            "description": "Email addresses. The structure of `email_to` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationactionEmailTo:getAutomationactionEmailTo"
            },
            "type": "array"
          },
          "executeSecurityFabric": {
            "description": "Enable/disable execution of CLI script on all or only one FortiGate unit in the Security Fabric.\n",
            "type": "string"
          },
          "forticareEmail": {
            "description": "Enable/disable use of your FortiCare email address as the email-to address.\n",
            "type": "string"
          },
          "gcpFunction": {
            "description": "Google Cloud function name.\n",
            "type": "string"
          },
          "gcpFunctionDomain": {
            "description": "Google Cloud function domain.\n",
            "type": "string"
          },
          "gcpFunctionRegion": {
            "description": "Google Cloud function region.\n",
            "type": "string"
          },
          "gcpProject": {
            "description": "Google Cloud Platform project name.\n",
            "type": "string"
          },
          "headers": {
            "description": "Request headers. The structure of `headers` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationactionHeader:getAutomationactionHeader"
            },
            "type": "array"
          },
          "httpBody": {
            "description": "Request body (if necessary). Should be serialized json string.\n",
            "type": "string"
          },
          "httpHeaders": {
            "description": "Request headers. The structure of `http_headers` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationactionHttpHeader:getAutomationactionHttpHeader"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "message": {
            "description": "Message content.\n",
            "type": "string"
          },
          "messageType": {
            "description": "Message type.\n",
            "type": "string"
          },
          "method": {
            "description": "Request method (POST, PUT, GET, PATCH or DELETE).\n",
            "type": "string"
          },
          "minimumInterval": {
            "description": "Limit execution to no more than once in this interval (in seconds).\n",
            "type": "integer"
          },
          "name": {
            "description": "SDN connector name.\n",
            "type": "string"
          },
          "outputSize": {
            "description": "Number of megabytes to limit script output to (1 - 1024, default = 10).\n",
            "type": "integer"
          },
          "port": {
            "description": "Protocol port.\n",
            "type": "integer"
          },
          "protocol": {
            "description": "Request protocol.\n",
            "type": "string"
          },
          "replacementMessage": {
            "description": "Enable/disable replacement message.\n",
            "type": "string"
          },
          "replacemsgGroup": {
            "description": "Replacement message group.\n",
            "type": "string"
          },
          "required": {
            "description": "Required in action chain.\n",
            "type": "string"
          },
          "script": {
            "description": "CLI script.\n",
            "type": "string"
          },
          "sdnConnectors": {
            "description": "NSX SDN connector names. The structure of `sdn_connector` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationactionSdnConnector:getAutomationactionSdnConnector"
            },
            "type": "array"
          },
          "securityTag": {
            "description": "NSX security tag.\n",
            "type": "string"
          },
          "systemAction": {
            "description": "System action type.\n",
            "type": "string"
          },
          "timeout": {
            "description": "Maximum running time for this script in seconds (0 = no timeout).\n",
            "type": "integer"
          },
          "tlsCertificate": {
            "description": "Custom TLS certificate for API request.\n",
            "type": "string"
          },
          "uri": {
            "description": "Request API URI.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "verifyHostCert": {
            "description": "Enable/disable verification of the remote host certificate.\n",
            "type": "string"
          }
        },
        "required": [
          "accprofile",
          "actionType",
          "alicloudAccessKeyId",
          "alicloudAccessKeySecret",
          "alicloudAccountId",
          "alicloudFunction",
          "alicloudFunctionAuthorization",
          "alicloudFunctionDomain",
          "alicloudRegion",
          "alicloudService",
          "alicloudVersion",
          "awsApiId",
          "awsApiKey",
          "awsApiPath",
          "awsApiStage",
          "awsDomain",
          "awsRegion",
          "azureApiKey",
          "azureApp",
          "azureDomain",
          "azureFunction",
          "azureFunctionAuthorization",
          "delay",
          "description",
          "emailBody",
          "emailFrom",
          "emailSubject",
          "emailTos",
          "executeSecurityFabric",
          "forticareEmail",
          "gcpFunction",
          "gcpFunctionDomain",
          "gcpFunctionRegion",
          "gcpProject",
          "headers",
          "httpBody",
          "httpHeaders",
          "id",
          "message",
          "messageType",
          "method",
          "minimumInterval",
          "name",
          "outputSize",
          "port",
          "protocol",
          "replacementMessage",
          "replacemsgGroup",
          "required",
          "script",
          "sdnConnectors",
          "securityTag",
          "systemAction",
          "timeout",
          "tlsCertificate",
          "uri",
          "verifyHostCert"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationactionlist:getAutomationactionlist": {
      "description": "Provides a list of `fortios.system.Automationaction`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationactionlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationactionlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Automationaction`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationdestination:getAutomationdestination": {
      "description": "Use this data source to get information on an fortios system automationdestination\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationdestination.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system automationdestination.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationdestination.\n",
        "properties": {
          "destinations": {
            "description": "Destinations. The structure of `destination` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationdestinationDestination:getAutomationdestinationDestination"
            },
            "type": "array"
          },
          "haGroupId": {
            "description": "Cluster group ID set for this destination (default = 0).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Destination.\n",
            "type": "string"
          },
          "type": {
            "description": "Destination type.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "destinations",
          "haGroupId",
          "id",
          "name",
          "type"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationdestinationlist:getAutomationdestinationlist": {
      "description": "Provides a list of `fortios.system.Automationdestination`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationdestinationlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationdestinationlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Automationdestination`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationtrigger:getAutomationtrigger": {
      "description": "Use this data source to get information on an fortios system automationtrigger\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationtrigger.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system automationtrigger.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationtrigger.\n",
        "properties": {
          "description": {
            "description": "Description.\n",
            "type": "string"
          },
          "eventType": {
            "description": "Event type.\n",
            "type": "string"
          },
          "fabricEventName": {
            "description": "Fabric connector event handler name.\n",
            "type": "string"
          },
          "fabricEventSeverity": {
            "description": "Fabric connector event severity.\n",
            "type": "string"
          },
          "fazEventName": {
            "description": "FortiAnalyzer event handler name.\n",
            "type": "string"
          },
          "fazEventSeverity": {
            "description": "FortiAnalyzer event severity.\n",
            "type": "string"
          },
          "fazEventTags": {
            "description": "FortiAnalyzer event tags.\n",
            "type": "string"
          },
          "fields": {
            "description": "Customized trigger field settings. The structure of `fields` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationtriggerField:getAutomationtriggerField"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "iocLevel": {
            "description": "IOC threat level.\n",
            "type": "string"
          },
          "licenseType": {
            "description": "License type.\n",
            "type": "string"
          },
          "logid": {
            "description": "Log ID to trigger event.\n",
            "type": "integer"
          },
          "logidBlocks": {
            "description": "Log IDs to trigger event. The structure of `logid_block` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationtriggerLogidBlock:getAutomationtriggerLogidBlock"
            },
            "type": "array"
          },
          "name": {
            "description": "Name.\n",
            "type": "string"
          },
          "reportType": {
            "description": "Security Rating report.\n",
            "type": "string"
          },
          "serial": {
            "description": "Fabric connector serial number.\n",
            "type": "string"
          },
          "triggerDatetime": {
            "description": "Trigger date and time (YYYY-MM-DD HH:MM:SS).\n",
            "type": "string"
          },
          "triggerDay": {
            "description": "Day within a month to trigger.\n",
            "type": "integer"
          },
          "triggerFrequency": {
            "description": "Scheduled trigger frequency (default = daily).\n",
            "type": "string"
          },
          "triggerHour": {
            "description": "Hour of the day on which to trigger (0 - 23, default = 1).\n",
            "type": "integer"
          },
          "triggerMinute": {
            "description": "Minute of the hour on which to trigger (0 - 59, 60 to randomize).\n",
            "type": "integer"
          },
          "triggerType": {
            "description": "Trigger type.\n",
            "type": "string"
          },
          "triggerWeekday": {
            "description": "Day of week for trigger.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "Virtual domain(s) that this trigger is valid for. The structure of `vdom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetAutomationtriggerVdom:getAutomationtriggerVdom"
            },
            "type": "array"
          }
        },
        "required": [
          "description",
          "eventType",
          "fabricEventName",
          "fabricEventSeverity",
          "fazEventName",
          "fazEventSeverity",
          "fazEventTags",
          "fields",
          "id",
          "iocLevel",
          "licenseType",
          "logid",
          "logidBlocks",
          "name",
          "reportType",
          "serial",
          "triggerDatetime",
          "triggerDay",
          "triggerFrequency",
          "triggerHour",
          "triggerMinute",
          "triggerType",
          "triggerWeekday",
          "vdoms"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutomationtriggerlist:getAutomationtriggerlist": {
      "description": "Provides a list of `fortios.system.Automationtrigger`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutomationtriggerlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAutomationtriggerlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Automationtrigger`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutoscript:getAutoscript": {
      "description": "Use this data source to get information on an fortios system autoscript\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutoscript.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system autoscript.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAutoscript.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interval": {
            "description": "Repeat interval in seconds.\n",
            "type": "integer"
          },
          "name": {
            "description": "Auto script name.\n",
            "type": "string"
          },
          "outputSize": {
            "description": "Number of megabytes to limit script output to (10 - 1024, default = 10).\n",
            "type": "integer"
          },
          "repeat": {
            "description": "Number of times to repeat this script (0 = infinite).\n",
            "type": "integer"
          },
          "script": {
            "description": "List of FortiOS CLI commands to repeat.\n",
            "type": "string"
          },
          "start": {
            "description": "Script starting mode.\n",
            "type": "string"
          },
          "timeout": {
            "description": "Maximum running time for this script in seconds (0 = no timeout).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "interval",
          "name",
          "outputSize",
          "repeat",
          "script",
          "start",
          "timeout"
        ],
        "type": "object"
      }
    },
    "fortios:system/getAutoscriptlist:getAutoscriptlist": {
      "description": "Provides a list of `fortios.system.Autoscript`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAutoscriptlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getAutoscriptlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Autoscript`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getCentralmanagement:getCentralmanagement": {
      "description": "Use this data source to get information on fortios system centralmanagement\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCentralmanagement.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCentralmanagement.\n",
        "properties": {
          "allowMonitor": {
            "description": "Enable/disable allowing the central management server to remotely monitor this FortiGate\n",
            "type": "string"
          },
          "allowPushConfiguration": {
            "description": "Enable/disable allowing the central management server to push configuration changes to this FortiGate.\n",
            "type": "string"
          },
          "allowPushFirmware": {
            "description": "Enable/disable allowing the central management server to push firmware updates to this FortiGate.\n",
            "type": "string"
          },
          "allowRemoteFirmwareUpgrade": {
            "description": "Enable/disable remotely upgrading the firmware on this FortiGate from the central management server.\n",
            "type": "string"
          },
          "caCert": {
            "description": "CA certificate to be used by FGFM protocol.\n",
            "type": "string"
          },
          "encAlgorithm": {
            "description": "Encryption strength for communications between the FortiGate and central management.\n",
            "type": "string"
          },
          "fmg": {
            "description": "IP address or FQDN of the FortiManager.\n",
            "type": "string"
          },
          "fmgSourceIp": {
            "description": "IPv4 source address that this FortiGate uses when communicating with FortiManager.\n",
            "type": "string"
          },
          "fmgSourceIp6": {
            "description": "IPv6 source address that this FortiGate uses when communicating with FortiManager.\n",
            "type": "string"
          },
          "fmgUpdatePort": {
            "description": "Port used to communicate with FortiManager that is acting as a FortiGuard update server.\n",
            "type": "string"
          },
          "fortigateCloudSsoDefaultProfile": {
            "description": "Override access profile.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "includeDefaultServers": {
            "description": "Enable/disable inclusion of public FortiGuard servers in the override server list.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "localCert": {
            "description": "Certificate to be used by FGFM protocol.\n",
            "type": "string"
          },
          "mode": {
            "description": "Central management mode.\n",
            "type": "string"
          },
          "scheduleConfigRestore": {
            "description": "Enable/disable allowing the central management server to restore the configuration of this FortiGate.\n",
            "type": "string"
          },
          "scheduleScriptRestore": {
            "description": "Enable/disable allowing the central management server to restore the scripts stored on this FortiGate.\n",
            "type": "string"
          },
          "serialNumber": {
            "description": "Serial number.\n",
            "type": "string"
          },
          "serverLists": {
            "description": "Additional severs that the FortiGate can use for updates (for AV, IPS, updates) and ratings (for web filter and antispam ratings) servers. The structure of `server_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetCentralmanagementServerList:getCentralmanagementServerList"
            },
            "type": "array"
          },
          "type": {
            "description": "Central management type.\n",
            "type": "string"
          },
          "vdom": {
            "description": "Virtual domain (VDOM) name to use when communicating with FortiManager.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "allowMonitor",
          "allowPushConfiguration",
          "allowPushFirmware",
          "allowRemoteFirmwareUpgrade",
          "caCert",
          "encAlgorithm",
          "fmg",
          "fmgSourceIp",
          "fmgSourceIp6",
          "fmgUpdatePort",
          "fortigateCloudSsoDefaultProfile",
          "id",
          "includeDefaultServers",
          "interface",
          "interfaceSelectMethod",
          "localCert",
          "mode",
          "scheduleConfigRestore",
          "scheduleScriptRestore",
          "serialNumber",
          "serverLists",
          "type",
          "vdom"
        ],
        "type": "object"
      }
    },
    "fortios:system/getClustersync:getClustersync": {
      "description": "Use this data source to get information on an fortios system clustersync\n",
      "inputs": {
        "description": "A collection of arguments for invoking getClustersync.\n",
        "properties": {
          "syncId": {
            "type": "integer",
            "description": "Specify the sync_id of the desired system clustersync.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "syncId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getClustersync.\n",
        "properties": {
          "downIntfsBeforeSessSyncs": {
            "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",
            "items": {
              "$ref": "#/types/fortios:system%2FgetClustersyncDownIntfsBeforeSessSync:getClustersyncDownIntfsBeforeSessSync"
            },
            "type": "array"
          },
          "hbInterval": {
            "description": "Heartbeat interval (1 - 10 sec).\n",
            "type": "integer"
          },
          "hbLostThreshold": {
            "description": "Lost heartbeat threshold (1 - 10).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ikeHeartbeatInterval": {
            "description": "IKE heartbeat interval (1 - 60 secs).\n",
            "type": "integer"
          },
          "ikeMonitor": {
            "description": "Enable/disable IKE HA monitor.\n",
            "type": "string"
          },
          "ikeMonitorInterval": {
            "description": "IKE HA monitor interval (10 - 300 secs).\n",
            "type": "integer"
          },
          "ipsecTunnelSync": {
            "description": "Enable/disable IPsec tunnel synchronization.\n",
            "type": "string"
          },
          "peerip": {
            "description": "IP address of the interface on the peer unit that is used for the session synchronization link.\n",
            "type": "string"
          },
          "peervd": {
            "description": "VDOM that contains the session synchronization link interface on the peer unit. Usually both peers would have the same peervd.\n",
            "type": "string"
          },
          "secondaryAddIpsecRoutes": {
            "description": "Enable/disable IKE route announcement on the backup unit.\n",
            "type": "string"
          },
          "sessionSyncFilters": {
            "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",
            "items": {
              "$ref": "#/types/fortios:system%2FgetClustersyncSessionSyncFilter:getClustersyncSessionSyncFilter"
            },
            "type": "array"
          },
          "slaveAddIkeRoutes": {
            "description": "Enable/disable IKE route announcement on the backup unit.\n",
            "type": "string"
          },
          "syncId": {
            "description": "Sync ID.\n",
            "type": "integer"
          },
          "syncvds": {
            "description": "Sessions from these VDOMs are synchronized using this session synchronization configuration. The structure of `syncvd` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetClustersyncSyncvd:getClustersyncSyncvd"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "downIntfsBeforeSessSyncs",
          "hbInterval",
          "hbLostThreshold",
          "id",
          "ikeHeartbeatInterval",
          "ikeMonitor",
          "ikeMonitorInterval",
          "ipsecTunnelSync",
          "peerip",
          "peervd",
          "secondaryAddIpsecRoutes",
          "sessionSyncFilters",
          "slaveAddIkeRoutes",
          "syncId",
          "syncvds"
        ],
        "type": "object"
      }
    },
    "fortios:system/getClustersynclist:getClustersynclist": {
      "description": "Provides a list of `fortios.system.Clustersync`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getClustersynclist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getClustersynclist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "syncIdlists": {
            "description": "A list of the `fortios.system.Clustersync`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "syncIdlists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getConsole:getConsole": {
      "description": "Use this data source to get information on fortios system console\n",
      "inputs": {
        "description": "A collection of arguments for invoking getConsole.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getConsole.\n",
        "properties": {
          "baudrate": {
            "description": "Console baud rate.\n",
            "type": "string"
          },
          "fortiexplorer": {
            "description": "Enable/disable access for FortiExplorer.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "login": {
            "description": "Enable/disable serial console and FortiExplorer.\n",
            "type": "string"
          },
          "mode": {
            "description": "Console mode.\n",
            "type": "string"
          },
          "output": {
            "description": "Console output mode.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "baudrate",
          "fortiexplorer",
          "id",
          "login",
          "mode",
          "output"
        ],
        "type": "object"
      }
    },
    "fortios:system/getCsf:getCsf": {
      "description": "Use this data source to get information on fortios system csf\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCsf.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCsf.\n",
        "properties": {
          "acceptAuthByCert": {
            "description": "Accept connections with unknown certificates and ask admin for approval.\n",
            "type": "string"
          },
          "authorizationRequestType": {
            "description": "Authorization request type.\n",
            "type": "string"
          },
          "certificate": {
            "description": "Certificate.\n",
            "type": "string"
          },
          "configurationSync": {
            "description": "Configuration sync mode.\n",
            "type": "string"
          },
          "downstreamAccess": {
            "description": "Enable/disable downstream device access to this device's configuration and data.\n",
            "type": "string"
          },
          "downstreamAccprofile": {
            "description": "Default access profile for requests from downstream devices.\n",
            "type": "string"
          },
          "fabricConnectors": {
            "description": "Fabric connector configuration. The structure of `fabric_connector` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetCsfFabricConnector:getCsfFabricConnector"
            },
            "type": "array"
          },
          "fabricDevices": {
            "description": "Fabric device configuration. The structure of `fabric_device` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetCsfFabricDevice:getCsfFabricDevice"
            },
            "type": "array"
          },
          "fabricObjectUnification": {
            "description": "Fabric CMDB Object Unification\n",
            "type": "string"
          },
          "fabricWorkers": {
            "description": "Number of worker processes for Security Fabric daemon.\n",
            "type": "integer"
          },
          "fileMgmt": {
            "description": "Enable/disable Security Fabric daemon file management.\n",
            "type": "string"
          },
          "fileQuota": {
            "description": "Maximum amount of memory that can be used by the daemon files (in bytes).\n",
            "type": "integer"
          },
          "fileQuotaWarning": {
            "description": "Warn when the set percentage of quota has been used.\n",
            "type": "integer"
          },
          "fixedKey": {
            "description": "Auto-generated fixed key used when this device is the root. (Will automatically be generated if not set.)\n",
            "secret": true,
            "type": "string"
          },
          "forticloudAccountEnforcement": {
            "description": "Fabric FortiCloud account unification.\n",
            "type": "string"
          },
          "groupName": {
            "description": "Security Fabric group name. All FortiGates in a Security Fabric must have the same group name.\n",
            "type": "string"
          },
          "groupPassword": {
            "description": "Security Fabric group password. All FortiGates in a Security Fabric must have the same group password.\n",
            "secret": true,
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "logUnification": {
            "description": "Enable/disable broadcast of discovery messages for log unification.\n",
            "type": "string"
          },
          "managementIp": {
            "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n",
            "type": "string"
          },
          "managementPort": {
            "description": "Overriding port for management connection (Overrides admin port).\n",
            "type": "integer"
          },
          "samlConfigurationSync": {
            "description": "SAML setting configuration synchronization.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for communication with the upstream FortiGate.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable Security Fabric.\n",
            "type": "string"
          },
          "trustedLists": {
            "description": "Pre-authorized and blocked security fabric nodes. The structure of `trusted_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetCsfTrustedList:getCsfTrustedList"
            },
            "type": "array"
          },
          "uid": {
            "description": "Unique ID of the current CSF node\n",
            "type": "string"
          },
          "upstream": {
            "description": "IP/FQDN of the FortiGate upstream from this FortiGate in the Security Fabric.\n",
            "type": "string"
          },
          "upstreamInterface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "upstreamInterfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "upstreamIp": {
            "description": "IP address of the FortiGate upstream from this FortiGate in the Security Fabric.\n",
            "type": "string"
          },
          "upstreamPort": {
            "description": "The port number to use to communicate with the FortiGate upstream from this FortiGate in the Security Fabric (default = 8013).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "acceptAuthByCert",
          "authorizationRequestType",
          "certificate",
          "configurationSync",
          "downstreamAccess",
          "downstreamAccprofile",
          "fabricConnectors",
          "fabricDevices",
          "fabricObjectUnification",
          "fabricWorkers",
          "fileMgmt",
          "fileQuota",
          "fileQuotaWarning",
          "fixedKey",
          "forticloudAccountEnforcement",
          "groupName",
          "groupPassword",
          "id",
          "logUnification",
          "managementIp",
          "managementPort",
          "samlConfigurationSync",
          "sourceIp",
          "status",
          "trustedLists",
          "uid",
          "upstream",
          "upstreamInterface",
          "upstreamInterfaceSelectMethod",
          "upstreamIp",
          "upstreamPort"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDdns:getDdns": {
      "description": "Use this data source to get information on an fortios system ddns\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDdns.\n",
        "properties": {
          "ddnsid": {
            "type": "integer",
            "description": "Specify the ddnsid of the desired system ddns.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "ddnsid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDdns.\n",
        "properties": {
          "addrType": {
            "description": "Address type of interface address in DDNS update.\n",
            "type": "string"
          },
          "boundIp": {
            "description": "Bound IP address.\n",
            "type": "string"
          },
          "clearText": {
            "description": "Enable/disable use of clear text connections.\n",
            "type": "string"
          },
          "ddnsAuth": {
            "description": "Enable/disable TSIG authentication for your DDNS server.\n",
            "type": "string"
          },
          "ddnsDomain": {
            "description": "Your fully qualified domain name (for example, yourname.DDNS.com).\n",
            "type": "string"
          },
          "ddnsKey": {
            "description": "DDNS update key (base 64 encoding).\n",
            "secret": true,
            "type": "string"
          },
          "ddnsKeyname": {
            "description": "DDNS update key name.\n",
            "type": "string"
          },
          "ddnsPassword": {
            "description": "DDNS password.\n",
            "secret": true,
            "type": "string"
          },
          "ddnsServer": {
            "description": "Select a DDNS service provider.\n",
            "type": "string"
          },
          "ddnsServerAddrs": {
            "description": "Generic DDNS server IP/FQDN list. The structure of `ddns_server_addr` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetDdnsDdnsServerAddr:getDdnsDdnsServerAddr"
            },
            "type": "array"
          },
          "ddnsServerIp": {
            "description": "Generic DDNS server IP.\n",
            "type": "string"
          },
          "ddnsSn": {
            "description": "DDNS Serial Number.\n",
            "type": "string"
          },
          "ddnsTtl": {
            "description": "Time-to-live for DDNS packets.\n",
            "type": "integer"
          },
          "ddnsUsername": {
            "description": "DDNS user name.\n",
            "type": "string"
          },
          "ddnsZone": {
            "description": "Zone of your domain name (for example, DDNS.com).\n",
            "type": "string"
          },
          "ddnsid": {
            "description": "DDNS ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "monitorInterfaces": {
            "description": "Monitored interface. The structure of `monitor_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetDdnsMonitorInterface:getDdnsMonitorInterface"
            },
            "type": "array"
          },
          "serverType": {
            "description": "Address type of the DDNS server.\n",
            "type": "string"
          },
          "sslCertificate": {
            "description": "Name of local certificate for SSL connections.\n",
            "type": "string"
          },
          "updateInterval": {
            "description": "DDNS update interval (60 - 2592000 sec, default = 300).\n",
            "type": "integer"
          },
          "usePublicIp": {
            "description": "Enable/disable use of public IP address.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "addrType",
          "boundIp",
          "clearText",
          "ddnsAuth",
          "ddnsDomain",
          "ddnsKey",
          "ddnsKeyname",
          "ddnsPassword",
          "ddnsServer",
          "ddnsServerAddrs",
          "ddnsServerIp",
          "ddnsSn",
          "ddnsTtl",
          "ddnsUsername",
          "ddnsZone",
          "ddnsid",
          "id",
          "monitorInterfaces",
          "serverType",
          "sslCertificate",
          "updateInterval",
          "usePublicIp"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDdnslist:getDdnslist": {
      "description": "Provides a list of `fortios.system.Ddns`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDdnslist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDdnslist.\n",
        "properties": {
          "ddnsidlists": {
            "description": "A list of the `fortios.system.Ddns`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "ddnsidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDns:getDns": {
      "description": "Use this data source to get information on fortios system dns\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDns.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDns.\n",
        "properties": {
          "altPrimary": {
            "description": "Alternate primary DNS server. (This is not used as a failover DNS server.)\n",
            "type": "string"
          },
          "altSecondary": {
            "description": "Alternate secondary DNS server. (This is not used as a failover DNS server.)\n",
            "type": "string"
          },
          "cacheNotfoundResponses": {
            "description": "Enable/disable response from the DNS server when a record is not in cache.\n",
            "type": "string"
          },
          "dnsCacheLimit": {
            "description": "Maximum number of records in the DNS cache.\n",
            "type": "integer"
          },
          "dnsCacheTtl": {
            "description": "Duration in seconds that the DNS cache retains information.\n",
            "type": "integer"
          },
          "dnsOverTls": {
            "description": "Enable/disable/enforce DNS over TLS.\n",
            "type": "string"
          },
          "domains": {
            "description": "DNS search domain list separated by space (maximum 8 domains)\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetDnsDomain:getDnsDomain"
            },
            "type": "array"
          },
          "fqdnCacheTtl": {
            "description": "FQDN cache time to live in seconds (0 - 86400, default = 0).\n",
            "type": "integer"
          },
          "fqdnMaxRefresh": {
            "description": "FQDN cache maximum refresh time in seconds (3600 - 86400, default = 3600).\n",
            "type": "integer"
          },
          "fqdnMinRefresh": {
            "description": "FQDN cache minimum refresh time in seconds (10 - 3600, default = 60).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "ip6Primary": {
            "description": "Primary DNS server IPv6 address.\n",
            "type": "string"
          },
          "ip6Secondary": {
            "description": "Secondary DNS server IPv6 address.\n",
            "type": "string"
          },
          "log": {
            "description": "Local DNS log setting.\n",
            "type": "string"
          },
          "primary": {
            "description": "Primary DNS server IP address.\n",
            "type": "string"
          },
          "protocol": {
            "description": "DNS protocols.\n",
            "type": "string"
          },
          "retry": {
            "description": "Number of times to retry (0 - 5).\n",
            "type": "integer"
          },
          "secondary": {
            "description": "Secondary DNS server IP address.\n",
            "type": "string"
          },
          "serverHostnames": {
            "description": "DNS server host name list. The structure of `server_hostname` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetDnsServerHostname:getDnsServerHostname"
            },
            "type": "array"
          },
          "serverSelectMethod": {
            "description": "Specify how configured servers are prioritized.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "IP address used by the DNS server as its source IP.\n",
            "type": "string"
          },
          "sslCertificate": {
            "description": "Name of local certificate for SSL connections.\n",
            "type": "string"
          },
          "timeout": {
            "description": "DNS query timeout interval in seconds (1 - 10).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "altPrimary",
          "altSecondary",
          "cacheNotfoundResponses",
          "dnsCacheLimit",
          "dnsCacheTtl",
          "dnsOverTls",
          "domains",
          "fqdnCacheTtl",
          "fqdnMaxRefresh",
          "fqdnMinRefresh",
          "id",
          "interface",
          "interfaceSelectMethod",
          "ip6Primary",
          "ip6Secondary",
          "log",
          "primary",
          "protocol",
          "retry",
          "secondary",
          "serverHostnames",
          "serverSelectMethod",
          "sourceIp",
          "sslCertificate",
          "timeout"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDnsdatabase:getDnsdatabase": {
      "description": "Use this data source to get information on an fortios system dnsdatabase\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDnsdatabase.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system dnsdatabase.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDnsdatabase.\n",
        "properties": {
          "allowTransfer": {
            "description": "DNS zone transfer IP address list.\n",
            "type": "string"
          },
          "authoritative": {
            "description": "Enable/disable authoritative zone.\n",
            "type": "string"
          },
          "contact": {
            "description": "Email address of the administrator for this zone.\nYou can specify only the username (e.g. admin) or full email address (e.g. admin@test.com)\nWhen using a simple username, the domain of the email will be this zone.\n",
            "type": "string"
          },
          "dnsEntries": {
            "description": "DNS entry. The structure of `dns_entry` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetDnsdatabaseDnsEntry:getDnsdatabaseDnsEntry"
            },
            "type": "array"
          },
          "domain": {
            "description": "Domain name.\n",
            "type": "string"
          },
          "forwarder": {
            "description": "DNS zone forwarder IP address list.\n",
            "type": "string"
          },
          "forwarder6": {
            "description": "Forwarder IPv6 address.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ipMaster": {
            "description": "IP address of master DNS server. Entries in this master DNS server and imported into the DNS zone.\n",
            "type": "string"
          },
          "ipPrimary": {
            "description": "IP address of primary DNS server. Entries in this primary DNS server and imported into the DNS zone.\n",
            "type": "string"
          },
          "name": {
            "description": "Zone name.\n",
            "type": "string"
          },
          "primaryName": {
            "description": "Domain name of the default DNS server for this zone.\n",
            "type": "string"
          },
          "rrMax": {
            "description": "Maximum number of resource records (10 - 65536, 0 means infinite).\n",
            "type": "integer"
          },
          "sourceIp": {
            "description": "Source IP for forwarding to DNS server.\n",
            "type": "string"
          },
          "sourceIp6": {
            "description": "IPv6 source IP address for forwarding to DNS server.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable resource record status.\n",
            "type": "string"
          },
          "ttl": {
            "description": "Time-to-live for this entry (0 to 2147483647 sec, default = 0).\n",
            "type": "integer"
          },
          "type": {
            "description": "Resource record type.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "view": {
            "description": "Zone view (public to serve public clients, shadow to serve internal clients).\n",
            "type": "string"
          }
        },
        "required": [
          "allowTransfer",
          "authoritative",
          "contact",
          "dnsEntries",
          "domain",
          "forwarder",
          "forwarder6",
          "id",
          "ipMaster",
          "ipPrimary",
          "name",
          "primaryName",
          "rrMax",
          "sourceIp",
          "sourceIp6",
          "status",
          "ttl",
          "type",
          "view"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDnsdatabaselist:getDnsdatabaselist": {
      "description": "Provides a list of `fortios.system.Dnsdatabase`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDnsdatabaselist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDnsdatabaselist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Dnsdatabase`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDnsserver:getDnsserver": {
      "description": "Use this data source to get information on an fortios system dnsserver\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDnsserver.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system dnsserver.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDnsserver.\n",
        "properties": {
          "dnsfilterProfile": {
            "description": "DNS filter profile.\n",
            "type": "string"
          },
          "doh": {
            "description": "DNS over HTTPS.\n",
            "type": "string"
          },
          "doh3": {
            "description": "Enable/disable DNS over QUIC/HTTP3/443 (default = disable).\n",
            "type": "string"
          },
          "doq": {
            "description": "Enable/disable DNS over QUIC/853 (default = disable).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mode": {
            "description": "DNS server mode.\n",
            "type": "string"
          },
          "name": {
            "description": "DNS server name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "dnsfilterProfile",
          "doh",
          "doh3",
          "doq",
          "id",
          "mode",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDnsserverlist:getDnsserverlist": {
      "description": "Provides a list of `fortios.system.Dnsserver`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDnsserverlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDnsserverlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Dnsserver`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDscpbasedpriority:getDscpbasedpriority": {
      "description": "Use this data source to get information on an fortios system dscpbasedpriority\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDscpbasedpriority.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system dscpbasedpriority.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDscpbasedpriority.\n",
        "properties": {
          "ds": {
            "description": "DSCP(DiffServ) DS value (0 - 63).\n",
            "type": "integer"
          },
          "fosid": {
            "description": "Item ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "priority": {
            "description": "DSCP based priority level.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "ds",
          "fosid",
          "id",
          "priority"
        ],
        "type": "object"
      }
    },
    "fortios:system/getDscpbasedprioritylist:getDscpbasedprioritylist": {
      "description": "Provides a list of `fortios.system.Dscpbasedpriority`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDscpbasedprioritylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getDscpbasedprioritylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Dscpbasedpriority`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getEmailserver:getEmailserver": {
      "description": "Use this data source to get information on fortios system emailserver\n",
      "inputs": {
        "description": "A collection of arguments for invoking getEmailserver.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getEmailserver.\n",
        "properties": {
          "authenticate": {
            "description": "Enable/disable authentication.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "password": {
            "description": "SMTP server user password for authentication.\n",
            "secret": true,
            "type": "string"
          },
          "port": {
            "description": "SMTP server port.\n",
            "type": "integer"
          },
          "replyTo": {
            "description": "Reply-To email address.\n",
            "type": "string"
          },
          "security": {
            "description": "Connection security used by the email server.\n",
            "type": "string"
          },
          "server": {
            "description": "SMTP server IP address or hostname.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "SMTP server IPv4 source IP.\n",
            "type": "string"
          },
          "sourceIp6": {
            "description": "SMTP server IPv6 source IP.\n",
            "type": "string"
          },
          "sslMinProtoVersion": {
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n",
            "type": "string"
          },
          "type": {
            "description": "Use FortiGuard Message service or custom email server.\n",
            "type": "string"
          },
          "username": {
            "description": "SMTP server user name for authentication.\n",
            "type": "string"
          },
          "validateServer": {
            "description": "Enable/disable validation of server certificate.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "authenticate",
          "id",
          "interface",
          "interfaceSelectMethod",
          "password",
          "port",
          "replyTo",
          "security",
          "server",
          "sourceIp",
          "sourceIp6",
          "sslMinProtoVersion",
          "type",
          "username",
          "validateServer"
        ],
        "type": "object"
      }
    },
    "fortios:system/getExternalresource:getExternalresource": {
      "description": "Use this data source to get information on an fortios system externalresource\n",
      "inputs": {
        "description": "A collection of arguments for invoking getExternalresource.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system externalresource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getExternalresource.\n",
        "properties": {
          "category": {
            "description": "User resource category.\n",
            "type": "integer"
          },
          "comments": {
            "description": "Comment.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "name": {
            "description": "External resource name.\n",
            "type": "string"
          },
          "password": {
            "description": "HTTP basic authentication password.\n",
            "secret": true,
            "type": "string"
          },
          "refreshRate": {
            "description": "Time interval to refresh external resource (1 - 43200 min, default = 5 min).\n",
            "type": "integer"
          },
          "resource": {
            "description": "URI of external resource.\n",
            "type": "string"
          },
          "serverIdentityCheck": {
            "description": "Certificate verification option.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IPv4 address used to communicate with server.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable user resource.\n",
            "type": "string"
          },
          "type": {
            "description": "User resource type.\n",
            "type": "string"
          },
          "updateMethod": {
            "description": "External resource update method.\n",
            "type": "string"
          },
          "userAgent": {
            "description": "Override HTTP User-Agent header used when retrieving this external resource.\n",
            "type": "string"
          },
          "username": {
            "description": "HTTP basic authentication user name.\n",
            "type": "string"
          },
          "uuid": {
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "comments",
          "id",
          "interface",
          "interfaceSelectMethod",
          "name",
          "password",
          "refreshRate",
          "resource",
          "serverIdentityCheck",
          "sourceIp",
          "status",
          "type",
          "updateMethod",
          "userAgent",
          "username",
          "uuid"
        ],
        "type": "object"
      }
    },
    "fortios:system/getExternalresourcelist:getExternalresourcelist": {
      "description": "Provides a list of `fortios.system.Externalresource`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getExternalresourcelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getExternalresourcelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Externalresource`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFipscc:getFipscc": {
      "description": "Use this data source to get information on fortios system fipscc\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFipscc.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFipscc.\n",
        "properties": {
          "entropyToken": {
            "description": "Enable/disable/dynamic entropy token.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "keyGenerationSelfTest": {
            "description": "Enable/disable self tests after key generation.\n",
            "type": "string"
          },
          "selfTestPeriod": {
            "description": "Self test period.\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable FIPS-CC mode.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "entropyToken",
          "id",
          "keyGenerationSelfTest",
          "selfTestPeriod",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFm:getFm": {
      "description": "Use this data source to get information on fortios system fm\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFm.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFm.\n",
        "properties": {
          "autoBackup": {
            "description": "Enable/disable automatic backup.\n",
            "type": "string"
          },
          "fosid": {
            "description": "ID.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip": {
            "description": "IP address.\n",
            "type": "string"
          },
          "ipsec": {
            "description": "Enable/disable IPsec.\n",
            "type": "string"
          },
          "scheduledConfigRestore": {
            "description": "Enable/disable scheduled configuration restore.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable FM.\n",
            "type": "string"
          },
          "vdom": {
            "description": "VDOM.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "autoBackup",
          "fosid",
          "id",
          "ip",
          "ipsec",
          "scheduledConfigRestore",
          "status",
          "vdom"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFortiguard:getFortiguard": {
      "description": "Use this data source to get information on fortios system fortiguard\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFortiguard.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFortiguard.\n",
        "properties": {
          "antispamCache": {
            "description": "Enable/disable FortiGuard antispam request caching. Uses a small amount of memory but improves performance.\n",
            "type": "string"
          },
          "antispamCacheMpercent": {
            "description": "Maximum percent of FortiGate memory the antispam cache is allowed to use (1 - 15%).\n",
            "type": "integer"
          },
          "antispamCacheMpermille": {
            "description": "Maximum permille of FortiGate memory the antispam cache is allowed to use (1 - 150).\n",
            "type": "integer"
          },
          "antispamCacheTtl": {
            "description": "Time-to-live for antispam cache entries in seconds (300 - 86400). Lower times reduce the cache size. Higher times may improve performance since the cache will have more entries.\n",
            "type": "integer"
          },
          "antispamExpiration": {
            "description": "Expiration date of the FortiGuard antispam contract.\n",
            "type": "integer"
          },
          "antispamForceOff": {
            "description": "Enable/disable turning off the FortiGuard antispam service.\n",
            "type": "string"
          },
          "antispamLicense": {
            "description": "Interval of time between license checks for the FortiGuard antispam contract.\n",
            "type": "integer"
          },
          "antispamTimeout": {
            "description": "Antispam query time out (1 - 30 sec, default = 7).\n",
            "type": "integer"
          },
          "anycastSdnsServerIp": {
            "description": "IP address of the FortiGuard anycast DNS rating server.\n",
            "type": "string"
          },
          "anycastSdnsServerPort": {
            "description": "Port to connect to on the FortiGuard anycast DNS rating server.\n",
            "type": "integer"
          },
          "autoFirmwareUpgrade": {
            "description": "Enable/disable automatic patch-level firmware upgrade from FortiGuard. The FortiGate unit searches for new patches only in the same major and minor version.\n",
            "type": "string"
          },
          "autoFirmwareUpgradeDay": {
            "description": "Allowed day(s) of the week to start automatic patch-level firmware upgrade from FortiGuard.\n",
            "type": "string"
          },
          "autoFirmwareUpgradeDelay": {
            "description": "Delay of day(s) before installing an automatic patch-level firmware upgrade from FortiGuard (default = 3). Set it 0 to use auto-firmware-upgrade-day instead, which selects allowed day(s) of the week for installing an automatic patch-level firmware upgrade.\n",
            "type": "integer"
          },
          "autoFirmwareUpgradeEndHour": {
            "description": "End time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 4). When the end time is smaller than the start time, the end time is interpreted as the next day. The actual upgrade time is selected randomly within the time window.\n",
            "type": "integer"
          },
          "autoFirmwareUpgradeStartHour": {
            "description": "Start time in the designated time window for automatic patch-level firmware upgrade from FortiGuard in 24 hour time (0 ~ 23, default = 2). The actual upgrade time is selected randomly within the time window.\n",
            "type": "integer"
          },
          "autoJoinForticloud": {
            "description": "Automatically connect to and login to FortiCloud.\n",
            "type": "string"
          },
          "ddnsServerIp": {
            "description": "IP address of the FortiDDNS server.\n",
            "type": "string"
          },
          "ddnsServerIp6": {
            "description": "IPv6 address of the FortiDDNS server.\n",
            "type": "string"
          },
          "ddnsServerPort": {
            "description": "Port used to communicate with FortiDDNS servers.\n",
            "type": "integer"
          },
          "fdsLicenseExpiringDays": {
            "description": "Threshold for number of days before FortiGuard license expiration to generate license expiring event log (1 - 100 days, default = 15).\n",
            "type": "integer"
          },
          "fortiguardAnycast": {
            "description": "Enable/disable use of FortiGuard's anycast network.\n",
            "type": "string"
          },
          "fortiguardAnycastSource": {
            "description": "Configure which of Fortinet's servers to provide FortiGuard services in FortiGuard's anycast network. Default is Fortinet.\n",
            "type": "string"
          },
          "guiPromptAutoUpgrade": {
            "description": "Enable/disable prompting of automatic patch-level firmware upgrade recommendation.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "loadBalanceServers": {
            "description": "Number of servers to alternate between as first FortiGuard option.\n",
            "type": "integer"
          },
          "outbreakPreventionCache": {
            "description": "Enable/disable FortiGuard Virus Outbreak Prevention cache.\n",
            "type": "string"
          },
          "outbreakPreventionCacheMpercent": {
            "description": "Maximum percent of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 15%, default = 2).\n",
            "type": "integer"
          },
          "outbreakPreventionCacheMpermille": {
            "description": "Maximum permille of memory FortiGuard Virus Outbreak Prevention cache can use (1 - 150 permille, default = 1).\n",
            "type": "integer"
          },
          "outbreakPreventionCacheTtl": {
            "description": "Time-to-live for FortiGuard Virus Outbreak Prevention cache entries (300 - 86400 sec, default = 300).\n",
            "type": "integer"
          },
          "outbreakPreventionExpiration": {
            "description": "Expiration date of FortiGuard Virus Outbreak Prevention contract.\n",
            "type": "integer"
          },
          "outbreakPreventionForceOff": {
            "description": "Turn off FortiGuard Virus Outbreak Prevention service.\n",
            "type": "string"
          },
          "outbreakPreventionLicense": {
            "description": "Interval of time between license checks for FortiGuard Virus Outbreak Prevention contract.\n",
            "type": "integer"
          },
          "outbreakPreventionTimeout": {
            "description": "FortiGuard Virus Outbreak Prevention time out (1 - 30 sec, default = 7).\n",
            "type": "integer"
          },
          "persistentConnection": {
            "description": "Enable/disable use of persistent connection to receive update notification from FortiGuard.\n",
            "type": "string"
          },
          "port": {
            "description": "Port used to communicate with the FortiGuard servers.\n",
            "type": "string"
          },
          "protocol": {
            "description": "Protocol used to communicate with the FortiGuard servers.\n",
            "type": "string"
          },
          "proxyPassword": {
            "description": "Proxy user password.\n",
            "secret": true,
            "type": "string"
          },
          "proxyServerIp": {
            "description": "IP address of the proxy server.\n",
            "type": "string"
          },
          "proxyServerPort": {
            "description": "Port used to communicate with the proxy server.\n",
            "type": "integer"
          },
          "proxyUsername": {
            "description": "Proxy user name.\n",
            "type": "string"
          },
          "sandboxInlineScan": {
            "description": "Enable/disable FortiCloud Sandbox inline-scan.\n",
            "type": "string"
          },
          "sandboxRegion": {
            "description": "Cloud sandbox region.\n",
            "type": "string"
          },
          "sdnsOptions": {
            "description": "Customization options for the FortiGuard DNS service.\n",
            "type": "string"
          },
          "sdnsServerIp": {
            "description": "IP address of the FortiDNS server.\n",
            "type": "string"
          },
          "sdnsServerPort": {
            "description": "Port used to communicate with FortiDNS servers.\n",
            "type": "integer"
          },
          "serviceAccountId": {
            "description": "Service account ID.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IPv4 address used to communicate with FortiGuard.\n",
            "type": "string"
          },
          "sourceIp6": {
            "description": "Source IPv6 address used to communicate with FortiGuard.\n",
            "type": "string"
          },
          "updateBuildProxy": {
            "description": "Enable/disable proxy dictionary rebuild.\n",
            "type": "string"
          },
          "updateDldb": {
            "description": "Enable/disable DLP signature update.\n",
            "type": "string"
          },
          "updateExtdb": {
            "description": "Enable/disable external resource update.\n",
            "type": "string"
          },
          "updateFfdb": {
            "description": "Enable/disable Internet Service Database update.\n",
            "type": "string"
          },
          "updateServerLocation": {
            "description": "Signature update server location.\n",
            "type": "string"
          },
          "updateUwdb": {
            "description": "Enable/disable allowlist update.\n",
            "type": "string"
          },
          "vdom": {
            "description": "FortiGuard Service virtual domain name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "videofilterExpiration": {
            "description": "Expiration date of the FortiGuard video filter contract.\n",
            "type": "integer"
          },
          "videofilterLicense": {
            "description": "Interval of time between license checks for the FortiGuard video filter contract.\n",
            "type": "integer"
          },
          "webfilterCache": {
            "description": "Enable/disable FortiGuard web filter caching.\n",
            "type": "string"
          },
          "webfilterCacheTtl": {
            "description": "Time-to-live for web filter cache entries in seconds (300 - 86400).\n",
            "type": "integer"
          },
          "webfilterExpiration": {
            "description": "Expiration date of the FortiGuard web filter contract.\n",
            "type": "integer"
          },
          "webfilterForceOff": {
            "description": "Enable/disable turning off the FortiGuard web filtering service.\n",
            "type": "string"
          },
          "webfilterLicense": {
            "description": "Interval of time between license checks for the FortiGuard web filter contract.\n",
            "type": "integer"
          },
          "webfilterTimeout": {
            "description": "Web filter query time out (1 - 30 sec, default = 7).\n",
            "type": "integer"
          }
        },
        "required": [
          "antispamCache",
          "antispamCacheMpercent",
          "antispamCacheMpermille",
          "antispamCacheTtl",
          "antispamExpiration",
          "antispamForceOff",
          "antispamLicense",
          "antispamTimeout",
          "anycastSdnsServerIp",
          "anycastSdnsServerPort",
          "autoFirmwareUpgrade",
          "autoFirmwareUpgradeDay",
          "autoFirmwareUpgradeDelay",
          "autoFirmwareUpgradeEndHour",
          "autoFirmwareUpgradeStartHour",
          "autoJoinForticloud",
          "ddnsServerIp",
          "ddnsServerIp6",
          "ddnsServerPort",
          "fdsLicenseExpiringDays",
          "fortiguardAnycast",
          "fortiguardAnycastSource",
          "guiPromptAutoUpgrade",
          "id",
          "interface",
          "interfaceSelectMethod",
          "loadBalanceServers",
          "outbreakPreventionCache",
          "outbreakPreventionCacheMpercent",
          "outbreakPreventionCacheMpermille",
          "outbreakPreventionCacheTtl",
          "outbreakPreventionExpiration",
          "outbreakPreventionForceOff",
          "outbreakPreventionLicense",
          "outbreakPreventionTimeout",
          "persistentConnection",
          "port",
          "protocol",
          "proxyPassword",
          "proxyServerIp",
          "proxyServerPort",
          "proxyUsername",
          "sandboxInlineScan",
          "sandboxRegion",
          "sdnsOptions",
          "sdnsServerIp",
          "sdnsServerPort",
          "serviceAccountId",
          "sourceIp",
          "sourceIp6",
          "updateBuildProxy",
          "updateDldb",
          "updateExtdb",
          "updateFfdb",
          "updateServerLocation",
          "updateUwdb",
          "vdom",
          "videofilterExpiration",
          "videofilterLicense",
          "webfilterCache",
          "webfilterCacheTtl",
          "webfilterExpiration",
          "webfilterForceOff",
          "webfilterLicense",
          "webfilterTimeout"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFortimanager:getFortimanager": {
      "description": "Use this data source to get information on fortios system fortimanager\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFortimanager.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFortimanager.\n",
        "properties": {
          "centralManagement": {
            "description": "Enable/disable FortiManager central management.\n",
            "type": "string"
          },
          "centralMgmtAutoBackup": {
            "description": "Enable/disable central management auto backup.\n",
            "type": "string"
          },
          "centralMgmtScheduleConfigRestore": {
            "description": "Enable/disable central management schedule config restore.\n",
            "type": "string"
          },
          "centralMgmtScheduleScriptRestore": {
            "description": "Enable/disable central management schedule script restore.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ip": {
            "description": "IP address.\n",
            "type": "string"
          },
          "ipsec": {
            "description": "Enable/disable FortiManager IPsec tunnel.\n",
            "type": "string"
          },
          "vdom": {
            "description": "Virtual domain name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "centralManagement",
          "centralMgmtAutoBackup",
          "centralMgmtScheduleConfigRestore",
          "centralMgmtScheduleScriptRestore",
          "id",
          "ip",
          "ipsec",
          "vdom"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFortisandbox:getFortisandbox": {
      "description": "Use this data source to get information on fortios system fortisandbox\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFortisandbox.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFortisandbox.\n",
        "properties": {
          "email": {
            "description": "Notifier email address.\n",
            "type": "string"
          },
          "encAlgorithm": {
            "description": "Configure the level of SSL protection for secure communication with FortiSandbox.\n",
            "type": "string"
          },
          "forticloud": {
            "description": "Enable/disable FortiSandbox Cloud.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inlineScan": {
            "description": "Enable/disable FortiSandbox inline scan.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "server": {
            "description": "IPv4 or IPv6 address of the remote FortiSandbox.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for communications to FortiSandbox.\n",
            "type": "string"
          },
          "sslMinProtoVersion": {
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable FortiSandbox.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "encAlgorithm",
          "forticloud",
          "id",
          "inlineScan",
          "interface",
          "interfaceSelectMethod",
          "server",
          "sourceIp",
          "sslMinProtoVersion",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFssopolling:getFssopolling": {
      "description": "Use this data source to get information on fortios system fssopolling\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFssopolling.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFssopolling.\n",
        "properties": {
          "authPassword": {
            "description": "Password to connect to FSSO Agent.\n",
            "secret": true,
            "type": "string"
          },
          "authentication": {
            "description": "Enable/disable FSSO Agent Authentication.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "listeningPort": {
            "description": "Listening port to accept clients (1 - 65535).\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable FSSO Polling Mode.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "authPassword",
          "authentication",
          "id",
          "listeningPort",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getFtmpush:getFtmpush": {
      "description": "Use this data source to get information on fortios system ftmpush\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFtmpush.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getFtmpush.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "proxy": {
            "description": "Enable/disable communication to the proxy server in FortiGuard configuration.\n",
            "type": "string"
          },
          "server": {
            "description": "IPv4 address or domain name of FortiToken Mobile push services server.\n",
            "type": "string"
          },
          "serverCert": {
            "description": "Name of the server certificate to be used for SSL (default = Fortinet_Factory).\n",
            "type": "string"
          },
          "serverIp": {
            "description": "IPv4 address of FortiToken Mobile push services server (format: xxx.xxx.xxx.xxx).\n",
            "type": "string"
          },
          "serverPort": {
            "description": "Port to communicate with FortiToken Mobile push services server (1 - 65535, default = 4433).\n",
            "type": "integer"
          },
          "status": {
            "description": "Enable/disable the use of FortiToken Mobile push services.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "proxy",
          "server",
          "serverCert",
          "serverIp",
          "serverPort",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getGlobal:getGlobal": {
      "description": "Use this data source to get information on fortios system global\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.system.getGlobal({});\nexport const output1 = sample1.then(sample1 =\u003e sample1.hostname);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.system.get_global()\npulumi.export(\"output1\", sample1.hostname)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.System.GetGlobal.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1.Apply(getGlobalResult =\u003e getGlobalResult.Hostname),\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\tsample1, err := system.LookupGlobal(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1.Hostname)\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.SystemFunctions;\nimport com.pulumi.fortios.system.inputs.GetGlobalArgs;\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 sample1 = SystemFunctions.getGlobal();\n\n        ctx.export(\"output1\", sample1.applyValue(getGlobalResult -\u003e getGlobalResult.hostname()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:system:getGlobal\n      Arguments: {}\noutputs:\n  output1: ${sample1.hostname}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGlobal.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getGlobal.\n",
        "properties": {
          "adminConcurrent": {
            "description": "Enable/disable concurrent administrator logins. (Use policy-auth-concurrent for firewall authenticated users.)\n",
            "type": "string"
          },
          "adminConsoleTimeout": {
            "description": "Console login timeout that overrides the admintimeout value. (15 - 300 seconds) (15 seconds to 5 minutes). 0 the default, disables this timeout.\n",
            "type": "integer"
          },
          "adminForticloudSsoDefaultProfile": {
            "description": "Override access profile.\n",
            "type": "string"
          },
          "adminForticloudSsoLogin": {
            "description": "Enable/disable FortiCloud admin login via SSO.\n",
            "type": "string"
          },
          "adminHost": {
            "description": "Administrative host for HTTP and HTTPS. When set, will be used in lieu of the client's Host header for any redirection.\n",
            "type": "string"
          },
          "adminHstsMaxAge": {
            "description": "HTTPS Strict-Transport-Security header max-age in seconds. A value of 0 will reset any HSTS records in the browser.When admin-https-redirect is disabled the header max-age will be 0.\n",
            "type": "integer"
          },
          "adminHttpsPkiRequired": {
            "description": "Enable/disable admin login method. Enable to force administrators to provide a valid certificate to log in if PKI is enabled. Disable to allow administrators to log in with a certificate or password.\n",
            "type": "string"
          },
          "adminHttpsRedirect": {
            "description": "Enable/disable redirection of HTTP administration access to HTTPS.\n",
            "type": "string"
          },
          "adminHttpsSslBannedCiphers": {
            "description": "Select one or more cipher technologies that cannot be used in GUI HTTPS negotiations. Only applies to TLS 1.2 and below.\n",
            "type": "string"
          },
          "adminHttpsSslCiphersuites": {
            "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, remove TLS1.3 from admin-https-ssl-versions.\n",
            "type": "string"
          },
          "adminHttpsSslVersions": {
            "description": "Allowed TLS versions for web administration.\n",
            "type": "string"
          },
          "adminLockoutDuration": {
            "description": "Amount of time in seconds that an administrator account is locked out after reaching the admin-lockout-threshold for repeated failed login attempts.\n",
            "type": "integer"
          },
          "adminLockoutThreshold": {
            "description": "Number of failed login attempts before an administrator account is locked out for the admin-lockout-duration.\n",
            "type": "integer"
          },
          "adminLoginMax": {
            "description": "Maximum number of administrators who can be logged in at the same time (1 - 100, default = 100)\n",
            "type": "integer"
          },
          "adminMaintainer": {
            "description": "Enable/disable maintainer administrator login. When enabled, the maintainer account can be used to log in from the console after a hard reboot. The password is \"bcpb\" followed by the FortiGate unit serial number. You have limited time to complete this login.\n",
            "type": "string"
          },
          "adminPort": {
            "description": "Administrative access port for HTTP. (1 - 65535, default = 80).\n",
            "type": "integer"
          },
          "adminRestrictLocal": {
            "description": "Enable/disable local admin authentication restriction when remote authenticator is up and running. (default = disable)\n",
            "type": "string"
          },
          "adminScp": {
            "description": "Enable/disable using SCP to download the system configuration. You can use SCP as an alternative method for backing up the configuration.\n",
            "type": "string"
          },
          "adminServerCert": {
            "description": "Server certificate that the FortiGate uses for HTTPS administrative connections.\n",
            "type": "string"
          },
          "adminSport": {
            "description": "Administrative access port for HTTPS. (1 - 65535, default = 443).\n",
            "type": "integer"
          },
          "adminSshGraceTime": {
            "description": "Maximum time in seconds permitted between making an SSH connection to the FortiGate unit and authenticating (10 - 3600 sec (1 hour), default 120).\n",
            "type": "integer"
          },
          "adminSshPassword": {
            "description": "Enable/disable password authentication for SSH admin access.\n",
            "type": "string"
          },
          "adminSshPort": {
            "description": "Administrative access port for SSH. (1 - 65535, default = 22).\n",
            "type": "integer"
          },
          "adminSshV1": {
            "description": "Enable/disable SSH v1 compatibility.\n",
            "type": "string"
          },
          "adminTelnet": {
            "description": "Enable/disable TELNET service.\n",
            "type": "string"
          },
          "adminTelnetPort": {
            "description": "Administrative access port for TELNET. (1 - 65535, default = 23).\n",
            "type": "integer"
          },
          "admintimeout": {
            "description": "Number of minutes before an idle administrator session times out (5 - 480 minutes (8 hours), default = 5). A shorter idle timeout is more secure.\n",
            "type": "integer"
          },
          "alias": {
            "description": "Alias for your FortiGate unit.\n",
            "type": "string"
          },
          "allowTrafficRedirect": {
            "description": "Disable to allow traffic to be routed back on a different interface.\n",
            "type": "string"
          },
          "antiReplay": {
            "description": "Level of checking for packet replay and TCP sequence checking.\n",
            "type": "string"
          },
          "arpMaxEntry": {
            "description": "Maximum number of dynamically learned MAC addresses that can be added to the ARP table (131072 - 2147483647, default = 131072).\n",
            "type": "integer"
          },
          "asymroute": {
            "description": "Enable/disable asymmetric route.\n",
            "type": "string"
          },
          "authCert": {
            "description": "Server certificate that the FortiGate uses for HTTPS firewall authentication connections.\n",
            "type": "string"
          },
          "authHttpPort": {
            "description": "User authentication HTTP port. (1 - 65535, default = 80).\n",
            "type": "integer"
          },
          "authHttpsPort": {
            "description": "User authentication HTTPS port. (1 - 65535, default = 443).\n",
            "type": "integer"
          },
          "authIkeSamlPort": {
            "description": "User IKE SAML authentication port (0 - 65535, default = 1001).\n",
            "type": "integer"
          },
          "authKeepalive": {
            "description": "Enable to prevent user authentication sessions from timing out when idle.\n",
            "type": "string"
          },
          "authSessionLimit": {
            "description": "Action to take when the number of allowed user authenticated sessions is reached.\n",
            "type": "string"
          },
          "autoAuthExtensionDevice": {
            "description": "Enable/disable automatic authorization of dedicated Fortinet extension devices.\n",
            "type": "string"
          },
          "autorunLogFsck": {
            "description": "Enable/disable automatic log partition check after ungraceful shutdown.\n",
            "type": "string"
          },
          "avAffinity": {
            "description": "Affinity setting for AV scanning (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "avFailopen": {
            "description": "Set the action to take if the FortiGate is running low on memory or the proxy connection limit has been reached.\n",
            "type": "string"
          },
          "avFailopenSession": {
            "description": "When enabled and a proxy for a protocol runs out of room in its session table, that protocol goes into failopen mode and enacts the action specified by av-failopen.\n",
            "type": "string"
          },
          "batchCmdb": {
            "description": "Enable/disable batch mode, allowing you to enter a series of CLI commands that will execute as a group once they are loaded.\n",
            "type": "string"
          },
          "bfdAffinity": {
            "description": "Affinity setting for BFD daemon (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "blockSessionTimer": {
            "description": "Duration in seconds for blocked sessions (1 - 300 sec  (5 minutes), default = 30).\n",
            "type": "integer"
          },
          "brFdbMaxEntry": {
            "description": "Maximum number of bridge forwarding database (FDB) entries.\n",
            "type": "integer"
          },
          "certChainMax": {
            "description": "Maximum number of certificates that can be traversed in a certificate chain.\n",
            "type": "integer"
          },
          "cfgRevertTimeout": {
            "description": "Time-out for reverting to the last saved configuration.\n",
            "type": "integer"
          },
          "cfgSave": {
            "description": "Configuration file save mode for CLI changes.\n",
            "type": "string"
          },
          "checkProtocolHeader": {
            "description": "Level of checking performed on protocol headers. Strict checking is more thorough but may affect performance. Loose checking is ok in most cases.\n",
            "type": "string"
          },
          "checkResetRange": {
            "description": "Configure ICMP error message verification. You can either apply strict RST range checking or disable it.\n",
            "type": "string"
          },
          "cliAuditLog": {
            "description": "Enable/disable CLI audit log.\n",
            "type": "string"
          },
          "cloudCommunication": {
            "description": "Enable/disable all cloud communication.\n",
            "type": "string"
          },
          "cltCertReq": {
            "description": "Enable/disable requiring administrators to have a client certificate to log into the GUI using HTTPS.\n",
            "type": "string"
          },
          "cmdbsvrAffinity": {
            "description": "Affinity setting for cmdbsvr (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "complianceCheck": {
            "description": "Enable/disable global PCI DSS compliance check.\n",
            "type": "string"
          },
          "complianceCheckTime": {
            "description": "Time of day to run scheduled PCI DSS compliance checks.\n",
            "type": "string"
          },
          "cpuUseThreshold": {
            "description": "Threshold at which CPU usage is reported. (% of total CPU, default = 90).\n",
            "type": "integer"
          },
          "csrCaAttribute": {
            "description": "Enable/disable the CA attribute in certificates. Some CA servers reject CSRs that have the CA attribute.\n",
            "type": "string"
          },
          "dailyRestart": {
            "description": "Enable/disable daily restart of FortiGate unit. Use the restart-time option to set the time of day for the restart.\n",
            "type": "string"
          },
          "defaultServiceSourcePort": {
            "description": "Default service source port range. (default=1-65535)\n",
            "type": "string"
          },
          "deviceIdentificationActiveScanDelay": {
            "description": "Number of seconds to passively scan a device before performing an active scan. (20 - 3600 sec, (20 sec to 1 hour), default = 90).\n",
            "type": "integer"
          },
          "deviceIdleTimeout": {
            "description": "Time in seconds that a device must be idle to automatically log the device user out. (30 - 31536000 sec (30 sec to 1 year), default = 300).\n",
            "type": "integer"
          },
          "dhParams": {
            "description": "Number of bits to use in the Diffie-Hellman exchange for HTTPS/SSH protocols.\n",
            "type": "string"
          },
          "dhcpLeaseBackupInterval": {
            "description": "DHCP leases backup interval in seconds (10 - 3600, default = 60).\n",
            "type": "integer"
          },
          "dnsproxyWorkerCount": {
            "description": "DNS proxy worker count.\n",
            "type": "integer"
          },
          "dst": {
            "description": "Enable/disable daylight saving time.\n",
            "type": "string"
          },
          "earlyTcpNpuSession": {
            "description": "Enable/disable early TCP NPU session.\n",
            "type": "string"
          },
          "editVdomPrompt": {
            "description": "Enable/disable edit new VDOM prompt.\n",
            "type": "string"
          },
          "endpointControlFdsAccess": {
            "description": "Enable/disable access to the FortiGuard network for non-compliant endpoints.\n",
            "type": "string"
          },
          "endpointControlPortalPort": {
            "description": "Endpoint control portal port (1 - 65535).\n",
            "type": "integer"
          },
          "extenderControllerReservedNetwork": {
            "description": "Configure reserved network subnet for managed LAN extension FortiExtenders. This is available when the extender daemon is running.\n",
            "type": "string"
          },
          "failtime": {
            "description": "Fail-time for server lost.\n",
            "type": "integer"
          },
          "fazDiskBufferSize": {
            "description": "Maximum disk buffer size to temporarily store logs destined for FortiAnalyzer. To be used in the event that FortiAnalyzer is unavailalble.\n",
            "type": "integer"
          },
          "fdsStatistics": {
            "description": "Enable/disable sending IPS, Application Control, and AntiVirus data to FortiGuard. This data is used to improve FortiGuard services and is not shared with external parties and is protected by Fortinet's privacy policy.\n",
            "type": "string"
          },
          "fdsStatisticsPeriod": {
            "description": "FortiGuard statistics collection period in minutes. (1 - 1440 min (1 min to 24 hours), default = 60).\n",
            "type": "integer"
          },
          "fecPort": {
            "description": "Local UDP port for Forward Error Correction (49152 - 65535).\n",
            "type": "integer"
          },
          "fgdAlertSubscription": {
            "description": "Type of alert to retrieve from FortiGuard.\n",
            "type": "string"
          },
          "forticonverterConfigUpload": {
            "description": "Enable/disable config upload to FortiConverter.\n",
            "type": "string"
          },
          "forticonverterIntegration": {
            "description": "Enable/disable FortiConverter integration service.\n",
            "type": "string"
          },
          "fortiextender": {
            "description": "Enable/disable FortiExtender.\n",
            "type": "string"
          },
          "fortiextenderDataPort": {
            "description": "FortiExtender data port (1024 - 49150, default = 25246).\n",
            "type": "integer"
          },
          "fortiextenderDiscoveryLockdown": {
            "description": "Enable/disable FortiExtender CAPWAP lockdown.\n",
            "type": "string"
          },
          "fortiextenderProvisionOnAuthorization": {
            "description": "Enable/disable automatic provisioning of latest FortiExtender firmware on authorization.\n",
            "type": "string"
          },
          "fortiextenderVlanMode": {
            "description": "Enable/disable FortiExtender VLAN mode.\n",
            "type": "string"
          },
          "fortigslbIntegration": {
            "description": "Enable/disable integration with the FortiGSLB cloud service.\n",
            "type": "string"
          },
          "fortiipamIntegration": {
            "description": "Enable/disable integration with the FortiIPAM cloud service.\n",
            "type": "string"
          },
          "fortiservicePort": {
            "description": "FortiService port (1 - 65535, default = 8013). Used by FortiClient endpoint compliance. Older versions of FortiClient used a different port.\n",
            "type": "integer"
          },
          "fortitokenCloud": {
            "description": "Enable/disable FortiToken Cloud service.\n",
            "type": "string"
          },
          "fortitokenCloudPushStatus": {
            "description": "Enable/disable FTM push service of FortiToken Cloud.\n",
            "type": "string"
          },
          "fortitokenCloudSyncInterval": {
            "description": "Interval in which to clean up remote users in FortiToken Cloud (0 - 336 hours (14 days), default = 24, disable = 0).\n",
            "type": "integer"
          },
          "guiAllowDefaultHostname": {
            "description": "Enable/disable the GUI warning about using a default hostname\n",
            "type": "string"
          },
          "guiAllowIncompatibleFabricFgt": {
            "description": "Enable/disable Allow FGT with incompatible firmware to be treated as compatible in security fabric on the GUI. May cause unexpected error.\n",
            "type": "string"
          },
          "guiAppDetectionSdwan": {
            "description": "Enable/disable Allow app-detection based SD-WAN.\n",
            "type": "string"
          },
          "guiAutoUpgradeSetupWarning": {
            "description": "Enable/disable the automatic patch upgrade setup prompt on the GUI.\n",
            "type": "string"
          },
          "guiCdnDomainOverride": {
            "description": "Domain of CDN server.\n",
            "type": "string"
          },
          "guiCdnUsage": {
            "description": "Enable/disable Load GUI static files from a CDN.\n",
            "type": "string"
          },
          "guiCertificates": {
            "description": "Enable/disable the System \u003e Certificate GUI page, allowing you to add and configure certificates from the GUI.\n",
            "type": "string"
          },
          "guiCustomLanguage": {
            "description": "Enable/disable custom languages in GUI.\n",
            "type": "string"
          },
          "guiDateFormat": {
            "description": "Default date format used throughout GUI.\n",
            "type": "string"
          },
          "guiDateTimeSource": {
            "description": "Source from which the FortiGate GUI uses to display date and time entries.\n",
            "type": "string"
          },
          "guiDeviceLatitude": {
            "description": "Add the latitude of the location of this FortiGate to position it on the Threat Map.\n",
            "type": "string"
          },
          "guiDeviceLongitude": {
            "description": "Add the longitude of the location of this FortiGate to position it on the Threat Map.\n",
            "type": "string"
          },
          "guiDisplayHostname": {
            "description": "Enable/disable displaying the FortiGate's hostname on the GUI login page.\n",
            "type": "string"
          },
          "guiFirmwareUpgradeSetupWarning": {
            "description": "Enable/disable the firmware upgrade warning on GUI setup wizard.\n",
            "type": "string"
          },
          "guiFirmwareUpgradeWarning": {
            "description": "Enable/disable the firmware upgrade warning on the GUI.\n",
            "type": "string"
          },
          "guiForticareRegistrationSetupWarning": {
            "description": "Enable/disable the FortiCare registration setup warning on the GUI.\n",
            "type": "string"
          },
          "guiFortigateCloudSandbox": {
            "description": "Enable/disable displaying FortiGate Cloud Sandbox on the GUI.\n",
            "type": "string"
          },
          "guiFortiguardResourceFetch": {
            "description": "Enable/disable retrieving static GUI resources from FortiGuard. Disabling it will improve GUI load time for air-gapped environments.\n",
            "type": "string"
          },
          "guiFortisandboxCloud": {
            "description": "Enable/disable displaying FortiSandbox Cloud on the GUI.\n",
            "type": "string"
          },
          "guiIpv6": {
            "description": "Enable/disable IPv6 settings on the GUI.\n",
            "type": "string"
          },
          "guiLinesPerPage": {
            "description": "Number of lines to display per page for web administration.\n",
            "type": "integer"
          },
          "guiLocalOut": {
            "description": "Enable/disable Local-out traffic on the GUI.\n",
            "type": "string"
          },
          "guiReplacementMessageGroups": {
            "description": "Enable/disable replacement message groups on the GUI.\n",
            "type": "string"
          },
          "guiRestApiCache": {
            "description": "Enable/disable REST API result caching on FortiGate.\n",
            "type": "string"
          },
          "guiTheme": {
            "description": "Color scheme for the administration GUI.\n",
            "type": "string"
          },
          "guiWirelessOpensecurity": {
            "description": "Enable/disable wireless open security option on the GUI.\n",
            "type": "string"
          },
          "guiWorkflowManagement": {
            "description": "Enable/disable Workflow management features on the GUI.\n",
            "type": "string"
          },
          "haAffinity": {
            "description": "Affinity setting for HA daemons (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "honorDf": {
            "description": "Enable/disable honoring of Don't-Fragment (DF) flag.\n",
            "type": "string"
          },
          "hostname": {
            "description": "FortiGate unit's hostname. Most models will truncate names longer than 24 characters. Some models support hostnames up to 35 characters.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "igmpStateLimit": {
            "description": "Maximum number of IGMP memberships (96 - 64000, default = 3200).\n",
            "type": "integer"
          },
          "ikeEmbryonicLimit": {
            "description": "Maximum number of IPsec tunnels to negotiate simultaneously.\n",
            "type": "integer"
          },
          "interfaceSubnetUsage": {
            "description": "Enable/disable allowing use of interface-subnet setting in firewall addresses (default = enable).\n",
            "type": "string"
          },
          "internetServiceDatabase": {
            "description": "Configure which Internet Service database size to download from FortiGuard and use.\n",
            "type": "string"
          },
          "internetServiceDownloadLists": {
            "description": "Configure which on-demand Internet Service IDs are to be downloaded. The structure of `internet_service_download_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetGlobalInternetServiceDownloadList:getGlobalInternetServiceDownloadList"
            },
            "type": "array"
          },
          "interval": {
            "description": "Dead gateway detection interval.\n",
            "type": "integer"
          },
          "ipFragmentMemThresholds": {
            "description": "Maximum memory (MB) used to reassemble IPv4/IPv6 fragments.\n",
            "type": "integer"
          },
          "ipSrcPortRange": {
            "description": "IP source port range used for traffic originating from the FortiGate unit.\n",
            "type": "string"
          },
          "ipsAffinity": {
            "description": "Affinity setting for IPS (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx; allowed CPUs must be less than total number of IPS engine daemons).\n",
            "type": "string"
          },
          "ipsecAsicOffload": {
            "description": "Enable/disable ASIC offloading (hardware acceleration) for IPsec VPN traffic. Hardware acceleration can offload IPsec VPN sessions and accelerate encryption and decryption.\n",
            "type": "string"
          },
          "ipsecHaSeqjumpRate": {
            "description": "ESP jump ahead rate (1G - 10G pps equivalent).\n",
            "type": "integer"
          },
          "ipsecHmacOffload": {
            "description": "Enable/disable offloading (hardware acceleration) of HMAC processing for IPsec VPN.\n",
            "type": "string"
          },
          "ipsecQatOffload": {
            "description": "Enable/disable QAT offloading (Intel QuickAssist) for IPsec VPN traffic. QuickAssist can accelerate IPsec encryption and decryption.\n",
            "type": "string"
          },
          "ipsecRoundRobin": {
            "description": "Enable/disable round-robin redistribution to multiple CPUs for IPsec VPN traffic.\n",
            "type": "string"
          },
          "ipsecSoftDecAsync": {
            "description": "Enable/disable software decryption asynchronization (using multiple CPUs to do decryption) for IPsec VPN traffic.\n",
            "type": "string"
          },
          "ipv6AcceptDad": {
            "description": "Enable/disable acceptance of IPv6 Duplicate Address Detection (DAD).\n",
            "type": "integer"
          },
          "ipv6AllowAnycastProbe": {
            "description": "Enable/disable IPv6 address probe through Anycast.\n",
            "type": "string"
          },
          "ipv6AllowLocalInSilentDrop": {
            "description": "Enable/disable silent drop of IPv6 local-in traffic.\n",
            "type": "string"
          },
          "ipv6AllowLocalInSlientDrop": {
            "description": "Enable/disable silent drop of IPv6 local-in traffic.\n",
            "type": "string"
          },
          "ipv6AllowMulticastProbe": {
            "description": "Enable/disable IPv6 address probe through Multicast.\n",
            "type": "string"
          },
          "ipv6AllowTrafficRedirect": {
            "description": "Disable to prevent IPv6 traffic with same local ingress and egress interface from being forwarded without policy check.\n",
            "type": "string"
          },
          "irqTimeAccounting": {
            "description": "Configure CPU IRQ time accounting mode.\n",
            "type": "string"
          },
          "language": {
            "description": "GUI display language.\n",
            "type": "string"
          },
          "ldapconntimeout": {
            "description": "Global timeout for connections with remote LDAP servers in milliseconds (1 - 300000, default 500).\n",
            "type": "integer"
          },
          "lldpReception": {
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception.\n",
            "type": "string"
          },
          "lldpTransmission": {
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission.\n",
            "type": "string"
          },
          "logSingleCpuHigh": {
            "description": "Enable/disable logging the event of a single CPU core reaching CPU usage threshold.\n",
            "type": "string"
          },
          "logSslConnection": {
            "description": "Enable/disable logging of SSL connection events.\n",
            "type": "string"
          },
          "logUuidAddress": {
            "description": "Enable/disable insertion of address UUIDs to traffic logs.\n",
            "type": "string"
          },
          "logUuidPolicy": {
            "description": "Enable/disable insertion of policy UUIDs to traffic logs.\n",
            "type": "string"
          },
          "loginTimestamp": {
            "description": "Enable/disable login time recording.\n",
            "type": "string"
          },
          "longVdomName": {
            "description": "Enable/disable long VDOM name support.\n",
            "type": "string"
          },
          "managementIp": {
            "description": "Management IP address of this FortiGate. Used to log into this FortiGate from another FortiGate in the Security Fabric.\n",
            "type": "string"
          },
          "managementPort": {
            "description": "Overriding port for management connection (Overrides admin port).\n",
            "type": "integer"
          },
          "managementPortUseAdminSport": {
            "description": "Enable/disable use of the admin-sport setting for the management port. If disabled, FortiGate will allow user to specify management-port.\n",
            "type": "string"
          },
          "managementVdom": {
            "description": "Management virtual domain name.\n",
            "type": "string"
          },
          "maxDlpstatMemory": {
            "description": "Maximum DLP stat memory (0 - 4294967295).\n",
            "type": "integer"
          },
          "maxRouteCacheSize": {
            "description": "Maximum number of IP route cache entries (0 - 2147483647).\n",
            "type": "integer"
          },
          "mcTtlNotchange": {
            "description": "Enable/disable no modification of multicast TTL.\n",
            "type": "string"
          },
          "memoryUseThresholdExtreme": {
            "description": "Threshold at which memory usage is considered extreme (new sessions are dropped) (% of total RAM, default = 95).\n",
            "type": "integer"
          },
          "memoryUseThresholdGreen": {
            "description": "Threshold at which memory usage forces the FortiGate to exit conserve mode (% of total RAM, default = 82).\n",
            "type": "integer"
          },
          "memoryUseThresholdRed": {
            "description": "Threshold at which memory usage forces the FortiGate to enter conserve mode (% of total RAM, default = 88).\n",
            "type": "integer"
          },
          "miglogAffinity": {
            "description": "Affinity setting for logging (64-bit hexadecimal value in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "miglogdChildren": {
            "description": "Number of logging (miglogd) processes to be allowed to run. Higher number can reduce performance; lower number can slow log processing time. No logs will be dropped or lost if the number is changed.\n",
            "type": "integer"
          },
          "multiFactorAuthentication": {
            "description": "Enforce all login methods to require an additional authentication factor (default = optional).\n",
            "type": "string"
          },
          "multicastForward": {
            "description": "Enable/disable multicast forwarding.\n",
            "type": "string"
          },
          "ndpMaxEntry": {
            "description": "Maximum number of NDP table entries (set to 65,536 or higher; if set to 0, kernel holds 65,536 entries).\n",
            "type": "integer"
          },
          "npuNeighborUpdate": {
            "description": "Enable/disable sending of probing packets to update neighbors for offloaded sessions.\n",
            "type": "string"
          },
          "perUserBal": {
            "description": "Enable/disable per-user block/allow list filter.\n",
            "type": "string"
          },
          "perUserBwl": {
            "description": "Enable/disable per-user black/white list filter.\n",
            "type": "string"
          },
          "pmtuDiscovery": {
            "description": "Enable/disable path MTU discovery.\n",
            "type": "string"
          },
          "policyAuthConcurrent": {
            "description": "Number of concurrent firewall use logins from the same user (1 - 100, default = 0 means no limit).\n",
            "type": "integer"
          },
          "postLoginBanner": {
            "description": "Enable/disable displaying the administrator access disclaimer message after an administrator successfully logs in.\n",
            "type": "string"
          },
          "preLoginBanner": {
            "description": "Enable/disable displaying the administrator access disclaimer message on the login page before an administrator logs in.\n",
            "type": "string"
          },
          "privateDataEncryption": {
            "description": "Enable/disable private data encryption using an AES 128-bit key.\n",
            "type": "string"
          },
          "proxyAuthLifetime": {
            "description": "Enable/disable authenticated users lifetime control.  This is a cap on the total time a proxy user can be authenticated for after which re-authentication will take place.\n",
            "type": "string"
          },
          "proxyAuthLifetimeTimeout": {
            "description": "Lifetime timeout in minutes for authenticated users (5  - 65535 min, default=480 (8 hours)).\n",
            "type": "integer"
          },
          "proxyAuthTimeout": {
            "description": "Authentication timeout in minutes for authenticated users (1 - 300 min, default = 10).\n",
            "type": "integer"
          },
          "proxyCertUseMgmtVdom": {
            "description": "Enable/disable using management VDOM to send requests.\n",
            "type": "string"
          },
          "proxyCipherHardwareAcceleration": {
            "description": "Enable/disable using content processor (CP8 or CP9) hardware acceleration to encrypt and decrypt IPsec and SSL traffic.\n",
            "type": "string"
          },
          "proxyHardwareAcceleration": {
            "description": "Enable/disable email proxy hardware acceleration.\n",
            "type": "string"
          },
          "proxyKeepAliveMode": {
            "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was authenticated.\n",
            "type": "string"
          },
          "proxyKxpHardwareAcceleration": {
            "description": "Enable/disable using the content processor to accelerate KXP traffic.\n",
            "type": "string"
          },
          "proxyReAuthenticationMode": {
            "description": "Control if users must re-authenticate after a session is closed, traffic has been idle, or from the point at which the user was first created.\n",
            "type": "string"
          },
          "proxyReAuthenticationTime": {
            "description": "The time limit that users must re-authenticate if proxy-keep-alive-mode is set to re-authenticate (1  - 86400 sec, default=30s.\n",
            "type": "integer"
          },
          "proxyResourceMode": {
            "description": "Enable/disable use of the maximum memory usage on the FortiGate unit's proxy processing of resources, such as block lists, allow lists, and external resources.\n",
            "type": "string"
          },
          "proxyWorkerCount": {
            "description": "Proxy worker count.\n",
            "type": "integer"
          },
          "purdueLevel": {
            "description": "Purdue Level of this FortiGate.\n",
            "type": "string"
          },
          "quicAckThresold": {
            "description": "Maximum number of unacknowledged packets before sending ACK (2 - 5, default = 3).\n",
            "type": "integer"
          },
          "quicCongestionControlAlgo": {
            "description": "QUIC congestion control algorithm (default = cubic).\n",
            "type": "string"
          },
          "quicMaxDatagramSize": {
            "description": "Maximum transmit datagram size (1200 - 1500, default = 1500).\n",
            "type": "integer"
          },
          "quicPmtud": {
            "description": "Enable/disable path MTU discovery (default = enable).\n",
            "type": "string"
          },
          "quicTlsHandshakeTimeout": {
            "description": "Time-to-live (TTL) for TLS handshake in seconds (1 - 60, default = 5).\n",
            "type": "integer"
          },
          "quicUdpPayloadSizeShapingPerCid": {
            "description": "Enable/disable UDP payload size shaping per connection ID (default = enable).\n",
            "type": "string"
          },
          "radiusPort": {
            "description": "RADIUS service port number.\n",
            "type": "integer"
          },
          "rebootUponConfigRestore": {
            "description": "Enable/disable reboot of system upon restoring configuration.\n",
            "type": "string"
          },
          "refresh": {
            "description": "Statistics refresh interval in GUI.\n",
            "type": "integer"
          },
          "remoteauthtimeout": {
            "description": "Number of seconds that the FortiGate waits for responses from remote RADIUS, LDAP, or TACACS+ authentication servers. (0-300 sec, default = 5, 0 means no timeout).\n",
            "type": "integer"
          },
          "resetSessionlessTcp": {
            "description": "Action to perform if the FortiGate receives a TCP packet but cannot find a corresponding session in its session table. NAT/Route mode only.\n",
            "type": "string"
          },
          "restartTime": {
            "description": "Daily restart time (hh:mm).\n",
            "type": "string"
          },
          "revisionBackupOnLogout": {
            "description": "Enable/disable back-up of the latest configuration revision when an administrator logs out of the CLI or GUI.\n",
            "type": "string"
          },
          "revisionImageAutoBackup": {
            "description": "Enable/disable back-up of the latest configuration revision after the firmware is upgraded.\n",
            "type": "string"
          },
          "scanunitCount": {
            "description": "Number of scanunits. The range and the default depend on the number of CPUs. Only available on FortiGate units with multiple CPUs.\n",
            "type": "integer"
          },
          "securityRatingResultSubmission": {
            "description": "Enable/disable the submission of Security Rating results to FortiGuard.\n",
            "type": "string"
          },
          "securityRatingRunOnSchedule": {
            "description": "Enable/disable scheduled runs of Security Rating.\n",
            "type": "string"
          },
          "sendPmtuIcmp": {
            "description": "Enable/disable sending of path maximum transmission unit (PMTU) - ICMP destination unreachable packet and to support PMTUD protocol on your network to reduce fragmentation of packets.\n",
            "type": "string"
          },
          "sflowdMaxChildrenNum": {
            "description": "Maximum number of sflowd child processes allowed to run.\n",
            "type": "integer"
          },
          "snatRouteChange": {
            "description": "Enable/disable the ability to change the static NAT route.\n",
            "type": "string"
          },
          "specialFile23Support": {
            "description": "Enable/disable IPS detection of HIBUN format files when using Data Leak Protection.\n",
            "type": "string"
          },
          "speedtestServer": {
            "description": "Enable/disable speed test server.\n",
            "type": "string"
          },
          "speedtestdCtrlPort": {
            "description": "Speedtest server controller port number.\n",
            "type": "integer"
          },
          "speedtestdServerPort": {
            "description": "Speedtest server port number.\n",
            "type": "integer"
          },
          "splitPort": {
            "description": "Split port(s) to multiple 10Gbps ports.\n",
            "type": "string"
          },
          "ssdTrimDate": {
            "description": "Date within a month to run ssd trim.\n",
            "type": "integer"
          },
          "ssdTrimFreq": {
            "description": "How often to run SSD Trim (default = weekly). SSD Trim prevents SSD drive data loss by finding and isolating errors.\n",
            "type": "string"
          },
          "ssdTrimHour": {
            "description": "Hour of the day on which to run SSD Trim (0 - 23, default = 1).\n",
            "type": "integer"
          },
          "ssdTrimMin": {
            "description": "Minute of the hour on which to run SSD Trim (0 - 59, 60 for random).\n",
            "type": "integer"
          },
          "ssdTrimWeekday": {
            "description": "Day of week to run SSD Trim.\n",
            "type": "string"
          },
          "sshCbcCipher": {
            "description": "Enable/disable CBC cipher for SSH access.\n",
            "type": "string"
          },
          "sshEncAlgo": {
            "description": "Select one or more SSH ciphers.\n",
            "type": "string"
          },
          "sshHmacMd5": {
            "description": "Enable/disable HMAC-MD5 for SSH access.\n",
            "type": "string"
          },
          "sshHostkey": {
            "description": "Config SSH host key.\n",
            "type": "string"
          },
          "sshHostkeyAlgo": {
            "description": "Select one or more SSH hostkey algorithms.\n",
            "type": "string"
          },
          "sshHostkeyOverride": {
            "description": "Enable/disable SSH host key override in SSH daemon.\n",
            "type": "string"
          },
          "sshHostkeyPassword": {
            "description": "Password for ssh-hostkey.\n",
            "secret": true,
            "type": "string"
          },
          "sshKexAlgo": {
            "description": "Select one or more SSH kex algorithms.\n",
            "type": "string"
          },
          "sshKexSha1": {
            "description": "Enable/disable SHA1 key exchange for SSH access.\n",
            "type": "string"
          },
          "sshMacAlgo": {
            "description": "Select one or more SSH MAC algorithms.\n",
            "type": "string"
          },
          "sshMacWeak": {
            "description": "Enable/disable HMAC-SHA1 and UMAC-64-ETM for SSH access.\n",
            "type": "string"
          },
          "sslMinProtoVersion": {
            "description": "Minimum supported protocol version for SSL/TLS connections (default = TLSv1.2).\n",
            "type": "string"
          },
          "sslStaticKeyCiphers": {
            "description": "Enable/disable static key ciphers in SSL/TLS connections (e.g. AES128-SHA, AES256-SHA, AES128-SHA256, AES256-SHA256).\n",
            "type": "string"
          },
          "sslvpnCipherHardwareAcceleration": {
            "description": "Enable/disable SSL VPN hardware acceleration.\n",
            "type": "string"
          },
          "sslvpnEmsSnCheck": {
            "description": "Enable/disable verification of EMS serial number in SSL-VPN connection.\n",
            "type": "string"
          },
          "sslvpnKxpHardwareAcceleration": {
            "description": "Enable/disable SSL VPN KXP hardware acceleration.\n",
            "type": "string"
          },
          "sslvpnMaxWorkerCount": {
            "description": "Maximum number of SSL VPN processes. Upper limit for this value is the number of CPUs and depends on the model.\n",
            "type": "integer"
          },
          "sslvpnPluginVersionCheck": {
            "description": "Enable/disable checking browser's plugin version by SSL VPN.\n",
            "type": "string"
          },
          "sslvpnWebMode": {
            "description": "Enable/disable SSL-VPN web mode.\n",
            "type": "string"
          },
          "strictDirtySessionCheck": {
            "description": "Enable to check the session against the original policy when revalidating. This can prevent dropping of redirected sessions when web-filtering and authentication are enabled together. If this option is enabled, the FortiGate unit deletes a session if a routing or policy change causes the session to no longer match the policy that originally allowed the session.\n",
            "type": "string"
          },
          "strongCrypto": {
            "description": "Enable to use strong encryption and only allow strong ciphers (AES, 3DES) and digest (SHA1) for HTTPS/SSH/TLS/SSL functions.\n",
            "type": "string"
          },
          "switchController": {
            "description": "Enable/disable switch controller feature. Switch controller allows you to manage FortiSwitch from the FortiGate itself.\n",
            "type": "string"
          },
          "switchControllerReservedNetwork": {
            "description": "Enable reserved network subnet for controlled switches. This is available when the switch controller is enabled.\n",
            "type": "string"
          },
          "sysPerfLogInterval": {
            "description": "Time in minutes between updates of performance statistics logging. (1 - 15 min, default = 5, 0 = disabled).\n",
            "type": "integer"
          },
          "syslogAffinity": {
            "description": "Affinity setting for syslog (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "tcpHalfcloseTimer": {
            "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent a FIN packet but the other has not responded (1 - 86400 sec (1 day), default = 120).\n",
            "type": "integer"
          },
          "tcpHalfopenTimer": {
            "description": "Number of seconds the FortiGate unit should wait to close a session after one peer has sent an open session packet but the other has not responded (1 - 86400 sec (1 day), default = 10).\n",
            "type": "integer"
          },
          "tcpOption": {
            "description": "Enable SACK, timestamp and MSS TCP options.\n",
            "type": "string"
          },
          "tcpRstTimer": {
            "description": "Length of the TCP CLOSE state in seconds (5 - 300 sec, default = 5).\n",
            "type": "integer"
          },
          "tcpTimewaitTimer": {
            "description": "Length of the TCP TIME-WAIT state in seconds.\n",
            "type": "integer"
          },
          "tftp": {
            "description": "Enable/disable TFTP.\n",
            "type": "string"
          },
          "timezone": {
            "description": "Number corresponding to your time zone from 00 to 86. Enter set timezone ? to view the list of time zones and the numbers that represent them.\n",
            "type": "string"
          },
          "tpMcSkipPolicy": {
            "description": "Enable/disable skip policy check and allow multicast through.\n",
            "type": "string"
          },
          "trafficPriority": {
            "description": "Choose Type of Service (ToS) or Differentiated Services Code Point (DSCP) for traffic prioritization in traffic shaping.\n",
            "type": "string"
          },
          "trafficPriorityLevel": {
            "description": "Default system-wide level of priority for traffic prioritization.\n",
            "type": "string"
          },
          "twoFactorEmailExpiry": {
            "description": "Email-based two-factor authentication session timeout (30 - 300 seconds (5 minutes), default = 60).\n",
            "type": "integer"
          },
          "twoFactorFacExpiry": {
            "description": "FortiAuthenticator token authentication session timeout (10 - 3600 seconds (1 hour), default = 60).\n",
            "type": "integer"
          },
          "twoFactorFtkExpiry": {
            "description": "FortiToken authentication session timeout (60 - 600 sec (10 minutes), default = 60).\n",
            "type": "integer"
          },
          "twoFactorFtmExpiry": {
            "description": "FortiToken Mobile session timeout (1 - 168 hours (7 days), default = 72).\n",
            "type": "integer"
          },
          "twoFactorSmsExpiry": {
            "description": "SMS-based two-factor authentication session timeout (30 - 300 sec, default = 60).\n",
            "type": "integer"
          },
          "udpIdleTimer": {
            "description": "UDP connection session timeout. This command can be useful in managing CPU and memory resources (1 - 86400 seconds (1 day), default = 60).\n",
            "type": "integer"
          },
          "urlFilterAffinity": {
            "description": "URL filter CPU affinity.\n",
            "type": "string"
          },
          "urlFilterCount": {
            "description": "URL filter daemon count.\n",
            "type": "integer"
          },
          "userDeviceStoreMaxDevices": {
            "description": "Maximum number of devices allowed in user device store.\n",
            "type": "integer"
          },
          "userDeviceStoreMaxUnifiedMem": {
            "description": "Maximum unified memory allowed in user device store.\n",
            "type": "integer"
          },
          "userDeviceStoreMaxUsers": {
            "description": "Maximum number of users allowed in user device store.\n",
            "type": "integer"
          },
          "userServerCert": {
            "description": "Certificate to use for https user authentication.\n",
            "type": "string"
          },
          "vdomAdmin": {
            "description": "Enable/disable support for multiple virtual domains (VDOMs).\n",
            "type": "string"
          },
          "vdomMode": {
            "description": "Enable/disable support for split/multiple virtual domains (VDOMs).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vipArpRange": {
            "description": "Controls the number of ARPs that the FortiGate sends for a Virtual IP (VIP) address range.\n",
            "type": "string"
          },
          "virtualServerCount": {
            "description": "Maximum number of virtual server processes to create. The maximum is the number of CPU cores. This is not available on single-core CPUs.\n",
            "type": "integer"
          },
          "virtualServerHardwareAcceleration": {
            "description": "Enable/disable virtual server hardware acceleration.\n",
            "type": "string"
          },
          "virtualSwitchVlan": {
            "description": "Enable/disable virtual switch VLAN.\n",
            "type": "string"
          },
          "vpnEmsSnCheck": {
            "description": "Enable/disable verification of EMS serial number in SSL-VPN and IPsec VPN connection.\n",
            "type": "string"
          },
          "wadAffinity": {
            "description": "Affinity setting for wad (hexadecimal value up to 256 bits in the format of xxxxxxxxxxxxxxxx).\n",
            "type": "string"
          },
          "wadCsvcCsCount": {
            "description": "Number of concurrent WAD-cache-service object-cache processes.\n",
            "type": "integer"
          },
          "wadCsvcDbCount": {
            "description": "Number of concurrent WAD-cache-service byte-cache processes.\n",
            "type": "integer"
          },
          "wadMemoryChangeGranularity": {
            "description": "Minimum percentage change in system memory usage detected by the wad daemon prior to adjusting TCP window size for any active connection.\n",
            "type": "integer"
          },
          "wadRestartEndTime": {
            "description": "WAD workers daily restart end time (hh:mm).\n",
            "type": "string"
          },
          "wadRestartMode": {
            "description": "WAD worker restart mode (default = none).\n",
            "type": "string"
          },
          "wadRestartStartTime": {
            "description": "WAD workers daily restart time (hh:mm).\n",
            "type": "string"
          },
          "wadSourceAffinity": {
            "description": "Enable/disable dispatching traffic to WAD workers based on source affinity.\n",
            "type": "string"
          },
          "wadWorkerCount": {
            "description": "Number of explicit proxy WAN optimization daemon (WAD) processes. By default WAN optimization, explicit proxy, and web caching is handled by all of the CPU cores in a FortiGate unit.\n",
            "type": "integer"
          },
          "wifiCaCertificate": {
            "description": "CA certificate that verifies the WiFi certificate.\n",
            "type": "string"
          },
          "wifiCertificate": {
            "description": "Certificate to use for WiFi authentication.\n",
            "type": "string"
          },
          "wimax4gUsb": {
            "description": "Enable/disable comparability with WiMAX 4G USB devices.\n",
            "type": "string"
          },
          "wirelessController": {
            "description": "Enable/disable the wireless controller feature to use the FortiGate unit to manage FortiAPs.\n",
            "type": "string"
          },
          "wirelessControllerPort": {
            "description": "Port used for the control channel in wireless controller mode (wireless-mode is ac). The data channel port is the control channel port number plus one (1024 - 49150, default = 5246).\n",
            "type": "integer"
          }
        },
        "required": [
          "adminConcurrent",
          "adminConsoleTimeout",
          "adminForticloudSsoDefaultProfile",
          "adminForticloudSsoLogin",
          "adminHost",
          "adminHstsMaxAge",
          "adminHttpsPkiRequired",
          "adminHttpsRedirect",
          "adminHttpsSslBannedCiphers",
          "adminHttpsSslCiphersuites",
          "adminHttpsSslVersions",
          "adminLockoutDuration",
          "adminLockoutThreshold",
          "adminLoginMax",
          "adminMaintainer",
          "adminPort",
          "adminRestrictLocal",
          "adminScp",
          "adminServerCert",
          "adminSport",
          "adminSshGraceTime",
          "adminSshPassword",
          "adminSshPort",
          "adminSshV1",
          "adminTelnet",
          "adminTelnetPort",
          "admintimeout",
          "alias",
          "allowTrafficRedirect",
          "antiReplay",
          "arpMaxEntry",
          "asymroute",
          "authCert",
          "authHttpPort",
          "authHttpsPort",
          "authIkeSamlPort",
          "authKeepalive",
          "authSessionLimit",
          "autoAuthExtensionDevice",
          "autorunLogFsck",
          "avAffinity",
          "avFailopen",
          "avFailopenSession",
          "batchCmdb",
          "bfdAffinity",
          "blockSessionTimer",
          "brFdbMaxEntry",
          "certChainMax",
          "cfgRevertTimeout",
          "cfgSave",
          "checkProtocolHeader",
          "checkResetRange",
          "cliAuditLog",
          "cloudCommunication",
          "cltCertReq",
          "cmdbsvrAffinity",
          "complianceCheck",
          "complianceCheckTime",
          "cpuUseThreshold",
          "csrCaAttribute",
          "dailyRestart",
          "defaultServiceSourcePort",
          "deviceIdentificationActiveScanDelay",
          "deviceIdleTimeout",
          "dhParams",
          "dhcpLeaseBackupInterval",
          "dnsproxyWorkerCount",
          "dst",
          "earlyTcpNpuSession",
          "editVdomPrompt",
          "endpointControlFdsAccess",
          "endpointControlPortalPort",
          "extenderControllerReservedNetwork",
          "failtime",
          "fazDiskBufferSize",
          "fdsStatistics",
          "fdsStatisticsPeriod",
          "fecPort",
          "fgdAlertSubscription",
          "forticonverterConfigUpload",
          "forticonverterIntegration",
          "fortiextender",
          "fortiextenderDataPort",
          "fortiextenderDiscoveryLockdown",
          "fortiextenderProvisionOnAuthorization",
          "fortiextenderVlanMode",
          "fortigslbIntegration",
          "fortiipamIntegration",
          "fortiservicePort",
          "fortitokenCloud",
          "fortitokenCloudPushStatus",
          "fortitokenCloudSyncInterval",
          "guiAllowDefaultHostname",
          "guiAllowIncompatibleFabricFgt",
          "guiAppDetectionSdwan",
          "guiAutoUpgradeSetupWarning",
          "guiCdnDomainOverride",
          "guiCdnUsage",
          "guiCertificates",
          "guiCustomLanguage",
          "guiDateFormat",
          "guiDateTimeSource",
          "guiDeviceLatitude",
          "guiDeviceLongitude",
          "guiDisplayHostname",
          "guiFirmwareUpgradeSetupWarning",
          "guiFirmwareUpgradeWarning",
          "guiForticareRegistrationSetupWarning",
          "guiFortigateCloudSandbox",
          "guiFortiguardResourceFetch",
          "guiFortisandboxCloud",
          "guiIpv6",
          "guiLinesPerPage",
          "guiLocalOut",
          "guiReplacementMessageGroups",
          "guiRestApiCache",
          "guiTheme",
          "guiWirelessOpensecurity",
          "guiWorkflowManagement",
          "haAffinity",
          "honorDf",
          "hostname",
          "id",
          "igmpStateLimit",
          "ikeEmbryonicLimit",
          "interfaceSubnetUsage",
          "internetServiceDatabase",
          "internetServiceDownloadLists",
          "interval",
          "ipFragmentMemThresholds",
          "ipSrcPortRange",
          "ipsAffinity",
          "ipsecAsicOffload",
          "ipsecHaSeqjumpRate",
          "ipsecHmacOffload",
          "ipsecQatOffload",
          "ipsecRoundRobin",
          "ipsecSoftDecAsync",
          "ipv6AcceptDad",
          "ipv6AllowAnycastProbe",
          "ipv6AllowLocalInSilentDrop",
          "ipv6AllowLocalInSlientDrop",
          "ipv6AllowMulticastProbe",
          "ipv6AllowTrafficRedirect",
          "irqTimeAccounting",
          "language",
          "ldapconntimeout",
          "lldpReception",
          "lldpTransmission",
          "logSingleCpuHigh",
          "logSslConnection",
          "logUuidAddress",
          "logUuidPolicy",
          "loginTimestamp",
          "longVdomName",
          "managementIp",
          "managementPort",
          "managementPortUseAdminSport",
          "managementVdom",
          "maxDlpstatMemory",
          "maxRouteCacheSize",
          "mcTtlNotchange",
          "memoryUseThresholdExtreme",
          "memoryUseThresholdGreen",
          "memoryUseThresholdRed",
          "miglogAffinity",
          "miglogdChildren",
          "multiFactorAuthentication",
          "multicastForward",
          "ndpMaxEntry",
          "npuNeighborUpdate",
          "perUserBal",
          "perUserBwl",
          "pmtuDiscovery",
          "policyAuthConcurrent",
          "postLoginBanner",
          "preLoginBanner",
          "privateDataEncryption",
          "proxyAuthLifetime",
          "proxyAuthLifetimeTimeout",
          "proxyAuthTimeout",
          "proxyCertUseMgmtVdom",
          "proxyCipherHardwareAcceleration",
          "proxyHardwareAcceleration",
          "proxyKeepAliveMode",
          "proxyKxpHardwareAcceleration",
          "proxyReAuthenticationMode",
          "proxyReAuthenticationTime",
          "proxyResourceMode",
          "proxyWorkerCount",
          "purdueLevel",
          "quicAckThresold",
          "quicCongestionControlAlgo",
          "quicMaxDatagramSize",
          "quicPmtud",
          "quicTlsHandshakeTimeout",
          "quicUdpPayloadSizeShapingPerCid",
          "radiusPort",
          "rebootUponConfigRestore",
          "refresh",
          "remoteauthtimeout",
          "resetSessionlessTcp",
          "restartTime",
          "revisionBackupOnLogout",
          "revisionImageAutoBackup",
          "scanunitCount",
          "securityRatingResultSubmission",
          "securityRatingRunOnSchedule",
          "sendPmtuIcmp",
          "sflowdMaxChildrenNum",
          "snatRouteChange",
          "specialFile23Support",
          "speedtestServer",
          "speedtestdCtrlPort",
          "speedtestdServerPort",
          "splitPort",
          "ssdTrimDate",
          "ssdTrimFreq",
          "ssdTrimHour",
          "ssdTrimMin",
          "ssdTrimWeekday",
          "sshCbcCipher",
          "sshEncAlgo",
          "sshHmacMd5",
          "sshHostkey",
          "sshHostkeyAlgo",
          "sshHostkeyOverride",
          "sshHostkeyPassword",
          "sshKexAlgo",
          "sshKexSha1",
          "sshMacAlgo",
          "sshMacWeak",
          "sslMinProtoVersion",
          "sslStaticKeyCiphers",
          "sslvpnCipherHardwareAcceleration",
          "sslvpnEmsSnCheck",
          "sslvpnKxpHardwareAcceleration",
          "sslvpnMaxWorkerCount",
          "sslvpnPluginVersionCheck",
          "sslvpnWebMode",
          "strictDirtySessionCheck",
          "strongCrypto",
          "switchController",
          "switchControllerReservedNetwork",
          "sysPerfLogInterval",
          "syslogAffinity",
          "tcpHalfcloseTimer",
          "tcpHalfopenTimer",
          "tcpOption",
          "tcpRstTimer",
          "tcpTimewaitTimer",
          "tftp",
          "timezone",
          "tpMcSkipPolicy",
          "trafficPriority",
          "trafficPriorityLevel",
          "twoFactorEmailExpiry",
          "twoFactorFacExpiry",
          "twoFactorFtkExpiry",
          "twoFactorFtmExpiry",
          "twoFactorSmsExpiry",
          "udpIdleTimer",
          "urlFilterAffinity",
          "urlFilterCount",
          "userDeviceStoreMaxDevices",
          "userDeviceStoreMaxUnifiedMem",
          "userDeviceStoreMaxUsers",
          "userServerCert",
          "vdomAdmin",
          "vdomMode",
          "vipArpRange",
          "virtualServerCount",
          "virtualServerHardwareAcceleration",
          "virtualSwitchVlan",
          "vpnEmsSnCheck",
          "wadAffinity",
          "wadCsvcCsCount",
          "wadCsvcDbCount",
          "wadMemoryChangeGranularity",
          "wadRestartEndTime",
          "wadRestartMode",
          "wadRestartStartTime",
          "wadSourceAffinity",
          "wadWorkerCount",
          "wifiCaCertificate",
          "wifiCertificate",
          "wimax4gUsb",
          "wirelessController",
          "wirelessControllerPort"
        ],
        "type": "object"
      }
    },
    "fortios:system/getGretunnel:getGretunnel": {
      "description": "Use this data source to get information on an fortios system gretunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGretunnel.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system gretunnel.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getGretunnel.\n",
        "properties": {
          "checksumReception": {
            "description": "Enable/disable validating checksums in received GRE packets.\n",
            "type": "string"
          },
          "checksumTransmission": {
            "description": "Enable/disable including checksums in transmitted GRE packets.\n",
            "type": "string"
          },
          "diffservcode": {
            "description": "DiffServ setting to be applied to GRE tunnel outer IP header.\n",
            "type": "string"
          },
          "dscpCopying": {
            "description": "Enable/disable DSCP copying.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface name.\n",
            "type": "string"
          },
          "ipVersion": {
            "description": "IP version to use for VPN interface.\n",
            "type": "string"
          },
          "keepaliveFailtimes": {
            "description": "Number of consecutive unreturned keepalive messages before a GRE connection is considered down (1 - 255).\n",
            "type": "integer"
          },
          "keepaliveInterval": {
            "description": "Keepalive message interval (0 - 32767, 0 = disabled).\n",
            "type": "integer"
          },
          "keyInbound": {
            "description": "Require received GRE packets contain this key (0 - 4294967295).\n",
            "type": "integer"
          },
          "keyOutbound": {
            "description": "Include this key in transmitted GRE packets (0 - 4294967295).\n",
            "type": "integer"
          },
          "localGw": {
            "description": "IP address of the local gateway.\n",
            "type": "string"
          },
          "localGw6": {
            "description": "IPv6 address of the local gateway.\n",
            "type": "string"
          },
          "name": {
            "description": "Tunnel name.\n",
            "type": "string"
          },
          "remoteGw": {
            "description": "IP address of the remote gateway.\n",
            "type": "string"
          },
          "remoteGw6": {
            "description": "IPv6 address of the remote gateway.\n",
            "type": "string"
          },
          "sequenceNumberReception": {
            "description": "Enable/disable validating sequence numbers in received GRE packets.\n",
            "type": "string"
          },
          "sequenceNumberTransmission": {
            "description": "Enable/disable including of sequence numbers in transmitted GRE packets.\n",
            "type": "string"
          },
          "useSdwan": {
            "description": "Enable/disable use of SD-WAN to reach remote gateway.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "checksumReception",
          "checksumTransmission",
          "diffservcode",
          "dscpCopying",
          "id",
          "interface",
          "ipVersion",
          "keepaliveFailtimes",
          "keepaliveInterval",
          "keyInbound",
          "keyOutbound",
          "localGw",
          "localGw6",
          "name",
          "remoteGw",
          "remoteGw6",
          "sequenceNumberReception",
          "sequenceNumberTransmission",
          "useSdwan"
        ],
        "type": "object"
      }
    },
    "fortios:system/getGretunnellist:getGretunnellist": {
      "description": "Provides a list of `fortios.system.Gretunnel`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGretunnellist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getGretunnellist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Gretunnel`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getHa:getHa": {
      "description": "Use this data source to get information on fortios system ha\n",
      "inputs": {
        "description": "A collection of arguments for invoking getHa.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getHa.\n",
        "properties": {
          "arps": {
            "description": "Number of gratuitous ARPs (1 - 60). Lower to reduce traffic. Higher to reduce failover time.\n",
            "type": "integer"
          },
          "arpsInterval": {
            "description": "Time between gratuitous ARPs  (1 - 20 sec). Lower to reduce failover time. Higher to reduce traffic.\n",
            "type": "integer"
          },
          "authentication": {
            "description": "Enable/disable heartbeat message authentication.\n",
            "type": "string"
          },
          "cpuThreshold": {
            "description": "Dynamic weighted load balancing CPU usage weight and high and low thresholds.\n",
            "type": "string"
          },
          "encryption": {
            "description": "Enable/disable heartbeat message encryption.\n",
            "type": "string"
          },
          "evpnTtl": {
            "description": "HA EVPN FDB TTL on primary box (5 - 3600 sec).\n",
            "type": "integer"
          },
          "failoverHoldTime": {
            "description": "Time to wait before failover (0 - 300 sec, default = 0), to avoid flip.\n",
            "type": "integer"
          },
          "ftpProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of FTP proxy sessions.\n",
            "type": "string"
          },
          "gratuitousArps": {
            "description": "Enable/disable gratuitous ARPs. Disable if link-failed-signal enabled.\n",
            "type": "string"
          },
          "groupId": {
            "description": "Cluster group ID  (0 - 255). Must be the same for all members.\n",
            "type": "integer"
          },
          "groupName": {
            "description": "Cluster group name. Must be the same for all members.\n",
            "type": "string"
          },
          "haDirect": {
            "description": "Enable/disable using ha-mgmt interface for syslog, SNMP, remote authentication (RADIUS), FortiAnalyzer, and FortiSandbox.\n",
            "type": "string"
          },
          "haEthType": {
            "description": "HA heartbeat packet Ethertype (4-digit hex).\n",
            "type": "string"
          },
          "haMgmtInterfaces": {
            "description": "Reserve interfaces to manage individual cluster units. The structure of `ha_mgmt_interfaces` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetHaHaMgmtInterface:getHaHaMgmtInterface"
            },
            "type": "array"
          },
          "haMgmtStatus": {
            "description": "Enable to reserve interfaces to manage individual cluster units.\n",
            "type": "string"
          },
          "haUptimeDiffMargin": {
            "description": "Normally you would only reduce this value for failover testing.\n",
            "type": "integer"
          },
          "hbInterval": {
            "description": "Time between sending heartbeat packets (1 - 20 (100*ms)). Increase to reduce false positives.\n",
            "type": "integer"
          },
          "hbIntervalInMilliseconds": {
            "description": "Number of milliseconds for each heartbeat interval: 100ms or 10ms.\n",
            "type": "string"
          },
          "hbLostThreshold": {
            "description": "Number of lost heartbeats to signal a failure (1 - 60). Increase to reduce false positives.\n",
            "type": "integer"
          },
          "hbdev": {
            "description": "Heartbeat interfaces. Must be the same for all members.\n",
            "type": "string"
          },
          "hcEthType": {
            "description": "Transparent mode HA heartbeat packet Ethertype (4-digit hex).\n",
            "type": "string"
          },
          "helloHolddown": {
            "description": "Time to wait before changing from hello to work state (5 - 300 sec).\n",
            "type": "integer"
          },
          "httpProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of HTTP proxy sessions.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "imapProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of IMAP proxy sessions.\n",
            "type": "string"
          },
          "interClusterSessionSync": {
            "description": "Enable/disable synchronization of sessions among HA clusters.\n",
            "type": "string"
          },
          "ipsecPhase2Proposal": {
            "description": "IPsec phase2 proposal.\n",
            "type": "string"
          },
          "key": {
            "description": "key\n",
            "secret": true,
            "type": "string"
          },
          "l2epEthType": {
            "description": "Telnet session HA heartbeat packet Ethertype (4-digit hex).\n",
            "type": "string"
          },
          "linkFailedSignal": {
            "description": "Enable to shut down all interfaces for 1 sec after a failover. Use if gratuitous ARPs do not update network.\n",
            "type": "string"
          },
          "loadBalanceAll": {
            "description": "Enable to load balance TCP sessions. Disable to load balance proxy sessions only.\n",
            "type": "string"
          },
          "logicalSn": {
            "description": "Enable/disable usage of the logical serial number.\n",
            "type": "string"
          },
          "memoryBasedFailover": {
            "description": "Enable/disable memory based failover.\n",
            "type": "string"
          },
          "memoryCompatibleMode": {
            "description": "Enable/disable memory compatible mode.\n",
            "type": "string"
          },
          "memoryFailoverFlipTimeout": {
            "description": "Time to wait between subsequent memory based failovers in minutes (6 - 2147483647, default = 6).\n",
            "type": "integer"
          },
          "memoryFailoverMonitorPeriod": {
            "description": "Duration of high memory usage before memory based failover is triggered in seconds (1 - 300, default = 60).\n",
            "type": "integer"
          },
          "memoryFailoverSampleRate": {
            "description": "Rate at which memory usage is sampled in order to measure memory usage in seconds (1 - 60, default = 1).\n",
            "type": "integer"
          },
          "memoryFailoverThreshold": {
            "description": "Memory usage threshold to trigger memory based failover (0 means using conserve mode threshold in system.global).\n",
            "type": "integer"
          },
          "memoryThreshold": {
            "description": "Dynamic weighted load balancing memory usage weight and high and low thresholds.\n",
            "type": "string"
          },
          "mode": {
            "description": "HA mode. Must be the same for all members. FGSP requires standalone.\n",
            "type": "string"
          },
          "monitor": {
            "description": "Interfaces to check for port monitoring (or link failure).\n",
            "type": "string"
          },
          "multicastTtl": {
            "description": "HA multicast TTL on master (5 - 3600 sec).\n",
            "type": "integer"
          },
          "nntpProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of NNTP proxy sessions.\n",
            "type": "string"
          },
          "override": {
            "description": "Enable and increase the priority of the unit that should always be primary (master).\n",
            "type": "string"
          },
          "overrideWaitTime": {
            "description": "Delay negotiating if override is enabled (0 - 3600 sec). Reduces how often the cluster negotiates.\n",
            "type": "integer"
          },
          "password": {
            "description": "Cluster password. Must be the same for all members.\n",
            "secret": true,
            "type": "string"
          },
          "pingserverFailoverThreshold": {
            "description": "Remote IP monitoring failover threshold (0 - 50).\n",
            "type": "integer"
          },
          "pingserverFlipTimeout": {
            "description": "Time to wait in minutes before renegotiating after a remote IP monitoring failover.\n",
            "type": "integer"
          },
          "pingserverMonitorInterface": {
            "description": "Interfaces to check for remote IP monitoring.\n",
            "type": "string"
          },
          "pingserverSecondaryForceReset": {
            "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n",
            "type": "string"
          },
          "pingserverSlaveForceReset": {
            "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n",
            "type": "string"
          },
          "pop3ProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of POP3 proxy sessions.\n",
            "type": "string"
          },
          "priority": {
            "description": "Increase the priority to select the primary unit (0 - 255).\n",
            "type": "integer"
          },
          "routeHold": {
            "description": "Time to wait between routing table updates to the cluster (0 - 3600 sec).\n",
            "type": "integer"
          },
          "routeTtl": {
            "description": "TTL for primary unit routes (5 - 3600 sec). Increase to maintain active routes during failover.\n",
            "type": "integer"
          },
          "routeWait": {
            "description": "Time to wait before sending new routes to the cluster (0 - 3600 sec).\n",
            "type": "integer"
          },
          "schedule": {
            "description": "Type of A-A load balancing. Use none if you have external load balancers.\n",
            "type": "string"
          },
          "secondaryVclusters": {
            "description": "Configure virtual cluster 2. The structure of `secondary_vcluster` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetHaSecondaryVcluster:getHaSecondaryVcluster"
            },
            "type": "array"
          },
          "sessionPickup": {
            "description": "Enable/disable session pickup. Enabling it can reduce session down time when fail over happens.\n",
            "type": "string"
          },
          "sessionPickupConnectionless": {
            "description": "Enable/disable UDP and ICMP session sync.\n",
            "type": "string"
          },
          "sessionPickupDelay": {
            "description": "Enable to sync sessions longer than 30 sec. Only longer lived sessions need to be synced.\n",
            "type": "string"
          },
          "sessionPickupExpectation": {
            "description": "Enable/disable session helper expectation session sync for FGSP.\n",
            "type": "string"
          },
          "sessionPickupNat": {
            "description": "Enable/disable NAT session sync for FGSP.\n",
            "type": "string"
          },
          "sessionSyncDev": {
            "description": "Offload session-sync process to kernel and sync sessions using connected interface(s) directly.\n",
            "type": "string"
          },
          "smtpProxyThreshold": {
            "description": "Dynamic weighted load balancing weight and high and low number of SMTP proxy sessions.\n",
            "type": "string"
          },
          "ssdFailover": {
            "description": "Enable/disable automatic HA failover on SSD disk failure.\n",
            "type": "string"
          },
          "standaloneConfigSync": {
            "description": "Enable/disable FGSP configuration synchronization.\n",
            "type": "string"
          },
          "standaloneMgmtVdom": {
            "description": "Enable/disable standalone management VDOM.\n",
            "type": "string"
          },
          "syncConfig": {
            "description": "Enable/disable configuration synchronization.\n",
            "type": "string"
          },
          "syncPacketBalance": {
            "description": "Enable/disable HA packet distribution to multiple CPUs.\n",
            "type": "string"
          },
          "unicastGateway": {
            "description": "Default route gateway for unicast interface.\n",
            "type": "string"
          },
          "unicastHb": {
            "description": "Enable/disable unicast heartbeat.\n",
            "type": "string"
          },
          "unicastHbNetmask": {
            "description": "Unicast heartbeat netmask.\n",
            "type": "string"
          },
          "unicastHbPeerip": {
            "description": "Unicast heartbeat peer IP.\n",
            "type": "string"
          },
          "unicastPeers": {
            "description": "Number of unicast peers. The structure of `unicast_peers` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetHaUnicastPeer:getHaUnicastPeer"
            },
            "type": "array"
          },
          "unicastStatus": {
            "description": "Enable/disable unicast connection.\n",
            "type": "string"
          },
          "uninterruptiblePrimaryWait": {
            "description": "Number of minutes the primary HA unit waits before the secondary HA unit is considered upgraded and the system is started before starting its own upgrade (1 - 300, default = 30).\n",
            "type": "integer"
          },
          "uninterruptibleUpgrade": {
            "description": "Enable to upgrade a cluster without blocking network traffic.\n",
            "type": "string"
          },
          "upgradeMode": {
            "description": "The mode to upgrade a cluster.\n",
            "type": "string"
          },
          "vcluster2": {
            "description": "Enable/disable virtual cluster 2 for virtual clustering.\n",
            "type": "string"
          },
          "vclusterId": {
            "description": "Cluster ID.\n",
            "type": "integer"
          },
          "vclusterStatus": {
            "description": "Enable/disable virtual cluster for virtual clustering.\n",
            "type": "string"
          },
          "vclusters": {
            "description": "Virtual cluster table. The structure of `vcluster` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetHaVcluster:getHaVcluster"
            },
            "type": "array"
          },
          "vdom": {
            "description": "VDOMs in virtual cluster 2.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "weight": {
            "description": "Weight-round-robin weight for each cluster unit. Syntax \u003cpriority\u003e \u003cweight\u003e.\n",
            "type": "string"
          }
        },
        "required": [
          "arps",
          "arpsInterval",
          "authentication",
          "cpuThreshold",
          "encryption",
          "evpnTtl",
          "failoverHoldTime",
          "ftpProxyThreshold",
          "gratuitousArps",
          "groupId",
          "groupName",
          "haDirect",
          "haEthType",
          "haMgmtInterfaces",
          "haMgmtStatus",
          "haUptimeDiffMargin",
          "hbInterval",
          "hbIntervalInMilliseconds",
          "hbLostThreshold",
          "hbdev",
          "hcEthType",
          "helloHolddown",
          "httpProxyThreshold",
          "id",
          "imapProxyThreshold",
          "interClusterSessionSync",
          "ipsecPhase2Proposal",
          "key",
          "l2epEthType",
          "linkFailedSignal",
          "loadBalanceAll",
          "logicalSn",
          "memoryBasedFailover",
          "memoryCompatibleMode",
          "memoryFailoverFlipTimeout",
          "memoryFailoverMonitorPeriod",
          "memoryFailoverSampleRate",
          "memoryFailoverThreshold",
          "memoryThreshold",
          "mode",
          "monitor",
          "multicastTtl",
          "nntpProxyThreshold",
          "override",
          "overrideWaitTime",
          "password",
          "pingserverFailoverThreshold",
          "pingserverFlipTimeout",
          "pingserverMonitorInterface",
          "pingserverSecondaryForceReset",
          "pingserverSlaveForceReset",
          "pop3ProxyThreshold",
          "priority",
          "routeHold",
          "routeTtl",
          "routeWait",
          "schedule",
          "secondaryVclusters",
          "sessionPickup",
          "sessionPickupConnectionless",
          "sessionPickupDelay",
          "sessionPickupExpectation",
          "sessionPickupNat",
          "sessionSyncDev",
          "smtpProxyThreshold",
          "ssdFailover",
          "standaloneConfigSync",
          "standaloneMgmtVdom",
          "syncConfig",
          "syncPacketBalance",
          "unicastGateway",
          "unicastHb",
          "unicastHbNetmask",
          "unicastHbPeerip",
          "unicastPeers",
          "unicastStatus",
          "uninterruptiblePrimaryWait",
          "uninterruptibleUpgrade",
          "upgradeMode",
          "vcluster2",
          "vclusterId",
          "vclusterStatus",
          "vclusters",
          "vdom",
          "weight"
        ],
        "type": "object"
      }
    },
    "fortios:system/getHamonitor:getHamonitor": {
      "description": "Use this data source to get information on fortios system hamonitor\n",
      "inputs": {
        "description": "A collection of arguments for invoking getHamonitor.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getHamonitor.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "monitorVlan": {
            "description": "Enable/disable monitor VLAN interfaces.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vlanHbInterval": {
            "description": "Configure heartbeat interval (seconds).\n",
            "type": "integer"
          },
          "vlanHbLostThreshold": {
            "description": "VLAN lost heartbeat threshold (1 - 60).\n",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "monitorVlan",
          "vlanHbInterval",
          "vlanHbLostThreshold"
        ],
        "type": "object"
      }
    },
    "fortios:system/getInterface:getInterface": {
      "description": "Use this data source to get information on an fortios system interface\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.system.getInterface({\n    name: \"port1\",\n});\nexport const output1 = sample1.then(sample1 =\u003e sample1.ip);\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.system.get_interface(name=\"port1\")\npulumi.export(\"output1\", sample1.ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.System.GetInterface.Invoke(new()\n    {\n        Name = \"port1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = sample1.Apply(getInterfaceResult =\u003e getInterfaceResult.Ip),\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\tsample1, err := system.LookupInterface(ctx, \u0026system.LookupInterfaceArgs{\n\t\t\tName: \"port1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", sample1.Ip)\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.SystemFunctions;\nimport com.pulumi.fortios.system.inputs.GetInterfaceArgs;\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 sample1 = SystemFunctions.getInterface(GetInterfaceArgs.builder()\n            .name(\"port1\")\n            .build());\n\n        ctx.export(\"output1\", sample1.applyValue(getInterfaceResult -\u003e getInterfaceResult.ip()));\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:system:getInterface\n      Arguments:\n        name: port1\noutputs:\n  output1: ${sample1.ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInterface.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system interface.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getInterface.\n",
        "properties": {
          "acName": {
            "description": "PPPoE server name.\n",
            "type": "string"
          },
          "aggregate": {
            "description": "Aggregate interface.\n",
            "type": "string"
          },
          "aggregateType": {
            "description": "Type of aggregation.\n",
            "type": "string"
          },
          "algorithm": {
            "description": "Frame distribution algorithm.\n",
            "type": "string"
          },
          "alias": {
            "description": "Alias will be displayed with the interface name to make it easier to distinguish.\n",
            "type": "string"
          },
          "allowaccess": {
            "description": "Management access settings for the secondary IP address.\n",
            "type": "string"
          },
          "apDiscover": {
            "description": "Enable/disable automatic registration of unknown FortiAP devices.\n",
            "type": "string"
          },
          "arpforward": {
            "description": "Enable/disable ARP forwarding.\n",
            "type": "string"
          },
          "authCert": {
            "description": "HTTPS server certificate.\n",
            "type": "string"
          },
          "authPortalAddr": {
            "description": "Address of captive portal.\n",
            "type": "string"
          },
          "authType": {
            "description": "PPP authentication type to use.\n",
            "type": "string"
          },
          "autoAuthExtensionDevice": {
            "description": "Enable/disable automatic authorization of dedicated Fortinet extension device on this interface.\n",
            "type": "string"
          },
          "bandwidthMeasureTime": {
            "description": "Bandwidth measure time\n",
            "type": "integer"
          },
          "bfd": {
            "description": "Bidirectional Forwarding Detection (BFD) settings.\n",
            "type": "string"
          },
          "bfdDesiredMinTx": {
            "description": "BFD desired minimal transmit interval.\n",
            "type": "integer"
          },
          "bfdDetectMult": {
            "description": "BFD detection multiplier.\n",
            "type": "integer"
          },
          "bfdRequiredMinRx": {
            "description": "BFD required minimal receive interval.\n",
            "type": "integer"
          },
          "broadcastForticlientDiscovery": {
            "description": "Enable/disable broadcasting FortiClient discovery messages.\n",
            "type": "string"
          },
          "broadcastForward": {
            "description": "Enable/disable broadcast forwarding.\n",
            "type": "string"
          },
          "captivePortal": {
            "description": "Enable/disable captive portal.\n",
            "type": "integer"
          },
          "cliConnStatus": {
            "description": "CLI connection status.\n",
            "type": "integer"
          },
          "clientOptions": {
            "description": "DHCP client options. The structure of `client_options` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceClientOption:getInterfaceClientOption"
            },
            "type": "array"
          },
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "dedicatedTo": {
            "description": "Configure interface for single purpose.\n",
            "type": "string"
          },
          "defaultPurdueLevel": {
            "description": "default purdue level of device detected on this interface.\n",
            "type": "string"
          },
          "defaultgw": {
            "description": "Enable to get the gateway IP from the DHCP or PPPoE server.\n",
            "type": "string"
          },
          "description": {
            "description": "Description.\n",
            "type": "string"
          },
          "detectedPeerMtu": {
            "description": "MTU of detected peer (0 - 4294967295).\n",
            "type": "integer"
          },
          "detectprotocol": {
            "description": "Protocols used to detect the server.\n",
            "type": "string"
          },
          "detectserver": {
            "description": "Gateway's ping server for this IP.\n",
            "type": "string"
          },
          "deviceAccessList": {
            "description": "Device access list.\n",
            "type": "string"
          },
          "deviceIdentification": {
            "description": "Enable/disable passively gathering of device identity information about the devices on the network connected to this interface.\n",
            "type": "string"
          },
          "deviceIdentificationActiveScan": {
            "description": "Enable/disable active gathering of device identity information about the devices on the network connected to this interface.\n",
            "type": "string"
          },
          "deviceNetscan": {
            "description": "Enable/disable inclusion of devices detected on this interface in network vulnerability scans.\n",
            "type": "string"
          },
          "deviceUserIdentification": {
            "description": "Enable/disable passive gathering of user identity information about users on this interface.\n",
            "type": "string"
          },
          "devindex": {
            "description": "Device Index.\n",
            "type": "integer"
          },
          "dhcpBroadcastFlag": {
            "description": "Enable/disable setting of the broadcast flag in messages sent by the DHCP client (default = enable).\n",
            "type": "string"
          },
          "dhcpClasslessRouteAddition": {
            "description": "Enable/disable addition of classless static routes retrieved from DHCP server.\n",
            "type": "string"
          },
          "dhcpClientIdentifier": {
            "description": "DHCP client identifier.\n",
            "type": "string"
          },
          "dhcpRelayAgentOption": {
            "description": "Enable/disable DHCP relay agent option.\n",
            "type": "string"
          },
          "dhcpRelayAllowNoEndOption": {
            "description": "Enable/disable relaying DHCP messages with no end option.\n",
            "type": "string"
          },
          "dhcpRelayCircuitId": {
            "description": "DHCP relay circuit ID.\n",
            "type": "string"
          },
          "dhcpRelayInterface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "dhcpRelayInterfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "dhcpRelayIp": {
            "description": "DHCP relay IP address.\n",
            "type": "string"
          },
          "dhcpRelayLinkSelection": {
            "description": "DHCP relay link selection.\n",
            "type": "string"
          },
          "dhcpRelayRequestAllServer": {
            "description": "Enable/disable sending DHCP request to all servers.\n",
            "type": "string"
          },
          "dhcpRelayService": {
            "description": "Enable/disable allowing this interface to act as a DHCP relay.\n",
            "type": "string"
          },
          "dhcpRelaySourceIp": {
            "description": "IP address used by the DHCP relay as its source IP.\n",
            "type": "string"
          },
          "dhcpRelayType": {
            "description": "DHCP relay type (regular or IPsec).\n",
            "type": "string"
          },
          "dhcpRenewTime": {
            "description": "DHCP renew time in seconds (300-604800), 0 means use the renew time provided by the server.\n",
            "type": "integer"
          },
          "dhcpSmartRelay": {
            "description": "Enable/disable DHCP smart relay.\n",
            "type": "string"
          },
          "dhcpSnoopingServerLists": {
            "description": "Configure DHCP server access list. The structure of `dhcp_snooping_server_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceDhcpSnoopingServerList:getInterfaceDhcpSnoopingServerList"
            },
            "type": "array"
          },
          "discRetryTimeout": {
            "description": "Time in seconds to wait before retrying to start a PPPoE discovery, 0 means no timeout.\n",
            "type": "integer"
          },
          "disconnectThreshold": {
            "description": "Time in milliseconds to wait before sending a notification that this interface is down or disconnected.\n",
            "type": "integer"
          },
          "distance": {
            "description": "Distance for routes learned through PPPoE or DHCP, lower distance indicates preferred route.\n",
            "type": "integer"
          },
          "dnsServerOverride": {
            "description": "Enable/disable use DNS acquired by DHCP or PPPoE.\n",
            "type": "string"
          },
          "dnsServerProtocol": {
            "description": "DNS transport protocols.\n",
            "type": "string"
          },
          "dropFragment": {
            "description": "Enable/disable drop fragment packets.\n",
            "type": "string"
          },
          "dropOverlappedFragment": {
            "description": "Enable/disable drop overlapped fragment packets.\n",
            "type": "string"
          },
          "eapCaCert": {
            "description": "EAP CA certificate name.\n",
            "type": "string"
          },
          "eapIdentity": {
            "description": "EAP identity.\n",
            "type": "string"
          },
          "eapMethod": {
            "description": "EAP method.\n",
            "type": "string"
          },
          "eapPassword": {
            "description": "EAP password.\n",
            "secret": true,
            "type": "string"
          },
          "eapSupplicant": {
            "description": "Enable/disable EAP-Supplicant.\n",
            "type": "string"
          },
          "eapUserCert": {
            "description": "EAP user certificate name.\n",
            "type": "string"
          },
          "egressShapingProfile": {
            "description": "Outgoing traffic shaping profile.\n",
            "type": "string"
          },
          "endpointCompliance": {
            "description": "Enable/disable endpoint compliance enforcement.\n",
            "type": "string"
          },
          "estimatedDownstreamBandwidth": {
            "description": "Estimated maximum downstream bandwidth (kbps). Used to estimate link utilization.\n",
            "type": "integer"
          },
          "estimatedUpstreamBandwidth": {
            "description": "Estimated maximum upstream bandwidth (kbps). Used to estimate link utilization.\n",
            "type": "integer"
          },
          "explicitFtpProxy": {
            "description": "Enable/disable the explicit FTP proxy on this interface.\n",
            "type": "string"
          },
          "explicitWebProxy": {
            "description": "Enable/disable the explicit web proxy on this interface.\n",
            "type": "string"
          },
          "external": {
            "description": "Enable/disable identifying the interface as an external interface (which usually means it's connected to the Internet).\n",
            "type": "string"
          },
          "failActionOnExtender": {
            "description": "Action on extender when interface fail .\n",
            "type": "string"
          },
          "failAlertInterfaces": {
            "description": "Names of the FortiGate interfaces from which the link failure alert is sent for this interface. The structure of `fail_alert_interfaces` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceFailAlertInterface:getInterfaceFailAlertInterface"
            },
            "type": "array"
          },
          "failAlertMethod": {
            "description": "Select link-failed-signal or link-down method to alert about a failed link.\n",
            "type": "string"
          },
          "failDetect": {
            "description": "Enable/disable fail detection features for this interface.\n",
            "type": "string"
          },
          "failDetectOption": {
            "description": "Options for detecting that this interface has failed.\n",
            "type": "string"
          },
          "fortiheartbeat": {
            "description": "Enable/disable FortiHeartBeat (FortiTelemetry on GUI).\n",
            "type": "string"
          },
          "fortilink": {
            "description": "Enable FortiLink to dedicate this interface to manage other Fortinet devices.\n",
            "type": "string"
          },
          "fortilinkBackupLink": {
            "description": "fortilink split interface backup link.\n",
            "type": "integer"
          },
          "fortilinkNeighborDetect": {
            "description": "Protocol for FortiGate neighbor discovery.\n",
            "type": "string"
          },
          "fortilinkSplitInterface": {
            "description": "Enable/disable FortiLink split interface to connect member link to different FortiSwitch in stack for uplink redundancy.\n",
            "type": "string"
          },
          "fortilinkStacking": {
            "description": "Enable/disable FortiLink switch-stacking on this interface.\n",
            "type": "string"
          },
          "forwardDomain": {
            "description": "Transparent mode forward domain.\n",
            "type": "integer"
          },
          "forwardErrorCorrection": {
            "description": "Configure forward error correction (FEC).\n",
            "type": "string"
          },
          "gwdetect": {
            "description": "Enable/disable detect gateway alive for first.\n",
            "type": "string"
          },
          "haPriority": {
            "description": "HA election priority for the PING server.\n",
            "type": "integer"
          },
          "icmpAcceptRedirect": {
            "description": "Enable/disable ICMP accept redirect.\n",
            "type": "string"
          },
          "icmpSendRedirect": {
            "description": "Enable/disable ICMP send redirect.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "identAccept": {
            "description": "Enable/disable authentication for this interface.\n",
            "type": "string"
          },
          "idleTimeout": {
            "description": "PPPoE auto disconnect after idle timeout seconds, 0 means no timeout.\n",
            "type": "integer"
          },
          "ikeSamlServer": {
            "description": "Configure IKE authentication SAML server.\n",
            "type": "string"
          },
          "inbandwidth": {
            "description": "Bandwidth limit for incoming traffic (0 - 16776000 kbps), 0 means unlimited.\n",
            "type": "integer"
          },
          "ingressShapingProfile": {
            "description": "Incoming traffic shaping profile.\n",
            "type": "string"
          },
          "ingressSpilloverThreshold": {
            "description": "Ingress Spillover threshold (0 - 16776000 kbps).\n",
            "type": "integer"
          },
          "interface": {
            "description": "Interface name.\n",
            "language": {
              "csharp": {
                "name": "Data"
              }
            },
            "type": "string"
          },
          "internal": {
            "description": "Implicitly created.\n",
            "type": "integer"
          },
          "ip": {
            "description": "Secondary IP address of the interface.\n",
            "type": "string"
          },
          "ipManagedByFortiipam": {
            "description": "Enable/disable automatic IP address assignment of this interface by FortiIPAM.\n",
            "type": "string"
          },
          "ipmac": {
            "description": "Enable/disable IP/MAC binding.\n",
            "type": "string"
          },
          "ipsSnifferMode": {
            "description": "Enable/disable the use of this interface as a one-armed sniffer.\n",
            "type": "string"
          },
          "ipunnumbered": {
            "description": "Unnumbered IP used for PPPoE interfaces for which no unique local address is provided.\n",
            "type": "string"
          },
          "ipv6s": {
            "description": "IPv6 of interface. The structure of `ipv6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceIpv6:getInterfaceIpv6"
            },
            "type": "array"
          },
          "l2forward": {
            "description": "Enable/disable l2 forwarding.\n",
            "type": "string"
          },
          "lacpHaSecondary": {
            "description": "LACP HA secondary member.\n",
            "type": "string"
          },
          "lacpHaSlave": {
            "description": "LACP HA slave.\n",
            "type": "string"
          },
          "lacpMode": {
            "description": "LACP mode.\n",
            "type": "string"
          },
          "lacpSpeed": {
            "description": "How often the interface sends LACP messages.\n",
            "type": "string"
          },
          "lcpEchoInterval": {
            "description": "Time in seconds between PPPoE Link Control Protocol (LCP) echo requests.\n",
            "type": "integer"
          },
          "lcpMaxEchoFails": {
            "description": "Maximum missed LCP echo messages before disconnect.\n",
            "type": "integer"
          },
          "linkUpDelay": {
            "description": "Number of milliseconds to wait before considering a link is up.\n",
            "type": "integer"
          },
          "lldpNetworkPolicy": {
            "description": "LLDP-MED network policy profile.\n",
            "type": "string"
          },
          "lldpReception": {
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) reception.\n",
            "type": "string"
          },
          "lldpTransmission": {
            "description": "Enable/disable Link Layer Discovery Protocol (LLDP) transmission.\n",
            "type": "string"
          },
          "macaddr": {
            "description": "Change the interface's MAC address.\n",
            "type": "string"
          },
          "managedDevices": {
            "description": "Available when FortiLink is enabled, used for managed devices through FortiLink interface. The structure of `managed_device` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceManagedDevice:getInterfaceManagedDevice"
            },
            "type": "array"
          },
          "managedSubnetworkSize": {
            "description": "Number of IP addresses to be allocated by FortiIPAM and used by this FortiGate unit's DHCP server settings.\n",
            "type": "string"
          },
          "managementIp": {
            "description": "High Availability in-band management IP address of this interface.\n",
            "type": "string"
          },
          "measuredDownstreamBandwidth": {
            "description": "Measured downstream bandwidth (kbps).\n",
            "type": "integer"
          },
          "measuredUpstreamBandwidth": {
            "description": "Measured upstream bandwidth (kbps).\n",
            "type": "integer"
          },
          "mediatype": {
            "description": "Select SFP media interface type\n",
            "type": "string"
          },
          "members": {
            "description": "Physical interfaces that belong to the aggregate or redundant interface. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceMember:getInterfaceMember"
            },
            "type": "array"
          },
          "minLinks": {
            "description": "Minimum number of aggregated ports that must be up.\n",
            "type": "integer"
          },
          "minLinksDown": {
            "description": "Action to take when less than the configured minimum number of links are active.\n",
            "type": "string"
          },
          "mode": {
            "description": "Addressing mode (static, DHCP, PPPoE).\n",
            "type": "string"
          },
          "monitorBandwidth": {
            "description": "Enable monitoring bandwidth on this interface.\n",
            "type": "string"
          },
          "mtu": {
            "description": "MTU value for this interface.\n",
            "type": "integer"
          },
          "mtuOverride": {
            "description": "Enable to set a custom MTU for this interface.\n",
            "type": "string"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "ndiscforward": {
            "description": "Enable/disable NDISC forwarding.\n",
            "type": "string"
          },
          "netbiosForward": {
            "description": "Enable/disable NETBIOS forwarding.\n",
            "type": "string"
          },
          "netflowSampler": {
            "description": "Enable/disable NetFlow on this interface and set the data that NetFlow collects (rx, tx, or both).\n",
            "type": "string"
          },
          "outbandwidth": {
            "description": "Bandwidth limit for outgoing traffic (0 - 16776000 kbps).\n",
            "type": "integer"
          },
          "padtRetryTimeout": {
            "description": "PPPoE Active Discovery Terminate (PADT) used to terminate sessions after an idle time.\n",
            "type": "integer"
          },
          "password": {
            "description": "PPPoE account's password.\n",
            "secret": true,
            "type": "string"
          },
          "pingServStatus": {
            "description": "PING server status.\n",
            "type": "integer"
          },
          "pollingInterval": {
            "description": "sFlow polling interval (1 - 255 sec).\n",
            "type": "integer"
          },
          "pppoeUnnumberedNegotiate": {
            "description": "Enable/disable PPPoE unnumbered negotiation.\n",
            "type": "string"
          },
          "pptpAuthType": {
            "description": "PPTP authentication type.\n",
            "type": "string"
          },
          "pptpClient": {
            "description": "Enable/disable PPTP client.\n",
            "type": "string"
          },
          "pptpPassword": {
            "description": "PPTP password.\n",
            "secret": true,
            "type": "string"
          },
          "pptpServerIp": {
            "description": "PPTP server IP address.\n",
            "type": "string"
          },
          "pptpTimeout": {
            "description": "Idle timer in minutes (0 for disabled).\n",
            "type": "integer"
          },
          "pptpUser": {
            "description": "PPTP user name.\n",
            "type": "string"
          },
          "preserveSessionRoute": {
            "description": "Enable/disable preservation of session route when dirty.\n",
            "type": "string"
          },
          "priority": {
            "description": "Priority of the virtual router (1 - 255).\n",
            "type": "integer"
          },
          "priorityOverride": {
            "description": "Enable/disable fail back to higher priority port once recovered.\n",
            "type": "string"
          },
          "proxyCaptivePortal": {
            "description": "Enable/disable proxy captive portal on this interface.\n",
            "type": "string"
          },
          "reachableTime": {
            "description": "IPv4 reachable time in milliseconds (30000 - 3600000, default = 30000).\n",
            "type": "integer"
          },
          "redundantInterface": {
            "description": "Redundant interface.\n",
            "type": "string"
          },
          "remoteIp": {
            "description": "Remote IP address of tunnel.\n",
            "type": "string"
          },
          "replacemsgOverrideGroup": {
            "description": "Replacement message override group.\n",
            "type": "string"
          },
          "ringRx": {
            "description": "RX ring size.\n",
            "type": "integer"
          },
          "ringTx": {
            "description": "TX ring size.\n",
            "type": "integer"
          },
          "role": {
            "description": "Interface role.\n",
            "type": "string"
          },
          "sampleDirection": {
            "description": "Data that NetFlow collects (rx, tx, or both).\n",
            "type": "string"
          },
          "sampleRate": {
            "description": "sFlow sample rate (10 - 99999).\n",
            "type": "integer"
          },
          "scanBotnetConnections": {
            "description": "Enable monitoring or blocking connections to Botnet servers through this interface.\n",
            "type": "string"
          },
          "secondaryIp": {
            "description": "Enable/disable adding a secondary IP to this interface.\n",
            "type": "string"
          },
          "secondaryips": {
            "description": "Second IP address of interface. The structure of `secondaryip` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceSecondaryip:getInterfaceSecondaryip"
            },
            "type": "array"
          },
          "securityExemptList": {
            "description": "Name of security-exempt-list.\n",
            "type": "string"
          },
          "securityExternalLogout": {
            "description": "URL of external authentication logout server.\n",
            "type": "string"
          },
          "securityExternalWeb": {
            "description": "URL of external authentication web server.\n",
            "type": "string"
          },
          "securityGroups": {
            "description": "User groups that can authenticate with the captive portal. The structure of `security_groups` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceSecurityGroup:getInterfaceSecurityGroup"
            },
            "type": "array"
          },
          "securityMacAuthBypass": {
            "description": "Enable/disable MAC authentication bypass.\n",
            "type": "string"
          },
          "securityMode": {
            "description": "Turn on captive portal authentication for this interface.\n",
            "type": "string"
          },
          "securityRedirectUrl": {
            "description": "URL redirection after disclaimer/authentication.\n",
            "type": "string"
          },
          "serviceName": {
            "description": "PPPoE service name.\n",
            "type": "string"
          },
          "sflowSampler": {
            "description": "Enable/disable sFlow on this interface.\n",
            "type": "string"
          },
          "snmpIndex": {
            "description": "Permanent SNMP Index of the interface.\n",
            "type": "integer"
          },
          "speed": {
            "description": "Interface speed. The default setting and the options available depend on the interface hardware.\n",
            "type": "string"
          },
          "spilloverThreshold": {
            "description": "Egress Spillover threshold (0 - 16776000 kbps), 0 means unlimited.\n",
            "type": "integer"
          },
          "srcCheck": {
            "description": "Enable/disable source IP check.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable VRRP.\n",
            "type": "string"
          },
          "stp": {
            "description": "Enable/disable STP.\n",
            "type": "string"
          },
          "stpHaSecondary": {
            "description": "Control STP behaviour on HA secondary.\n",
            "type": "string"
          },
          "stpforward": {
            "description": "Enable/disable STP forwarding.\n",
            "type": "string"
          },
          "stpforwardMode": {
            "description": "Configure STP forwarding mode.\n",
            "type": "string"
          },
          "subst": {
            "description": "Enable to always send packets from this interface to a destination MAC address.\n",
            "type": "string"
          },
          "substituteDstMac": {
            "description": "Destination MAC address that all packets are sent to from this interface.\n",
            "type": "string"
          },
          "swcFirstCreate": {
            "description": "Initial create for switch-controller VLANs.\n",
            "type": "integer"
          },
          "swcVlan": {
            "description": "Creation status for switch-controller VLANs.\n",
            "type": "integer"
          },
          "switch": {
            "description": "Contained in switch.\n",
            "type": "string"
          },
          "switchControllerAccessVlan": {
            "description": "Block FortiSwitch port-to-port traffic.\n",
            "type": "string"
          },
          "switchControllerArpInspection": {
            "description": "Enable/disable FortiSwitch ARP inspection.\n",
            "type": "string"
          },
          "switchControllerDhcpSnooping": {
            "description": "Switch controller DHCP snooping.\n",
            "type": "string"
          },
          "switchControllerDhcpSnoopingOption82": {
            "description": "Switch controller DHCP snooping option82.\n",
            "type": "string"
          },
          "switchControllerDhcpSnoopingVerifyMac": {
            "description": "Switch controller DHCP snooping verify MAC.\n",
            "type": "string"
          },
          "switchControllerDynamic": {
            "description": "Integrated FortiLink settings for managed FortiSwitch.\n",
            "type": "string"
          },
          "switchControllerFeature": {
            "description": "Interface's purpose when assigning traffic (read only).\n",
            "type": "string"
          },
          "switchControllerIgmpSnooping": {
            "description": "Switch controller IGMP snooping.\n",
            "type": "string"
          },
          "switchControllerIgmpSnoopingFastLeave": {
            "description": "Switch controller IGMP snooping fast-leave.\n",
            "type": "string"
          },
          "switchControllerIgmpSnoopingProxy": {
            "description": "Switch controller IGMP snooping proxy.\n",
            "type": "string"
          },
          "switchControllerIotScanning": {
            "description": "Enable/disable managed FortiSwitch IoT scanning.\n",
            "type": "string"
          },
          "switchControllerLearningLimit": {
            "description": "Limit the number of dynamic MAC addresses on this VLAN (1 - 128, 0 = no limit, default).\n",
            "type": "integer"
          },
          "switchControllerMgmtVlan": {
            "description": "VLAN to use for FortiLink management purposes.\n",
            "type": "integer"
          },
          "switchControllerNac": {
            "description": "Integrated NAC settings for managed FortiSwitch.\n",
            "type": "string"
          },
          "switchControllerNetflowCollect": {
            "description": "NetFlow collection and processing.\n",
            "type": "string"
          },
          "switchControllerOffload": {
            "description": "Enable/disable managed FortiSwitch routing offload.\n",
            "type": "string"
          },
          "switchControllerOffloadGw": {
            "description": "Enable/disable managed FortiSwitch routing offload gateway.\n",
            "type": "string"
          },
          "switchControllerOffloadIp": {
            "description": "IP for routing offload on FortiSwitch.\n",
            "type": "string"
          },
          "switchControllerRspanMode": {
            "description": "Stop Layer2 MAC learning and interception of BPDUs and other packets on this interface.\n",
            "type": "string"
          },
          "switchControllerSourceIp": {
            "description": "Source IP address used in FortiLink over L3 connections.\n",
            "type": "string"
          },
          "switchControllerTrafficPolicy": {
            "description": "Switch controller traffic policy for the VLAN.\n",
            "type": "string"
          },
          "systemId": {
            "description": "Define a system ID for the aggregate interface.\n",
            "type": "string"
          },
          "systemIdType": {
            "description": "Method in which system ID is generated.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceTagging:getInterfaceTagging"
            },
            "type": "array"
          },
          "tcpMss": {
            "description": "TCP maximum segment size. 0 means do not change segment size.\n",
            "type": "integer"
          },
          "trunk": {
            "description": "Enable/disable VLAN trunk.\n",
            "type": "string"
          },
          "trustIp1": {
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n",
            "type": "string"
          },
          "trustIp2": {
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n",
            "type": "string"
          },
          "trustIp3": {
            "description": "Trusted host for dedicated management traffic (0.0.0.0/24 for all hosts).\n",
            "type": "string"
          },
          "trustIp61": {
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n",
            "type": "string"
          },
          "trustIp62": {
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n",
            "type": "string"
          },
          "trustIp63": {
            "description": "Trusted IPv6 host for dedicated management traffic (::/0 for all hosts).\n",
            "type": "string"
          },
          "type": {
            "description": "DHCP client option type.\n",
            "type": "string"
          },
          "username": {
            "description": "Username of the PPPoE account, provided by your ISP.\n",
            "type": "string"
          },
          "vdom": {
            "description": "Interface is in this virtual domain (VDOM).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vindex": {
            "description": "Switch control interface VLAN ID.\n",
            "type": "integer"
          },
          "vlanProtocol": {
            "description": "Ethernet protocol of VLAN.\n",
            "type": "string"
          },
          "vlanforward": {
            "description": "Enable/disable traffic forwarding between VLANs on this interface.\n",
            "type": "string"
          },
          "vlanid": {
            "description": "VLAN ID (1 - 4094).\n",
            "type": "integer"
          },
          "vrf": {
            "description": "Virtual Routing Forwarding ID.\n",
            "type": "integer"
          },
          "vrrpVirtualMac": {
            "description": "Enable/disable use of virtual MAC for VRRP.\n",
            "type": "string"
          },
          "vrrps": {
            "description": "VRRP configuration. The structure of `vrrp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetInterfaceVrrp:getInterfaceVrrp"
            },
            "type": "array"
          },
          "wccp": {
            "description": "Enable/disable WCCP on this interface. Used for encapsulated WCCP communication between WCCP clients and servers.\n",
            "type": "string"
          },
          "weight": {
            "description": "Default weight for static routes (if route has no weight configured).\n",
            "type": "integer"
          },
          "winsIp": {
            "description": "WINS server IP.\n",
            "type": "string"
          }
        },
        "required": [
          "acName",
          "aggregate",
          "aggregateType",
          "algorithm",
          "alias",
          "allowaccess",
          "apDiscover",
          "arpforward",
          "authCert",
          "authPortalAddr",
          "authType",
          "autoAuthExtensionDevice",
          "bandwidthMeasureTime",
          "bfd",
          "bfdDesiredMinTx",
          "bfdDetectMult",
          "bfdRequiredMinRx",
          "broadcastForticlientDiscovery",
          "broadcastForward",
          "captivePortal",
          "cliConnStatus",
          "clientOptions",
          "color",
          "dedicatedTo",
          "defaultPurdueLevel",
          "defaultgw",
          "description",
          "detectedPeerMtu",
          "detectprotocol",
          "detectserver",
          "deviceAccessList",
          "deviceIdentification",
          "deviceIdentificationActiveScan",
          "deviceNetscan",
          "deviceUserIdentification",
          "devindex",
          "dhcpBroadcastFlag",
          "dhcpClasslessRouteAddition",
          "dhcpClientIdentifier",
          "dhcpRelayAgentOption",
          "dhcpRelayAllowNoEndOption",
          "dhcpRelayCircuitId",
          "dhcpRelayInterface",
          "dhcpRelayInterfaceSelectMethod",
          "dhcpRelayIp",
          "dhcpRelayLinkSelection",
          "dhcpRelayRequestAllServer",
          "dhcpRelayService",
          "dhcpRelaySourceIp",
          "dhcpRelayType",
          "dhcpRenewTime",
          "dhcpSmartRelay",
          "dhcpSnoopingServerLists",
          "discRetryTimeout",
          "disconnectThreshold",
          "distance",
          "dnsServerOverride",
          "dnsServerProtocol",
          "dropFragment",
          "dropOverlappedFragment",
          "eapCaCert",
          "eapIdentity",
          "eapMethod",
          "eapPassword",
          "eapSupplicant",
          "eapUserCert",
          "egressShapingProfile",
          "endpointCompliance",
          "estimatedDownstreamBandwidth",
          "estimatedUpstreamBandwidth",
          "explicitFtpProxy",
          "explicitWebProxy",
          "external",
          "failActionOnExtender",
          "failAlertInterfaces",
          "failAlertMethod",
          "failDetect",
          "failDetectOption",
          "fortiheartbeat",
          "fortilink",
          "fortilinkBackupLink",
          "fortilinkNeighborDetect",
          "fortilinkSplitInterface",
          "fortilinkStacking",
          "forwardDomain",
          "forwardErrorCorrection",
          "gwdetect",
          "haPriority",
          "icmpAcceptRedirect",
          "icmpSendRedirect",
          "id",
          "identAccept",
          "idleTimeout",
          "ikeSamlServer",
          "inbandwidth",
          "ingressShapingProfile",
          "ingressSpilloverThreshold",
          "interface",
          "internal",
          "ip",
          "ipManagedByFortiipam",
          "ipmac",
          "ipsSnifferMode",
          "ipunnumbered",
          "ipv6s",
          "l2forward",
          "lacpHaSecondary",
          "lacpHaSlave",
          "lacpMode",
          "lacpSpeed",
          "lcpEchoInterval",
          "lcpMaxEchoFails",
          "linkUpDelay",
          "lldpNetworkPolicy",
          "lldpReception",
          "lldpTransmission",
          "macaddr",
          "managedDevices",
          "managedSubnetworkSize",
          "managementIp",
          "measuredDownstreamBandwidth",
          "measuredUpstreamBandwidth",
          "mediatype",
          "members",
          "minLinks",
          "minLinksDown",
          "mode",
          "monitorBandwidth",
          "mtu",
          "mtuOverride",
          "name",
          "ndiscforward",
          "netbiosForward",
          "netflowSampler",
          "outbandwidth",
          "padtRetryTimeout",
          "password",
          "pingServStatus",
          "pollingInterval",
          "pppoeUnnumberedNegotiate",
          "pptpAuthType",
          "pptpClient",
          "pptpPassword",
          "pptpServerIp",
          "pptpTimeout",
          "pptpUser",
          "preserveSessionRoute",
          "priority",
          "priorityOverride",
          "proxyCaptivePortal",
          "reachableTime",
          "redundantInterface",
          "remoteIp",
          "replacemsgOverrideGroup",
          "ringRx",
          "ringTx",
          "role",
          "sampleDirection",
          "sampleRate",
          "scanBotnetConnections",
          "secondaryIp",
          "secondaryips",
          "securityExemptList",
          "securityExternalLogout",
          "securityExternalWeb",
          "securityGroups",
          "securityMacAuthBypass",
          "securityMode",
          "securityRedirectUrl",
          "serviceName",
          "sflowSampler",
          "snmpIndex",
          "speed",
          "spilloverThreshold",
          "srcCheck",
          "status",
          "stp",
          "stpHaSecondary",
          "stpforward",
          "stpforwardMode",
          "subst",
          "substituteDstMac",
          "swcFirstCreate",
          "swcVlan",
          "switch",
          "switchControllerAccessVlan",
          "switchControllerArpInspection",
          "switchControllerDhcpSnooping",
          "switchControllerDhcpSnoopingOption82",
          "switchControllerDhcpSnoopingVerifyMac",
          "switchControllerDynamic",
          "switchControllerFeature",
          "switchControllerIgmpSnooping",
          "switchControllerIgmpSnoopingFastLeave",
          "switchControllerIgmpSnoopingProxy",
          "switchControllerIotScanning",
          "switchControllerLearningLimit",
          "switchControllerMgmtVlan",
          "switchControllerNac",
          "switchControllerNetflowCollect",
          "switchControllerOffload",
          "switchControllerOffloadGw",
          "switchControllerOffloadIp",
          "switchControllerRspanMode",
          "switchControllerSourceIp",
          "switchControllerTrafficPolicy",
          "systemId",
          "systemIdType",
          "taggings",
          "tcpMss",
          "trunk",
          "trustIp1",
          "trustIp2",
          "trustIp3",
          "trustIp61",
          "trustIp62",
          "trustIp63",
          "type",
          "username",
          "vdom",
          "vindex",
          "vlanProtocol",
          "vlanforward",
          "vlanid",
          "vrf",
          "vrrpVirtualMac",
          "vrrps",
          "wccp",
          "weight",
          "winsIp"
        ],
        "type": "object"
      }
    },
    "fortios:system/getInterfacelist:getInterfacelist": {
      "description": "Provides a list of `fortios.system.Interface`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumi/fortios\";\n\nconst sample1 = fortios.system.getInterfacelist({\n    filter: \"name!=port1\",\n});\nexport const output1 = data.fortios_system_interfacelist.sample2.namelist;\n```\n```python\nimport pulumi\nimport pulumi_fortios as fortios\n\nsample1 = fortios.system.get_interfacelist(filter=\"name!=port1\")\npulumi.export(\"output1\", data[\"fortios_system_interfacelist\"][\"sample2\"][\"namelist\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumi.Fortios;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sample1 = Fortios.System.GetInterfacelist.Invoke(new()\n    {\n        Filter = \"name!=port1\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"output1\"] = data.Fortios_system_interfacelist.Sample2.Namelist,\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.GetInterfacelist(ctx, \u0026system.GetInterfacelistArgs{\n\t\t\tFilter: pulumi.StringRef(\"name!=port1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"output1\", data.Fortios_system_interfacelist.Sample2.Namelist)\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.SystemFunctions;\nimport com.pulumi.fortios.system.inputs.GetInterfacelistArgs;\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 sample1 = SystemFunctions.getInterfacelist(GetInterfacelistArgs.builder()\n            .filter(\"name!=port1\")\n            .build());\n\n        ctx.export(\"output1\", data.fortios_system_interfacelist().sample2().namelist());\n    }\n}\n```\n```yaml\nvariables:\n  sample1:\n    fn::invoke:\n      Function: fortios:system:getInterfacelist\n      Arguments:\n        filter: name!=port1\noutputs:\n  output1: ${data.fortios_system_interfacelist.sample2.namelist}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInterfacelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getInterfacelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Interface`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpiptunnel:getIpiptunnel": {
      "description": "Use this data source to get information on an fortios system ipiptunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpiptunnel.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system ipiptunnel.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getIpiptunnel.\n",
        "properties": {
          "autoAsicOffload": {
            "description": "Enable/disable tunnel ASIC offloading.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface name that is associated with the incoming traffic from available options.\n",
            "type": "string"
          },
          "localGw": {
            "description": "IPv4 address for the local gateway.\n",
            "type": "string"
          },
          "name": {
            "description": "IPIP Tunnel name.\n",
            "type": "string"
          },
          "remoteGw": {
            "description": "IPv4 address for the remote gateway.\n",
            "type": "string"
          },
          "useSdwan": {
            "description": "Enable/disable use of SD-WAN to reach remote gateway.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "autoAsicOffload",
          "id",
          "interface",
          "localGw",
          "name",
          "remoteGw",
          "useSdwan"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpiptunnellist:getIpiptunnellist": {
      "description": "Provides a list of `fortios.system.Ipiptunnel`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpiptunnellist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getIpiptunnellist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Ipiptunnel`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpv6neighborcache:getIpv6neighborcache": {
      "description": "Use this data source to get information on an fortios system ipv6neighborcache\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpv6neighborcache.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system ipv6neighborcache.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getIpv6neighborcache.\n",
        "properties": {
          "fosid": {
            "description": "Unique integer ID of the entry.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Select the associated interface name from available options.\n",
            "type": "string"
          },
          "ipv6": {
            "description": "IPv6 address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n",
            "type": "string"
          },
          "mac": {
            "description": "MAC address (format: xx:xx:xx:xx:xx:xx).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosid",
          "id",
          "interface",
          "ipv6",
          "mac"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpv6neighborcachelist:getIpv6neighborcachelist": {
      "description": "Provides a list of `fortios.system.Ipv6neighborcache`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpv6neighborcachelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getIpv6neighborcachelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Ipv6neighborcache`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpv6tunnel:getIpv6tunnel": {
      "description": "Use this data source to get information on an fortios system ipv6tunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpv6tunnel.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system ipv6tunnel.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getIpv6tunnel.\n",
        "properties": {
          "autoAsicOffload": {
            "description": "Enable/disable tunnel ASIC offloading.\n",
            "type": "string"
          },
          "destination": {
            "description": "Remote IPv6 address of the tunnel.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface name.\n",
            "type": "string"
          },
          "name": {
            "description": "IPv6 tunnel name.\n",
            "type": "string"
          },
          "source": {
            "description": "Local IPv6 address of the tunnel.\n",
            "type": "string"
          },
          "useSdwan": {
            "description": "Enable/disable use of SD-WAN to reach remote gateway.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "autoAsicOffload",
          "destination",
          "id",
          "interface",
          "name",
          "source",
          "useSdwan"
        ],
        "type": "object"
      }
    },
    "fortios:system/getIpv6tunnellist:getIpv6tunnellist": {
      "description": "Provides a list of `fortios.system.Ipv6tunnel`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIpv6tunnellist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getIpv6tunnellist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Ipv6tunnel`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getLinkmonitor:getLinkmonitor": {
      "description": "Use this data source to get information on an fortios system linkmonitor\n",
      "inputs": {
        "description": "A collection of arguments for invoking getLinkmonitor.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system linkmonitor.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getLinkmonitor.\n",
        "properties": {
          "addrMode": {
            "description": "Address mode (IPv4 or IPv6).\n",
            "type": "string"
          },
          "classId": {
            "description": "Traffic class ID.\n",
            "type": "integer"
          },
          "diffservcode": {
            "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n",
            "type": "string"
          },
          "failWeight": {
            "description": "Threshold weight to trigger link failure alert.\n",
            "type": "integer"
          },
          "failtime": {
            "description": "Number of retry attempts before the server is considered down (1 - 10, default = 5)\n",
            "type": "integer"
          },
          "gatewayIp": {
            "description": "Gateway IP address used to probe the server.\n",
            "type": "string"
          },
          "gatewayIp6": {
            "description": "Gateway IPv6 address used to probe the server.\n",
            "type": "string"
          },
          "haPriority": {
            "description": "HA election priority (1 - 50).\n",
            "type": "integer"
          },
          "httpAgent": {
            "description": "String in the http-agent field in the HTTP header.\n",
            "type": "string"
          },
          "httpGet": {
            "description": "If you are monitoring an HTML server you can send an HTTP-GET request with a custom string. Use this option to define the string.\n",
            "type": "string"
          },
          "httpMatch": {
            "description": "String that you expect to see in the HTTP-GET requests of the traffic to be monitored.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interval": {
            "description": "Detection interval (1 - 3600 sec, default = 5).\n",
            "type": "integer"
          },
          "name": {
            "description": "Link monitor name.\n",
            "type": "string"
          },
          "packetSize": {
            "description": "Packet size of a twamp test session,\n",
            "type": "integer"
          },
          "password": {
            "description": "Twamp controller password in authentication mode\n",
            "secret": true,
            "type": "string"
          },
          "port": {
            "description": "Port number of the traffic to be used to monitor the server.\n",
            "type": "integer"
          },
          "probeCount": {
            "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n",
            "type": "integer"
          },
          "probeTimeout": {
            "description": "Time to wait before a probe packet is considered lost (500 - 5000 msec, default = 500).\n",
            "type": "integer"
          },
          "protocol": {
            "description": "Protocols used to monitor the server.\n",
            "type": "string"
          },
          "recoverytime": {
            "description": "Number of successful responses received before server is considered recovered (1 - 10, default = 5).\n",
            "type": "integer"
          },
          "routes": {
            "description": "Subnet to monitor. The structure of `route` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetLinkmonitorRoute:getLinkmonitorRoute"
            },
            "type": "array"
          },
          "securityMode": {
            "description": "Twamp controller security mode.\n",
            "type": "string"
          },
          "serverConfig": {
            "description": "Mode of server configuration.\n",
            "type": "string"
          },
          "serverLists": {
            "description": "Servers for link-monitor to monitor. The structure of `server_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetLinkmonitorServerList:getLinkmonitorServerList"
            },
            "type": "array"
          },
          "serverType": {
            "description": "Server type (static or dynamic).\n",
            "type": "string"
          },
          "servers": {
            "description": "IP address of the server(s) to be monitored. The structure of `server` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetLinkmonitorServer:getLinkmonitorServer"
            },
            "type": "array"
          },
          "serviceDetection": {
            "description": "Only use monitor to read quality values. If enabled, static routes and cascade interfaces will not be updated.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address used in packet to the server.\n",
            "type": "string"
          },
          "sourceIp6": {
            "description": "Source IPv6 address used in packet to the server.\n",
            "type": "string"
          },
          "srcintf": {
            "description": "Interface that receives the traffic to be monitored.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this link monitor.\n",
            "type": "string"
          },
          "updateCascadeInterface": {
            "description": "Enable/disable update cascade interface.\n",
            "type": "string"
          },
          "updatePolicyRoute": {
            "description": "Enable/disable updating the policy route.\n",
            "type": "string"
          },
          "updateStaticRoute": {
            "description": "Enable/disable updating the static route.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "addrMode",
          "classId",
          "diffservcode",
          "failWeight",
          "failtime",
          "gatewayIp",
          "gatewayIp6",
          "haPriority",
          "httpAgent",
          "httpGet",
          "httpMatch",
          "id",
          "interval",
          "name",
          "packetSize",
          "password",
          "port",
          "probeCount",
          "probeTimeout",
          "protocol",
          "recoverytime",
          "routes",
          "securityMode",
          "serverConfig",
          "serverLists",
          "serverType",
          "servers",
          "serviceDetection",
          "sourceIp",
          "sourceIp6",
          "srcintf",
          "status",
          "updateCascadeInterface",
          "updatePolicyRoute",
          "updateStaticRoute"
        ],
        "type": "object"
      }
    },
    "fortios:system/getLinkmonitorlist:getLinkmonitorlist": {
      "description": "Provides a list of `fortios.system.Linkmonitor`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getLinkmonitorlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getLinkmonitorlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Linkmonitor`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getManagementtunnel:getManagementtunnel": {
      "description": "Use this data source to get information on fortios system managementtunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getManagementtunnel.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getManagementtunnel.\n",
        "properties": {
          "allowCollectStatistics": {
            "description": "Enable/disable collection of run time statistics.\n",
            "type": "string"
          },
          "allowConfigRestore": {
            "description": "Enable/disable allow config restore.\n",
            "type": "string"
          },
          "allowPushConfiguration": {
            "description": "Enable/disable push configuration.\n",
            "type": "string"
          },
          "allowPushFirmware": {
            "description": "Enable/disable push firmware.\n",
            "type": "string"
          },
          "authorizedManagerOnly": {
            "description": "Enable/disable restriction of authorized manager only.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "serialNumber": {
            "description": "Serial number.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable FGFM tunnel.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "allowCollectStatistics",
          "allowConfigRestore",
          "allowPushConfiguration",
          "allowPushFirmware",
          "authorizedManagerOnly",
          "id",
          "serialNumber",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getMobiletunnel:getMobiletunnel": {
      "description": "Use this data source to get information on an fortios system mobiletunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMobiletunnel.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system mobiletunnel.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getMobiletunnel.\n",
        "properties": {
          "hashAlgorithm": {
            "description": "Hash Algorithm (Keyed MD5).\n",
            "type": "string"
          },
          "homeAddress": {
            "description": "Home IP address (Format: xxx.xxx.xxx.xxx).\n",
            "type": "string"
          },
          "homeAgent": {
            "description": "IPv4 address of the NEMO HA (Format: xxx.xxx.xxx.xxx).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "lifetime": {
            "description": "NMMO HA registration request lifetime (180 - 65535 sec, default = 65535).\n",
            "type": "integer"
          },
          "nMhaeKey": {
            "description": "NEMO authentication key.\n",
            "secret": true,
            "type": "string"
          },
          "nMhaeKeyType": {
            "description": "NEMO authentication key type (ascii or base64).\n",
            "type": "string"
          },
          "nMhaeSpi": {
            "description": "NEMO authentication SPI (default: 256).\n",
            "type": "integer"
          },
          "name": {
            "description": "Tunnel name.\n",
            "type": "string"
          },
          "networks": {
            "description": "NEMO network configuration. The structure of `network` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetMobiletunnelNetwork:getMobiletunnelNetwork"
            },
            "type": "array"
          },
          "regInterval": {
            "description": "NMMO HA registration interval (5 - 300, default = 5).\n",
            "type": "integer"
          },
          "regRetry": {
            "description": "Maximum number of NMMO HA registration retries (1 to 30, default = 3).\n",
            "type": "integer"
          },
          "renewInterval": {
            "description": "Time before lifetime expiraton to send NMMO HA re-registration (5 - 60, default = 60).\n",
            "type": "integer"
          },
          "roamingInterface": {
            "description": "Select the associated interface name from available options.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this mobile tunnel.\n",
            "type": "string"
          },
          "tunnelMode": {
            "description": "NEMO tunnnel mode (GRE tunnel).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "hashAlgorithm",
          "homeAddress",
          "homeAgent",
          "id",
          "lifetime",
          "nMhaeKey",
          "nMhaeKeyType",
          "nMhaeSpi",
          "name",
          "networks",
          "regInterval",
          "regRetry",
          "renewInterval",
          "roamingInterface",
          "status",
          "tunnelMode"
        ],
        "type": "object"
      }
    },
    "fortios:system/getMobiletunnellist:getMobiletunnellist": {
      "description": "Provides a list of `fortios.system.Mobiletunnel`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getMobiletunnellist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getMobiletunnellist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Mobiletunnel`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getNat64:getNat64": {
      "description": "Use this data source to get information on fortios system nat64\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNat64.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNat64.\n",
        "properties": {
          "alwaysSynthesizeAaaaRecord": {
            "description": "Enable/disable AAAA record synthesis (default = enable).\n",
            "type": "string"
          },
          "generateIpv6FragmentHeader": {
            "description": "Enable/disable IPv6 fragment header generation.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "nat46ForceIpv4PacketForwarding": {
            "description": "Enable/disable mandatory IPv4 packet forwarding in nat46.\n",
            "type": "string"
          },
          "nat64Prefix": {
            "description": "NAT64 prefix.\n",
            "type": "string"
          },
          "secondaryPrefixStatus": {
            "description": "Enable/disable secondary NAT64 prefix.\n",
            "type": "string"
          },
          "secondaryPrefixes": {
            "description": "Secondary NAT64 prefix. The structure of `secondary_prefix` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetNat64SecondaryPrefix:getNat64SecondaryPrefix"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable NAT64 (default = disable).\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "alwaysSynthesizeAaaaRecord",
          "generateIpv6FragmentHeader",
          "id",
          "nat46ForceIpv4PacketForwarding",
          "nat64Prefix",
          "secondaryPrefixStatus",
          "secondaryPrefixes",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getNdproxy:getNdproxy": {
      "description": "Use this data source to get information on fortios system ndproxy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNdproxy.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNdproxy.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "members": {
            "description": "Interfaces using the neighbor discovery proxy. The structure of `member` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetNdproxyMember:getNdproxyMember"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable neighbor discovery proxy.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "members",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getNetflow:getNetflow": {
      "description": "Use this data source to get information on fortios system netflow\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetflow.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNetflow.\n",
        "properties": {
          "activeFlowTimeout": {
            "description": "Timeout to report active flows (1 - 60 min, default = 30).\n",
            "type": "integer"
          },
          "collectorIp": {
            "description": "Collector IP.\n",
            "type": "string"
          },
          "collectorPort": {
            "description": "NetFlow collector port number.\n",
            "type": "integer"
          },
          "collectors": {
            "description": "Netflow collectors. The structure of `collectors` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetNetflowCollector:getNetflowCollector"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "inactiveFlowTimeout": {
            "description": "Timeout for periodic report of finished flows (10 - 600 sec, default = 15).\n",
            "type": "integer"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for communication with the NetFlow agent.\n",
            "type": "string"
          },
          "templateTxCounter": {
            "description": "Counter of flowset records before resending a template flowset record.\n",
            "type": "integer"
          },
          "templateTxTimeout": {
            "description": "Timeout for periodic template flowset transmission (1 - 1440 min, default = 30).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "activeFlowTimeout",
          "collectorIp",
          "collectorPort",
          "collectors",
          "id",
          "inactiveFlowTimeout",
          "interface",
          "interfaceSelectMethod",
          "sourceIp",
          "templateTxCounter",
          "templateTxTimeout"
        ],
        "type": "object"
      }
    },
    "fortios:system/getNetworkvisibility:getNetworkvisibility": {
      "description": "Use this data source to get information on fortios system networkvisibility\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetworkvisibility.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNetworkvisibility.\n",
        "properties": {
          "destinationHostnameVisibility": {
            "description": "Enable/disable logging of destination hostname visibility.\n",
            "type": "string"
          },
          "destinationLocation": {
            "description": "Enable/disable logging of destination geographical location visibility.\n",
            "type": "string"
          },
          "destinationVisibility": {
            "description": "Enable/disable logging of destination visibility.\n",
            "type": "string"
          },
          "hostnameLimit": {
            "description": "Limit of the number of hostname table entries (0 - 50000).\n",
            "type": "integer"
          },
          "hostnameTtl": {
            "description": "TTL of hostname table entries (60 - 86400).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "sourceLocation": {
            "description": "Enable/disable logging of source geographical location visibility.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "destinationHostnameVisibility",
          "destinationLocation",
          "destinationVisibility",
          "hostnameLimit",
          "hostnameTtl",
          "id",
          "sourceLocation"
        ],
        "type": "object"
      }
    },
    "fortios:system/getNtp:getNtp": {
      "description": "Use this data source to get information on fortios system ntp\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNtp.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNtp.\n",
        "properties": {
          "authentication": {
            "description": "Enable/disable MD5/SHA1 authentication.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "Specify outgoing interface to reach server.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetNtpInterface:getNtpInterface"
            },
            "type": "array"
          },
          "key": {
            "description": "Key for MD5/SHA1 authentication.\n",
            "secret": true,
            "type": "string"
          },
          "keyId": {
            "description": "Key ID for authentication.\n",
            "type": "integer"
          },
          "keyType": {
            "description": "Select NTP authentication type.\n",
            "type": "string"
          },
          "ntpservers": {
            "description": "Configure the FortiGate to connect to any available third-party NTP server. The structure of `ntpserver` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetNtpNtpserver:getNtpNtpserver"
            },
            "type": "array"
          },
          "ntpsync": {
            "description": "Enable/disable setting the FortiGate system time by synchronizing with an NTP Server.\n",
            "type": "string"
          },
          "serverMode": {
            "description": "Enable/disable FortiGate NTP Server Mode. Your FortiGate becomes an NTP server for other devices on your network. The FortiGate relays NTP requests to its configured NTP server.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for communication to the NTP server.\n",
            "type": "string"
          },
          "sourceIp6": {
            "description": "Source IPv6 address for communication to the NTP server.\n",
            "type": "string"
          },
          "syncinterval": {
            "description": "NTP synchronization interval (1 - 1440 min).\n",
            "type": "integer"
          },
          "type": {
            "description": "Use the FortiGuard NTP server or any other available NTP Server.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "authentication",
          "id",
          "interfaces",
          "key",
          "keyId",
          "keyType",
          "ntpservers",
          "ntpsync",
          "serverMode",
          "sourceIp",
          "sourceIp6",
          "syncinterval",
          "type"
        ],
        "type": "object"
      }
    },
    "fortios:system/getObjecttagging:getObjecttagging": {
      "description": "Use this data source to get information on an fortios system objecttagging\n",
      "inputs": {
        "description": "A collection of arguments for invoking getObjecttagging.\n",
        "properties": {
          "category": {
            "type": "string",
            "description": "Specify the category of the desired system objecttagging.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "category"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getObjecttagging.\n",
        "properties": {
          "address": {
            "description": "Address.\n",
            "type": "string"
          },
          "category": {
            "description": "Tag Category.\n",
            "type": "string"
          },
          "color": {
            "description": "Color of icon on the GUI.\n",
            "type": "integer"
          },
          "device": {
            "description": "Device.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface.\n",
            "type": "string"
          },
          "multiple": {
            "description": "Allow multiple tag selection.\n",
            "type": "string"
          },
          "tags": {
            "description": "Tags. The structure of `tags` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetObjecttaggingTag:getObjecttaggingTag"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "category",
          "color",
          "device",
          "id",
          "interface",
          "multiple",
          "tags"
        ],
        "type": "object"
      }
    },
    "fortios:system/getObjecttagginglist:getObjecttagginglist": {
      "description": "Provides a list of `fortios.system.Objecttagging`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getObjecttagginglist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getObjecttagginglist.\n",
        "properties": {
          "categorylists": {
            "description": "A list of the `fortios.system.Objecttagging`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "categorylists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getPasswordpolicy:getPasswordpolicy": {
      "description": "Use this data source to get information on fortios system passwordpolicy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPasswordpolicy.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPasswordpolicy.\n",
        "properties": {
          "applyTo": {
            "description": "Apply password policy to administrator passwords or IPsec pre-shared keys or both. Separate entries with a space.\n",
            "type": "string"
          },
          "change4Characters": {
            "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled).\n",
            "type": "string"
          },
          "expireDay": {
            "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n",
            "type": "integer"
          },
          "expireStatus": {
            "description": "Enable/disable password expiration.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "minChangeCharacters": {
            "description": "Minimum number of unique characters in new password which do not exist in old password (This attribute overrides reuse-password if both are enabled).\n",
            "type": "integer"
          },
          "minLowerCaseLetter": {
            "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minNonAlphanumeric": {
            "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minNumber": {
            "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minUpperCaseLetter": {
            "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minimumLength": {
            "description": "Minimum password length (8 - 128, default = 8).\n",
            "type": "integer"
          },
          "reusePassword": {
            "description": "Enable/disable reusing of password (if both reuse-password and change-4-characters are enabled, change-4-characters overrides).\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "applyTo",
          "change4Characters",
          "expireDay",
          "expireStatus",
          "id",
          "minChangeCharacters",
          "minLowerCaseLetter",
          "minNonAlphanumeric",
          "minNumber",
          "minUpperCaseLetter",
          "minimumLength",
          "reusePassword",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getPasswordpolicyguestadmin:getPasswordpolicyguestadmin": {
      "description": "Use this data source to get information on fortios system passwordpolicyguestadmin\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPasswordpolicyguestadmin.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPasswordpolicyguestadmin.\n",
        "properties": {
          "applyTo": {
            "description": "Guest administrator to which this password policy applies.\n",
            "type": "string"
          },
          "change4Characters": {
            "description": "Enable/disable changing at least 4 characters for a new password (This attribute overrides reuse-password if both are enabled).\n",
            "type": "string"
          },
          "expireDay": {
            "description": "Number of days after which passwords expire (1 - 999 days, default = 90).\n",
            "type": "integer"
          },
          "expireStatus": {
            "description": "Enable/disable password expiration.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "minChangeCharacters": {
            "description": "Minimum number of unique characters in new password which do not exist in old password (This attribute overrides reuse-password if both are enabled).\n",
            "type": "integer"
          },
          "minLowerCaseLetter": {
            "description": "Minimum number of lowercase characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minNonAlphanumeric": {
            "description": "Minimum number of non-alphanumeric characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minNumber": {
            "description": "Minimum number of numeric characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minUpperCaseLetter": {
            "description": "Minimum number of uppercase characters in password (0 - 128, default = 0).\n",
            "type": "integer"
          },
          "minimumLength": {
            "description": "Minimum password length (8 - 128, default = 8).\n",
            "type": "integer"
          },
          "reusePassword": {
            "description": "Enable/disable reusing of password (if both reuse-password and change-4-characters are enabled, change-4-characters overrides).\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable setting a password policy for locally defined administrator passwords and IPsec VPN pre-shared keys.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "applyTo",
          "change4Characters",
          "expireDay",
          "expireStatus",
          "id",
          "minChangeCharacters",
          "minLowerCaseLetter",
          "minNonAlphanumeric",
          "minNumber",
          "minUpperCaseLetter",
          "minimumLength",
          "reusePassword",
          "status"
        ],
        "type": "object"
      }
    },
    "fortios:system/getPppoeinterface:getPppoeinterface": {
      "description": "Use this data source to get information on an fortios system pppoeinterface\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPppoeinterface.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system pppoeinterface.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getPppoeinterface.\n",
        "properties": {
          "acName": {
            "description": "PPPoE AC name.\n",
            "type": "string"
          },
          "authType": {
            "description": "PPP authentication type to use.\n",
            "type": "string"
          },
          "device": {
            "description": "Name for the physical interface.\n",
            "type": "string"
          },
          "dialOnDemand": {
            "description": "Enable/disable dial on demand to dial the PPPoE interface when packets are routed to the PPPoE interface.\n",
            "type": "string"
          },
          "discRetryTimeout": {
            "description": "PPPoE discovery init timeout value in (0-4294967295 sec).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "idleTimeout": {
            "description": "PPPoE auto disconnect after idle timeout (0-4294967295 sec).\n",
            "type": "integer"
          },
          "ipunnumbered": {
            "description": "PPPoE unnumbered IP.\n",
            "type": "string"
          },
          "ipv6": {
            "description": "Enable/disable IPv6 Control Protocol (IPv6CP).\n",
            "type": "string"
          },
          "lcpEchoInterval": {
            "description": "PPPoE LCP echo interval in (0-4294967295 sec, default = 5).\n",
            "type": "integer"
          },
          "lcpMaxEchoFails": {
            "description": "Maximum missed LCP echo messages before disconnect (0-4294967295, default = 3).\n",
            "type": "integer"
          },
          "name": {
            "description": "Name of the PPPoE interface.\n",
            "type": "string"
          },
          "padtRetryTimeout": {
            "description": "PPPoE terminate timeout value in (0-4294967295 sec).\n",
            "type": "integer"
          },
          "password": {
            "description": "Enter the password.\n",
            "secret": true,
            "type": "string"
          },
          "pppoeUnnumberedNegotiate": {
            "description": "Enable/disable PPPoE unnumbered negotiation.\n",
            "type": "string"
          },
          "serviceName": {
            "description": "PPPoE service name.\n",
            "type": "string"
          },
          "username": {
            "description": "User name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "acName",
          "authType",
          "device",
          "dialOnDemand",
          "discRetryTimeout",
          "id",
          "idleTimeout",
          "ipunnumbered",
          "ipv6",
          "lcpEchoInterval",
          "lcpMaxEchoFails",
          "name",
          "padtRetryTimeout",
          "password",
          "pppoeUnnumberedNegotiate",
          "serviceName",
          "username"
        ],
        "type": "object"
      }
    },
    "fortios:system/getPppoeinterfacelist:getPppoeinterfacelist": {
      "description": "Provides a list of `fortios.system.Pppoeinterface`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPppoeinterfacelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getPppoeinterfacelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Pppoeinterface`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getProberesponse:getProberesponse": {
      "description": "Use this data source to get information on fortios system proberesponse\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProberesponse.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProberesponse.\n",
        "properties": {
          "httpProbeValue": {
            "description": "Value to respond to the monitoring server.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mode": {
            "description": "SLA response mode.\n",
            "type": "string"
          },
          "password": {
            "description": "Twamp respondor password in authentication mode\n",
            "secret": true,
            "type": "string"
          },
          "port": {
            "description": "Port number to response.\n",
            "type": "integer"
          },
          "securityMode": {
            "description": "Twamp respondor security mode.\n",
            "type": "string"
          },
          "timeout": {
            "description": "An inactivity timer for a twamp test session.\n",
            "type": "integer"
          },
          "ttlMode": {
            "description": "Mode for TWAMP packet TTL modification.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "httpProbeValue",
          "id",
          "mode",
          "password",
          "port",
          "securityMode",
          "timeout",
          "ttlMode"
        ],
        "type": "object"
      }
    },
    "fortios:system/getProxyarp:getProxyarp": {
      "description": "Use this data source to get information on an fortios system proxyarp\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyarp.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system proxyarp.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProxyarp.\n",
        "properties": {
          "endIp": {
            "description": "End IP of IP range to be proxied.\n",
            "type": "string"
          },
          "fosid": {
            "description": "Unique integer ID of the entry.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface acting proxy-ARP.\n",
            "type": "string"
          },
          "ip": {
            "description": "IP address or start IP to be proxied.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "endIp",
          "fosid",
          "id",
          "interface",
          "ip"
        ],
        "type": "object"
      }
    },
    "fortios:system/getProxyarplist:getProxyarplist": {
      "description": "Provides a list of `fortios.system.Proxyarp`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getProxyarplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getProxyarplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Proxyarp`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getReplacemsggroup:getReplacemsggroup": {
      "description": "Use this data source to get information on an fortios system replacemsggroup\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReplacemsggroup.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system replacemsggroup.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getReplacemsggroup.\n",
        "properties": {
          "admins": {
            "description": "Replacement message table entries. The structure of `admin` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupAdmin:getReplacemsggroupAdmin"
            },
            "type": "array"
          },
          "alertmails": {
            "description": "Replacement message table entries. The structure of `alertmail` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupAlertmail:getReplacemsggroupAlertmail"
            },
            "type": "array"
          },
          "auths": {
            "description": "Replacement message table entries. The structure of `auth` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupAuth:getReplacemsggroupAuth"
            },
            "type": "array"
          },
          "automations": {
            "description": "Replacement message table entries. The structure of `automation` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupAutomation:getReplacemsggroupAutomation"
            },
            "type": "array"
          },
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "customMessages": {
            "description": "Replacement message table entries. The structure of `custom_message` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupCustomMessage:getReplacemsggroupCustomMessage"
            },
            "type": "array"
          },
          "deviceDetectionPortals": {
            "description": "Replacement message table entries. The structure of `device_detection_portal` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupDeviceDetectionPortal:getReplacemsggroupDeviceDetectionPortal"
            },
            "type": "array"
          },
          "ecs": {
            "description": "Replacement message table entries. The structure of `ec` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupEc:getReplacemsggroupEc"
            },
            "type": "array"
          },
          "fortiguardWfs": {
            "description": "Replacement message table entries. The structure of `fortiguard_wf` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupFortiguardWf:getReplacemsggroupFortiguardWf"
            },
            "type": "array"
          },
          "ftps": {
            "description": "Replacement message table entries. The structure of `ftp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupFtp:getReplacemsggroupFtp"
            },
            "type": "array"
          },
          "groupType": {
            "description": "Group type.\n",
            "type": "string"
          },
          "https": {
            "description": "Replacement message table entries. The structure of `http` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupHttp:getReplacemsggroupHttp"
            },
            "type": "array"
          },
          "icaps": {
            "description": "Replacement message table entries. The structure of `icap` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupIcap:getReplacemsggroupIcap"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mails": {
            "description": "Replacement message table entries. The structure of `mail` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupMail:getReplacemsggroupMail"
            },
            "type": "array"
          },
          "nacQuars": {
            "description": "Replacement message table entries. The structure of `nac_quar` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupNacQuar:getReplacemsggroupNacQuar"
            },
            "type": "array"
          },
          "name": {
            "description": "Group name.\n",
            "type": "string"
          },
          "nntps": {
            "description": "Replacement message table entries. The structure of `nntp` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupNntp:getReplacemsggroupNntp"
            },
            "type": "array"
          },
          "spams": {
            "description": "Replacement message table entries. The structure of `spam` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupSpam:getReplacemsggroupSpam"
            },
            "type": "array"
          },
          "sslvpns": {
            "description": "Replacement message table entries. The structure of `sslvpn` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupSslvpn:getReplacemsggroupSslvpn"
            },
            "type": "array"
          },
          "trafficQuotas": {
            "description": "Replacement message table entries. The structure of `traffic_quota` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupTrafficQuota:getReplacemsggroupTrafficQuota"
            },
            "type": "array"
          },
          "utms": {
            "description": "Replacement message table entries. The structure of `utm` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupUtm:getReplacemsggroupUtm"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "webproxies": {
            "description": "Replacement message table entries. The structure of `webproxy` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetReplacemsggroupWebproxy:getReplacemsggroupWebproxy"
            },
            "type": "array"
          }
        },
        "required": [
          "admins",
          "alertmails",
          "auths",
          "automations",
          "comment",
          "customMessages",
          "deviceDetectionPortals",
          "ecs",
          "fortiguardWfs",
          "ftps",
          "groupType",
          "https",
          "icaps",
          "id",
          "mails",
          "nacQuars",
          "name",
          "nntps",
          "spams",
          "sslvpns",
          "trafficQuotas",
          "utms",
          "webproxies"
        ],
        "type": "object"
      }
    },
    "fortios:system/getReplacemsggrouplist:getReplacemsggrouplist": {
      "description": "Provides a list of `fortios.system.Replacemsggroup`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReplacemsggrouplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getReplacemsggrouplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Replacemsggroup`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getReplacemsgimage:getReplacemsgimage": {
      "description": "Use this data source to get information on an fortios system replacemsgimage\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReplacemsgimage.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system replacemsgimage.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getReplacemsgimage.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "imageBase64": {
            "description": "Image data.\n",
            "type": "string"
          },
          "imageType": {
            "description": "Image type.\n",
            "type": "string"
          },
          "name": {
            "description": "Image name.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "imageBase64",
          "imageType",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:system/getReplacemsgimagelist:getReplacemsgimagelist": {
      "description": "Provides a list of `fortios.system.Replacemsgimage`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReplacemsgimagelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getReplacemsgimagelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Replacemsgimage`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getResourcelimits:getResourcelimits": {
      "description": "Use this data source to get information on fortios system resourcelimits\n",
      "inputs": {
        "description": "A collection of arguments for invoking getResourcelimits.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getResourcelimits.\n",
        "properties": {
          "customService": {
            "description": "Maximum number of firewall custom services.\n",
            "type": "integer"
          },
          "dialupTunnel": {
            "description": "Maximum number of dial-up tunnels.\n",
            "type": "integer"
          },
          "firewallAddress": {
            "description": "Maximum number of firewall addresses (IPv4, IPv6, multicast).\n",
            "type": "integer"
          },
          "firewallAddrgrp": {
            "description": "Maximum number of firewall address groups (IPv4, IPv6).\n",
            "type": "integer"
          },
          "firewallPolicy": {
            "description": "Maximum number of firewall policies (IPv4, IPv6, policy46, policy64, DoS-policy4, DoS-policy6, multicast).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ipsecPhase1": {
            "description": "Maximum number of VPN IPsec phase1 tunnels.\n",
            "type": "integer"
          },
          "ipsecPhase1Interface": {
            "description": "Maximum number of VPN IPsec phase1 interface tunnels.\n",
            "type": "integer"
          },
          "ipsecPhase2": {
            "description": "Maximum number of VPN IPsec phase2 tunnels.\n",
            "type": "integer"
          },
          "ipsecPhase2Interface": {
            "description": "Maximum number of VPN IPsec phase2 interface tunnels.\n",
            "type": "integer"
          },
          "logDiskQuota": {
            "description": "Log disk quota in MB.\n",
            "type": "integer"
          },
          "onetimeSchedule": {
            "description": "Maximum number of firewall one-time schedules.\n",
            "type": "integer"
          },
          "proxy": {
            "description": "Maximum number of concurrent proxy users.\n",
            "type": "integer"
          },
          "recurringSchedule": {
            "description": "Maximum number of firewall recurring schedules.\n",
            "type": "integer"
          },
          "serviceGroup": {
            "description": "Maximum number of firewall service groups.\n",
            "type": "integer"
          },
          "session": {
            "description": "Maximum number of sessions.\n",
            "type": "integer"
          },
          "sslvpn": {
            "description": "Maximum number of SSL-VPN.\n",
            "type": "integer"
          },
          "user": {
            "description": "Maximum number of local users.\n",
            "type": "integer"
          },
          "userGroup": {
            "description": "Maximum number of user groups.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "customService",
          "dialupTunnel",
          "firewallAddress",
          "firewallAddrgrp",
          "firewallPolicy",
          "id",
          "ipsecPhase1",
          "ipsecPhase1Interface",
          "ipsecPhase2",
          "ipsecPhase2Interface",
          "logDiskQuota",
          "onetimeSchedule",
          "proxy",
          "recurringSchedule",
          "serviceGroup",
          "session",
          "sslvpn",
          "user",
          "userGroup"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSdnconnector:getSdnconnector": {
      "description": "Use this data source to get information on an fortios system sdnconnector\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSdnconnector.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system sdnconnector.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSdnconnector.\n",
        "properties": {
          "accessKey": {
            "description": "AWS access key ID.\n",
            "secret": true,
            "type": "string"
          },
          "altResourceIp": {
            "description": "Enable/disable AWS alternative resource IP.\n",
            "type": "string"
          },
          "apiKey": {
            "description": "IBM cloud API key or service ID API key.\n",
            "secret": true,
            "type": "string"
          },
          "azureRegion": {
            "description": "Azure server region.\n",
            "type": "string"
          },
          "clientId": {
            "description": "Azure client ID (application ID).\n",
            "type": "string"
          },
          "clientSecret": {
            "description": "Azure client secret (application key).\n",
            "secret": true,
            "type": "string"
          },
          "compartmentId": {
            "description": "OCI compartment ID.\n",
            "type": "string"
          },
          "compartmentLists": {
            "description": "Configure OCI compartment list. The structure of `compartment_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorCompartmentList:getSdnconnectorCompartmentList"
            },
            "type": "array"
          },
          "computeGeneration": {
            "description": "Compute generation for IBM cloud infrastructure.\n",
            "type": "integer"
          },
          "domain": {
            "description": "Domain name.\n",
            "type": "string"
          },
          "externalAccountLists": {
            "description": "Configure AWS external account list. The structure of `external_account_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorExternalAccountList:getSdnconnectorExternalAccountList"
            },
            "type": "array"
          },
          "externalIps": {
            "description": "Configure GCP external IP. The structure of `external_ip` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorExternalIp:getSdnconnectorExternalIp"
            },
            "type": "array"
          },
          "forwardingRules": {
            "description": "Configure GCP forwarding rule. The structure of `forwarding_rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorForwardingRule:getSdnconnectorForwardingRule"
            },
            "type": "array"
          },
          "gcpProject": {
            "description": "GCP project name.\n",
            "type": "string"
          },
          "gcpProjectLists": {
            "description": "Configure GCP project list. The structure of `gcp_project_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorGcpProjectList:getSdnconnectorGcpProjectList"
            },
            "type": "array"
          },
          "groupName": {
            "description": "Group name of computers.\n",
            "type": "string"
          },
          "haStatus": {
            "description": "Enable/disable use for FortiGate HA service.\n",
            "type": "string"
          },
          "ibmRegion": {
            "description": "IBM cloud region name.\n",
            "type": "string"
          },
          "ibmRegionGen1": {
            "description": "IBM cloud compute generation 1 region name.\n",
            "type": "string"
          },
          "ibmRegionGen2": {
            "description": "IBM cloud compute generation 2 region name.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "keyPasswd": {
            "description": "Private key password.\n",
            "secret": true,
            "type": "string"
          },
          "loginEndpoint": {
            "description": "Azure Stack login endpoint.\n",
            "type": "string"
          },
          "name": {
            "description": "GCP zone name.\n",
            "type": "string"
          },
          "nics": {
            "description": "Configure Azure network interface. The structure of `nic` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorNic:getSdnconnectorNic"
            },
            "type": "array"
          },
          "ociCert": {
            "description": "OCI certificate.\n",
            "type": "string"
          },
          "ociFingerprint": {
            "description": "OCI pubkey fingerprint.\n",
            "type": "string"
          },
          "ociRegion": {
            "description": "OCI server region.\n",
            "type": "string"
          },
          "ociRegionLists": {
            "description": "Configure OCI region list. The structure of `oci_region_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorOciRegionList:getSdnconnectorOciRegionList"
            },
            "type": "array"
          },
          "ociRegionType": {
            "description": "OCI region type.\n",
            "type": "string"
          },
          "password": {
            "description": "Password of the remote SDN connector as login credentials.\n",
            "secret": true,
            "type": "string"
          },
          "privateKey": {
            "description": "Private key of GCP service account.\n",
            "secret": true,
            "type": "string"
          },
          "proxy": {
            "description": "SDN proxy.\n",
            "type": "string"
          },
          "region": {
            "description": "OCI region.\n",
            "type": "string"
          },
          "resourceGroup": {
            "description": "Resource group of Azure route table.\n",
            "type": "string"
          },
          "resourceUrl": {
            "description": "Azure Stack resource URL.\n",
            "type": "string"
          },
          "routeTables": {
            "description": "Configure Azure route table. The structure of `route_table` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorRouteTable:getSdnconnectorRouteTable"
            },
            "type": "array"
          },
          "routes": {
            "description": "Configure Azure route. The structure of `route` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorRoute:getSdnconnectorRoute"
            },
            "type": "array"
          },
          "secretKey": {
            "description": "AWS secret access key.\n",
            "secret": true,
            "type": "string"
          },
          "secretToken": {
            "description": "Secret token of Kubernetes service account.\n",
            "secret": true,
            "type": "string"
          },
          "server": {
            "description": "Server address of the remote SDN connector.\n",
            "type": "string"
          },
          "serverCaCert": {
            "description": "Trust only those servers whose certificate is directly/indirectly signed by this certificate.\n",
            "type": "string"
          },
          "serverCert": {
            "description": "Trust servers that contain this certificate only.\n",
            "type": "string"
          },
          "serverLists": {
            "description": "Server address list of the remote SDN connector. The structure of `server_list` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSdnconnectorServerList:getSdnconnectorServerList"
            },
            "type": "array"
          },
          "serverPort": {
            "description": "Port number of the remote SDN connector.\n",
            "type": "integer"
          },
          "serviceAccount": {
            "description": "GCP service account email.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable connection to the remote SDN connector.\n",
            "type": "string"
          },
          "subscriptionId": {
            "description": "Subscription ID of Azure route table.\n",
            "type": "string"
          },
          "tenantId": {
            "description": "Tenant ID (directory ID).\n",
            "type": "string"
          },
          "type": {
            "description": "Type of SDN connector.\n",
            "type": "string"
          },
          "updateInterval": {
            "description": "Dynamic object update interval (0 - 3600 sec, 0 means disabled, default = 60).\n",
            "type": "integer"
          },
          "useMetadataIam": {
            "description": "Enable/disable using IAM role from metadata to call API.\n",
            "type": "string"
          },
          "userId": {
            "description": "User ID.\n",
            "type": "string"
          },
          "username": {
            "description": "Username of the remote SDN connector as login credentials.\n",
            "type": "string"
          },
          "vcenterPassword": {
            "description": "vCenter server password for NSX quarantine.\n",
            "secret": true,
            "type": "string"
          },
          "vcenterServer": {
            "description": "vCenter server address for NSX quarantine.\n",
            "type": "string"
          },
          "vcenterUsername": {
            "description": "vCenter server username for NSX quarantine.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "verifyCertificate": {
            "description": "Enable/disable server certificate verification.\n",
            "type": "string"
          },
          "vpcId": {
            "description": "AWS VPC ID.\n",
            "type": "string"
          }
        },
        "required": [
          "accessKey",
          "altResourceIp",
          "apiKey",
          "azureRegion",
          "clientId",
          "clientSecret",
          "compartmentId",
          "compartmentLists",
          "computeGeneration",
          "domain",
          "externalAccountLists",
          "externalIps",
          "forwardingRules",
          "gcpProject",
          "gcpProjectLists",
          "groupName",
          "haStatus",
          "ibmRegion",
          "ibmRegionGen1",
          "ibmRegionGen2",
          "id",
          "keyPasswd",
          "loginEndpoint",
          "name",
          "nics",
          "ociCert",
          "ociFingerprint",
          "ociRegion",
          "ociRegionLists",
          "ociRegionType",
          "password",
          "privateKey",
          "proxy",
          "region",
          "resourceGroup",
          "resourceUrl",
          "routeTables",
          "routes",
          "secretKey",
          "secretToken",
          "server",
          "serverCaCert",
          "serverCert",
          "serverLists",
          "serverPort",
          "serviceAccount",
          "status",
          "subscriptionId",
          "tenantId",
          "type",
          "updateInterval",
          "useMetadataIam",
          "userId",
          "username",
          "vcenterPassword",
          "vcenterServer",
          "vcenterUsername",
          "verifyCertificate",
          "vpcId"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSdnconnectorlist:getSdnconnectorlist": {
      "description": "Provides a list of `fortios.system.Sdnconnector`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSdnconnectorlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSdnconnectorlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Sdnconnector`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSessionhelper:getSessionhelper": {
      "description": "Use this data source to get information on an fortios system sessionhelper\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSessionhelper.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system sessionhelper.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSessionhelper.\n",
        "properties": {
          "fosid": {
            "description": "Session helper ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "Helper name.\n",
            "type": "string"
          },
          "port": {
            "description": "Protocol port.\n",
            "type": "integer"
          },
          "protocol": {
            "description": "Protocol number.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosid",
          "id",
          "name",
          "port",
          "protocol"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSessionhelperlist:getSessionhelperlist": {
      "description": "Provides a list of `fortios.system.Sessionhelper`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSessionhelperlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSessionhelperlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Sessionhelper`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSessionttl:getSessionttl": {
      "description": "Use this data source to get information on fortios system sessionttl\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSessionttl.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSessionttl.\n",
        "properties": {
          "default": {
            "description": "Default timeout.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ports": {
            "description": "Session TTL port. The structure of `port` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSessionttlPort:getSessionttlPort"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "default",
          "id",
          "ports"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSflow:getSflow": {
      "description": "Use this data source to get information on fortios system sflow\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSflow.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSflow.\n",
        "properties": {
          "collectorIp": {
            "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n",
            "type": "string"
          },
          "collectorPort": {
            "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",
            "type": "integer"
          },
          "collectors": {
            "description": "sFlow collectors. The structure of `collectors` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetSflowCollector:getSflowCollector"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for sFlow agent.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "collectorIp",
          "collectorPort",
          "collectors",
          "id",
          "interface",
          "interfaceSelectMethod",
          "sourceIp"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSittunnel:getSittunnel": {
      "description": "Use this data source to get information on an fortios system sittunnel\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSittunnel.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system sittunnel.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSittunnel.\n",
        "properties": {
          "autoAsicOffload": {
            "description": "Enable/disable tunnel ASIC offloading.\n",
            "type": "string"
          },
          "destination": {
            "description": "Destination IP address of the tunnel.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Interface name.\n",
            "type": "string"
          },
          "ip6": {
            "description": "IPv6 address of the tunnel.\n",
            "type": "string"
          },
          "name": {
            "description": "Tunnel name.\n",
            "type": "string"
          },
          "source": {
            "description": "Source IP address of the tunnel.\n",
            "type": "string"
          },
          "useSdwan": {
            "description": "Enable/disable use of SD-WAN to reach remote gateway.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "autoAsicOffload",
          "destination",
          "id",
          "interface",
          "ip6",
          "name",
          "source",
          "useSdwan"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSittunnellist:getSittunnellist": {
      "description": "Provides a list of `fortios.system.Sittunnel`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSittunnellist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSittunnellist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Sittunnel`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSmsserver:getSmsserver": {
      "description": "Use this data source to get information on an fortios system smsserver\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmsserver.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system smsserver.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSmsserver.\n",
        "properties": {
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mailServer": {
            "description": "Email-to-SMS server domain name.\n",
            "type": "string"
          },
          "name": {
            "description": "Name of SMS server.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "mailServer",
          "name"
        ],
        "type": "object"
      }
    },
    "fortios:system/getSmsserverlist:getSmsserverlist": {
      "description": "Provides a list of `fortios.system.Smsserver`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmsserverlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSmsserverlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Smsserver`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getTosbasedpriority:getTosbasedpriority": {
      "description": "Use this data source to get information on an fortios system tosbasedpriority\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTosbasedpriority.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system tosbasedpriority.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTosbasedpriority.\n",
        "properties": {
          "fosid": {
            "description": "Item ID.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "priority": {
            "description": "ToS based priority level to low, medium or high (these priorities match firewall traffic shaping priorities) (default = medium).\n",
            "type": "string"
          },
          "tos": {
            "description": "Value of the ToS byte in the IP datagram header (0-15, 8: minimize delay, 4: maximize throughput, 2: maximize reliability, 1: minimize monetary cost, and 0: default service).\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosid",
          "id",
          "priority",
          "tos"
        ],
        "type": "object"
      }
    },
    "fortios:system/getTosbasedprioritylist:getTosbasedprioritylist": {
      "description": "Provides a list of `fortios.system.Tosbasedpriority`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getTosbasedprioritylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getTosbasedprioritylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Tosbasedpriority`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVdomexception:getVdomexception": {
      "description": "Use this data source to get information on an fortios system vdomexception\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVdomexception.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired system vdomexception.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getVdomexception.\n",
        "properties": {
          "fosid": {
            "description": "Index \u003c1-4096\u003e.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "object": {
            "description": "Name of the configuration object that can be configured independently for all VDOMs.\n",
            "type": "string"
          },
          "oid": {
            "description": "Object ID.\n",
            "type": "integer"
          },
          "scope": {
            "description": "Determine whether the configuration object can be configured separately for all VDOMs or if some VDOMs share the same configuration.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "Names of the VDOMs. The structure of `vdom` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVdomexceptionVdom:getVdomexceptionVdom"
            },
            "type": "array"
          }
        },
        "required": [
          "fosid",
          "id",
          "object",
          "oid",
          "scope",
          "vdoms"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVdomexceptionlist:getVdomexceptionlist": {
      "description": "Provides a list of `fortios.system.Vdomexception`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVdomexceptionlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getVdomexceptionlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system.Vdomexception`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVdomnetflow:getVdomnetflow": {
      "description": "Use this data source to get information on fortios system vdomnetflow\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVdomnetflow.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getVdomnetflow.\n",
        "properties": {
          "collectorIp": {
            "description": "Collector IP.\n",
            "type": "string"
          },
          "collectorPort": {
            "description": "NetFlow collector port number.\n",
            "type": "integer"
          },
          "collectors": {
            "description": "Netflow collectors. The structure of `collectors` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVdomnetflowCollector:getVdomnetflowCollector"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for communication with the NetFlow agent.\n",
            "type": "string"
          },
          "vdomNetflow": {
            "description": "Enable/disable NetFlow per VDOM.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "collectorIp",
          "collectorPort",
          "collectors",
          "id",
          "interface",
          "interfaceSelectMethod",
          "sourceIp",
          "vdomNetflow"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVdomsflow:getVdomsflow": {
      "description": "Use this data source to get information on fortios system vdomsflow\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVdomsflow.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getVdomsflow.\n",
        "properties": {
          "collectorIp": {
            "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n",
            "type": "string"
          },
          "collectorPort": {
            "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",
            "type": "integer"
          },
          "collectors": {
            "description": "sFlow collectors. The structure of `collectors` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVdomsflowCollector:getVdomsflowCollector"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Specify outgoing interface to reach server.\n",
            "type": "string"
          },
          "interfaceSelectMethod": {
            "description": "Specify how to select outgoing interface to reach server.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP address for sFlow agent.\n",
            "type": "string"
          },
          "vdomSflow": {
            "description": "Enable/disable the sFlow configuration for the current VDOM.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "collectorIp",
          "collectorPort",
          "collectors",
          "id",
          "interface",
          "interfaceSelectMethod",
          "sourceIp",
          "vdomSflow"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVirtualwanlink:getVirtualwanlink": {
      "description": "Use this data source to get information on fortios system virtualwanlink\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVirtualwanlink.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getVirtualwanlink.\n",
        "properties": {
          "failAlertInterfaces": {
            "description": "Physical interfaces that will be alerted. The structure of `fail_alert_interfaces` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkFailAlertInterface:getVirtualwanlinkFailAlertInterface"
            },
            "type": "array"
          },
          "failDetect": {
            "description": "Enable/disable SD-WAN Internet connection status checking (failure detection).\n",
            "type": "string"
          },
          "healthChecks": {
            "description": "Virtual WAN Link health-check.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkHealthCheck:getVirtualwanlinkHealthCheck"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "loadBalanceMode": {
            "description": "Algorithm or mode to use for load balancing Internet traffic to SD-WAN members.\n",
            "type": "string"
          },
          "members": {
            "description": "Member sequence number list. The structure of `members` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkMember:getVirtualwanlinkMember"
            },
            "type": "array"
          },
          "neighborHoldBootTime": {
            "description": "Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 10000000, default = 0).\n",
            "type": "integer"
          },
          "neighborHoldDown": {
            "description": "Enable/disable hold switching from the secondary neighbor to the primary neighbor.\n",
            "type": "string"
          },
          "neighborHoldDownTime": {
            "description": "Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. (0 - 10000000, default = 0).\n",
            "type": "integer"
          },
          "neighbors": {
            "description": "Create SD-WAN neighbor from BGP neighbor table to control route advertisements according to SLA status. The structure of `neighbor` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkNeighbor:getVirtualwanlinkNeighbor"
            },
            "type": "array"
          },
          "services": {
            "description": "Create SD-WAN rules or priority rules (also called services) to control how sessions are distributed to physical interfaces in the SD-WAN. The structure of `service` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkService:getVirtualwanlinkService"
            },
            "type": "array"
          },
          "status": {
            "description": "Enable/disable SD-WAN service.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "zones": {
            "description": "Configure SD-WAN zones. The structure of `zone` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVirtualwanlinkZone:getVirtualwanlinkZone"
            },
            "type": "array"
          }
        },
        "required": [
          "failAlertInterfaces",
          "failDetect",
          "healthChecks",
          "id",
          "loadBalanceMode",
          "members",
          "neighborHoldBootTime",
          "neighborHoldDown",
          "neighborHoldDownTime",
          "neighbors",
          "services",
          "status",
          "zones"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVxlan:getVxlan": {
      "description": "Use this data source to get information on an fortios system vxlan\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVxlan.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system vxlan.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getVxlan.\n",
        "properties": {
          "dstport": {
            "description": "VXLAN destination port (1 - 65535, default = 4789).\n",
            "type": "integer"
          },
          "evpnId": {
            "description": "EVPN instance.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interface": {
            "description": "Outgoing interface for VXLAN encapsulated traffic.\n",
            "type": "string"
          },
          "ipVersion": {
            "description": "IP version to use for the VXLAN interface and so for communication over the VXLAN. IPv4 or IPv6 unicast or multicast.\n",
            "type": "string"
          },
          "learnFromTraffic": {
            "description": "Enable/disable VXLAN MAC learning from traffic.\n",
            "type": "string"
          },
          "multicastTtl": {
            "description": "VXLAN multicast TTL (1-255, default = 0).\n",
            "type": "integer"
          },
          "name": {
            "description": "VXLAN device or interface name. Must be a unique interface name.\n",
            "type": "string"
          },
          "remoteIp6s": {
            "description": "IPv6 IP address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVxlanRemoteIp6:getVxlanRemoteIp6"
            },
            "type": "array"
          },
          "remoteIps": {
            "description": "IPv4 address of the VXLAN interface on the device at the remote end of the VXLAN. The structure of `remote_ip` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetVxlanRemoteIp:getVxlanRemoteIp"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "vni": {
            "description": "VXLAN network ID.\n",
            "type": "integer"
          }
        },
        "required": [
          "dstport",
          "evpnId",
          "id",
          "interface",
          "ipVersion",
          "learnFromTraffic",
          "multicastTtl",
          "name",
          "remoteIp6s",
          "remoteIps",
          "vni"
        ],
        "type": "object"
      }
    },
    "fortios:system/getVxlanlist:getVxlanlist": {
      "description": "Provides a list of `fortios.system.Vxlan`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVxlanlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getVxlanlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Vxlan`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getWccp:getWccp": {
      "description": "Use this data source to get information on an fortios system wccp\n",
      "inputs": {
        "description": "A collection of arguments for invoking getWccp.\n",
        "properties": {
          "serviceId": {
            "type": "string",
            "description": "Specify the service_id of the desired system wccp.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "serviceId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getWccp.\n",
        "properties": {
          "assignmentBucketFormat": {
            "description": "Assignment bucket format for the WCCP cache engine.\n",
            "type": "string"
          },
          "assignmentDstaddrMask": {
            "description": "Assignment destination address mask.\n",
            "type": "string"
          },
          "assignmentMethod": {
            "description": "Hash key assignment preference.\n",
            "type": "string"
          },
          "assignmentSrcaddrMask": {
            "description": "Assignment source address mask.\n",
            "type": "string"
          },
          "assignmentWeight": {
            "description": "Assignment of hash weight/ratio for the WCCP cache engine.\n",
            "type": "integer"
          },
          "authentication": {
            "description": "Enable/disable MD5 authentication.\n",
            "type": "string"
          },
          "cacheEngineMethod": {
            "description": "Method used to forward traffic to the routers or to return to the cache engine.\n",
            "type": "string"
          },
          "cacheId": {
            "description": "IP address known to all routers. If the addresses are the same, use the default 0.0.0.0.\n",
            "type": "string"
          },
          "forwardMethod": {
            "description": "Method used to forward traffic to the cache servers.\n",
            "type": "string"
          },
          "groupAddress": {
            "description": "IP multicast address used by the cache routers. For the FortiGate to ignore multicast WCCP traffic, use the default 0.0.0.0.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "password": {
            "description": "Password for MD5 authentication.\n",
            "secret": true,
            "type": "string"
          },
          "ports": {
            "description": "Service ports.\n",
            "type": "string"
          },
          "portsDefined": {
            "description": "Match method.\n",
            "type": "string"
          },
          "primaryHash": {
            "description": "Hash method.\n",
            "type": "string"
          },
          "priority": {
            "description": "Service priority.\n",
            "type": "integer"
          },
          "protocol": {
            "description": "Service protocol.\n",
            "type": "integer"
          },
          "returnMethod": {
            "description": "Method used to decline a redirected packet and return it to the FortiGate.\n",
            "type": "string"
          },
          "routerId": {
            "description": "IP address known to all cache engines. If all cache engines connect to the same FortiGate interface, use the default 0.0.0.0.\n",
            "type": "string"
          },
          "routerList": {
            "description": "IP addresses of one or more WCCP routers.\n",
            "type": "string"
          },
          "serverList": {
            "description": "IP addresses and netmasks for up to four cache servers.\n",
            "type": "string"
          },
          "serverType": {
            "description": "Cache server type.\n",
            "type": "string"
          },
          "serviceId": {
            "description": "Service ID.\n",
            "type": "string"
          },
          "serviceType": {
            "description": "WCCP service type used by the cache server for logical interception and redirection of traffic.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "assignmentBucketFormat",
          "assignmentDstaddrMask",
          "assignmentMethod",
          "assignmentSrcaddrMask",
          "assignmentWeight",
          "authentication",
          "cacheEngineMethod",
          "cacheId",
          "forwardMethod",
          "groupAddress",
          "id",
          "password",
          "ports",
          "portsDefined",
          "primaryHash",
          "priority",
          "protocol",
          "returnMethod",
          "routerId",
          "routerList",
          "serverList",
          "serverType",
          "serviceId",
          "serviceType"
        ],
        "type": "object"
      }
    },
    "fortios:system/getWccplist:getWccplist": {
      "description": "Provides a list of `fortios.system.Wccp`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getWccplist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getWccplist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "serviceIdlists": {
            "description": "A list of the `fortios.system.Wccp`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "serviceIdlists"
        ],
        "type": "object"
      }
    },
    "fortios:system/getZone:getZone": {
      "description": "Use this data source to get information on an fortios system zone\n",
      "inputs": {
        "description": "A collection of arguments for invoking getZone.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired system zone.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getZone.\n",
        "properties": {
          "description": {
            "description": "Description.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "interfaces": {
            "description": "Add interfaces to this zone. Interfaces must not be assigned to another zone or have firewall policies defined. The structure of `interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetZoneInterface:getZoneInterface"
            },
            "type": "array"
          },
          "intrazone": {
            "description": "Allow or deny traffic routing between different interfaces in the same zone (default = deny).\n",
            "type": "string"
          },
          "name": {
            "description": "Tag name.\n",
            "type": "string"
          },
          "taggings": {
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2FgetZoneTagging:getZoneTagging"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "interfaces",
          "intrazone",
          "name",
          "taggings"
        ],
        "type": "object"
      }
    },
    "fortios:system/getZonelist:getZonelist": {
      "description": "Provides a list of `fortios.system.Zone`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getZonelist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getZonelist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system.Zone`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/lldp/getNetworkpolicy:getNetworkpolicy": {
      "description": "Use this data source to get information on an fortios systemlldp networkpolicy\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetworkpolicy.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired systemlldp networkpolicy.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getNetworkpolicy.\n",
        "properties": {
          "comment": {
            "description": "Comment.\n",
            "type": "string"
          },
          "guestVoiceSignalings": {
            "description": "Guest Voice Signaling. The structure of `guest_voice_signaling` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyGuestVoiceSignaling:getNetworkpolicyGuestVoiceSignaling"
            },
            "type": "array"
          },
          "guests": {
            "description": "Guest. The structure of `guest` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyGuest:getNetworkpolicyGuest"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "description": "LLDP network policy name.\n",
            "type": "string"
          },
          "softphones": {
            "description": "Softphone. The structure of `softphone` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicySoftphone:getNetworkpolicySoftphone"
            },
            "type": "array"
          },
          "streamingVideos": {
            "description": "Streaming Video. The structure of `streaming_video` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyStreamingVideo:getNetworkpolicyStreamingVideo"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          },
          "videoConferencings": {
            "description": "Video Conferencing. The structure of `video_conferencing` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyVideoConferencing:getNetworkpolicyVideoConferencing"
            },
            "type": "array"
          },
          "videoSignalings": {
            "description": "Video Signaling. The structure of `video_signaling` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyVideoSignaling:getNetworkpolicyVideoSignaling"
            },
            "type": "array"
          },
          "voiceSignalings": {
            "description": "Voice signaling. The structure of `voice_signaling` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyVoiceSignaling:getNetworkpolicyVoiceSignaling"
            },
            "type": "array"
          },
          "voices": {
            "description": "Voice. The structure of `voice` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Flldp%2FgetNetworkpolicyVoice:getNetworkpolicyVoice"
            },
            "type": "array"
          }
        },
        "required": [
          "comment",
          "guestVoiceSignalings",
          "guests",
          "id",
          "name",
          "softphones",
          "streamingVideos",
          "videoConferencings",
          "videoSignalings",
          "voiceSignalings",
          "voices"
        ],
        "type": "object"
      }
    },
    "fortios:system/lldp/getNetworkpolicylist:getNetworkpolicylist": {
      "description": "Provides a list of `fortios.system/lldp.Networkpolicy`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetworkpolicylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getNetworkpolicylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system/lldp.Networkpolicy`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:system/snmp/getCommunity:getCommunity": {
      "description": "Use this data source to get information on an fortios systemsnmp community\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCommunity.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Specify the fosid of the desired systemsnmp community.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "fosid"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getCommunity.\n",
        "properties": {
          "events": {
            "description": "SNMP trap events.\n",
            "type": "string"
          },
          "fosid": {
            "description": "Community ID.\n",
            "type": "integer"
          },
          "hosts": {
            "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FgetCommunityHost:getCommunityHost"
            },
            "type": "array"
          },
          "hosts6s": {
            "description": "Configure IPv6 SNMP managers. The structure of `hosts6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FgetCommunityHosts6:getCommunityHosts6"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mibView": {
            "description": "SNMP access control MIB view.\n",
            "type": "string"
          },
          "name": {
            "description": "VDOM name\n",
            "type": "string"
          },
          "queryV1Port": {
            "description": "SNMP v1 query port (default = 161).\n",
            "type": "integer"
          },
          "queryV1Status": {
            "description": "Enable/disable SNMP v1 queries.\n",
            "type": "string"
          },
          "queryV2cPort": {
            "description": "SNMP v2c query port (default = 161).\n",
            "type": "integer"
          },
          "queryV2cStatus": {
            "description": "Enable/disable SNMP v2c queries.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this SNMP community.\n",
            "type": "string"
          },
          "trapV1Lport": {
            "description": "SNMP v1 trap local port (default = 162).\n",
            "type": "integer"
          },
          "trapV1Rport": {
            "description": "SNMP v1 trap remote port (default = 162).\n",
            "type": "integer"
          },
          "trapV1Status": {
            "description": "Enable/disable SNMP v1 traps.\n",
            "type": "string"
          },
          "trapV2cLport": {
            "description": "SNMP v2c trap local port (default = 162).\n",
            "type": "integer"
          },
          "trapV2cRport": {
            "description": "SNMP v2c trap remote port (default = 162).\n",
            "type": "integer"
          },
          "trapV2cStatus": {
            "description": "Enable/disable SNMP v2c traps.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FgetCommunityVdom:getCommunityVdom"
            },
            "type": "array"
          }
        },
        "required": [
          "events",
          "fosid",
          "hosts",
          "hosts6s",
          "id",
          "mibView",
          "name",
          "queryV1Port",
          "queryV1Status",
          "queryV2cPort",
          "queryV2cStatus",
          "status",
          "trapV1Lport",
          "trapV1Rport",
          "trapV1Status",
          "trapV2cLport",
          "trapV2cRport",
          "trapV2cStatus",
          "vdoms"
        ],
        "type": "object"
      }
    },
    "fortios:system/snmp/getCommunitylist:getCommunitylist": {
      "description": "Provides a list of `fortios.system/snmp.Community`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getCommunitylist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getCommunitylist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "fosidlists": {
            "description": "A list of the `fortios.system/snmp.Community`.\n",
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "fosidlists",
          "id"
        ],
        "type": "object"
      }
    },
    "fortios:system/snmp/getSysinfo:getSysinfo": {
      "description": "Use this data source to get information on fortios systemsnmp sysinfo\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSysinfo.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSysinfo.\n",
        "properties": {
          "appendIndex": {
            "description": "Enable/disable allowance of appending VDOM or interface index in some RFC tables.\n",
            "type": "string"
          },
          "contactInfo": {
            "description": "Contact information.\n",
            "type": "string"
          },
          "description": {
            "description": "System description.\n",
            "type": "string"
          },
          "engineId": {
            "description": "Local SNMP engineID string (maximum 24 characters).\n",
            "type": "string"
          },
          "engineIdType": {
            "description": "Local SNMP engineID type (text/hex/mac).\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "location": {
            "description": "System location.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable SNMP.\n",
            "type": "string"
          },
          "trapFreeMemoryThreshold": {
            "description": "Free memory usage when trap is sent.\n",
            "type": "integer"
          },
          "trapFreeableMemoryThreshold": {
            "description": "Freeable memory usage when trap is sent.\n",
            "type": "integer"
          },
          "trapHighCpuThreshold": {
            "description": "CPU usage when trap is sent.\n",
            "type": "integer"
          },
          "trapLogFullThreshold": {
            "description": "Log disk usage when trap is sent.\n",
            "type": "integer"
          },
          "trapLowMemoryThreshold": {
            "description": "Memory usage when trap is sent.\n",
            "type": "integer"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "appendIndex",
          "contactInfo",
          "description",
          "engineId",
          "engineIdType",
          "id",
          "location",
          "status",
          "trapFreeMemoryThreshold",
          "trapFreeableMemoryThreshold",
          "trapHighCpuThreshold",
          "trapLogFullThreshold",
          "trapLowMemoryThreshold"
        ],
        "type": "object"
      }
    },
    "fortios:system/snmp/getUser:getUser": {
      "description": "Use this data source to get information on an fortios systemsnmp user\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUser.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired systemsnmp user.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getUser.\n",
        "properties": {
          "authProto": {
            "description": "Authentication protocol.\n",
            "type": "string"
          },
          "authPwd": {
            "description": "Password for authentication protocol.\n",
            "secret": true,
            "type": "string"
          },
          "events": {
            "description": "SNMP notifications (traps) to send.\n",
            "type": "string"
          },
          "haDirect": {
            "description": "Enable/disable direct management of HA cluster members.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mibView": {
            "description": "SNMP access control MIB view.\n",
            "type": "string"
          },
          "name": {
            "description": "VDOM name\n",
            "type": "string"
          },
          "notifyHosts": {
            "description": "SNMP managers to send notifications (traps) to.\n",
            "type": "string"
          },
          "notifyHosts6": {
            "description": "IPv6 SNMP managers to send notifications (traps) to.\n",
            "type": "string"
          },
          "privProto": {
            "description": "Privacy (encryption) protocol.\n",
            "type": "string"
          },
          "privPwd": {
            "description": "Password for privacy (encryption) protocol.\n",
            "secret": true,
            "type": "string"
          },
          "queries": {
            "description": "Enable/disable SNMP queries for this user.\n",
            "type": "string"
          },
          "queryPort": {
            "description": "SNMPv3 query port (default = 161).\n",
            "type": "integer"
          },
          "securityLevel": {
            "description": "Security level for message authentication and encryption.\n",
            "type": "string"
          },
          "sourceIp": {
            "description": "Source IP for SNMP trap.\n",
            "type": "string"
          },
          "sourceIpv6": {
            "description": "Source IPv6 for SNMP trap.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable this SNMP user.\n",
            "type": "string"
          },
          "trapLport": {
            "description": "SNMPv3 local trap port (default = 162).\n",
            "type": "integer"
          },
          "trapRport": {
            "description": "SNMPv3 trap remote port (default = 162).\n",
            "type": "integer"
          },
          "trapStatus": {
            "description": "Enable/disable traps for this SNMP user.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "vdoms": {
            "description": "SNMP access control VDOMs. The structure of `vdoms` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:system%2Fsnmp%2FgetUserVdom:getUserVdom"
            },
            "type": "array"
          }
        },
        "required": [
          "authProto",
          "authPwd",
          "events",
          "haDirect",
          "id",
          "mibView",
          "name",
          "notifyHosts",
          "notifyHosts6",
          "privProto",
          "privPwd",
          "queries",
          "queryPort",
          "securityLevel",
          "sourceIp",
          "sourceIpv6",
          "status",
          "trapLport",
          "trapRport",
          "trapStatus",
          "vdoms"
        ],
        "type": "object"
      }
    },
    "fortios:system/snmp/getUserlist:getUserlist": {
      "description": "Provides a list of `fortios.system/snmp.User`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUserlist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getUserlist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.system/snmp.User`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:user/getSaml:getSaml": {
      "description": "Use this data source to get information on an fortios user saml\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSaml.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Specify the name of the desired user saml.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSaml.\n",
        "properties": {
          "adfsClaim": {
            "description": "Enable/disable ADFS Claim for user/group attribute in assertion statement (default = disable).\n",
            "type": "string"
          },
          "authUrl": {
            "description": "URL to verify authentication.\n",
            "type": "string"
          },
          "cert": {
            "description": "Certificate to sign SAML messages.\n",
            "type": "string"
          },
          "clockTolerance": {
            "description": "Clock skew tolerance in seconds (0 - 300, default = 15, 0 = no tolerance).\n",
            "type": "integer"
          },
          "digestMethod": {
            "description": "Digest Method Algorithm. (default = sha1).\n",
            "type": "string"
          },
          "entityId": {
            "description": "SP entity ID.\n",
            "type": "string"
          },
          "groupClaimType": {
            "description": "Group claim in assertion statement.\n",
            "type": "string"
          },
          "groupName": {
            "description": "Group name in assertion statement.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "idpCert": {
            "description": "IDP Certificate name.\n",
            "type": "string"
          },
          "idpEntityId": {
            "description": "IDP entity ID.\n",
            "type": "string"
          },
          "idpSingleLogoutUrl": {
            "description": "IDP single logout url.\n",
            "type": "string"
          },
          "idpSingleSignOnUrl": {
            "description": "IDP single sign-on URL.\n",
            "type": "string"
          },
          "limitRelaystate": {
            "description": "Enable/disable limiting of relay-state parameter when it exceeds SAML 2.0 specification limits (80 bytes).\n",
            "type": "string"
          },
          "name": {
            "description": "SAML server entry name.\n",
            "type": "string"
          },
          "reauth": {
            "description": "Enable/disable signalling of IDP to force user re-authentication (default = disable).\n",
            "type": "string"
          },
          "singleLogoutUrl": {
            "description": "SP single logout URL.\n",
            "type": "string"
          },
          "singleSignOnUrl": {
            "description": "SP single sign-on URL.\n",
            "type": "string"
          },
          "userClaimType": {
            "description": "User name claim in assertion statement.\n",
            "type": "string"
          },
          "userName": {
            "description": "User name in assertion statement.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "adfsClaim",
          "authUrl",
          "cert",
          "clockTolerance",
          "digestMethod",
          "entityId",
          "groupClaimType",
          "groupName",
          "id",
          "idpCert",
          "idpEntityId",
          "idpSingleLogoutUrl",
          "idpSingleSignOnUrl",
          "limitRelaystate",
          "name",
          "reauth",
          "singleLogoutUrl",
          "singleSignOnUrl",
          "userClaimType",
          "userName"
        ],
        "type": "object"
      }
    },
    "fortios:user/getSamllist:getSamllist": {
      "description": "Provides a list of `fortios.user.Saml`.\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSamllist.\n",
        "properties": {
          "filter": {
            "type": "string",
            "description": "A filter used to scope the list. See Filter results of datasource.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSamllist.\n",
        "properties": {
          "filter": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "namelists": {
            "description": "A list of the `fortios.user.Saml`.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vdomparam": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "namelists"
        ],
        "type": "object"
      }
    },
    "fortios:vpn/ssl/getSettings:getSettings": {
      "description": "Use this data source to get information on fortios vpnssl settings\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSettings.\n",
        "properties": {
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one 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"
      },
      "outputs": {
        "description": "A collection of values returned by getSettings.\n",
        "properties": {
          "algorithm": {
            "description": "Force the SSL-VPN security level. High allows only high. Medium allows medium and high. Low allows any.\n",
            "type": "string"
          },
          "authSessionCheckSourceIp": {
            "description": "Enable/disable checking of source IP for authentication session.\n",
            "type": "string"
          },
          "authTimeout": {
            "description": "SSL-VPN authentication timeout (1 - 259200 sec (3 days), 0 for no timeout).\n",
            "type": "integer"
          },
          "authenticationRules": {
            "description": "Authentication rule for SSL VPN. The structure of `authentication_rule` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRule:getSettingsAuthenticationRule"
            },
            "type": "array"
          },
          "autoTunnelStaticRoute": {
            "description": "Enable to auto-create static routes for the SSL-VPN tunnel IP addresses.\n",
            "type": "string"
          },
          "bannedCipher": {
            "description": "Select one or more cipher technologies that cannot be used in SSL-VPN negotiations.\n",
            "type": "string"
          },
          "browserLanguageDetection": {
            "description": "Enable/disable overriding the configured system language based on the preferred language of the browser.\n",
            "type": "string"
          },
          "checkReferer": {
            "description": "Enable/disable verification of referer field in HTTP request header.\n",
            "type": "string"
          },
          "ciphersuite": {
            "description": "Select one or more TLS 1.3 ciphersuites to enable. Does not affect ciphers in TLS 1.2 and below. At least one must be enabled. To disable all, set ssl-max-proto-ver to tls1-2 or below.\n",
            "type": "string"
          },
          "clientSigalgs": {
            "description": "Set signature algorithms related to client authentication. Affects TLS version \u003c= 1.2 only.\n",
            "type": "string"
          },
          "defaultPortal": {
            "description": "Default SSL VPN portal.\n",
            "type": "string"
          },
          "deflateCompressionLevel": {
            "description": "Compression level (0~9).\n",
            "type": "integer"
          },
          "deflateMinDataSize": {
            "description": "Minimum amount of data that triggers compression (200 - 65535 bytes).\n",
            "type": "integer"
          },
          "dnsServer1": {
            "description": "DNS server 1.\n",
            "type": "string"
          },
          "dnsServer2": {
            "description": "DNS server 2.\n",
            "type": "string"
          },
          "dnsSuffix": {
            "description": "DNS suffix used for SSL-VPN clients.\n",
            "type": "string"
          },
          "dtlsHeartbeatFailCount": {
            "description": "Number of missing heartbeats before the connection is considered dropped.\n",
            "type": "integer"
          },
          "dtlsHeartbeatIdleTimeout": {
            "description": "Idle timeout before DTLS heartbeat is sent.\n",
            "type": "integer"
          },
          "dtlsHeartbeatInterval": {
            "description": "Interval between DTLS heartbeat.\n",
            "type": "integer"
          },
          "dtlsHelloTimeout": {
            "description": "SSLVPN maximum DTLS hello timeout (10 - 60 sec, default = 10).\n",
            "type": "integer"
          },
          "dtlsMaxProtoVer": {
            "description": "DTLS maximum protocol version.\n",
            "type": "string"
          },
          "dtlsMinProtoVer": {
            "description": "DTLS minimum protocol version.\n",
            "type": "string"
          },
          "dtlsTunnel": {
            "description": "Enable DTLS to prevent eavesdropping, tampering, or message forgery.\n",
            "type": "string"
          },
          "dualStackMode": {
            "description": "Tunnel mode: enable parallel IPv4 and IPv6 tunnel. Web mode: support IPv4 and IPv6 bookmarks in the portal.\n",
            "type": "string"
          },
          "encode2fSequence": {
            "description": "Encode \\2F sequence to forward slash in URLs.\n",
            "type": "string"
          },
          "encryptAndStorePassword": {
            "description": "Encrypt and store user passwords for SSL-VPN web sessions.\n",
            "type": "string"
          },
          "forceTwoFactorAuth": {
            "description": "Enable to force two-factor authentication for all SSL-VPNs.\n",
            "type": "string"
          },
          "headerXForwardedFor": {
            "description": "Forward the same, add, or remove HTTP header.\n",
            "type": "string"
          },
          "hstsIncludeSubdomains": {
            "description": "Add HSTS includeSubDomains response header.\n",
            "type": "string"
          },
          "httpCompression": {
            "description": "Enable to allow HTTP compression over SSL-VPN tunnels.\n",
            "type": "string"
          },
          "httpOnlyCookie": {
            "description": "Enable/disable SSL-VPN support for HttpOnly cookies.\n",
            "type": "string"
          },
          "httpRequestBodyTimeout": {
            "description": "SSL-VPN session is disconnected if an HTTP request body is not received within this time (1 - 60 sec, default = 20).\n",
            "type": "integer"
          },
          "httpRequestHeaderTimeout": {
            "description": "SSL-VPN session is disconnected if an HTTP request header is not received within this time (1 - 60 sec, default = 20).\n",
            "type": "integer"
          },
          "httpsRedirect": {
            "description": "Enable/disable redirect of port 80 to SSL-VPN port.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "idleTimeout": {
            "description": "SSL VPN disconnects if idle for specified time in seconds.\n",
            "type": "integer"
          },
          "ipv6DnsServer1": {
            "description": "IPv6 DNS server 1.\n",
            "type": "string"
          },
          "ipv6DnsServer2": {
            "description": "IPv6 DNS server 2.\n",
            "type": "string"
          },
          "ipv6WinsServer1": {
            "description": "IPv6 WINS server 1.\n",
            "type": "string"
          },
          "ipv6WinsServer2": {
            "description": "IPv6 WINS server 2.\n",
            "type": "string"
          },
          "loginAttemptLimit": {
            "description": "SSL VPN maximum login attempt times before block (0 - 10, default = 2, 0 = no limit).\n",
            "type": "integer"
          },
          "loginBlockTime": {
            "description": "Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec, default = 60).\n",
            "type": "integer"
          },
          "loginTimeout": {
            "description": "SSLVPN maximum login timeout (10 - 180 sec, default = 30).\n",
            "type": "integer"
          },
          "port": {
            "description": "SSL-VPN access port (1 - 65535).\n",
            "type": "integer"
          },
          "portPrecedence": {
            "description": "Enable means that if SSL-VPN connections are allowed on an interface admin GUI connections are blocked on that interface.\n",
            "type": "string"
          },
          "reqclientcert": {
            "description": "Enable to require client certificates for all SSL-VPN users.\n",
            "type": "string"
          },
          "routeSourceInterface": {
            "description": "Enable to allow SSL-VPN sessions to bypass routing and bind to the incoming interface.\n",
            "type": "string"
          },
          "samlRedirectPort": {
            "description": "SAML local redirect port in the machine running FCT (0 - 65535). 0 is to disable redirection on FGT side.\n",
            "type": "integer"
          },
          "serverHostname": {
            "description": "Server hostname for HTTPS. When set, will be used for SSL VPN web proxy host header for any redirection.\n",
            "type": "string"
          },
          "servercert": {
            "description": "Name of the server certificate to be used for SSL-VPNs.\n",
            "type": "string"
          },
          "sourceAddress6Negate": {
            "description": "Enable/disable negated source IPv6 address match.\n",
            "type": "string"
          },
          "sourceAddress6s": {
            "description": "IPv6 source address of incoming traffic. The structure of `source_address6` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsSourceAddress6:getSettingsSourceAddress6"
            },
            "type": "array"
          },
          "sourceAddressNegate": {
            "description": "Enable/disable negated source address match.\n",
            "type": "string"
          },
          "sourceAddresses": {
            "description": "Source address of incoming traffic. The structure of `source_address` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsSourceAddress:getSettingsSourceAddress"
            },
            "type": "array"
          },
          "sourceInterfaces": {
            "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsSourceInterface:getSettingsSourceInterface"
            },
            "type": "array"
          },
          "sslClientRenegotiation": {
            "description": "Enable to allow client renegotiation by the server if the tunnel goes down.\n",
            "type": "string"
          },
          "sslInsertEmptyFragment": {
            "description": "Enable/disable insertion of empty fragment.\n",
            "type": "string"
          },
          "sslMaxProtoVer": {
            "description": "SSL maximum protocol version.\n",
            "type": "string"
          },
          "sslMinProtoVer": {
            "description": "SSL minimum protocol version.\n",
            "type": "string"
          },
          "status": {
            "description": "Enable/disable SSL-VPN.\n",
            "type": "string"
          },
          "tlsv10": {
            "description": "Enable/disable TLSv1.0.\n",
            "type": "string"
          },
          "tlsv11": {
            "description": "Enable/disable TLSv1.1.\n",
            "type": "string"
          },
          "tlsv12": {
            "description": "Enable/disable TLSv1.2.\n",
            "type": "string"
          },
          "tlsv13": {
            "description": "Enable/disable TLSv1.3.\n",
            "type": "string"
          },
          "transformBackwardSlashes": {
            "description": "Transform backward slashes to forward slashes in URLs.\n",
            "type": "string"
          },
          "tunnelAddrAssignedMethod": {
            "description": "Method used for assigning address for tunnel.\n",
            "type": "string"
          },
          "tunnelConnectWithoutReauth": {
            "description": "Enable/disable tunnel connection without re-authorization if previous connection dropped.\n",
            "type": "string"
          },
          "tunnelIpPools": {
            "description": "Names of the IPv4 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ip_pools` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsTunnelIpPool:getSettingsTunnelIpPool"
            },
            "type": "array"
          },
          "tunnelIpv6Pools": {
            "description": "Names of the IPv6 IP Pool firewall objects that define the IP addresses reserved for remote clients. The structure of `tunnel_ipv6_pools` block is documented below.\n",
            "items": {
              "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsTunnelIpv6Pool:getSettingsTunnelIpv6Pool"
            },
            "type": "array"
          },
          "tunnelUserSessionTimeout": {
            "description": "Time out value to clean up user session after tunnel connection is dropped (1 - 255 sec, default=30).\n",
            "type": "integer"
          },
          "unsafeLegacyRenegotiation": {
            "description": "Enable/disable unsafe legacy re-negotiation.\n",
            "type": "string"
          },
          "urlObscuration": {
            "description": "Enable to obscure the host name of the URL of the web browser display.\n",
            "type": "string"
          },
          "userPeer": {
            "description": "Name of user peer.\n",
            "type": "string"
          },
          "vdomparam": {
            "type": "string"
          },
          "webModeSnat": {
            "description": "Enable/disable use of IP pools defined in firewall policy while using web-mode.\n",
            "type": "string"
          },
          "winsServer1": {
            "description": "WINS server 1.\n",
            "type": "string"
          },
          "winsServer2": {
            "description": "WINS server 2.\n",
            "type": "string"
          },
          "xContentTypeOptions": {
            "description": "Add HTTP X-Content-Type-Options header.\n",
            "type": "string"
          },
          "ztnaTrustedClient": {
            "description": "Enable/disable verification of device certificate for SSLVPN ZTNA session.\n",
            "type": "string"
          }
        },
        "required": [
          "algorithm",
          "authSessionCheckSourceIp",
          "authTimeout",
          "authenticationRules",
          "autoTunnelStaticRoute",
          "bannedCipher",
          "browserLanguageDetection",
          "checkReferer",
          "ciphersuite",
          "clientSigalgs",
          "defaultPortal",
          "deflateCompressionLevel",
          "deflateMinDataSize",
          "dnsServer1",
          "dnsServer2",
          "dnsSuffix",
          "dtlsHeartbeatFailCount",
          "dtlsHeartbeatIdleTimeout",
          "dtlsHeartbeatInterval",
          "dtlsHelloTimeout",
          "dtlsMaxProtoVer",
          "dtlsMinProtoVer",
          "dtlsTunnel",
          "dualStackMode",
          "encode2fSequence",
          "encryptAndStorePassword",
          "forceTwoFactorAuth",
          "headerXForwardedFor",
          "hstsIncludeSubdomains",
          "httpCompression",
          "httpOnlyCookie",
          "httpRequestBodyTimeout",
          "httpRequestHeaderTimeout",
          "httpsRedirect",
          "id",
          "idleTimeout",
          "ipv6DnsServer1",
          "ipv6DnsServer2",
          "ipv6WinsServer1",
          "ipv6WinsServer2",
          "loginAttemptLimit",
          "loginBlockTime",
          "loginTimeout",
          "port",
          "portPrecedence",
          "reqclientcert",
          "routeSourceInterface",
          "samlRedirectPort",
          "serverHostname",
          "servercert",
          "sourceAddress6Negate",
          "sourceAddress6s",
          "sourceAddressNegate",
          "sourceAddresses",
          "sourceInterfaces",
          "sslClientRenegotiation",
          "sslInsertEmptyFragment",
          "sslMaxProtoVer",
          "sslMinProtoVer",
          "status",
          "tlsv10",
          "tlsv11",
          "tlsv12",
          "tlsv13",
          "transformBackwardSlashes",
          "tunnelAddrAssignedMethod",
          "tunnelConnectWithoutReauth",
          "tunnelIpPools",
          "tunnelIpv6Pools",
          "tunnelUserSessionTimeout",
          "unsafeLegacyRenegotiation",
          "urlObscuration",
          "userPeer",
          "webModeSnat",
          "winsServer1",
          "winsServer2",
          "xContentTypeOptions",
          "ztnaTrustedClient"
        ],
        "type": "object"
      }
    }
  }
}
