33 Commits

Author SHA1 Message Date
shadyeip
74c1746ff5 feat: add network_ids support to FirewallZonePolicyDestination
- Add NetworkIDs and MatchOppositeNetworks fields to destination struct
- Add NETWORK to MatchingTarget validation for destination
- Update codegen schema to include destination network targeting
- Add AggregateNumPorts to DevicePortOverrides (compatibility fix)

This enables firewall zone policies to target specific destination
networks, matching the existing source.network_ids functionality.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:26:28 -05:00
Brendann
88d631c434 fix: updated FirewallZonePolicy.json to handle port list and ranges (#68) 2025-04-02 09:49:39 +02:00
Mateusz Filipowicz
4814504c98 feat: support auto allow return traffic for firewall zone policy with create_allow_respond (#60) 2025-03-21 17:12:33 +01:00
Mateusz Filipowicz
bfa3bba50d fix: do not omit empty portal_customized_bg_image_filename and portal_customized_logo_filename (#59) 2025-03-21 16:58:24 +01:00
Mateusz Filipowicz
a931ceb6bf fix: remove match_mac from firewall zone destination which is not supported (#57) 2025-03-20 19:54:47 +01:00
Mateusz Filipowicz
12bf4bae30 feat: support list of MAC addresses for Firewall Zone Policy (#56) 2025-03-20 19:54:13 +01:00
Mateusz Filipowicz
1def1e4ec4 fix: adjust firewall zone policy resource date attributes (#54)
* fix: adjust firewall zone policy resource date attributes
2025-03-18 00:08:25 +01:00
Mateusz Filipowicz
c8a3b96575 fix: adjust guest access settings (#53) 2025-03-17 04:09:53 +01:00
Mateusz Filipowicz
e41cfe08e2 fix: use omitEmpty only on hotspot for SettingIps (#51) 2025-03-16 02:18:36 +01:00
Mateusz Filipowicz
98885a12a3 fix: allow empty fields in SettingMgmt (#50) 2025-03-14 12:27:01 +01:00
Mateusz Filipowicz
a10b02ca2c fix: revert allowed empty fields for NTP servers 2025-03-11 00:54:44 +01:00
Mateusz Filipowicz
55cfe22636 fix: allow more empty fields on rsyslogd, NTP, IPS and USG settings (#45) 2025-03-05 12:29:46 +01:00
Mateusz Filipowicz
278a72fbb9 feat: add support for uploading Hotspot Captive Portal files (like background image, logo) (#42)
* feat: add support for uploading Hotspot Captive Portal files (like background image, logo)

* feat: add UploadPortalFileFromReader
2025-03-03 02:03:10 +01:00
Mateusz Filipowicz
bdc73a9811 docs: fix invalid godoc for generated settings methods 2025-03-02 22:27:49 +01:00
Mateusz Filipowicz
a5955a6358 feat: support checking supported and enabled controller features (#41)
* feat: support checking supported and enabled controller features

* linting
2025-03-02 22:22:18 +01:00
Mateusz Filipowicz
4e6e9d97b7 fix: add missing ip_group_id to firewall zone policy to support firewall groups of address-group type (ipv4) (#39)
fixes #38
2025-03-02 21:15:18 +01:00
Mateusz Filipowicz
bbc373a354 fix: explicitly set Setting key when updating a settings (#37) 2025-02-23 14:00:19 +01:00
Mateusz Filipowicz
e79dcb13f0 feat: add logging and support for custom logger (#36)
* feat: add support for logging

* fix linting

* chore: remove old APIError in favor of ServerError
2025-02-23 12:59:46 +01:00
Mateusz Filipowicz
95a4ff87ea fix: add missing field mapping for settings (#35)
* feat: add missing field mapping for settings

* fix: guest access settings expire should be int
2025-02-21 16:53:43 +01:00
Mateusz Filipowicz
637809c663 feat: support Zone-Based Firewalls (#33)
* feat: support Zone-Based Firewalls

* chore: add usage example of zone-based firewall

* chore: add note to readme to support unifi controller v2

* fix: invalid path for reordering firewall zone policies
2025-02-20 18:48:04 +01:00
Mateusz Filipowicz
16f71e7fe9 feat: add Version method to client to provide system version information (#32) 2025-02-19 09:19:20 +01:00
Mateusz Filipowicz
7432260d3e feat: expose all available actions on all resources through Client (#27) 2025-02-18 10:23:18 +01:00
Mateusz Filipowicz
7b35725921 feat(experimental): add support for reading and updating all settings (#25) 2025-02-18 07:43:04 +01:00
Mateusz Filipowicz
aa188a6faa feat: add API v2 support by adding APGroup and DNSRecord resource handling with generated code (#23)
* feat: add API v2 support by adding APGroup and DNSRecord resource handling with generated code

* fix tests
2025-02-17 15:39:54 +01:00
Mateusz Filipowicz
dca894e8e7 feat: use Client interface instead of client struct when interacting with UniFi SDK (#21)
* feat: use Client interface instead of client struct when interacting with UniFi SDK

Breaking change!

* chore: linting

* chore: linting
2025-02-17 09:38:41 +01:00
Mateusz Filipowicz
fadc5ada8b feat: add client customization option (#20)
* feat: add client customization

* chore: fix linting

* feat: allow excluding client function by resource name
2025-02-16 23:00:05 +01:00
Mateusz Filipowicz
5a403dbb39 feat: simplified generated resources code customizations with yaml file config (#17)
* feat: simplified generated code customizations with yaml file config

* chore: apply linting
2025-02-12 09:18:44 +01:00
Mateusz Filipowicz
bb21419c0e test: add comprehensive testing of codegen (#14) 2025-02-12 00:10:46 +01:00
Mateusz Filipowicz
6016a3d34a feat: add code generation for Unifi client interface (#11)
* feat: add code generation for Unifi client interface

* chore: apply linter hints

* chore: add tests

* fix: nondeterministic client function signature due to iteration of map params

* chore: add move version tests

* chore: add more generator tests

* chore: lint
2025-02-11 16:28:29 +01:00
Mateusz Filipowicz
53bb1a13b9 feat: generate fields validation and use it when sending requests to API (#7)
* feat: generate fields validation and use it when issuing requests to API with soft (default) or hard modes

* chore: apply linter fixes

* feat: enable field validation on int fields

* feat: add validation for ^[\w]+$ fields

* feat: add validation for MAC address fields

* fix: trim wrappers for all comments

* feat: add validation for IPv4, IPv6 and IP(IPv4/IPv6) fields

* feat: add validation for numeric, non-zero based fields

* fix: one of validation can contain dot (.) sign in values

* feat: add second notation of MAC address validation

* fix: one of validation can start with ^( and end with )$

* feat: add option to disable validation and use soft validation by default

* chore: fix test

* docs: add readme about client-side validation
2025-02-09 21:08:21 +01:00
Mateusz Filipowicz
e99645cf93 fix: renamed generator template to use ErrNotFound instead of NotFoundError 2025-02-09 02:07:44 +01:00
Mateusz Filipowicz
f79f21c4ad feat: new, more customizable client supporting API Key and user/password authentication 2025-02-09 01:51:47 +01:00
Mateusz Filipowicz
e629288cba feat(codegen): rename "fields" to "codegen" for more meaningful naming 2025-02-07 17:42:05 +01:00