// *** 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 WebproxyProfileHeader
    {
        /// <summary>
        /// Action when the HTTP header is forwarded. Valid values: `add-to-request`, `add-to-response`, `remove-from-request`, `remove-from-response`.
        /// </summary>
        public readonly string? Action;
        /// <summary>
        /// Configure options to append content to existing HTTP header or add new HTTP header. Valid values: `append`, `new-on-not-found`, `new`.
        /// </summary>
        public readonly string? AddOption;
        /// <summary>
        /// Enable/disable use of base64 encoding of HTTP content. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? Base64Encoding;
        /// <summary>
        /// HTTP header content.
        /// </summary>
        public readonly string? Content;
        /// <summary>
        /// Destination address and address group names (IPv6). The structure of `dstaddr6` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.WebproxyProfileHeaderDstaddr6> Dstaddr6s;
        /// <summary>
        /// Destination address and address group names. The structure of `dstaddr` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.WebproxyProfileHeaderDstaddr> Dstaddrs;
        /// <summary>
        /// HTTP forwarded header id.
        /// </summary>
        public readonly int? Id;
        /// <summary>
        /// HTTP forwarded header name.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// Configure protocol(s) to take add-option action on (HTTP, HTTPS, or both). Valid values: `https`, `http`.
        /// </summary>
        public readonly string? Protocol;

        [OutputConstructor]
        private WebproxyProfileHeader(
            string? action,

            string? addOption,

            string? base64Encoding,

            string? content,

            ImmutableArray<Outputs.WebproxyProfileHeaderDstaddr6> dstaddr6s,

            ImmutableArray<Outputs.WebproxyProfileHeaderDstaddr> dstaddrs,

            int? id,

            string? name,

            string? protocol)
        {
            Action = action;
            AddOption = addOption;
            Base64Encoding = base64Encoding;
            Content = content;
            Dstaddr6s = dstaddr6s;
            Dstaddrs = dstaddrs;
            Id = id;
            Name = name;
            Protocol = protocol;
        }
    }
}
