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

    [OutputType]
    public sealed class AddressPoolAddress
    {
        /// <summary>
        /// The address that you want to add to the address pool.
        /// </summary>
        public readonly string Address;
        /// <summary>
        /// The source region of the address. expressed as a JSON string. The structure is as follows:
        /// * `LineCodes`: List of home lineCodes.
        /// * `lineCodeRectifyType`: The rectification type of the line code. Default value: `AUTO`. Valid values: `NO_NEED`: no need for rectification. `RECTIFIED`: rectified. `AUTO`: automatic rectification.
        /// </summary>
        public readonly string AttributeInfo;
        /// <summary>
        /// The weight of the address. **NOTE:** The attribute is valid when the attribute `lba_strategy` is `RATIO`.
        /// </summary>
        public readonly int? LbaWeight;
        /// <summary>
        /// The type of the address. Valid values:`SMART`, `ONLINE` and `OFFLINE`.
        /// </summary>
        public readonly string Mode;
        /// <summary>
        /// The description of the address.
        /// </summary>
        public readonly string? Remark;

        [OutputConstructor]
        private AddressPoolAddress(
            string address,

            string attributeInfo,

            int? lbaWeight,

            string mode,

            string? remark)
        {
            Address = address;
            AttributeInfo = attributeInfo;
            LbaWeight = lbaWeight;
            Mode = mode;
            Remark = remark;
        }
    }
}
