<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.GraphDatabase.Outputs
{

    [OutputType]
    public sealed class GetDbInstancesInstanceResult
    {
        /// <summary>
        /// Virtual Private Cloud (vpc connection such as a VPN connection or leased line domain name).
        /// </summary>
        public readonly string ConnectionString;
        /// <summary>
        /// Creation time, which follows the format of `YYYY-MM-DD 'T'hh:mm:ssZ`, such as `2011-05-30 T12:11:4Z`.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The current kernel image version.
        /// </summary>
        public readonly string CurrentMinorVersion;
        /// <summary>
        /// The category of the db instance.
        /// </summary>
        public readonly string DbInstanceCategory;
        /// <summary>
        /// For example, instances can be grouped according to Cpu core count.
        /// </summary>
        public readonly string DbInstanceCpu;
        /// <summary>
        /// According to the practical example or notes.
        /// </summary>
        public readonly string DbInstanceDescription;
        /// <summary>
        /// The ID of the instance.
        /// </summary>
        public readonly string DbInstanceId;
        /// <summary>
        /// IP ADDRESS whitelist for the instance group list.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetDbInstancesInstanceDbInstanceIpArrayResult> DbInstanceIpArrays;
        /// <summary>
        /// Instance memory, which is measured in MB.
        /// </summary>
        public readonly string DbInstanceMemory;
        /// <summary>
        /// The network type of the db instance.
        /// </summary>
        public readonly string DbInstanceNetworkType;
        /// <summary>
        /// Disk storage type. Valid values: `cloud_essd`, `cloud_ssd`.
        /// </summary>
        public readonly string DbInstanceStorageType;
        /// <summary>
        /// The type of the db instance.
        /// </summary>
        public readonly string DbInstanceType;
        /// <summary>
        /// The class of the db node.
        /// </summary>
        public readonly string DbNodeClass;
        /// <summary>
        /// The count of the db node.
        /// </summary>
        public readonly string DbNodeCount;
        /// <summary>
        /// Instance storage space, which is measured in GB.
        /// </summary>
        public readonly string DbNodeStorage;
        /// <summary>
        /// Kernel Version. Value range: `1.0` or `1.0-OpenCypher`. `1.0`: represented as gremlin, `1.0-OpenCypher`: said opencypher.
        /// </summary>
        public readonly string DbVersion;
        /// <summary>
        /// The instance after it expires time for subscription instance.
        /// </summary>
        public readonly string ExpireTime;
        /// <summary>
        /// The expire status of the db instance.
        /// </summary>
        public readonly string Expired;
        /// <summary>
        /// The ID of the Db Instance.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The latest kernel image version.
        /// </summary>
        public readonly string LatestMinorVersion;
        /// <summary>
        /// Instance lock state. Value range: `Unlock`, `ManualLock`, `LockByExpiration`, `LockByRestoration` and `LockByDiskQuota`. `Unlock`: normal. `ManualLock`: the manual trigger lock. `LockByExpiration`: that represents the instance expires automatically lock. `LockByRestoration`: indicates that the instance rollback before auto-lock. `LockByDiskQuota`: that represents the instance space full automatic lock.
        /// </summary>
        public readonly string LockMode;
        /// <summary>
        /// An instance is locked the reason.
        /// </summary>
        public readonly string LockReason;
        /// <summary>
        /// Instance maintenance time such as `00:00Z-02:00Z`, 0 to 2 points to carry out routine maintenance.
        /// </summary>
        public readonly string MaintainTime;
        /// <summary>
        /// The master instance ID of the db instance.
        /// </summary>
        public readonly string MasterDbInstanceId;
        /// <summary>
        /// The paymen type of the resource.
        /// </summary>
        public readonly string PaymentType;
        /// <summary>
        /// Application Port.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// The public connection string ID of the resource.
        /// </summary>
        public readonly string PublicConnectionString;
        /// <summary>
        /// The public port ID of the resource.
        /// </summary>
        public readonly int PublicPort;
        /// <summary>
        /// The array of the readonly db instances.
        /// </summary>
        public readonly ImmutableArray<string> ReadOnlyDbInstanceIds;
        /// <summary>
        /// Instance status. Value range: `Creating`, `Running`, `Deleting`, `Rebooting`, `DBInstanceClassChanging`, `NetAddressCreating` and `NetAddressDeleting`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The vpc id of the db instance.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The vswitch id.
        /// </summary>
        public readonly string VswitchId;
        /// <summary>
        /// The zone ID of the resource.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetDbInstancesInstanceResult(
            string connectionString,

            string createTime,

            string currentMinorVersion,

            string dbInstanceCategory,

            string dbInstanceCpu,

            string dbInstanceDescription,

            string dbInstanceId,

            ImmutableArray<Outputs.GetDbInstancesInstanceDbInstanceIpArrayResult> dbInstanceIpArrays,

            string dbInstanceMemory,

            string dbInstanceNetworkType,

            string dbInstanceStorageType,

            string dbInstanceType,

            string dbNodeClass,

            string dbNodeCount,

            string dbNodeStorage,

            string dbVersion,

            string expireTime,

            string expired,

            string id,

            string latestMinorVersion,

            string lockMode,

            string lockReason,

            string maintainTime,

            string masterDbInstanceId,

            string paymentType,

            int port,

            string publicConnectionString,

            int publicPort,

            ImmutableArray<string> readOnlyDbInstanceIds,

            string status,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            ConnectionString = connectionString;
            CreateTime = createTime;
            CurrentMinorVersion = currentMinorVersion;
            DbInstanceCategory = dbInstanceCategory;
            DbInstanceCpu = dbInstanceCpu;
            DbInstanceDescription = dbInstanceDescription;
            DbInstanceId = dbInstanceId;
            DbInstanceIpArrays = dbInstanceIpArrays;
            DbInstanceMemory = dbInstanceMemory;
            DbInstanceNetworkType = dbInstanceNetworkType;
            DbInstanceStorageType = dbInstanceStorageType;
            DbInstanceType = dbInstanceType;
            DbNodeClass = dbNodeClass;
            DbNodeCount = dbNodeCount;
            DbNodeStorage = dbNodeStorage;
            DbVersion = dbVersion;
            ExpireTime = expireTime;
            Expired = expired;
            Id = id;
            LatestMinorVersion = latestMinorVersion;
            LockMode = lockMode;
            LockReason = lockReason;
            MaintainTime = maintainTime;
            MasterDbInstanceId = masterDbInstanceId;
            PaymentType = paymentType;
            Port = port;
            PublicConnectionString = publicConnectionString;
            PublicPort = publicPort;
            ReadOnlyDbInstanceIds = readOnlyDbInstanceIds;
            Status = status;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
