// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace Pulumiverse.Fortios.Inputs
{

    public sealed class FirewallProfileprotocoloptionsFtpArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Amount of data to send in a transmission for client comforting (1 - 10240 bytes, default = 1).
        /// </summary>
        [Input("comfortAmount")]
        public Input<int>? ComfortAmount { get; set; }

        /// <summary>
        /// Period of time between start, or last transmission, and the next client comfort transmission of data (1 - 900 sec, default = 10).
        /// </summary>
        [Input("comfortInterval")]
        public Input<int>? ComfortInterval { get; set; }

        /// <summary>
        /// Enable/disable FTP redirection for explicit FTPS. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("explicitFtpTls")]
        public Input<string>? ExplicitFtpTls { get; set; }

        /// <summary>
        /// Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("inspectAll")]
        public Input<string>? InspectAll { get; set; }

        /// <summary>
        /// One or more options that can be applied to the session. Valid values: `clientcomfort`, `oversize`, `splice`, `bypass-rest-command`, `bypass-mode-command`.
        /// </summary>
        [Input("options")]
        public Input<string>? Options { get; set; }

        /// <summary>
        /// Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).
        /// </summary>
        [Input("oversizeLimit")]
        public Input<int>? OversizeLimit { get; set; }

        /// <summary>
        /// Ports to scan for content (1 - 65535, default = 21).
        /// </summary>
        [Input("ports")]
        public Input<int>? Ports { get; set; }

        /// <summary>
        /// Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("scanBzip2")]
        public Input<string>? ScanBzip2 { get; set; }

        /// <summary>
        /// SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.
        /// </summary>
        [Input("sslOffloaded")]
        public Input<string>? SslOffloaded { get; set; }

        /// <summary>
        /// Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.
        /// </summary>
        [Input("status")]
        public Input<string>? Status { get; set; }

        /// <summary>
        /// Maximum stream-based uncompressed data size that will be scanned (MB, 0 = unlimited (default).  Stream-based uncompression used only under certain conditions.).
        /// </summary>
        [Input("streamBasedUncompressedLimit")]
        public Input<int>? StreamBasedUncompressedLimit { get; set; }

        /// <summary>
        /// Maximum dynamic TCP window size.
        /// </summary>
        [Input("tcpWindowMaximum")]
        public Input<int>? TcpWindowMaximum { get; set; }

        /// <summary>
        /// Minimum dynamic TCP window size.
        /// </summary>
        [Input("tcpWindowMinimum")]
        public Input<int>? TcpWindowMinimum { get; set; }

        /// <summary>
        /// Set TCP static window size.
        /// </summary>
        [Input("tcpWindowSize")]
        public Input<int>? TcpWindowSize { get; set; }

        /// <summary>
        /// TCP window type to use for this protocol.
        /// </summary>
        [Input("tcpWindowType")]
        public Input<string>? TcpWindowType { get; set; }

        /// <summary>
        /// Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).
        /// </summary>
        [Input("uncompressedNestLimit")]
        public Input<int>? UncompressedNestLimit { get; set; }

        /// <summary>
        /// Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).
        /// </summary>
        [Input("uncompressedOversizeLimit")]
        public Input<int>? UncompressedOversizeLimit { get; set; }

        public FirewallProfileprotocoloptionsFtpArgs()
        {
        }
        public static new FirewallProfileprotocoloptionsFtpArgs Empty => new FirewallProfileprotocoloptionsFtpArgs();
    }
}
