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

    [OutputType]
    public sealed class GetInstancesInstanceListResult
    {
        /// <summary>
        /// Availability zone.
        /// </summary>
        public readonly string AvailabilityZone;
        /// <summary>
        /// Pay type of the SQL Server instance. For now, only `POSTPAID_BY_HOUR` is valid.
        /// </summary>
        public readonly string ChargeType;
        /// <summary>
        /// Create time of the SQL Server instance.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// Version of the SQL Server database engine. Allowed values are `2008R2`(SQL Server 2008 Enterprise), `2012SP3`(SQL Server 2012 Enterprise), `2016SP1` (SQL Server 2016 Enterprise), `201602`(SQL Server 2016 Standard) and `2017`(SQL Server 2017 Enterprise). Default is `2008R2`.
        /// </summary>
        public readonly string EngineVersion;
        /// <summary>
        /// Instance type. `DUAL` (dual-server high availability), `CLUSTER` (cluster).
        /// </summary>
        public readonly string HaType;
        /// <summary>
        /// ID of the SQL Server instance to be query.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Memory size (in GB). Allowed value must be larger than `memory` that data source `tencentcloud_sqlserver_specinfos` provides.
        /// </summary>
        public readonly int Memory;
        /// <summary>
        /// Name of the SQL Server instance to be query.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Project ID of the SQL Server instance to be query.
        /// </summary>
        public readonly int ProjectId;
        /// <summary>
        /// Readonly flag. `RO` (read-only instance), `MASTER` (primary instance with read-only instances). If it is left empty, it refers to an instance which is not read-only and has no RO group.
        /// </summary>
        public readonly string RoFlag;
        /// <summary>
        /// Status of the SQL Server instance. 1 for applying, 2 for running, 3 for running with limit, 4 for isolated, 5 for recycling, 6 for recycled, 7 for running with task, 8 for off-line, 9 for expanding, 10 for migrating, 11 for readonly, 12 for rebooting.
        /// </summary>
        public readonly int Status;
        /// <summary>
        /// Disk size (in GB). Allowed value must be a multiple of 10. The storage must be set with the limit of `storage_min` and `storage_max` which data source `tencentcloud_sqlserver_specinfos` provides.
        /// </summary>
        public readonly int Storage;
        /// <summary>
        /// Subnet ID of the SQL Server instance to be query.
        /// </summary>
        public readonly string SubnetId;
        /// <summary>
        /// Tags of the SQL Server instance.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// Used storage.
        /// </summary>
        public readonly int UsedStorage;
        /// <summary>
        /// IP for private access.
        /// </summary>
        public readonly string Vip;
        /// <summary>
        /// Vpc ID of the SQL Server instance to be query.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// Port for private access.
        /// </summary>
        public readonly int Vport;

        [OutputConstructor]
        private GetInstancesInstanceListResult(
            string availabilityZone,

            string chargeType,

            string createTime,

            string engineVersion,

            string haType,

            string id,

            int memory,

            string name,

            int projectId,

            string roFlag,

            int status,

            int storage,

            string subnetId,

            ImmutableDictionary<string, object> tags,

            int usedStorage,

            string vip,

            string vpcId,

            int vport)
        {
            AvailabilityZone = availabilityZone;
            ChargeType = chargeType;
            CreateTime = createTime;
            EngineVersion = engineVersion;
            HaType = haType;
            Id = id;
            Memory = memory;
            Name = name;
            ProjectId = projectId;
            RoFlag = roFlag;
            Status = status;
            Storage = storage;
            SubnetId = subnetId;
            Tags = tags;
            UsedStorage = usedStorage;
            Vip = vip;
            VpcId = vpcId;
            Vport = vport;
        }
    }
}
