<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;

namespace Pulumi.AliCloud.Ga.Outputs
{

    [OutputType]
    public sealed class GetForwardingRulesForwardingRuleResult
    {
        /// <summary>
        /// Forwarding Policy ID.
        /// </summary>
        public readonly string ForwardingRuleId;
        /// <summary>
        /// Forwarding policy name. The length of the name is 2-128 English or Chinese characters.
        /// </summary>
        public readonly string ForwardingRuleName;
        /// <summary>
        /// Forwarding Policy Status.
        /// </summary>
        public readonly string ForwardingRuleStatus;
        public readonly string Id;
        /// <summary>
        /// The ID of the listener.
        /// </summary>
        public readonly string ListenerId;
        /// <summary>
        /// Forwarding policy priority.
        /// </summary>
        public readonly int Priority;
        /// <summary>
        /// The IP protocol used by the GA instance.
        /// `order` - Forwarding priority.
        /// `rule_action_type` - Forward action type.
        /// `forward_group_config` - Forwarding configuration.
        /// `server_group_tuples` - Terminal node group configuration.
        /// `endpoint_group_id` - Terminal node group ID.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetForwardingRulesForwardingRuleRuleActionResult> RuleActions;
        /// <summary>
        /// Forward action.
        /// `rule_condition_type` - Forwarding condition type.
        /// `path_config` - Path configuration information.
        /// `values` - The length of the path is 1-128 characters.
        /// `host_config` - Domain name configuration information.
        /// `values` - The domain name is 3-128 characters long.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetForwardingRulesForwardingRuleRuleConditionResult> RuleConditions;

        [OutputConstructor]
        private GetForwardingRulesForwardingRuleResult(
            string forwardingRuleId,

            string forwardingRuleName,

            string forwardingRuleStatus,

            string id,

            string listenerId,

            int priority,

            ImmutableArray<Outputs.GetForwardingRulesForwardingRuleRuleActionResult> ruleActions,

            ImmutableArray<Outputs.GetForwardingRulesForwardingRuleRuleConditionResult> ruleConditions)
        {
            ForwardingRuleId = forwardingRuleId;
            ForwardingRuleName = forwardingRuleName;
            ForwardingRuleStatus = forwardingRuleStatus;
            Id = id;
            ListenerId = listenerId;
            Priority = priority;
            RuleActions = ruleActions;
            RuleConditions = ruleConditions;
        }
    }
}
