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

    [OutputType]
    public sealed class GetDbClustersClusterResult
    {
        /// <summary>
        /// Alibaba Cloud account Id.
        /// </summary>
        public readonly string AliUid;
        /// <summary>
        /// The ID of the business process flow.
        /// </summary>
        public readonly string Bid;
        /// <summary>
        /// Instance family values include: Basic: Basic edition; HighAvailability: high availability edition.
        /// </summary>
        public readonly string Category;
        /// <summary>
        /// The Commodity Code of the DBCluster.
        /// </summary>
        public readonly string CommodityCode;
        /// <summary>
        /// Connection string.
        /// </summary>
        public readonly string ConnectionString;
        /// <summary>
        /// The control version of the DBCluster.
        /// </summary>
        public readonly string ControlVersion;
        /// <summary>
        /// The creation time of the resource.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The db cluster access white list.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetDbClustersClusterDbClusterAccessWhiteListResult> DbClusterAccessWhiteLists;
        /// <summary>
        /// The DBCluster description.
        /// </summary>
        public readonly string DbClusterDescription;
        public readonly string DbClusterId;
        /// <summary>
        /// The DBCluster network type.
        /// </summary>
        public readonly string DbClusterNetworkType;
        /// <summary>
        /// The DBCluster type.
        /// </summary>
        public readonly string DbClusterType;
        /// <summary>
        /// The node class of the DBCluster.
        /// </summary>
        public readonly string DbNodeClass;
        /// <summary>
        /// The node count of the DBCluster.
        /// </summary>
        public readonly string DbNodeCount;
        /// <summary>
        /// The node storage of the DBCluster.
        /// </summary>
        public readonly string DbNodeStorage;
        /// <summary>
        /// Key management service KMS key ID.
        /// </summary>
        public readonly string EncryptionKey;
        /// <summary>
        /// Currently only supports ECS disk encryption, with a value of CloudDisk, not encrypted when empty.
        /// </summary>
        public readonly string EncryptionType;
        /// <summary>
        /// The Engine of the DBCluster.
        /// </summary>
        public readonly string Engine;
        /// <summary>
        /// The engine version of the DBCluster.
        /// </summary>
        public readonly string EngineVersion;
        /// <summary>
        /// The expiration time of the DBCluster.
        /// </summary>
        public readonly string ExpireTime;
        /// <summary>
        /// The ID of the DBCluster.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// If the instance has expired.
        /// </summary>
        public readonly string IsExpired;
        /// <summary>
        /// The lock mode of the DBCluster.
        /// </summary>
        public readonly string LockMode;
        /// <summary>
        /// Lock reason of the DBCluster.
        /// </summary>
        public readonly string LockReason;
        /// <summary>
        /// Examples of the maintenance window, in the format of hh:mmZ-hh:mm Z.
        /// </summary>
        public readonly string MaintainTime;
        /// <summary>
        /// The payment type of the resource. Valid values: `PayAsYouGo`,`Subscription`.
        /// </summary>
        public readonly string PaymentType;
        /// <summary>
        /// Connection port.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// A public IP address for the connection.
        /// </summary>
        public readonly string PublicConnectionString;
        /// <summary>
        /// Public network port.
        /// </summary>
        public readonly string PublicPort;
        /// <summary>
        /// Scale state.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetDbClustersClusterScaleOutStatusResult> ScaleOutStatuses;
        /// <summary>
        /// The status of the DBCluster. Valid values: `Running`,`Creating`,`Deleting`,`Restarting`,`Preparing`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// Storage type of DBCluster. Valid values: `cloud_essd`, `cloud_efficiency`, `cloud_essd_pl2`, `cloud_essd_pl3`.
        /// </summary>
        public readonly string StorageType;
        /// <summary>
        /// Support fallback scheme.
        /// </summary>
        public readonly int SupportBackup;
        /// <summary>
        /// The system supports http port number.
        /// </summary>
        public readonly bool SupportHttpsPort;
        /// <summary>
        /// Supports Mysql, and those of the ports.
        /// </summary>
        public readonly bool SupportMysqlPort;
        /// <summary>
        /// Virtual Private Cloud (VPC cloud instance ID.
        /// </summary>
        public readonly string VpcCloudInstanceId;
        /// <summary>
        /// The VPC ID of the DBCluster.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The vswitch id of the DBCluster.
        /// </summary>
        public readonly string VswitchId;
        /// <summary>
        /// The zone ID of the DBCluster.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetDbClustersClusterResult(
            string aliUid,

            string bid,

            string category,

            string commodityCode,

            string connectionString,

            string controlVersion,

            string createTime,

            ImmutableArray<Outputs.GetDbClustersClusterDbClusterAccessWhiteListResult> dbClusterAccessWhiteLists,

            string dbClusterDescription,

            string dbClusterId,

            string dbClusterNetworkType,

            string dbClusterType,

            string dbNodeClass,

            string dbNodeCount,

            string dbNodeStorage,

            string encryptionKey,

            string encryptionType,

            string engine,

            string engineVersion,

            string expireTime,

            string id,

            string isExpired,

            string lockMode,

            string lockReason,

            string maintainTime,

            string paymentType,

            int port,

            string publicConnectionString,

            string publicPort,

            ImmutableArray<Outputs.GetDbClustersClusterScaleOutStatusResult> scaleOutStatuses,

            string status,

            string storageType,

            int supportBackup,

            bool supportHttpsPort,

            bool supportMysqlPort,

            string vpcCloudInstanceId,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            AliUid = aliUid;
            Bid = bid;
            Category = category;
            CommodityCode = commodityCode;
            ConnectionString = connectionString;
            ControlVersion = controlVersion;
            CreateTime = createTime;
            DbClusterAccessWhiteLists = dbClusterAccessWhiteLists;
            DbClusterDescription = dbClusterDescription;
            DbClusterId = dbClusterId;
            DbClusterNetworkType = dbClusterNetworkType;
            DbClusterType = dbClusterType;
            DbNodeClass = dbNodeClass;
            DbNodeCount = dbNodeCount;
            DbNodeStorage = dbNodeStorage;
            EncryptionKey = encryptionKey;
            EncryptionType = encryptionType;
            Engine = engine;
            EngineVersion = engineVersion;
            ExpireTime = expireTime;
            Id = id;
            IsExpired = isExpired;
            LockMode = lockMode;
            LockReason = lockReason;
            MaintainTime = maintainTime;
            PaymentType = paymentType;
            Port = port;
            PublicConnectionString = publicConnectionString;
            PublicPort = publicPort;
            ScaleOutStatuses = scaleOutStatuses;
            Status = status;
            StorageType = storageType;
            SupportBackup = supportBackup;
            SupportHttpsPort = supportHttpsPort;
            SupportMysqlPort = supportMysqlPort;
            VpcCloudInstanceId = vpcCloudInstanceId;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
