@homeflare/distilled-unifi-network 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +125 -0
  3. package/dist/credentials.d.ts +24 -0
  4. package/dist/credentials.d.ts.map +1 -0
  5. package/dist/credentials.js +78 -0
  6. package/dist/credentials.js.map +1 -0
  7. package/dist/errors.d.ts +74 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +49 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/index.d.ts +33 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +33 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/protocol.d.ts +18 -0
  16. package/dist/protocol.d.ts.map +1 -0
  17. package/dist/protocol.js +59 -0
  18. package/dist/protocol.js.map +1 -0
  19. package/dist/retry.d.ts +57 -0
  20. package/dist/retry.d.ts.map +1 -0
  21. package/dist/retry.js +50 -0
  22. package/dist/retry.js.map +1 -0
  23. package/dist/services/access_control_acl_rules.d.ts +222 -0
  24. package/dist/services/access_control_acl_rules.d.ts.map +1 -0
  25. package/dist/services/access_control_acl_rules.js +225 -0
  26. package/dist/services/access_control_acl_rules.js.map +1 -0
  27. package/dist/services/application_info.d.ts +15 -0
  28. package/dist/services/application_info.d.ts.map +1 -0
  29. package/dist/services/application_info.js +22 -0
  30. package/dist/services/application_info.js.map +1 -0
  31. package/dist/services/clients.d.ts +108 -0
  32. package/dist/services/clients.d.ts.map +1 -0
  33. package/dist/services/clients.js +122 -0
  34. package/dist/services/clients.js.map +1 -0
  35. package/dist/services/dns_policies.d.ts +143 -0
  36. package/dist/services/dns_policies.d.ts.map +1 -0
  37. package/dist/services/dns_policies.js +171 -0
  38. package/dist/services/dns_policies.js.map +1 -0
  39. package/dist/services/firewall.d.ts +473 -0
  40. package/dist/services/firewall.d.ts.map +1 -0
  41. package/dist/services/firewall.js +521 -0
  42. package/dist/services/firewall.js.map +1 -0
  43. package/dist/services/hotspot.d.ts +107 -0
  44. package/dist/services/hotspot.d.ts.map +1 -0
  45. package/dist/services/hotspot.js +145 -0
  46. package/dist/services/hotspot.js.map +1 -0
  47. package/dist/services/index.d.ts +14 -0
  48. package/dist/services/index.d.ts.map +1 -0
  49. package/dist/services/index.js +15 -0
  50. package/dist/services/index.js.map +1 -0
  51. package/dist/services/networks.d.ts +251 -0
  52. package/dist/services/networks.d.ts.map +1 -0
  53. package/dist/services/networks.js +256 -0
  54. package/dist/services/networks.js.map +1 -0
  55. package/dist/services/sites.d.ts +31 -0
  56. package/dist/services/sites.d.ts.map +1 -0
  57. package/dist/services/sites.js +38 -0
  58. package/dist/services/sites.js.map +1 -0
  59. package/dist/services/supporting_resources.d.ts +238 -0
  60. package/dist/services/supporting_resources.d.ts.map +1 -0
  61. package/dist/services/supporting_resources.js +298 -0
  62. package/dist/services/supporting_resources.js.map +1 -0
  63. package/dist/services/switching.d.ts +168 -0
  64. package/dist/services/switching.d.ts.map +1 -0
  65. package/dist/services/switching.js +226 -0
  66. package/dist/services/switching.js.map +1 -0
  67. package/dist/services/traffic_matching_lists.d.ts +75 -0
  68. package/dist/services/traffic_matching_lists.d.ts.map +1 -0
  69. package/dist/services/traffic_matching_lists.js +126 -0
  70. package/dist/services/traffic_matching_lists.js.map +1 -0
  71. package/dist/services/unifi_devices.d.ts +280 -0
  72. package/dist/services/unifi_devices.d.ts.map +1 -0
  73. package/dist/services/unifi_devices.js +338 -0
  74. package/dist/services/unifi_devices.js.map +1 -0
  75. package/dist/services/wifi_broadcasts.d.ts +378 -0
  76. package/dist/services/wifi_broadcasts.d.ts.map +1 -0
  77. package/dist/services/wifi_broadcasts.js +396 -0
  78. package/dist/services/wifi_broadcasts.js.map +1 -0
  79. package/dist/traits.d.ts +11 -0
  80. package/dist/traits.d.ts.map +1 -0
  81. package/dist/traits.js +12 -0
  82. package/dist/traits.js.map +1 -0
  83. package/package.json +75 -0
  84. package/src/credentials.ts +112 -0
  85. package/src/errors.ts +103 -0
  86. package/src/index.ts +36 -0
  87. package/src/protocol.ts +86 -0
  88. package/src/retry.ts +83 -0
  89. package/src/services/access_control_acl_rules.ts +537 -0
  90. package/src/services/application_info.ts +44 -0
  91. package/src/services/clients.ts +272 -0
  92. package/src/services/dns_policies.ts +363 -0
  93. package/src/services/firewall.ts +1492 -0
  94. package/src/services/hotspot.ts +305 -0
  95. package/src/services/index.ts +14 -0
  96. package/src/services/networks.ts +613 -0
  97. package/src/services/sites.ts +81 -0
  98. package/src/services/supporting_resources.ts +650 -0
  99. package/src/services/switching.ts +496 -0
  100. package/src/services/traffic_matching_lists.ts +248 -0
  101. package/src/services/unifi_devices.ts +795 -0
  102. package/src/services/wifi_broadcasts.ts +992 -0
  103. package/src/traits.ts +45 -0
