// *** 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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ckafka.Outputs
{

    [OutputType]
    public sealed class GetInstancesInstanceListResult
    {
        /// <summary>
        /// Instance bandwidth, in Mbps.
        /// </summary>
        public readonly int Bandwidth;
        /// <summary>
        /// The time when the instance was created.
        /// </summary>
        public readonly int CreateTime;
        /// <summary>
        /// ckafka sale type. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly int Cvm;
        /// <summary>
        /// The storage size of the instance, in GB.
        /// </summary>
        public readonly int DiskSize;
        /// <summary>
        /// Disk Type. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly string DiskType;
        /// <summary>
        /// The instance expiration time.
        /// </summary>
        public readonly int ExpireTime;
        /// <summary>
        /// Instance status int: 1 indicates health, 2 indicates alarm, and 3 indicates abnormal instance status.
        /// </summary>
        public readonly int Healthy;
        /// <summary>
        /// Instance status information.
        /// </summary>
        public readonly string HealthyMessage;
        /// <summary>
        /// The instance ID.
        /// </summary>
        public readonly string InstanceId;
        /// <summary>
        /// The instance name.
        /// </summary>
        public readonly string InstanceName;
        /// <summary>
        /// ckafka instance type. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly string InstanceType;
        /// <summary>
        /// Whether it is an internal customer. A value of 1 indicates an internal customer.
        /// </summary>
        public readonly int IsInternal;
        /// <summary>
        /// The maximum number of Partitions for the current specifications. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly int MaxPartitionNumber;
        /// <summary>
        /// The maximum number of topics in the current specifications. Note: This field may return null, indicating that a valid value could not be retrieved..
        /// </summary>
        public readonly int MaxTopicNumber;
        /// <summary>
        /// The current number of instances. Note: This field may return null, indicating that a valid value could not be retrieved..
        /// </summary>
        public readonly int PartitionNumber;
        /// <summary>
        /// The Internet bandwidth value. Note: This field may return null, indicating that a valid value could not be retrieved..
        /// </summary>
        public readonly int PublicNetwork;
        /// <summary>
        /// The type of Internet bandwidth. Note: This field may return null, indicating that a valid value could not be retrieved..
        /// </summary>
        public readonly string PublicNetworkChargeType;
        /// <summary>
        /// Schedule the upgrade configuration time. Note: This field may return null, indicating that a valid value could not be retrieved..
        /// </summary>
        public readonly string RebalanceTime;
        /// <summary>
        /// Whether the instance is renewed, the int enumeration value: 1 indicates auto-renewal, and 2 indicates that it is not automatically renewed.
        /// </summary>
        public readonly int RenewFlag;
        /// <summary>
        /// (Filter Criteria) The status of the instance. 0: Create, 1: Run, 2: Delete, do not fill the default return all.
        /// </summary>
        public readonly int Status;
        /// <summary>
        /// Subnet id.
        /// </summary>
        public readonly string SubnetId;
        /// <summary>
        /// Tag information.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetInstancesInstanceListTagResult> Tags;
        /// <summary>
        /// The number of topics.
        /// </summary>
        public readonly int TopicNum;
        /// <summary>
        /// Kafka version information. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly string Version;
        /// <summary>
        /// Virtual IP.
        /// </summary>
        public readonly string Vip;
        /// <summary>
        /// Virtual IP entities.
        /// </summary>
        public readonly Outputs.GetInstancesInstanceListVipListResult VipList;
        /// <summary>
        /// VpcId, if empty, indicates that it is the underlying network.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// Virtual PORT.
        /// </summary>
        public readonly string Vport;
        /// <summary>
        /// Availability Zone ID.
        /// </summary>
        public readonly int ZoneId;
        /// <summary>
        /// Across Availability Zones. Note: This field may return null, indicating that a valid value could not be retrieved.
        /// </summary>
        public readonly ImmutableArray<int> ZoneIds;

        [OutputConstructor]
        private GetInstancesInstanceListResult(
            int bandwidth,

            int createTime,

            int cvm,

            int diskSize,

            string diskType,

            int expireTime,

            int healthy,

            string healthyMessage,

            string instanceId,

            string instanceName,

            string instanceType,

            int isInternal,

            int maxPartitionNumber,

            int maxTopicNumber,

            int partitionNumber,

            int publicNetwork,

            string publicNetworkChargeType,

            string rebalanceTime,

            int renewFlag,

            int status,

            string subnetId,

            ImmutableArray<Outputs.GetInstancesInstanceListTagResult> tags,

            int topicNum,

            string version,

            string vip,

            Outputs.GetInstancesInstanceListVipListResult vipList,

            string vpcId,

            string vport,

            int zoneId,

            ImmutableArray<int> zoneIds)
        {
            Bandwidth = bandwidth;
            CreateTime = createTime;
            Cvm = cvm;
            DiskSize = diskSize;
            DiskType = diskType;
            ExpireTime = expireTime;
            Healthy = healthy;
            HealthyMessage = healthyMessage;
            InstanceId = instanceId;
            InstanceName = instanceName;
            InstanceType = instanceType;
            IsInternal = isInternal;
            MaxPartitionNumber = maxPartitionNumber;
            MaxTopicNumber = maxTopicNumber;
            PartitionNumber = partitionNumber;
            PublicNetwork = publicNetwork;
            PublicNetworkChargeType = publicNetworkChargeType;
            RebalanceTime = rebalanceTime;
            RenewFlag = renewFlag;
            Status = status;
            SubnetId = subnetId;
            Tags = tags;
            TopicNum = topicNum;
            Version = version;
            Vip = vip;
            VipList = vipList;
            VpcId = vpcId;
            Vport = vport;
            ZoneId = zoneId;
            ZoneIds = zoneIds;
        }
    }
}
