// *** 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 TencentCloudIAC.PulumiPackage.Tencentcloud.Tem.Outputs
{

    [OutputType]
    public sealed class GatewayIngress
    {
        /// <summary>
        /// ip version, support IPV4.
        /// </summary>
        public readonly string AddressIpVersion;
        /// <summary>
        /// related CLB ID, support binding existing clb, does not support modification.
        /// </summary>
        public readonly string? ClbId;
        public readonly string? CreateTime;
        /// <summary>
        /// environment ID.
        /// </summary>
        public readonly string EnvironmentId;
        /// <summary>
        /// gateway name.
        /// </summary>
        public readonly string IngressName;
        /// <summary>
        /// mixing HTTP and HTTPS.
        /// </summary>
        public readonly bool Mixed;
        /// <summary>
        /// redirect mode, support AUTO and NONE.
        /// </summary>
        public readonly string? RewriteType;
        /// <summary>
        /// proxy rules.
        /// </summary>
        public readonly ImmutableArray<Outputs.GatewayIngressRule> Rules;
        /// <summary>
        /// ingress TLS configurations.
        /// </summary>
        public readonly ImmutableArray<Outputs.GatewayIngressTl> Tls;
        public readonly string? Vip;

        [OutputConstructor]
        private GatewayIngress(
            string addressIpVersion,

            string? clbId,

            string? createTime,

            string environmentId,

            string ingressName,

            bool mixed,

            string? rewriteType,

            ImmutableArray<Outputs.GatewayIngressRule> rules,

            ImmutableArray<Outputs.GatewayIngressTl> tls,

            string? vip)
        {
            AddressIpVersion = addressIpVersion;
            ClbId = clbId;
            CreateTime = createTime;
            EnvironmentId = environmentId;
            IngressName = ingressName;
            Mixed = mixed;
            RewriteType = rewriteType;
            Rules = rules;
            Tls = tls;
            Vip = vip;
        }
    }
}
