@panoptic-it-solutions/unifi-api-client
Version:
A Node.js client library for the UniFi Controller API
81 lines (80 loc) • 1.91 kB
TypeScript
/**
* Represents a UniFi network configuration.
*/
export interface Network {
/** Unique network ID */
_id?: string;
/** Network name */
name: string;
/** Purpose (corporate, guest, etc.) */
purpose: string;
/** VLAN enabled */
vlan_enabled?: boolean;
/** VLAN ID */
vlan?: number;
/** IPv4 subnet */
subnet?: string;
/** IPv4 subnet (alternate key) */
ip_subnet?: string;
/** IPv6 interface type */
ipv6_interface_type?: string;
/** Domain name */
domain_name?: string;
/** DHCP enabled */
dhcpd_enabled?: boolean;
/** DHCP start address */
dhcpd_start?: string;
/** DHCP stop address */
dhcpd_stop?: string;
/** DHCP lease time (seconds) */
dhcpd_lease?: number;
[]: unknown;
}
/**
* Action for a firewall rule.
*/
export type FirewallAction = 'accept' | 'reject' | 'drop';
/**
* Represents a UniFi firewall rule.
*/
export interface FirewallRule {
/** Unique rule ID */
_id?: string;
/** Rule name */
name: string;
/** Rule enabled */
enabled: boolean;
/** Action (accept, reject, drop) */
action: FirewallAction;
/** Protocol (tcp, udp, etc.) */
protocol: string;
/** Source address enabled */
src_address_enabled?: boolean;
/** Source address */
src_address?: string;
/** Destination address enabled */
dst_address_enabled?: boolean;
/** Destination address */
dst_address?: string;
[]: unknown;
}
export interface FirewallGroup {
_id: string;
name: string;
group_type: string;
members?: string[];
[]: unknown;
}
export interface DnsRecord {
_id: string;
hostname: string;
ip: string;
type: string;
[]: unknown;
}
export interface WlanGroup {
_id: string;
name: string;
wlan_ids?: string[];
[]: unknown;
}