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

    [OutputType]
    public sealed class GetDesktopsDesktopResult
    {
        /// <summary>
        /// The number of CPUs.
        /// </summary>
        public readonly int Cpu;
        /// <summary>
        /// The creation time of the Desktop.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The desktop id of the Desktop.
        /// </summary>
        public readonly string DesktopId;
        /// <summary>
        /// The desktop name of the Desktop.
        /// </summary>
        public readonly string DesktopName;
        /// <summary>
        /// The desktop type of the Desktop.
        /// </summary>
        public readonly string DesktopType;
        /// <summary>
        /// The directory id of the Desktop.
        /// </summary>
        public readonly string DirectoryId;
        /// <summary>
        /// The desktop end user id of the Desktop.
        /// </summary>
        public readonly ImmutableArray<string> EndUserIds;
        /// <summary>
        /// The expired time of the Desktop.
        /// </summary>
        public readonly string ExpiredTime;
        /// <summary>
        /// The ID of the Desktop.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The image id of the Desktop.
        /// </summary>
        public readonly string ImageId;
        /// <summary>
        /// The memory of the Desktop.
        /// </summary>
        public readonly string Memory;
        /// <summary>
        /// The network interface id of the Desktop.
        /// </summary>
        public readonly string NetworkInterfaceId;
        /// <summary>
        /// The payment type of the Desktop.
        /// </summary>
        public readonly string PaymentType;
        /// <summary>
        /// The policy group id of the Desktop.
        /// </summary>
        public readonly string PolicyGroupId;
        /// <summary>
        /// The status of the Desktop. Valid values: `Deleted`, `Expired`, `Pending`, `Running`, `Starting`, `Stopped`, `Stopping`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The system disk size of the Desktop.
        /// </summary>
        public readonly int SystemDiskSize;

        [OutputConstructor]
        private GetDesktopsDesktopResult(
            int cpu,

            string createTime,

            string desktopId,

            string desktopName,

            string desktopType,

            string directoryId,

            ImmutableArray<string> endUserIds,

            string expiredTime,

            string id,

            string imageId,

            string memory,

            string networkInterfaceId,

            string paymentType,

            string policyGroupId,

            string status,

            int systemDiskSize)
        {
            Cpu = cpu;
            CreateTime = createTime;
            DesktopId = desktopId;
            DesktopName = desktopName;
            DesktopType = desktopType;
            DirectoryId = directoryId;
            EndUserIds = endUserIds;
            ExpiredTime = expiredTime;
            Id = id;
            ImageId = imageId;
            Memory = memory;
            NetworkInterfaceId = networkInterfaceId;
            PaymentType = paymentType;
            PolicyGroupId = policyGroupId;
            Status = status;
            SystemDiskSize = systemDiskSize;
        }
    }
}
