UNPKG

@pulumiverse/fortios

Version:

A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0

621 lines (620 loc) 26.2 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Configure AntiVirus profiles. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fortios from "@pulumiverse/fortios"; * * const trname = new fortios.antivirus.Profile("trname", { * analyticsBlFiletype: 0, * analyticsDb: "disable", * analyticsMaxUpload: 10, * analyticsWlFiletype: 0, * avBlockLog: "enable", * avVirusLog: "enable", * extendedLog: "disable", * ftgdAnalytics: "disable", * inspectionMode: "flow-based", * mobileMalwareDb: "enable", * scanMode: "quick", * }); * ``` * * ## Import * * Antivirus Profile can be imported using any of these accepted formats: * * ```sh * $ pulumi import fortios:antivirus/profile:Profile labelname {{name}} * ``` * * If you do not want to import arguments of block: * * $ export "FORTIOS_IMPORT_TABLE"="false" * * ```sh * $ pulumi import fortios:antivirus/profile:Profile labelname {{name}} * ``` * * $ unset "FORTIOS_IMPORT_TABLE" */ export declare class Profile extends pulumi.CustomResource { /** * Get an existing Profile resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProfileState, opts?: pulumi.CustomResourceOptions): Profile; /** * Returns true if the given object is an instance of Profile. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Profile; /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ readonly analyticsAcceptFiletype: pulumi.Output<number>; /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ readonly analyticsBlFiletype: pulumi.Output<number>; /** * Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`. */ readonly analyticsDb: pulumi.Output<string>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only). */ readonly analyticsIgnoreFiletype: pulumi.Output<number>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ readonly analyticsMaxUpload: pulumi.Output<number>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox. */ readonly analyticsWlFiletype: pulumi.Output<number>; /** * Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`. */ readonly avBlockLog: pulumi.Output<string>; /** * Enable/disable AntiVirus logging. Valid values: `enable`, `disable`. */ readonly avVirusLog: pulumi.Output<string>; /** * Configure CIFS AntiVirus options. The structure of `cifs` block is documented below. */ readonly cifs: pulumi.Output<outputs.antivirus.ProfileCifs>; /** * Comment. */ readonly comment: pulumi.Output<string | undefined>; /** * AV Content Disarm and Reconstruction settings. The structure of `contentDisarm` block is documented below. */ readonly contentDisarm: pulumi.Output<outputs.antivirus.ProfileContentDisarm>; /** * Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ]. */ readonly dynamicSortSubtable: pulumi.Output<string | undefined>; /** * Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`. */ readonly emsThreatFeed: pulumi.Output<string>; /** * Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`. */ readonly extendedLog: pulumi.Output<string>; /** * Enable/disable all external blocklists. Valid values: `disable`, `enable`. */ readonly externalBlocklistEnableAll: pulumi.Output<string>; /** * One or more external malware block lists. The structure of `externalBlocklist` block is documented below. */ readonly externalBlocklists: pulumi.Output<outputs.antivirus.ProfileExternalBlocklist[] | undefined>; /** * Flow/proxy feature set. Valid values: `flow`, `proxy`. */ readonly featureSet: pulumi.Output<string>; /** * Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`. */ readonly fortiaiErrorAction: pulumi.Output<string>; /** * Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ readonly fortiaiTimeoutAction: pulumi.Output<string>; /** * Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`. */ readonly fortindrErrorAction: pulumi.Output<string>; /** * Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ readonly fortindrTimeoutAction: pulumi.Output<string>; /** * Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`. */ readonly fortisandboxErrorAction: pulumi.Output<string>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ readonly fortisandboxMaxUpload: pulumi.Output<number>; /** * FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`. */ readonly fortisandboxMode: pulumi.Output<string>; /** * Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ readonly fortisandboxTimeoutAction: pulumi.Output<string>; /** * Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`. */ readonly ftgdAnalytics: pulumi.Output<string>; /** * Configure FTP AntiVirus options. The structure of `ftp` block is documented below. */ readonly ftp: pulumi.Output<outputs.antivirus.ProfileFtp>; /** * Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables. */ readonly getAllTables: pulumi.Output<string | undefined>; /** * Configure HTTP AntiVirus options. The structure of `http` block is documented below. */ readonly http: pulumi.Output<outputs.antivirus.ProfileHttp>; /** * Configure IMAP AntiVirus options. The structure of `imap` block is documented below. */ readonly imap: pulumi.Output<outputs.antivirus.ProfileImap>; /** * Inspection mode. Valid values: `proxy`, `flow-based`. */ readonly inspectionMode: pulumi.Output<string>; /** * Configure MAPI AntiVirus options. The structure of `mapi` block is documented below. */ readonly mapi: pulumi.Output<outputs.antivirus.ProfileMapi>; /** * Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`. */ readonly mobileMalwareDb: pulumi.Output<string>; /** * Configure AntiVirus quarantine settings. The structure of `nacQuar` block is documented below. */ readonly nacQuar: pulumi.Output<outputs.antivirus.ProfileNacQuar>; /** * Profile name. */ readonly name: pulumi.Output<string>; /** * Configure NNTP AntiVirus options. The structure of `nntp` block is documented below. */ readonly nntp: pulumi.Output<outputs.antivirus.ProfileNntp>; /** * Configure Virus Outbreak Prevention settings. The structure of `outbreakPrevention` block is documented below. */ readonly outbreakPrevention: pulumi.Output<outputs.antivirus.ProfileOutbreakPrevention>; /** * Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`. */ readonly outbreakPreventionArchiveScan: pulumi.Output<string>; /** * Configure POP3 AntiVirus options. The structure of `pop3` block is documented below. */ readonly pop3: pulumi.Output<outputs.antivirus.ProfilePop3>; /** * Replacement message group customized for this profile. */ readonly replacemsgGroup: pulumi.Output<string>; /** * Configure scan mode (default or legacy). */ readonly scanMode: pulumi.Output<string>; /** * Configure SMB AntiVirus options. The structure of `smb` block is documented below. */ readonly smb: pulumi.Output<outputs.antivirus.ProfileSmb>; /** * Configure SMTP AntiVirus options. The structure of `smtp` block is documented below. */ readonly smtp: pulumi.Output<outputs.antivirus.ProfileSmtp>; /** * Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below. */ readonly ssh: pulumi.Output<outputs.antivirus.ProfileSsh>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ readonly vdomparam: pulumi.Output<string>; /** * Create a Profile resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: ProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Profile resources. */ export interface ProfileState { /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ analyticsAcceptFiletype?: pulumi.Input<number>; /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ analyticsBlFiletype?: pulumi.Input<number>; /** * Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`. */ analyticsDb?: pulumi.Input<string>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only). */ analyticsIgnoreFiletype?: pulumi.Input<number>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ analyticsMaxUpload?: pulumi.Input<number>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox. */ analyticsWlFiletype?: pulumi.Input<number>; /** * Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`. */ avBlockLog?: pulumi.Input<string>; /** * Enable/disable AntiVirus logging. Valid values: `enable`, `disable`. */ avVirusLog?: pulumi.Input<string>; /** * Configure CIFS AntiVirus options. The structure of `cifs` block is documented below. */ cifs?: pulumi.Input<inputs.antivirus.ProfileCifs>; /** * Comment. */ comment?: pulumi.Input<string>; /** * AV Content Disarm and Reconstruction settings. The structure of `contentDisarm` block is documented below. */ contentDisarm?: pulumi.Input<inputs.antivirus.ProfileContentDisarm>; /** * Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ]. */ dynamicSortSubtable?: pulumi.Input<string>; /** * Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`. */ emsThreatFeed?: pulumi.Input<string>; /** * Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`. */ extendedLog?: pulumi.Input<string>; /** * Enable/disable all external blocklists. Valid values: `disable`, `enable`. */ externalBlocklistEnableAll?: pulumi.Input<string>; /** * One or more external malware block lists. The structure of `externalBlocklist` block is documented below. */ externalBlocklists?: pulumi.Input<pulumi.Input<inputs.antivirus.ProfileExternalBlocklist>[]>; /** * Flow/proxy feature set. Valid values: `flow`, `proxy`. */ featureSet?: pulumi.Input<string>; /** * Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortiaiErrorAction?: pulumi.Input<string>; /** * Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortiaiTimeoutAction?: pulumi.Input<string>; /** * Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortindrErrorAction?: pulumi.Input<string>; /** * Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortindrTimeoutAction?: pulumi.Input<string>; /** * Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortisandboxErrorAction?: pulumi.Input<string>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ fortisandboxMaxUpload?: pulumi.Input<number>; /** * FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`. */ fortisandboxMode?: pulumi.Input<string>; /** * Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortisandboxTimeoutAction?: pulumi.Input<string>; /** * Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`. */ ftgdAnalytics?: pulumi.Input<string>; /** * Configure FTP AntiVirus options. The structure of `ftp` block is documented below. */ ftp?: pulumi.Input<inputs.antivirus.ProfileFtp>; /** * Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables. */ getAllTables?: pulumi.Input<string>; /** * Configure HTTP AntiVirus options. The structure of `http` block is documented below. */ http?: pulumi.Input<inputs.antivirus.ProfileHttp>; /** * Configure IMAP AntiVirus options. The structure of `imap` block is documented below. */ imap?: pulumi.Input<inputs.antivirus.ProfileImap>; /** * Inspection mode. Valid values: `proxy`, `flow-based`. */ inspectionMode?: pulumi.Input<string>; /** * Configure MAPI AntiVirus options. The structure of `mapi` block is documented below. */ mapi?: pulumi.Input<inputs.antivirus.ProfileMapi>; /** * Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`. */ mobileMalwareDb?: pulumi.Input<string>; /** * Configure AntiVirus quarantine settings. The structure of `nacQuar` block is documented below. */ nacQuar?: pulumi.Input<inputs.antivirus.ProfileNacQuar>; /** * Profile name. */ name?: pulumi.Input<string>; /** * Configure NNTP AntiVirus options. The structure of `nntp` block is documented below. */ nntp?: pulumi.Input<inputs.antivirus.ProfileNntp>; /** * Configure Virus Outbreak Prevention settings. The structure of `outbreakPrevention` block is documented below. */ outbreakPrevention?: pulumi.Input<inputs.antivirus.ProfileOutbreakPrevention>; /** * Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`. */ outbreakPreventionArchiveScan?: pulumi.Input<string>; /** * Configure POP3 AntiVirus options. The structure of `pop3` block is documented below. */ pop3?: pulumi.Input<inputs.antivirus.ProfilePop3>; /** * Replacement message group customized for this profile. */ replacemsgGroup?: pulumi.Input<string>; /** * Configure scan mode (default or legacy). */ scanMode?: pulumi.Input<string>; /** * Configure SMB AntiVirus options. The structure of `smb` block is documented below. */ smb?: pulumi.Input<inputs.antivirus.ProfileSmb>; /** * Configure SMTP AntiVirus options. The structure of `smtp` block is documented below. */ smtp?: pulumi.Input<inputs.antivirus.ProfileSmtp>; /** * Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below. */ ssh?: pulumi.Input<inputs.antivirus.ProfileSsh>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ vdomparam?: pulumi.Input<string>; } /** * The set of arguments for constructing a Profile resource. */ export interface ProfileArgs { /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ analyticsAcceptFiletype?: pulumi.Input<number>; /** * Only submit files matching this DLP file-pattern to FortiSandbox. */ analyticsBlFiletype?: pulumi.Input<number>; /** * Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`. */ analyticsDb?: pulumi.Input<string>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only). */ analyticsIgnoreFiletype?: pulumi.Input<number>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ analyticsMaxUpload?: pulumi.Input<number>; /** * Do not submit files matching this DLP file-pattern to FortiSandbox. */ analyticsWlFiletype?: pulumi.Input<number>; /** * Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`. */ avBlockLog?: pulumi.Input<string>; /** * Enable/disable AntiVirus logging. Valid values: `enable`, `disable`. */ avVirusLog?: pulumi.Input<string>; /** * Configure CIFS AntiVirus options. The structure of `cifs` block is documented below. */ cifs?: pulumi.Input<inputs.antivirus.ProfileCifs>; /** * Comment. */ comment?: pulumi.Input<string>; /** * AV Content Disarm and Reconstruction settings. The structure of `contentDisarm` block is documented below. */ contentDisarm?: pulumi.Input<inputs.antivirus.ProfileContentDisarm>; /** * Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ]. */ dynamicSortSubtable?: pulumi.Input<string>; /** * Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`. */ emsThreatFeed?: pulumi.Input<string>; /** * Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`. */ extendedLog?: pulumi.Input<string>; /** * Enable/disable all external blocklists. Valid values: `disable`, `enable`. */ externalBlocklistEnableAll?: pulumi.Input<string>; /** * One or more external malware block lists. The structure of `externalBlocklist` block is documented below. */ externalBlocklists?: pulumi.Input<pulumi.Input<inputs.antivirus.ProfileExternalBlocklist>[]>; /** * Flow/proxy feature set. Valid values: `flow`, `proxy`. */ featureSet?: pulumi.Input<string>; /** * Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortiaiErrorAction?: pulumi.Input<string>; /** * Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortiaiTimeoutAction?: pulumi.Input<string>; /** * Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortindrErrorAction?: pulumi.Input<string>; /** * Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortindrTimeoutAction?: pulumi.Input<string>; /** * Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`. */ fortisandboxErrorAction?: pulumi.Input<string>; /** * Maximum size of files that can be uploaded to FortiSandbox. */ fortisandboxMaxUpload?: pulumi.Input<number>; /** * FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`. */ fortisandboxMode?: pulumi.Input<string>; /** * Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`. */ fortisandboxTimeoutAction?: pulumi.Input<string>; /** * Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`. */ ftgdAnalytics?: pulumi.Input<string>; /** * Configure FTP AntiVirus options. The structure of `ftp` block is documented below. */ ftp?: pulumi.Input<inputs.antivirus.ProfileFtp>; /** * Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables. */ getAllTables?: pulumi.Input<string>; /** * Configure HTTP AntiVirus options. The structure of `http` block is documented below. */ http?: pulumi.Input<inputs.antivirus.ProfileHttp>; /** * Configure IMAP AntiVirus options. The structure of `imap` block is documented below. */ imap?: pulumi.Input<inputs.antivirus.ProfileImap>; /** * Inspection mode. Valid values: `proxy`, `flow-based`. */ inspectionMode?: pulumi.Input<string>; /** * Configure MAPI AntiVirus options. The structure of `mapi` block is documented below. */ mapi?: pulumi.Input<inputs.antivirus.ProfileMapi>; /** * Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`. */ mobileMalwareDb?: pulumi.Input<string>; /** * Configure AntiVirus quarantine settings. The structure of `nacQuar` block is documented below. */ nacQuar?: pulumi.Input<inputs.antivirus.ProfileNacQuar>; /** * Profile name. */ name?: pulumi.Input<string>; /** * Configure NNTP AntiVirus options. The structure of `nntp` block is documented below. */ nntp?: pulumi.Input<inputs.antivirus.ProfileNntp>; /** * Configure Virus Outbreak Prevention settings. The structure of `outbreakPrevention` block is documented below. */ outbreakPrevention?: pulumi.Input<inputs.antivirus.ProfileOutbreakPrevention>; /** * Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`. */ outbreakPreventionArchiveScan?: pulumi.Input<string>; /** * Configure POP3 AntiVirus options. The structure of `pop3` block is documented below. */ pop3?: pulumi.Input<inputs.antivirus.ProfilePop3>; /** * Replacement message group customized for this profile. */ replacemsgGroup?: pulumi.Input<string>; /** * Configure scan mode (default or legacy). */ scanMode?: pulumi.Input<string>; /** * Configure SMB AntiVirus options. The structure of `smb` block is documented below. */ smb?: pulumi.Input<inputs.antivirus.ProfileSmb>; /** * Configure SMTP AntiVirus options. The structure of `smtp` block is documented below. */ smtp?: pulumi.Input<inputs.antivirus.ProfileSmtp>; /** * Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below. */ ssh?: pulumi.Input<inputs.antivirus.ProfileSsh>; /** * Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter. */ vdomparam?: pulumi.Input<string>; }