<reponame>rhysmdnz/pulumi-alicloud-rhys-hacks// *** 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.Adb.Outputs
{

    [OutputType]
    public sealed class GetClustersClusterResult
    {
        public readonly int AutoRenewPeriod;
        /// <summary>
        /// Billing method. Value options: `PostPaid` for Pay-As-You-Go and `PrePaid` for subscription.
        /// </summary>
        public readonly string ChargeType;
        public readonly string CommodityCode;
        public readonly string ComputeResource;
        public readonly string ConnectionString;
        /// <summary>
        /// The CreateTime of the ADB cluster.
        /// </summary>
        public readonly string CreateTime;
        public readonly string DbClusterCategory;
        public readonly string DbClusterId;
        public readonly string DbClusterNetworkType;
        public readonly string DbClusterType;
        public readonly string DbClusterVersion;
        /// <summary>
        /// The DBNodeClass of the ADB cluster.
        /// </summary>
        public readonly string DbNodeClass;
        /// <summary>
        /// The DBNodeCount of the ADB cluster.
        /// </summary>
        public readonly int DbNodeCount;
        /// <summary>
        /// The DBNodeStorage of the ADB cluster.
        /// </summary>
        public readonly int DbNodeStorage;
        /// <summary>
        /// The description of the ADB cluster.
        /// </summary>
        public readonly string Description;
        public readonly string DiskType;
        public readonly string DtsJobId;
        public readonly int ElasticIoResource;
        public readonly string Engine;
        public readonly string EngineVersion;
        public readonly string ExecutorCount;
        /// <summary>
        /// Expiration time. Pay-As-You-Go clusters never expire.
        /// </summary>
        public readonly string ExpireTime;
        /// <summary>
        /// The expired of the ADB cluster.
        /// </summary>
        public readonly string Expired;
        /// <summary>
        /// The ID of the ADB cluster.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The LockMode of the ADB cluster.
        /// </summary>
        public readonly string LockMode;
        public readonly string LockReason;
        public readonly string MaintainTime;
        public readonly string Mode;
        /// <summary>
        /// The DBClusterNetworkType of the ADB cluster.
        /// </summary>
        public readonly string NetworkType;
        public readonly string PaymentType;
        public readonly int Port;
        public readonly string RdsInstanceId;
        /// <summary>
        /// Region ID the cluster belongs to.
        /// </summary>
        public readonly string RegionId;
        public readonly string RenewalStatus;
        public readonly string ResourceGroupId;
        public readonly ImmutableArray<string> SecurityIps;
        /// <summary>
        /// The status of the cluster. Valid values: `Preparing`, `Creating`, `Restoring`, `Running`, `Deleting`, `ClassChanging`, `NetAddressCreating`, `NetAddressDeleting`. For more information, see [Cluster status](https://www.alibabacloud.com/help/doc-detail/143075.htm).
        /// </summary>
        public readonly string Status;
        public readonly string StorageResource;
        /// <summary>
        /// A mapping of tags to assign to the resource.
        /// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
        /// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        public readonly string VpcCloudInstanceId;
        /// <summary>
        /// ID of the VPC the cluster belongs to.
        /// </summary>
        public readonly string VpcId;
        public readonly string VswitchId;
        /// <summary>
        /// The ZoneId of the ADB cluster.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetClustersClusterResult(
            int autoRenewPeriod,

            string chargeType,

            string commodityCode,

            string computeResource,

            string connectionString,

            string createTime,

            string dbClusterCategory,

            string dbClusterId,

            string dbClusterNetworkType,

            string dbClusterType,

            string dbClusterVersion,

            string dbNodeClass,

            int dbNodeCount,

            int dbNodeStorage,

            string description,

            string diskType,

            string dtsJobId,

            int elasticIoResource,

            string engine,

            string engineVersion,

            string executorCount,

            string expireTime,

            string expired,

            string id,

            string lockMode,

            string lockReason,

            string maintainTime,

            string mode,

            string networkType,

            string paymentType,

            int port,

            string rdsInstanceId,

            string regionId,

            string renewalStatus,

            string resourceGroupId,

            ImmutableArray<string> securityIps,

            string status,

            string storageResource,

            ImmutableDictionary<string, object> tags,

            string vpcCloudInstanceId,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            AutoRenewPeriod = autoRenewPeriod;
            ChargeType = chargeType;
            CommodityCode = commodityCode;
            ComputeResource = computeResource;
            ConnectionString = connectionString;
            CreateTime = createTime;
            DbClusterCategory = dbClusterCategory;
            DbClusterId = dbClusterId;
            DbClusterNetworkType = dbClusterNetworkType;
            DbClusterType = dbClusterType;
            DbClusterVersion = dbClusterVersion;
            DbNodeClass = dbNodeClass;
            DbNodeCount = dbNodeCount;
            DbNodeStorage = dbNodeStorage;
            Description = description;
            DiskType = diskType;
            DtsJobId = dtsJobId;
            ElasticIoResource = elasticIoResource;
            Engine = engine;
            EngineVersion = engineVersion;
            ExecutorCount = executorCount;
            ExpireTime = expireTime;
            Expired = expired;
            Id = id;
            LockMode = lockMode;
            LockReason = lockReason;
            MaintainTime = maintainTime;
            Mode = mode;
            NetworkType = networkType;
            PaymentType = paymentType;
            Port = port;
            RdsInstanceId = rdsInstanceId;
            RegionId = regionId;
            RenewalStatus = renewalStatus;
            ResourceGroupId = resourceGroupId;
            SecurityIps = securityIps;
            Status = status;
            StorageResource = storageResource;
            Tags = tags;
            VpcCloudInstanceId = vpcCloudInstanceId;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
