// *** 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 Pulumiverse.Vra.Machine.Outputs
{

    [OutputType]
    public sealed class MachineNic
    {
        /// <summary>
        /// List of IP addresses allocated or in use by this network interface.
        /// example:[ "10.1.2.190" ]
        /// </summary>
        public readonly ImmutableArray<string> Addresses;
        /// <summary>
        /// Additional properties that may be used to extend the base type.
        /// </summary>
        public readonly ImmutableDictionary<string, object>? CustomProperties;
        /// <summary>
        /// Human-friendly description.
        /// </summary>
        public readonly string? Description;
        /// <summary>
        /// The device index of this network interface.
        /// </summary>
        public readonly int? DeviceIndex;
        /// <summary>
        /// Human-friendly name used as an identifier in APIs that support this option.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// ID of the network instance that this network interface plugs into.
        /// </summary>
        public readonly string NetworkId;
        /// <summary>
        /// List of security group ids which this network interface will be assigned to.
        /// </summary>
        public readonly ImmutableArray<string> SecurityGroupIds;

        [OutputConstructor]
        private MachineNic(
            ImmutableArray<string> addresses,

            ImmutableDictionary<string, object>? customProperties,

            string? description,

            int? deviceIndex,

            string? name,

            string networkId,

            ImmutableArray<string> securityGroupIds)
        {
            Addresses = addresses;
            CustomProperties = customProperties;
            Description = description;
            DeviceIndex = deviceIndex;
            Name = name;
            NetworkId = networkId;
            SecurityGroupIds = securityGroupIds;
        }
    }
}
