// *** 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.Alb.Outputs
{

    [OutputType]
    public sealed class GetServerGroupsGroupResult
    {
        /// <summary>
        /// The configuration of health checks.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetServerGroupsGroupHealthCheckConfigResult> HealthCheckConfigs;
        /// <summary>
        /// The ID of the Server Group.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The server protocol. Valid values: `HTTP` and `HTTPS`. Default value: `HTTP`.
        /// </summary>
        public readonly string Protocol;
        /// <summary>
        /// The scheduling algorithm. Valid values: `Wrr`, `Wlc` and `Sch`.
        /// </summary>
        public readonly string Scheduler;
        /// <summary>
        /// The first ID of the res ource.
        /// </summary>
        public readonly string ServerGroupId;
        /// <summary>
        /// The name of the resource.
        /// </summary>
        public readonly string ServerGroupName;
        /// <summary>
        /// The backend server.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetServerGroupsGroupServerResult> Servers;
        /// <summary>
        /// The status of the resource. Valid values: `Provisioning`, `Available` and `Configuring`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The configuration of the sticky session.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetServerGroupsGroupStickySessionConfigResult> StickySessionConfigs;
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// The ID of the VPC that you want to access.
        /// </summary>
        public readonly string VpcId;

        [OutputConstructor]
        private GetServerGroupsGroupResult(
            ImmutableArray<Outputs.GetServerGroupsGroupHealthCheckConfigResult> healthCheckConfigs,

            string id,

            string protocol,

            string scheduler,

            string serverGroupId,

            string serverGroupName,

            ImmutableArray<Outputs.GetServerGroupsGroupServerResult> servers,

            string status,

            ImmutableArray<Outputs.GetServerGroupsGroupStickySessionConfigResult> stickySessionConfigs,

            ImmutableDictionary<string, object> tags,

            string vpcId)
        {
            HealthCheckConfigs = healthCheckConfigs;
            Id = id;
            Protocol = protocol;
            Scheduler = scheduler;
            ServerGroupId = serverGroupId;
            ServerGroupName = serverGroupName;
            Servers = servers;
            Status = status;
            StickySessionConfigs = stickySessionConfigs;
            Tags = tags;
            VpcId = vpcId;
        }
    }
}
