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

    [OutputType]
    public sealed class InstancesInstanceListResult
    {
        public readonly bool AllocatePublicIp;
        public readonly string AvailabilityZone;
        public readonly string CamRoleName;
        public readonly int Cpu;
        public readonly string CreateTime;
        public readonly ImmutableArray<Outputs.InstancesInstanceListDataDiskResult> DataDisks;
        public readonly string ExpiredTime;
        public readonly string ImageId;
        public readonly string InstanceChargeType;
        public readonly string InstanceChargeTypePrepaidRenewFlag;
        public readonly string InstanceId;
        public readonly string InstanceName;
        public readonly string InstanceType;
        public readonly string InternetChargeType;
        public readonly int InternetMaxBandwidthOut;
        public readonly int Memory;
        public readonly string PrivateIp;
        public readonly int ProjectId;
        public readonly string PublicIp;
        public readonly ImmutableArray<string> SecurityGroups;
        public readonly string Status;
        public readonly string SubnetId;
        public readonly string SystemDiskId;
        public readonly int SystemDiskSize;
        public readonly string SystemDiskType;
        public readonly ImmutableDictionary<string, object> Tags;
        public readonly string VpcId;

        [OutputConstructor]
        private InstancesInstanceListResult(
            bool allocatePublicIp,

            string availabilityZone,

            string camRoleName,

            int cpu,

            string createTime,

            ImmutableArray<Outputs.InstancesInstanceListDataDiskResult> dataDisks,

            string expiredTime,

            string imageId,

            string instanceChargeType,

            string instanceChargeTypePrepaidRenewFlag,

            string instanceId,

            string instanceName,

            string instanceType,

            string internetChargeType,

            int internetMaxBandwidthOut,

            int memory,

            string privateIp,

            int projectId,

            string publicIp,

            ImmutableArray<string> securityGroups,

            string status,

            string subnetId,

            string systemDiskId,

            int systemDiskSize,

            string systemDiskType,

            ImmutableDictionary<string, object> tags,

            string vpcId)
        {
            AllocatePublicIp = allocatePublicIp;
            AvailabilityZone = availabilityZone;
            CamRoleName = camRoleName;
            Cpu = cpu;
            CreateTime = createTime;
            DataDisks = dataDisks;
            ExpiredTime = expiredTime;
            ImageId = imageId;
            InstanceChargeType = instanceChargeType;
            InstanceChargeTypePrepaidRenewFlag = instanceChargeTypePrepaidRenewFlag;
            InstanceId = instanceId;
            InstanceName = instanceName;
            InstanceType = instanceType;
            InternetChargeType = internetChargeType;
            InternetMaxBandwidthOut = internetMaxBandwidthOut;
            Memory = memory;
            PrivateIp = privateIp;
            ProjectId = projectId;
            PublicIp = publicIp;
            SecurityGroups = securityGroups;
            Status = status;
            SubnetId = subnetId;
            SystemDiskId = systemDiskId;
            SystemDiskSize = systemDiskSize;
            SystemDiskType = systemDiskType;
            Tags = tags;
            VpcId = vpcId;
        }
    }
}
