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

    [OutputType]
    public sealed class GetDomainsDomainResult
    {
        /// <summary>
        /// Track verification.
        /// </summary>
        public readonly string CnameAuthStatus;
        /// <summary>
        /// Indicates whether the CNAME record is successfully verified. Valid values: `0` and `1`. `0`: indicates the verification is successful. `1`: indicates that the verification fails.
        /// </summary>
        public readonly string CnameConfirmStatus;
        /// <summary>
        /// The value of the CNAME record.
        /// </summary>
        public readonly string CnameRecord;
        /// <summary>
        /// The time when the DNS record was created.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The default domain name.
        /// </summary>
        public readonly string DefaultDomain;
        /// <summary>
        /// The value of the MX record.
        /// </summary>
        public readonly string DnsMx;
        /// <summary>
        /// The value of the SPF record.
        /// </summary>
        public readonly string DnsSpf;
        /// <summary>
        /// The value of the TXT ownership record.
        /// </summary>
        public readonly string DnsTxt;
        /// <summary>
        /// The ID of the domain name.
        /// </summary>
        public readonly string DomainId;
        /// <summary>
        /// The domain name.
        /// </summary>
        public readonly string DomainName;
        /// <summary>
        /// The type of the domain.
        /// </summary>
        public readonly string DomainType;
        /// <summary>
        /// The status of ICP filing. Valid values: `0` and `1`. `0`: indicates that the domain name is not filed. `1`: indicates that the domain name is filed.
        /// </summary>
        public readonly string IcpStatus;
        /// <summary>
        /// The ID of the Domain.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Indicates whether the MX record is successfully verified. Valid values: `0` and `1`. `0`: indicates the verification is successful. `1`: indicates that the verification fails.
        /// </summary>
        public readonly string MxAuthStatus;
        /// <summary>
        /// The MX verification record provided by Alibaba Cloud DNS.
        /// </summary>
        public readonly string MxRecord;
        /// <summary>
        /// Indicates whether the SPF record is successfully verified. Valid values: `0` and `1`. `0`: indicates the verification is successful. `1`: indicates that the verification fails.
        /// </summary>
        public readonly string SpfAuthStatus;
        /// <summary>
        /// The SPF verification record provided by Alibaba Cloud DNS.
        /// </summary>
        public readonly string SpfRecord;
        /// <summary>
        /// The status of the domain name. Valid values:`0` to `4`. `0`:Available, Passed. `1`: Unavailable, No passed. `2`: Available, cname no passed, icp no passed. `3`: Available, icp no passed. `4`: Available, cname no passed.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The primary domain name.
        /// </summary>
        public readonly string TlDomainName;
        /// <summary>
        /// The CNAME verification record provided by Alibaba Cloud DNS.
        /// </summary>
        public readonly string TracefRecord;

        [OutputConstructor]
        private GetDomainsDomainResult(
            string cnameAuthStatus,

            string cnameConfirmStatus,

            string cnameRecord,

            string createTime,

            string defaultDomain,

            string dnsMx,

            string dnsSpf,

            string dnsTxt,

            string domainId,

            string domainName,

            string domainType,

            string icpStatus,

            string id,

            string mxAuthStatus,

            string mxRecord,

            string spfAuthStatus,

            string spfRecord,

            string status,

            string tlDomainName,

            string tracefRecord)
        {
            CnameAuthStatus = cnameAuthStatus;
            CnameConfirmStatus = cnameConfirmStatus;
            CnameRecord = cnameRecord;
            CreateTime = createTime;
            DefaultDomain = defaultDomain;
            DnsMx = dnsMx;
            DnsSpf = dnsSpf;
            DnsTxt = dnsTxt;
            DomainId = domainId;
            DomainName = domainName;
            DomainType = domainType;
            IcpStatus = icpStatus;
            Id = id;
            MxAuthStatus = mxAuthStatus;
            MxRecord = mxRecord;
            SpfAuthStatus = spfAuthStatus;
            SpfRecord = spfRecord;
            Status = status;
            TlDomainName = tlDomainName;
            TracefRecord = tracefRecord;
        }
    }
}