@@ -0,0 +1,473 @@
1
+ import * as S from "@distilled.cloud/core/schema";
2
+ import * as API from "@distilled.cloud/core/api";
3
+ import { type UnifiNetworkOpError, type UnifiNetworkOpContext } from "../protocol.ts";
4
+ export type { UnifiNetworkOpError, UnifiNetworkOpContext };
5
+ /** Defines action for matched traffic. */
6
+ export interface FirewallPolicyAction {
7
+ type: string;
8
+ /** Creates a derived policy for the mirrored firewall zone pair to automatically allow the return traffic. */
9
+ allowReturnTraffic?: boolean;
10
+ }
11
+ export declare const FirewallPolicyAction: S.Schema<FirewallPolicyAction>;
12
+ export type CreateFirewallPolicyRequestConnectionStateFilterItem = "NEW" | "INVALID" | "ESTABLISHED" | "RELATED";
13
+ export declare const CreateFirewallPolicyRequestConnectionStateFilterItem: any;
14
+ /** Match on firewall connection state. If null, matches all connection states. */
15
+ export type CreateFirewallPolicyRequestConnectionStateFilterList = Array<CreateFirewallPolicyRequestConnectionStateFilterItem | (string & {})>;
16
+ export declare const CreateFirewallPolicyRequestConnectionStateFilterList: S.Schema<CreateFirewallPolicyRequestConnectionStateFilterList>;
17
+ /** Array of DPI Application IDs to match. */
18
+ export type FirewallPolicyApplicationFilterApplicationIdsList = Array<number>;
19
+ export declare const FirewallPolicyApplicationFilterApplicationIdsList: S.Schema<FirewallPolicyApplicationFilterApplicationIdsList>;
20
+ export interface FirewallPolicyApplicationFilter {
21
+ /** Array of DPI Application IDs to match. */
22
+ applicationIds: FirewallPolicyApplicationFilterApplicationIdsList;
23
+ }
24
+ export declare const FirewallPolicyApplicationFilter: S.Schema<FirewallPolicyApplicationFilter>;
25
+ export interface PortMatching {
26
+ type: string;
27
+ /** Port number */
28
+ value?: number;
29
+ /** Start port number */
30
+ start?: number;
31
+ /** Stop port number */
32
+ stop?: number;
33
+ }
34
+ export declare const PortMatching: S.Schema<PortMatching>;
35
+ /** List of ports or port ranges to match. */
36
+ export type FirewallPolicyPortFilterItemsList = Array<PortMatching>;
37
+ export declare const FirewallPolicyPortFilterItemsList: S.Schema<FirewallPolicyPortFilterItemsList>;
38
+ /** Defines rules for matching traffic by port. */
39
+ export interface FirewallPolicyPortFilter {
40
+ /** Match on all ports except the specified ones. */
41
+ matchOpposite: boolean;
42
+ type: string;
43
+ /** List of ports or port ranges to match. */
44
+ items?: FirewallPolicyPortFilterItemsList;
45
+ /** ID of Traffic Matching List containing ports to match. */
46
+ trafficMatchingListId?: string;
47
+ }
48
+ export declare const FirewallPolicyPortFilter: S.Schema<FirewallPolicyPortFilter>;
49
+ /** Array of DPI Category IDs to match. */
50
+ export type FirewallPolicyApplicationCategoryFilterApplicationCategoryIdsList = Array<number>;
51
+ export declare const FirewallPolicyApplicationCategoryFilterApplicationCategoryIdsList: S.Schema<FirewallPolicyApplicationCategoryFilterApplicationCategoryIdsList>;
52
+ export interface FirewallPolicyApplicationCategoryFilter {
53
+ /** Array of DPI Category IDs to match. */
54
+ applicationCategoryIds: FirewallPolicyApplicationCategoryFilterApplicationCategoryIdsList;
55
+ }
56
+ export declare const FirewallPolicyApplicationCategoryFilter: S.Schema<FirewallPolicyApplicationCategoryFilter>;
57
+ /** List of domains to match. */
58
+ export type FirewallPolicyDomainFilterDomainsList = Array<string>;
59
+ export declare const FirewallPolicyDomainFilterDomainsList: S.Schema<FirewallPolicyDomainFilterDomainsList>;
60
+ export interface FirewallPolicyDomainFilter {
61
+ type: string;
62
+ /** List of domains to match. */
63
+ domains?: FirewallPolicyDomainFilterDomainsList;
64
+ }
65
+ export declare const FirewallPolicyDomainFilter: S.Schema<FirewallPolicyDomainFilter>;
66
+ export interface FirewallPolicyIPv6InterfaceIdentifierFilter {
67
+ /** IPv6 Interface Identifier. */
68
+ ipv6Iid: string;
69
+ /** Match on all IPv6 IIDs except the specified one. */
70
+ matchOpposite: boolean;
71
+ }
72
+ export declare const FirewallPolicyIPv6InterfaceIdentifierFilter: S.Schema<FirewallPolicyIPv6InterfaceIdentifierFilter>;
73
+ export interface IPMatching {
74
+ type: string;
75
+ /** IP address to match. */
76
+ value?: string;
77
+ /** First IP address from range to match. */
78
+ start?: string;
79
+ /** Last IP address from range to match. */
80
+ stop?: string;
81
+ }
82
+ export declare const IPMatching: S.Schema<IPMatching>;
83
+ /** List of IP addresses, IP address ranges, or IP subnets to match. */
84
+ export type FirewallPolicyIPAddressFilterItemsList = Array<IPMatching>;
85
+ export declare const FirewallPolicyIPAddressFilterItemsList: S.Schema<FirewallPolicyIPAddressFilterItemsList>;
86
+ /** Match traffic originating from, or destined to selected IP addresses. */
87
+ export interface FirewallPolicyIPAddressFilter {
88
+ /** Match on all IP addresses except the specified ones. */
89
+ matchOpposite: boolean;
90
+ type: string;
91
+ /** List of IP addresses, IP address ranges, or IP subnets to match. */
92
+ items?: FirewallPolicyIPAddressFilterItemsList;
93
+ /** ID of Traffic Matching List containing IP addresses to match. */
94
+ trafficMatchingListId?: string;
95
+ }
96
+ export declare const FirewallPolicyIPAddressFilter: S.Schema<FirewallPolicyIPAddressFilter>;
97
+ /** Array of Network IDs to match. */
98
+ export type FirewallPolicyNetworkFilterNetworkIdsList = Array<string>;
99
+ export declare const FirewallPolicyNetworkFilterNetworkIdsList: S.Schema<FirewallPolicyNetworkFilterNetworkIdsList>;
100
+ export interface FirewallPolicyNetworkFilter {
101
+ /** Match on all Networks except the selected. */
102
+ matchOpposite: boolean;
103
+ /** Array of Network IDs to match. */
104
+ networkIds: FirewallPolicyNetworkFilterNetworkIdsList;
105
+ }
106
+ export declare const FirewallPolicyNetworkFilter: S.Schema<FirewallPolicyNetworkFilter>;
107
+ export type FirewallPolicyRegionFilterRegionsItem = "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
108
+ export declare const FirewallPolicyRegionFilterRegionsItem: any;
109
+ /** Match traffic originating from selected regions. Regions are identified by their ISO 3166-1 alpha-2 country codes. */
110
+ export type FirewallPolicyRegionFilterRegionsList = Array<FirewallPolicyRegionFilterRegionsItem | (string & {})>;
111
+ export declare const FirewallPolicyRegionFilterRegionsList: S.Schema<FirewallPolicyRegionFilterRegionsList>;
112
+ export interface FirewallPolicyRegionFilter {
113
+ /** Match traffic originating from selected regions. Regions are identified by their ISO 3166-1 alpha-2 country codes. */
114
+ regions: FirewallPolicyRegionFilterRegionsList;
115
+ }
116
+ export declare const FirewallPolicyRegionFilter: S.Schema<FirewallPolicyRegionFilter>;
117
+ export interface FirewallPolicySiteToSiteVPNTunnelFilter {
118
+ siteToSiteVpnTunnelId: string;
119
+ }
120
+ export declare const FirewallPolicySiteToSiteVPNTunnelFilter: S.Schema<FirewallPolicySiteToSiteVPNTunnelFilter>;
121
+ export type FirewallPolicyVPNServerFilterVpnServerIdsList = Array<string>;
122
+ export declare const FirewallPolicyVPNServerFilterVpnServerIdsList: S.Schema<FirewallPolicyVPNServerFilterVpnServerIdsList>;
123
+ export interface FirewallPolicyVPNServerFilter {
124
+ matchOpposite: boolean;
125
+ vpnServerIds: FirewallPolicyVPNServerFilterVpnServerIdsList;
126
+ }
127
+ export declare const FirewallPolicyVPNServerFilter: S.Schema<FirewallPolicyVPNServerFilter>;
128
+ export interface FirewallPolicyDestinationTrafficFilter {
129
+ type: string;
130
+ /** Match destination traffic by DPI applications. */
131
+ applicationFilter?: FirewallPolicyApplicationFilter;
132
+ /** Match destination traffic additionally by ports. If null, match all ports. */
133
+ portFilter?: FirewallPolicyPortFilter;
134
+ /** Match destination traffic by DPI application categories. */
135
+ applicationCategoryFilter?: FirewallPolicyApplicationCategoryFilter;
136
+ /** Match destination traffic by domains. */
137
+ domainFilter?: FirewallPolicyDomainFilter;
138
+ /** Match destination traffic by IPv6 interface identifier. */
139
+ ipv6IidFilter?: FirewallPolicyIPv6InterfaceIdentifierFilter;
140
+ /** Match destination traffic by IP addresses. */
141
+ ipAddressFilter?: FirewallPolicyIPAddressFilter;
142
+ /** Match destination traffic by networks. */
143
+ networkFilter?: FirewallPolicyNetworkFilter;
144
+ /** Match destination traffic by regions. */
145
+ regionFilter?: FirewallPolicyRegionFilter;
146
+ /** Match destination traffic by site-to-site VPN tunnel. */
147
+ siteToSiteVpnTunnelFilter?: FirewallPolicySiteToSiteVPNTunnelFilter;
148
+ /** Match destination traffic by VPN servers. */
149
+ vpnServerFilter?: FirewallPolicyVPNServerFilter;
150
+ }
151
+ export declare const FirewallPolicyDestinationTrafficFilter: S.Schema<FirewallPolicyDestinationTrafficFilter>;
152
+ export interface FirewallPolicyDestination {
153
+ trafficFilter?: FirewallPolicyDestinationTrafficFilter;
154
+ /** ID of the firewall zone to which the matched traffic is destined. */
155
+ zoneId: string;
156
+ }
157
+ export declare const FirewallPolicyDestination: S.Schema<FirewallPolicyDestination>;
158
+ /** Defines rules for matching by IP version and protocol. */
159
+ export interface FirewallPolicyIPProtocolScope {
160
+ ipVersion: string;
161
+ /** Shape varies by variant — widened by scripts/convert.ts; see README. */
162
+ protocolFilter?: unknown;
163
+ }
164
+ export declare const FirewallPolicyIPProtocolScope: S.Schema<FirewallPolicyIPProtocolScope>;
165
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
166
+ export type CreateFirewallPolicyRequestIpsecFilter = "MATCH_ENCRYPTED" | "MATCH_NOT_ENCRYPTED";
167
+ export declare const CreateFirewallPolicyRequestIpsecFilter: any;
168
+ export type FirewallScheduleRepeatOnDaysItem = "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY";
169
+ export declare const FirewallScheduleRepeatOnDaysItem: any;
170
+ export type FirewallScheduleRepeatOnDaysList = Array<FirewallScheduleRepeatOnDaysItem | (string & {})>;
171
+ export declare const FirewallScheduleRepeatOnDaysList: S.Schema<FirewallScheduleRepeatOnDaysList>;
172
+ /** Defines the time range when the entity is active. If null, the entity is active all day. */
173
+ export interface FirewallScheduleTime {
174
+ /** Time in HH:MM format. Uses 24-hour clock system. ISO 8601 compliant. */
175
+ startTime: string;
176
+ /** Time in HH:MM format. Uses 24-hour clock system. ISO 8601 compliant. */
177
+ stopTime: string;
178
+ }
179
+ export declare const FirewallScheduleTime: S.Schema<FirewallScheduleTime>;
180
+ /** Defines date and time when the entity is active. If null, the entity is always active. */
181
+ export interface FirewallSchedule {
182
+ mode: string;
183
+ repeatOnDays?: FirewallScheduleRepeatOnDaysList;
184
+ /** Date in YYYY-MM-DD format. ISO 8601 compliant. */
185
+ startDate?: string;
186
+ /** Date in YYYY-MM-DD format. ISO 8601 compliant. */
187
+ stopDate?: string;
188
+ timeFilter?: FirewallScheduleTime;
189
+ /** Date in YYYY-MM-DD format. ISO 8601 compliant. */
190
+ date?: string;
191
+ }
192
+ export declare const FirewallSchedule: S.Schema<FirewallSchedule>;
193
+ export interface FirewallPolicySourceTrafficFilter {
194
+ type: string;
195
+ /** Match source traffic by IPv6 interface identifier */
196
+ ipv6IidFilter?: FirewallPolicyIPv6InterfaceIdentifierFilter;
197
+ /** Shape varies by variant — widened by scripts/convert.ts; see README. */
198
+ macAddressFilter?: unknown;
199
+ /** Match source traffic additionally by ports. If null, match all ports. */
200
+ portFilter?: FirewallPolicyPortFilter;
201
+ /** Match source traffic by IP addresses */
202
+ ipAddressFilter?: FirewallPolicyIPAddressFilter;
203
+ /** Match source traffic by networks. */
204
+ networkFilter?: FirewallPolicyNetworkFilter;
205
+ /** Match source traffic by regions. */
206
+ regionFilter?: FirewallPolicyRegionFilter;
207
+ /** Match source traffic by site-to-site VPN tunnel. */
208
+ siteToSiteVpnTunnelFilter?: FirewallPolicySiteToSiteVPNTunnelFilter;
209
+ /** Match source traffic by VPN servers. */
210
+ vpnServerFilter?: FirewallPolicyVPNServerFilter;
211
+ }
212
+ export declare const FirewallPolicySourceTrafficFilter: S.Schema<FirewallPolicySourceTrafficFilter>;
213
+ export interface FirewallPolicySource {
214
+ trafficFilter?: FirewallPolicySourceTrafficFilter;
215
+ /** ID of the firewall zone from which the matched traffic originates. */
216
+ zoneId: string;
217
+ }
218
+ export declare const FirewallPolicySource: S.Schema<FirewallPolicySource>;
219
+ export interface CreateFirewallPolicyRequest {
220
+ siteId: string;
221
+ action: FirewallPolicyAction;
222
+ /** Match on firewall connection state. If null, matches all connection states. */
223
+ connectionStateFilter?: CreateFirewallPolicyRequestConnectionStateFilterList;
224
+ description?: string;
225
+ destination: FirewallPolicyDestination;
226
+ enabled: boolean;
227
+ ipProtocolScope: FirewallPolicyIPProtocolScope;
228
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
229
+ ipsecFilter?: CreateFirewallPolicyRequestIpsecFilter | (string & {});
230
+ /** Generate syslog entries when traffic is matched. Such entries are sent to a remote syslog server. */
231
+ loggingEnabled: boolean;
232
+ name: string;
233
+ schedule?: FirewallSchedule;
234
+ source: FirewallPolicySource;
235
+ }
236
+ export declare const CreateFirewallPolicyRequest: S.Schema<CreateFirewallPolicyRequest>;
237
+ export type FirewallPolicyConnectionStateFilterItem = "NEW" | "INVALID" | "ESTABLISHED" | "RELATED";
238
+ export declare const FirewallPolicyConnectionStateFilterItem: any;
239
+ /** Match on firewall connection state. If null, matches all connection states. */
240
+ export type FirewallPolicyConnectionStateFilterList = Array<FirewallPolicyConnectionStateFilterItem>;
241
+ export declare const FirewallPolicyConnectionStateFilterList: S.Schema<FirewallPolicyConnectionStateFilterList>;
242
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
243
+ export type FirewallPolicyIpsecFilter = "MATCH_ENCRYPTED" | "MATCH_NOT_ENCRYPTED";
244
+ export declare const FirewallPolicyIpsecFilter: any;
245
+ export type UserOrSystemDefinedOrDerivedEntityMetadataSource = "SDWAN";
246
+ export declare const UserOrSystemDefinedOrDerivedEntityMetadataSource: any;
247
+ export interface UserOrSystemDefinedOrDerivedEntityMetadata {
248
+ origin: string;
249
+ source?: UserOrSystemDefinedOrDerivedEntityMetadataSource;
250
+ }
251
+ export declare const UserOrSystemDefinedOrDerivedEntityMetadata: S.Schema<UserOrSystemDefinedOrDerivedEntityMetadata>;
252
+ export interface FirewallPolicy {
253
+ action: FirewallPolicyAction;
254
+ /** Match on firewall connection state. If null, matches all connection states. */
255
+ connectionStateFilter?: FirewallPolicyConnectionStateFilterList;
256
+ description?: string;
257
+ destination: FirewallPolicyDestination;
258
+ enabled: boolean;
259
+ id: string;
260
+ index: number;
261
+ ipProtocolScope: FirewallPolicyIPProtocolScope;
262
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
263
+ ipsecFilter?: FirewallPolicyIpsecFilter;
264
+ /** Generate syslog entries when traffic is matched. Such entries are sent to a remote syslog server. */
265
+ loggingEnabled: boolean;
266
+ metadata: UserOrSystemDefinedOrDerivedEntityMetadata;
267
+ name: string;
268
+ schedule?: FirewallSchedule;
269
+ source: FirewallPolicySource;
270
+ }
271
+ export declare const FirewallPolicy: S.Schema<FirewallPolicy>;
272
+ /** List of Network IDs */
273
+ export type CreateFirewallZoneRequestNetworkIdsList = Array<string>;
274
+ export declare const CreateFirewallZoneRequestNetworkIdsList: S.Schema<CreateFirewallZoneRequestNetworkIdsList>;
275
+ export interface CreateFirewallZoneRequest {
276
+ siteId: string;
277
+ /** Name of a firewall zone */
278
+ name: string;
279
+ /** List of Network IDs */
280
+ networkIds: CreateFirewallZoneRequestNetworkIdsList;
281
+ }
282
+ export declare const CreateFirewallZoneRequest: S.Schema<CreateFirewallZoneRequest>;
283
+ export type UserOrSystemDefinedEntityMetadataSource = "SDWAN";
284
+ export declare const UserOrSystemDefinedEntityMetadataSource: any;
285
+ export interface UserOrSystemDefinedEntityMetadata {
286
+ origin: string;
287
+ source?: UserOrSystemDefinedEntityMetadataSource;
288
+ }
289
+ export declare const UserOrSystemDefinedEntityMetadata: S.Schema<UserOrSystemDefinedEntityMetadata>;
290
+ /** List of Network IDs */
291
+ export type FirewallZoneNetworkIdsList = Array<string>;
292
+ export declare const FirewallZoneNetworkIdsList: S.Schema<FirewallZoneNetworkIdsList>;
293
+ export interface FirewallZone {
294
+ id: string;
295
+ /** System-defined configurable zones support configuring only attached networks */
296
+ metadata: UserOrSystemDefinedEntityMetadata;
297
+ /** Name of a firewall zone */
298
+ name: string;
299
+ /** List of Network IDs */
300
+ networkIds: FirewallZoneNetworkIdsList;
301
+ }
302
+ export declare const FirewallZone: S.Schema<FirewallZone>;
303
+ export interface DeleteFirewallPolicyRequest {
304
+ siteId: string;
305
+ firewallPolicyId: string;
306
+ }
307
+ export declare const DeleteFirewallPolicyRequest: S.Schema<DeleteFirewallPolicyRequest>;
308
+ export interface DeleteFirewallPolicyResponse {
309
+ }
310
+ export declare const DeleteFirewallPolicyResponse: S.Schema<DeleteFirewallPolicyResponse>;
311
+ export interface DeleteFirewallZoneRequest {
312
+ siteId: string;
313
+ firewallZoneId: string;
314
+ }
315
+ export declare const DeleteFirewallZoneRequest: S.Schema<DeleteFirewallZoneRequest>;
316
+ export interface DeleteFirewallZoneResponse {
317
+ }
318
+ export declare const DeleteFirewallZoneResponse: S.Schema<DeleteFirewallZoneResponse>;
319
+ export interface GetFirewallPoliciesRequest {
320
+ siteId: string;
321
+ offset?: number;
322
+ limit?: number;
323
+ filter?: string;
324
+ }
325
+ export declare const GetFirewallPoliciesRequest: S.Schema<GetFirewallPoliciesRequest>;
326
+ export type FirewallPolicyPageDataList = Array<FirewallPolicy>;
327
+ export declare const FirewallPolicyPageDataList: S.Schema<FirewallPolicyPageDataList>;
328
+ export interface FirewallPolicyPage {
329
+ count: number;
330
+ data: FirewallPolicyPageDataList;
331
+ limit: number;
332
+ offset: number;
333
+ totalCount: number;
334
+ }
335
+ export declare const FirewallPolicyPage: S.Schema<FirewallPolicyPage>;
336
+ export interface GetFirewallPolicyRequest {
337
+ siteId: string;
338
+ firewallPolicyId: string;
339
+ }
340
+ export declare const GetFirewallPolicyRequest: S.Schema<GetFirewallPolicyRequest>;
341
+ export interface GetFirewallPolicyOrderingRequest {
342
+ siteId: string;
343
+ sourceFirewallZoneId: string;
344
+ destinationFirewallZoneId: string;
345
+ }
346
+ export declare const GetFirewallPolicyOrderingRequest: S.Schema<GetFirewallPolicyOrderingRequest>;
347
+ export type OrderedFirewallPolicyIDsAfterSystemDefinedList = Array<string>;
348
+ export declare const OrderedFirewallPolicyIDsAfterSystemDefinedList: S.Schema<OrderedFirewallPolicyIDsAfterSystemDefinedList>;
349
+ export type OrderedFirewallPolicyIDsBeforeSystemDefinedList = Array<string>;
350
+ export declare const OrderedFirewallPolicyIDsBeforeSystemDefinedList: S.Schema<OrderedFirewallPolicyIDsBeforeSystemDefinedList>;
351
+ export interface OrderedFirewallPolicyIDs {
352
+ afterSystemDefined: OrderedFirewallPolicyIDsAfterSystemDefinedList;
353
+ beforeSystemDefined: OrderedFirewallPolicyIDsBeforeSystemDefinedList;
354
+ }
355
+ export declare const OrderedFirewallPolicyIDs: S.Schema<OrderedFirewallPolicyIDs>;
356
+ export interface IntegrationFirewallPolicyOrderingDto {
357
+ orderedFirewallPolicyIds: OrderedFirewallPolicyIDs;
358
+ }
359
+ export declare const IntegrationFirewallPolicyOrderingDto: S.Schema<IntegrationFirewallPolicyOrderingDto>;
360
+ export interface GetFirewallZoneRequest {
361
+ siteId: string;
362
+ firewallZoneId: string;
363
+ }
364
+ export declare const GetFirewallZoneRequest: S.Schema<GetFirewallZoneRequest>;
365
+ export interface GetFirewallZonesRequest {
366
+ siteId: string;
367
+ offset?: number;
368
+ limit?: number;
369
+ filter?: string;
370
+ }
371
+ export declare const GetFirewallZonesRequest: S.Schema<GetFirewallZonesRequest>;
372
+ export type FirewallZonesPageDataList = Array<FirewallZone>;
373
+ export declare const FirewallZonesPageDataList: S.Schema<FirewallZonesPageDataList>;
374
+ export interface FirewallZonesPage {
375
+ count: number;
376
+ data: FirewallZonesPageDataList;
377
+ limit: number;
378
+ offset: number;
379
+ totalCount: number;
380
+ }
381
+ export declare const FirewallZonesPage: S.Schema<FirewallZonesPage>;
382
+ export interface PatchFirewallPolicyRequest {
383
+ siteId: string;
384
+ firewallPolicyId: string;
385
+ loggingEnabled?: boolean;
386
+ }
387
+ export declare const PatchFirewallPolicyRequest: S.Schema<PatchFirewallPolicyRequest>;
388
+ export type UpdateFirewallPolicyRequestConnectionStateFilterItem = "NEW" | "INVALID" | "ESTABLISHED" | "RELATED";
389
+ export declare const UpdateFirewallPolicyRequestConnectionStateFilterItem: any;
390
+ /** Match on firewall connection state. If null, matches all connection states. */
391
+ export type UpdateFirewallPolicyRequestConnectionStateFilterList = Array<UpdateFirewallPolicyRequestConnectionStateFilterItem | (string & {})>;
392
+ export declare const UpdateFirewallPolicyRequestConnectionStateFilterList: S.Schema<UpdateFirewallPolicyRequestConnectionStateFilterList>;
393
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
394
+ export type UpdateFirewallPolicyRequestIpsecFilter = "MATCH_ENCRYPTED" | "MATCH_NOT_ENCRYPTED";
395
+ export declare const UpdateFirewallPolicyRequestIpsecFilter: any;
396
+ export interface UpdateFirewallPolicyRequest {
397
+ siteId: string;
398
+ firewallPolicyId: string;
399
+ action: FirewallPolicyAction;
400
+ /** Match on firewall connection state. If null, matches all connection states. */
401
+ connectionStateFilter?: UpdateFirewallPolicyRequestConnectionStateFilterList;
402
+ description?: string;
403
+ destination: FirewallPolicyDestination;
404
+ enabled: boolean;
405
+ ipProtocolScope: FirewallPolicyIPProtocolScope;
406
+ /** Match on traffic encrypted, or not encrypted by IPsec. If null, matches all traffic. */
407
+ ipsecFilter?: UpdateFirewallPolicyRequestIpsecFilter | (string & {});
408
+ /** Generate syslog entries when traffic is matched. Such entries are sent to a remote syslog server. */
409
+ loggingEnabled: boolean;
410
+ name: string;
411
+ schedule?: FirewallSchedule;
412
+ source: FirewallPolicySource;
413
+ }
414
+ export declare const UpdateFirewallPolicyRequest: S.Schema<UpdateFirewallPolicyRequest>;
415
+ export interface UpdateFirewallPolicyOrderingRequest {
416
+ siteId: string;
417
+ sourceFirewallZoneId: string;
418
+ destinationFirewallZoneId: string;
419
+ orderedFirewallPolicyIds: OrderedFirewallPolicyIDs;
420
+ }
421
+ export declare const UpdateFirewallPolicyOrderingRequest: S.Schema<UpdateFirewallPolicyOrderingRequest>;
422
+ /** List of Network IDs */
423
+ export type UpdateFirewallZoneRequestNetworkIdsList = Array<string>;
424
+ export declare const UpdateFirewallZoneRequestNetworkIdsList: S.Schema<UpdateFirewallZoneRequestNetworkIdsList>;
425
+ export interface UpdateFirewallZoneRequest {
426
+ siteId: string;
427
+ firewallZoneId: string;
428
+ /** Name of a firewall zone */
429
+ name: string;
430
+ /** List of Network IDs */
431
+ networkIds: UpdateFirewallZoneRequestNetworkIdsList;
432
+ }
433
+ export declare const UpdateFirewallZoneRequest: S.Schema<UpdateFirewallZoneRequest>;
434
+ export type CreateFirewallPolicyError = UnifiNetworkOpError;
435
+ /** Create Firewall Policy Create a new firewall policy on a site. */
436
+ export declare const createFirewallPolicy: API.OperationMethod<CreateFirewallPolicyRequest, FirewallPolicy, CreateFirewallPolicyError, UnifiNetworkOpContext>;
437
+ export type CreateFirewallZoneError = UnifiNetworkOpError;
438
+ /** Create Custom Firewall Zone Create a new custom firewall zone on a site. */
439
+ export declare const createFirewallZone: API.OperationMethod<CreateFirewallZoneRequest, FirewallZone, CreateFirewallZoneError, UnifiNetworkOpContext>;
440
+ export type DeleteFirewallPolicyError = UnifiNetworkOpError;
441
+ /** Delete Firewall Policy Delete an existing firewall policy on a site. */
442
+ export declare const deleteFirewallPolicy: API.OperationMethod<DeleteFirewallPolicyRequest, DeleteFirewallPolicyResponse, DeleteFirewallPolicyError, UnifiNetworkOpContext>;
443
+ export type DeleteFirewallZoneError = UnifiNetworkOpError;
444
+ /** Delete Custom Firewall Zone Delete a custom firewall zone from a site. */
445
+ export declare const deleteFirewallZone: API.OperationMethod<DeleteFirewallZoneRequest, DeleteFirewallZoneResponse, DeleteFirewallZoneError, UnifiNetworkOpContext>;
446
+ export type GetFirewallPoliciesError = UnifiNetworkOpError;
447
+ /** List Firewall Policies Retrieve a list of all firewall policies on a site. <details> <summary>Filterable properties (click to expand)</summary> </details> */
448
+ export declare const getFirewallPolicies: API.OperationMethod<GetFirewallPoliciesRequest, FirewallPolicyPage, GetFirewallPoliciesError, UnifiNetworkOpContext>;
449
+ export type GetFirewallPolicyError = UnifiNetworkOpError;
450
+ /** Get Firewall Policy Retrieve specific firewall policy. */
451
+ export declare const getFirewallPolicy: API.OperationMethod<GetFirewallPolicyRequest, FirewallPolicy, GetFirewallPolicyError, UnifiNetworkOpContext>;
452
+ export type GetFirewallPolicyOrderingError = UnifiNetworkOpError;
453
+ /** Get User-Defined Firewall Policy Ordering Retrieve user-defined firewall policy ordering for a specific source/destination zone pair. */
454
+ export declare const getFirewallPolicyOrdering: API.OperationMethod<GetFirewallPolicyOrderingRequest, IntegrationFirewallPolicyOrderingDto, GetFirewallPolicyOrderingError, UnifiNetworkOpContext>;
455
+ export type GetFirewallZoneError = UnifiNetworkOpError;
456
+ /** Get Firewall Zone Get a firewall zone on a site. */
457
+ export declare const getFirewallZone: API.OperationMethod<GetFirewallZoneRequest, FirewallZone, GetFirewallZoneError, UnifiNetworkOpContext>;
458
+ export type GetFirewallZonesError = UnifiNetworkOpError;
459
+ /** List Firewall Zones Retrieve a list of all firewall zones on a site. <details> <summary>Filterable properties (click to expand)</summary> </details> */
460
+ export declare const getFirewallZones: API.OperationMethod<GetFirewallZonesRequest, FirewallZonesPage, GetFirewallZonesError, UnifiNetworkOpContext>;
461
+ export type PatchFirewallPolicyError = UnifiNetworkOpError;
462
+ /** Patch Firewall Policy Patch an existing firewall policy on a site. */
463
+ export declare const patchFirewallPolicy: API.OperationMethod<PatchFirewallPolicyRequest, FirewallPolicy, PatchFirewallPolicyError, UnifiNetworkOpContext>;
464
+ export type UpdateFirewallPolicyError = UnifiNetworkOpError;
465
+ /** Update Firewall Policy Update an existing firewall policy on a site. */
466
+ export declare const updateFirewallPolicy: API.OperationMethod<UpdateFirewallPolicyRequest, FirewallPolicy, UpdateFirewallPolicyError, UnifiNetworkOpContext>;
467
+ export type UpdateFirewallPolicyOrderingError = UnifiNetworkOpError;
468
+ /** Reorder User-Defined Firewall Policies Reorder user-defined firewall policies for a specific source/destination zone pair. */
469
+ export declare const updateFirewallPolicyOrdering: API.OperationMethod<UpdateFirewallPolicyOrderingRequest, IntegrationFirewallPolicyOrderingDto, UpdateFirewallPolicyOrderingError, UnifiNetworkOpContext>;
470
+ export type UpdateFirewallZoneError = UnifiNetworkOpError;
471
+ /** Update Firewall Zone Update a firewall zone on a site. */
472
+ export declare const updateFirewallZone: API.OperationMethod<UpdateFirewallZoneRequest, FirewallZone, UpdateFirewallZoneError, UnifiNetworkOpContext>;
473
+ //# sourceMappingURL=firewall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firewall.d.ts","sourceRoot":"","sources":["../../src/services/firewall.ts"],"names":[],"mappings":"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AI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IA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"}