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

    [OutputType]
    public sealed class GetApplicationLoadBalancersSlbResult
    {
        /// <summary>
        /// Service address of the SLBs.
        /// </summary>
        public readonly string Address;
        public readonly string CreationTime;
        /// <summary>
        /// ID of the SLB.
        /// </summary>
        public readonly string Id;
        public readonly bool Internet;
        public readonly string MasterAvailabilityZone;
        public readonly string Name;
        /// <summary>
        /// Network type of the SLBs. Valid values: `vpc` and `classic`.
        /// </summary>
        public readonly string NetworkType;
        public readonly string RegionId;
        public readonly string SlaveAvailabilityZone;
        /// <summary>
        /// SLB current status. Possible values: `inactive`, `active` and `locked`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// A map of tags assigned to the SLB instances. The `tags` can have a maximum of 5 tag. It must be in the format:
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// ID of the VPC linked to the SLBs.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// ID of the VSwitch linked to the SLBs.
        /// </summary>
        public readonly string VswitchId;

        [OutputConstructor]
        private GetApplicationLoadBalancersSlbResult(
            string address,

            string creationTime,

            string id,

            bool internet,

            string masterAvailabilityZone,

            string name,

            string networkType,

            string regionId,

            string slaveAvailabilityZone,

            string status,

            ImmutableDictionary<string, object> tags,

            string vpcId,

            string vswitchId)
        {
            Address = address;
            CreationTime = creationTime;
            Id = id;
            Internet = internet;
            MasterAvailabilityZone = masterAvailabilityZone;
            Name = name;
            NetworkType = networkType;
            RegionId = regionId;
            SlaveAvailabilityZone = slaveAvailabilityZone;
            Status = status;
            Tags = tags;
            VpcId = vpcId;
            VswitchId = vswitchId;
        }
    }
}
