// *** 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 WebproxyProfileHeaderArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Action when the HTTP header is forwarded. Valid values: `add-to-request`, `add-to-response`, `remove-from-request`, `remove-from-response`.
        /// </summary>
        [Input("action")]
        public Input<string>? Action { get; set; }

        /// <summary>
        /// Configure options to append content to existing HTTP header or add new HTTP header. Valid values: `append`, `new-on-not-found`, `new`.
        /// </summary>
        [Input("addOption")]
        public Input<string>? AddOption { get; set; }

        /// <summary>
        /// Enable/disable use of base64 encoding of HTTP content. Valid values: `disable`, `enable`.
        /// </summary>
        [Input("base64Encoding")]
        public Input<string>? Base64Encoding { get; set; }

        /// <summary>
        /// HTTP header content.
        /// </summary>
        [Input("content")]
        public Input<string>? Content { get; set; }

        [Input("dstaddr6s")]
        private InputList<Inputs.WebproxyProfileHeaderDstaddr6Args>? _dstaddr6s;

        /// <summary>
        /// Destination address and address group names (IPv6). The structure of `dstaddr6` block is documented below.
        /// </summary>
        public InputList<Inputs.WebproxyProfileHeaderDstaddr6Args> Dstaddr6s
        {
            get => _dstaddr6s ?? (_dstaddr6s = new InputList<Inputs.WebproxyProfileHeaderDstaddr6Args>());
            set => _dstaddr6s = value;
        }

        [Input("dstaddrs")]
        private InputList<Inputs.WebproxyProfileHeaderDstaddrArgs>? _dstaddrs;

        /// <summary>
        /// Destination address and address group names. The structure of `dstaddr` block is documented below.
        /// </summary>
        public InputList<Inputs.WebproxyProfileHeaderDstaddrArgs> Dstaddrs
        {
            get => _dstaddrs ?? (_dstaddrs = new InputList<Inputs.WebproxyProfileHeaderDstaddrArgs>());
            set => _dstaddrs = value;
        }

        /// <summary>
        /// HTTP forwarded header id.
        /// </summary>
        [Input("id")]
        public Input<int>? Id { get; set; }

        /// <summary>
        /// HTTP forwarded header name.
        /// </summary>
        [Input("name")]
        public Input<string>? Name { get; set; }

        /// <summary>
        /// Configure protocol(s) to take add-option action on (HTTP, HTTPS, or both). Valid values: `https`, `http`.
        /// </summary>
        [Input("protocol")]
        public Input<string>? Protocol { get; set; }

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