<filename>sdk/dotnet/Ecs/Outputs/GetEcsNetworkInterfacesInterfaceResult.cs// *** 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.Ecs.Outputs
{

    [OutputType]
    public sealed class GetEcsNetworkInterfacesInterfaceResult
    {
        /// <summary>
        /// The EIP associated with the secondary private IP address of the ENI.  **NOTE:** Available in v1.163.0+.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetEcsNetworkInterfacesInterfaceAssociatedPublicIpResult> AssociatedPublicIps;
        /// <summary>
        /// The creation time.
        /// </summary>
        public readonly string CreationTime;
        /// <summary>
        /// The description of the ENI.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// The ID of the Network Interface.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The instance id.
        /// </summary>
        public readonly string InstanceId;
        /// <summary>
        /// The MAC address of the ENI.
        /// </summary>
        public readonly string Mac;
        /// <summary>
        /// The network interface name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// The network interface id.
        /// </summary>
        public readonly string NetworkInterfaceId;
        /// <summary>
        /// The network interface name.
        /// </summary>
        public readonly string NetworkInterfaceName;
        /// <summary>
        /// The communication mode of the elastic network card.
        /// </summary>
        public readonly string NetworkInterfaceTrafficMode;
        /// <summary>
        /// The ID of the account to which the ENIC belongs.
        /// </summary>
        public readonly string OwnerId;
        /// <summary>
        /// The primary private IP address of the ENI.
        /// </summary>
        public readonly string PrimaryIpAddress;
        /// <summary>
        /// The primary private IP address of the ENI.
        /// </summary>
        public readonly string PrivateIp;
        public readonly ImmutableArray<string> PrivateIpAddresses;
        /// <summary>
        /// A list of secondary private IP address that is assigned to the ENI.
        /// </summary>
        public readonly ImmutableArray<string> PrivateIps;
        /// <summary>
        /// Number of network card queues.
        /// </summary>
        public readonly int QueueNumber;
        /// <summary>
        /// The resource group id.
        /// </summary>
        public readonly string ResourceGroupId;
        /// <summary>
        /// The security group ids.
        /// </summary>
        public readonly ImmutableArray<string> SecurityGroupIds;
        /// <summary>
        /// The security groups.
        /// </summary>
        public readonly ImmutableArray<string> SecurityGroups;
        /// <summary>
        /// The service id.
        /// </summary>
        public readonly int ServiceId;
        /// <summary>
        /// Whether the user of the elastic network card is a cloud product or a virtual vendor.
        /// </summary>
        public readonly bool ServiceManaged;
        /// <summary>
        /// The status of the ENI.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The tags.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// The type of the ENI.
        /// </summary>
        public readonly string Type;
        /// <summary>
        /// The Vpc Id.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The vswitch id.
        /// </summary>
        public readonly string VswitchId;
        /// <summary>
        /// The zone id.
        /// </summary>
        public readonly string ZoneId;

        [OutputConstructor]
        private GetEcsNetworkInterfacesInterfaceResult(
            ImmutableArray<Outputs.GetEcsNetworkInterfacesInterfaceAssociatedPublicIpResult> associatedPublicIps,

            string creationTime,

            string description,

            string id,

            string instanceId,

            string mac,

            string name,

            string networkInterfaceId,

            string networkInterfaceName,

            string networkInterfaceTrafficMode,

            string ownerId,

            string primaryIpAddress,

            string privateIp,

            ImmutableArray<string> privateIpAddresses,

            ImmutableArray<string> privateIps,

            int queueNumber,

            string resourceGroupId,

            ImmutableArray<string> securityGroupIds,

            ImmutableArray<string> securityGroups,

            int serviceId,

            bool serviceManaged,

            string status,

            ImmutableDictionary<string, object> tags,

            string type,

            string vpcId,

            string vswitchId,

            string zoneId)
        {
            AssociatedPublicIps = associatedPublicIps;
            CreationTime = creationTime;
            Description = description;
            Id = id;
            InstanceId = instanceId;
            Mac = mac;
            Name = name;
            NetworkInterfaceId = networkInterfaceId;
            NetworkInterfaceName = networkInterfaceName;
            NetworkInterfaceTrafficMode = networkInterfaceTrafficMode;
            OwnerId = ownerId;
            PrimaryIpAddress = primaryIpAddress;
            PrivateIp = privateIp;
            PrivateIpAddresses = privateIpAddresses;
            PrivateIps = privateIps;
            QueueNumber = queueNumber;
            ResourceGroupId = resourceGroupId;
            SecurityGroupIds = securityGroupIds;
            SecurityGroups = securityGroups;
            ServiceId = serviceId;
            ServiceManaged = serviceManaged;
            Status = status;
            Tags = tags;
            Type = type;
            VpcId = vpcId;
            VswitchId = vswitchId;
            ZoneId = zoneId;
        }
    }
}
