<reponame>pulumiverse/pulumi-fortios<gh_stars>0// *** 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.Outputs
{

    [OutputType]
    public sealed class WafProfileConstraint
    {
        /// <summary>
        /// HTTP content length in request. The structure of `content_length` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintContentLength? ContentLength;
        /// <summary>
        /// HTTP constraint exception. The structure of `exception` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.WafProfileConstraintException> Exceptions;
        /// <summary>
        /// HTTP header length in request. The structure of `header_length` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintHeaderLength? HeaderLength;
        /// <summary>
        /// Enable/disable hostname check. The structure of `hostname` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintHostname? Hostname;
        /// <summary>
        /// HTTP line length in request. The structure of `line_length` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintLineLength? LineLength;
        /// <summary>
        /// Enable/disable malformed HTTP request check. The structure of `malformed` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMalformed? Malformed;
        /// <summary>
        /// Maximum number of cookies in HTTP request. The structure of `max_cookie` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMaxCookie? MaxCookie;
        /// <summary>
        /// Maximum number of HTTP header line. The structure of `max_header_line` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMaxHeaderLine? MaxHeaderLine;
        /// <summary>
        /// Maximum number of range segments in HTTP range line. The structure of `max_range_segment` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMaxRangeSegment? MaxRangeSegment;
        /// <summary>
        /// Maximum number of parameters in URL. The structure of `max_url_param` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMaxUrlParam? MaxUrlParam;
        /// <summary>
        /// Enable/disable HTTP method check. The structure of `method` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintMethod? Method;
        /// <summary>
        /// Maximum length of parameter in URL, HTTP POST request or HTTP body. The structure of `param_length` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintParamLength? ParamLength;
        /// <summary>
        /// Maximum length of parameter in URL. The structure of `url_param_length` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintUrlParamLength? UrlParamLength;
        /// <summary>
        /// Enable/disable HTTP version check. The structure of `version` block is documented below.
        /// </summary>
        public readonly Outputs.WafProfileConstraintVersion? Version;

        [OutputConstructor]
        private WafProfileConstraint(
            Outputs.WafProfileConstraintContentLength? contentLength,

            ImmutableArray<Outputs.WafProfileConstraintException> exceptions,

            Outputs.WafProfileConstraintHeaderLength? headerLength,

            Outputs.WafProfileConstraintHostname? hostname,

            Outputs.WafProfileConstraintLineLength? lineLength,

            Outputs.WafProfileConstraintMalformed? malformed,

            Outputs.WafProfileConstraintMaxCookie? maxCookie,

            Outputs.WafProfileConstraintMaxHeaderLine? maxHeaderLine,

            Outputs.WafProfileConstraintMaxRangeSegment? maxRangeSegment,

            Outputs.WafProfileConstraintMaxUrlParam? maxUrlParam,

            Outputs.WafProfileConstraintMethod? method,

            Outputs.WafProfileConstraintParamLength? paramLength,

            Outputs.WafProfileConstraintUrlParamLength? urlParamLength,

            Outputs.WafProfileConstraintVersion? version)
        {
            ContentLength = contentLength;
            Exceptions = exceptions;
            HeaderLength = headerLength;
            Hostname = hostname;
            LineLength = lineLength;
            Malformed = malformed;
            MaxCookie = maxCookie;
            MaxHeaderLine = maxHeaderLine;
            MaxRangeSegment = maxRangeSegment;
            MaxUrlParam = maxUrlParam;
            Method = method;
            ParamLength = paramLength;
            UrlParamLength = urlParamLength;
            Version = version;
        }
    }
}
