<gh_stars>0// *** 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 Cuemby.Equinix.Outputs
{

    [OutputType]
    public sealed class GetNetworkDeviceSecondaryDeviceResult
    {
        public readonly string AccountNumber;
        /// <summary>
        /// Unique identifier of applied ACL template
        /// </summary>
        public readonly string AclTemplateId;
        public readonly int AdditionalBandwidth;
        /// <summary>
        /// Autonomous system number
        /// </summary>
        public readonly int Asn;
        public readonly string Hostname;
        /// <summary>
        /// Device location Equinix Business Exchange name
        /// </summary>
        public readonly string Ibx;
        /// <summary>
        /// List of device interfaces
        /// * `interface.#.id` - interface identifier
        /// * `interface.#.name` - interface name
        /// * `interface.#.status` -  interface status (AVAILABLE, RESERVED, ASSIGNED)
        /// * `interface.#.operational_status` - interface operational status (up or down)
        /// * `interface.#.mac_address` - interface MAC address
        /// * `interface.#.ip_address` - interface IP address
        /// * `interface.#.assigned_type` - interface management type (Equinix Managed or empty)
        /// * `interface.#.type` - interface type
        /// </summary>
        public readonly ImmutableArray<Outputs.GetNetworkDeviceSecondaryDeviceInterfaceResult> Interfaces;
        public readonly string LicenseFile;
        /// <summary>
        /// Unique identifier of applied license file
        /// </summary>
        public readonly string LicenseFileId;
        /// <summary>
        /// Device license registration status
        /// * APPLYING_LICENSE
        /// * REGISTERED
        /// * APPLIED
        /// * WAITING_FOR_CLUSTER_SETUP
        /// * REGISTRATION_FAILED
        /// </summary>
        public readonly string LicenseStatus;
        public readonly string LicenseToken;
        public readonly string MetroCode;
        public readonly string MgmtAclTemplateUuid;
        /// <summary>
        /// Name of an existing Equinix Network Edge device
        /// </summary>
        public readonly string Name;
        public readonly ImmutableArray<string> Notifications;
        /// <summary>
        /// Device redundancy type applicable for HA devices, either
        /// primary or secondary
        /// </summary>
        public readonly string RedundancyType;
        /// <summary>
        /// Unique identifier for a redundant device applicable for HA devices
        /// </summary>
        public readonly string RedundantId;
        /// <summary>
        /// Device location region
        /// </summary>
        public readonly string Region;
        /// <summary>
        /// IP address of SSH enabled interface on the device
        /// </summary>
        public readonly string SshIpAddress;
        /// <summary>
        /// FQDN of SSH enabled interface on the device
        /// </summary>
        public readonly string SshIpFqdn;
        public readonly ImmutableArray<Outputs.GetNetworkDeviceSecondaryDeviceSshKeyResult> SshKeys;
        /// <summary>
        /// Device provisioning status
        /// * INITIALIZING
        /// * PROVISIONING
        /// * PROVISIONED  (**NOTE: By default data source will only return devices in this state.  To include other states see `valid_state_list`**)
        /// * WAITING_FOR_PRIMARY
        /// * WAITING_FOR_SECONDARY
        /// * WAITING_FOR_REPLICA_CLUSTER_NODES
        /// * CLUSTER_SETUP_IN_PROGRESS
        /// * FAILED
        /// * DEPROVISIONING
        /// * DEPROVISIONED
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// UUID of an existing Equinix Network Edge device
        /// </summary>
        public readonly string Uuid;
        public readonly ImmutableDictionary<string, string> VendorConfiguration;
        public readonly string WanInterfaceId;
        /// <summary>
        /// Device location zone code
        /// </summary>
        public readonly string ZoneCode;

        [OutputConstructor]
        private GetNetworkDeviceSecondaryDeviceResult(
            string accountNumber,

            string aclTemplateId,

            int additionalBandwidth,

            int asn,

            string hostname,

            string ibx,

            ImmutableArray<Outputs.GetNetworkDeviceSecondaryDeviceInterfaceResult> interfaces,

            string licenseFile,

            string licenseFileId,

            string licenseStatus,

            string licenseToken,

            string metroCode,

            string mgmtAclTemplateUuid,

            string name,

            ImmutableArray<string> notifications,

            string redundancyType,

            string redundantId,

            string region,

            string sshIpAddress,

            string sshIpFqdn,

            ImmutableArray<Outputs.GetNetworkDeviceSecondaryDeviceSshKeyResult> sshKeys,

            string status,

            string uuid,

            ImmutableDictionary<string, string> vendorConfiguration,

            string wanInterfaceId,

            string zoneCode)
        {
            AccountNumber = accountNumber;
            AclTemplateId = aclTemplateId;
            AdditionalBandwidth = additionalBandwidth;
            Asn = asn;
            Hostname = hostname;
            Ibx = ibx;
            Interfaces = interfaces;
            LicenseFile = licenseFile;
            LicenseFileId = licenseFileId;
            LicenseStatus = licenseStatus;
            LicenseToken = licenseToken;
            MetroCode = metroCode;
            MgmtAclTemplateUuid = mgmtAclTemplateUuid;
            Name = name;
            Notifications = notifications;
            RedundancyType = redundancyType;
            RedundantId = redundantId;
            Region = region;
            SshIpAddress = sshIpAddress;
            SshIpFqdn = sshIpFqdn;
            SshKeys = sshKeys;
            Status = status;
            Uuid = uuid;
            VendorConfiguration = vendorConfiguration;
            WanInterfaceId = wanInterfaceId;
            ZoneCode = zoneCode;
        }
    }
}
