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

    [OutputType]
    public sealed class GetInstancesInstanceResult
    {
        /// <summary>
        /// The Backup Status of the instance.
        /// </summary>
        public readonly string BackupStatus;
        /// <summary>
        /// Core node disk size, unit:GB.
        /// </summary>
        public readonly int CoreDiskSize;
        /// <summary>
        /// Cloud_ssd or cloud_efficiency
        /// </summary>
        public readonly string CoreDiskType;
        /// <summary>
        /// Like hbase.sn2.2xlarge, hbase.sn2.4xlarge, hbase.sn2.8xlarge and so on.
        /// </summary>
        public readonly string CoreInstanceType;
        /// <summary>
        /// Same with "core_instance_quantity"
        /// </summary>
        public readonly int CoreNodeCount;
        /// <summary>
        /// The created time of the instance.
        /// </summary>
        public readonly string CreatedTime;
        /// <summary>
        /// The switch of delete protection.
        /// </summary>
        public readonly bool DeletionProtection;
        /// <summary>
        /// The engine of the instance.
        /// </summary>
        public readonly string Engine;
        /// <summary>
        /// The engine_version of the instance.
        /// </summary>
        public readonly string EngineVersion;
        /// <summary>
        /// The expire time of the instance.
        /// </summary>
        public readonly string ExpireTime;
        /// <summary>
        /// The ID of the HBase instance.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Like hbase.sn2.2xlarge, hbase.sn2.4xlarge, hbase.sn2.8xlarge and so on.
        /// </summary>
        public readonly string MasterInstanceType;
        /// <summary>
        /// The node count of master
        /// </summary>
        public readonly int MasterNodeCount;
        /// <summary>
        /// The name of the HBase instance.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Classic network or VPC.
        /// </summary>
        public readonly string NetworkType;
        /// <summary>
        /// Billing method. Value options are `PostPaid` for  Pay-As-You-Go and `PrePaid` for yearly or monthly subscription.
        /// </summary>
        public readonly string PayType;
        /// <summary>
        /// Region ID the instance belongs to.
        /// </summary>
        public readonly string RegionId;
        /// <summary>
        /// Status of the instance.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// A mapping of tags to assign to the resource.
        /// </summary>
        public readonly ImmutableDictionary<string, object>? Tags;
        /// <summary>
        /// VPC ID the instance belongs to.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// VSwitch ID the instance belongs to.
        /// </summary>
        public readonly string VswitchId;
        /// <summary>
        /// Zone ID the instance belongs to.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetInstancesInstanceResult(
            string backupStatus,

            int coreDiskSize,

            string coreDiskType,

            string coreInstanceType,

            int coreNodeCount,

            string createdTime,

            bool deletionProtection,

            string engine,

            string engineVersion,

            string expireTime,

            string id,

            string masterInstanceType,

            int masterNodeCount,

            string name,

            string networkType,

            string payType,

            string regionId,

            string status,

            ImmutableDictionary<string, object>? tags,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            BackupStatus = backupStatus;
            CoreDiskSize = coreDiskSize;
            CoreDiskType = coreDiskType;
            CoreInstanceType = coreInstanceType;
            CoreNodeCount = coreNodeCount;
            CreatedTime = createdTime;
            DeletionProtection = deletionProtection;
            Engine = engine;
            EngineVersion = engineVersion;
            ExpireTime = expireTime;
            Id = id;
            MasterInstanceType = masterInstanceType;
            MasterNodeCount = masterNodeCount;
            Name = name;
            NetworkType = networkType;
            PayType = payType;
            RegionId = regionId;
            Status = status;
            Tags = tags;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
