@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,992 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (specs/spec-mirror-unifi-network/specs/openapi.json). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as T from "../traits.ts";
5
+ import {
6
+ UnifiNetworkProtocol,
7
+ type UnifiNetworkOpError,
8
+ type UnifiNetworkOpContext,
9
+ } from "../protocol.ts";
10
+ import { UnknownUnifiNetworkError } from "../errors.ts";
11
+ import * as Retry from "../retry.ts";
12
+
13
+ export type { UnifiNetworkOpError, UnifiNetworkOpContext };
14
+
15
+ export type IntegrationWifiBasicDataRateConfigurationDto5 =
16
+ | "6000"
17
+ | "9000"
18
+ | "12000"
19
+ | "24000";
20
+ export const IntegrationWifiBasicDataRateConfigurationDto5 = S.String;
21
+
22
+ export type IntegrationWifiBasicDataRateConfigurationDto24 =
23
+ | "1000"
24
+ | "2000"
25
+ | "5500"
26
+ | "6000"
27
+ | "9000"
28
+ | "11000"
29
+ | "12000"
30
+ | "24000";
31
+ export const IntegrationWifiBasicDataRateConfigurationDto24 = S.String;
32
+
33
+ export interface IntegrationWifiBasicDataRateConfigurationDto {
34
+ _5: IntegrationWifiBasicDataRateConfigurationDto5 | (string & {});
35
+ _2_4: IntegrationWifiBasicDataRateConfigurationDto24 | (string & {});
36
+ }
37
+ export const IntegrationWifiBasicDataRateConfigurationDto =
38
+ /*@__PURE__*/ S.suspend(() =>
39
+ S.Struct({
40
+ _5: IntegrationWifiBasicDataRateConfigurationDto5.pipe(T.Body("5")),
41
+ _2_4: IntegrationWifiBasicDataRateConfigurationDto24.pipe(T.Body("2.4")),
42
+ }),
43
+ ).annotate({
44
+ identifier: "IntegrationWifiBasicDataRateConfigurationDto",
45
+ }) as any as S.Schema<IntegrationWifiBasicDataRateConfigurationDto>;
46
+
47
+ export type BlackoutScheduleConfigurationPerDayDay =
48
+ | "SUN"
49
+ | "MON"
50
+ | "TUE"
51
+ | "WED"
52
+ | "THU"
53
+ | "FRI"
54
+ | "SAT";
55
+ export const BlackoutScheduleConfigurationPerDayDay = S.String;
56
+
57
+ export interface IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto {
58
+ /** End time in 24-hour format (HH:mm) */
59
+ endTime: string;
60
+ /** Start time in 24-hour format (HH:mm) */
61
+ startTime: string;
62
+ }
63
+ export const IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto =
64
+ /*@__PURE__*/ S.suspend(() =>
65
+ S.Struct({
66
+ endTime: S.String,
67
+ startTime: S.String,
68
+ }),
69
+ ).annotate({
70
+ identifier: "IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto",
71
+ }) as any as S.Schema<IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto>;
72
+
73
+ export type BlackoutScheduleConfigurationPerDayTimeRangesList =
74
+ Array<IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto>;
75
+ export const BlackoutScheduleConfigurationPerDayTimeRangesList =
76
+ /*@__PURE__*/ S.Array(
77
+ IntegrationWifiBlackoutScheduleConfigurationTimeRangeDto,
78
+ ) as any as S.Schema<BlackoutScheduleConfigurationPerDayTimeRangesList>;
79
+
80
+ export interface BlackoutScheduleConfigurationPerDay {
81
+ day: BlackoutScheduleConfigurationPerDayDay | (string & {});
82
+ type: string;
83
+ timeRanges?: BlackoutScheduleConfigurationPerDayTimeRangesList;
84
+ }
85
+ export const BlackoutScheduleConfigurationPerDay = /*@__PURE__*/ S.suspend(() =>
86
+ S.Struct({
87
+ day: BlackoutScheduleConfigurationPerDayDay,
88
+ type: S.String,
89
+ timeRanges: S.optional(BlackoutScheduleConfigurationPerDayTimeRangesList),
90
+ }),
91
+ ).annotate({
92
+ identifier: "BlackoutScheduleConfigurationPerDay",
93
+ }) as any as S.Schema<BlackoutScheduleConfigurationPerDay>;
94
+
95
+ export type IntegrationBlackoutScheduleConfigurationDaysList =
96
+ Array<BlackoutScheduleConfigurationPerDay>;
97
+ export const IntegrationBlackoutScheduleConfigurationDaysList =
98
+ /*@__PURE__*/ S.Array(
99
+ BlackoutScheduleConfigurationPerDay,
100
+ ) as any as S.Schema<IntegrationBlackoutScheduleConfigurationDaysList>;
101
+
102
+ export interface IntegrationBlackoutScheduleConfiguration {
103
+ days: IntegrationBlackoutScheduleConfigurationDaysList;
104
+ }
105
+ export const IntegrationBlackoutScheduleConfiguration = /*@__PURE__*/ S.suspend(
106
+ () =>
107
+ S.Struct({
108
+ days: IntegrationBlackoutScheduleConfigurationDaysList,
109
+ }),
110
+ ).annotate({
111
+ identifier: "IntegrationBlackoutScheduleConfiguration",
112
+ }) as any as S.Schema<IntegrationBlackoutScheduleConfiguration>;
113
+
114
+ /** List of Access Point capable device IDs to which the WiFi broadcast applies. */
115
+ export type BroadcastingDeviceFilterDeviceIdsList = Array<string>;
116
+ export const BroadcastingDeviceFilterDeviceIdsList = /*@__PURE__*/ S.Array(
117
+ S.String,
118
+ ) as any as S.Schema<BroadcastingDeviceFilterDeviceIdsList>;
119
+
120
+ export type BroadcastingDeviceFilterDeviceTagIdsList = Array<string>;
121
+ export const BroadcastingDeviceFilterDeviceTagIdsList = /*@__PURE__*/ S.Array(
122
+ S.String,
123
+ ) as any as S.Schema<BroadcastingDeviceFilterDeviceTagIdsList>;
124
+
125
+ export interface BroadcastingDeviceFilter {
126
+ type: string;
127
+ /** List of Access Point capable device IDs to which the WiFi broadcast applies. */
128
+ deviceIds?: BroadcastingDeviceFilterDeviceIdsList;
129
+ deviceTagIds?: BroadcastingDeviceFilterDeviceTagIdsList;
130
+ }
131
+ export const BroadcastingDeviceFilter = /*@__PURE__*/ S.suspend(() =>
132
+ S.Struct({
133
+ type: S.String,
134
+ deviceIds: S.optional(BroadcastingDeviceFilterDeviceIdsList),
135
+ deviceTagIds: S.optional(BroadcastingDeviceFilterDeviceTagIdsList),
136
+ }),
137
+ ).annotate({
138
+ identifier: "BroadcastingDeviceFilter",
139
+ }) as any as S.Schema<BroadcastingDeviceFilter>;
140
+
141
+ export type IntegrationWifiClientFilteringPolicyDtoAction = "ALLOW" | "BLOCK";
142
+ export const IntegrationWifiClientFilteringPolicyDtoAction = S.String;
143
+
144
+ export type IntegrationWifiClientFilteringPolicyDtoMacAddressFilterList =
145
+ Array<string>;
146
+ export const IntegrationWifiClientFilteringPolicyDtoMacAddressFilterList =
147
+ /*@__PURE__*/ S.Array(
148
+ S.String,
149
+ ) as any as S.Schema<IntegrationWifiClientFilteringPolicyDtoMacAddressFilterList>;
150
+
151
+ export interface IntegrationWifiClientFilteringPolicyDto {
152
+ action: IntegrationWifiClientFilteringPolicyDtoAction | (string & {});
153
+ macAddressFilter: IntegrationWifiClientFilteringPolicyDtoMacAddressFilterList;
154
+ }
155
+ export const IntegrationWifiClientFilteringPolicyDto = /*@__PURE__*/ S.suspend(
156
+ () =>
157
+ S.Struct({
158
+ action: IntegrationWifiClientFilteringPolicyDtoAction,
159
+ macAddressFilter:
160
+ IntegrationWifiClientFilteringPolicyDtoMacAddressFilterList,
161
+ }),
162
+ ).annotate({
163
+ identifier: "IntegrationWifiClientFilteringPolicyDto",
164
+ }) as any as S.Schema<IntegrationWifiClientFilteringPolicyDto>;
165
+
166
+ export type MDNSProxyPolicyBridgingNetworkIdsList = Array<string>;
167
+ export const MDNSProxyPolicyBridgingNetworkIdsList = /*@__PURE__*/ S.Array(
168
+ S.String,
169
+ ) as any as S.Schema<MDNSProxyPolicyBridgingNetworkIdsList>;
170
+
171
+ export interface MDNSService {
172
+ type: string;
173
+ /** Shape varies by variant — widened by scripts/convert.ts; see README. */
174
+ name?: unknown;
175
+ typeDomain?: string;
176
+ }
177
+ export const MDNSService = /*@__PURE__*/ S.suspend(() =>
178
+ S.Struct({
179
+ type: S.String,
180
+ name: S.optional(S.Unknown),
181
+ typeDomain: S.optional(S.String),
182
+ }),
183
+ ).annotate({ identifier: "MDNSService" }) as any as S.Schema<MDNSService>;
184
+
185
+ export type MDNSProxyPolicyServiceFilterList = Array<MDNSService>;
186
+ export const MDNSProxyPolicyServiceFilterList = /*@__PURE__*/ S.Array(
187
+ MDNSService,
188
+ ) as any as S.Schema<MDNSProxyPolicyServiceFilterList>;
189
+
190
+ export interface MDNSProxyPolicy {
191
+ action: string;
192
+ /** Defines the custom scope of devices that will filter Mdns. If null, the mDNS filtering will be added to all Access Point capable devices. */
193
+ deviceFilter?: BroadcastingDeviceFilter;
194
+ bridgingNetworkIds?: MDNSProxyPolicyBridgingNetworkIdsList;
195
+ serviceFilter?: MDNSProxyPolicyServiceFilterList;
196
+ }
197
+ export const MDNSProxyPolicy = /*@__PURE__*/ S.suspend(() =>
198
+ S.Struct({
199
+ action: S.String,
200
+ deviceFilter: S.optional(BroadcastingDeviceFilter),
201
+ bridgingNetworkIds: S.optional(MDNSProxyPolicyBridgingNetworkIdsList),
202
+ serviceFilter: S.optional(MDNSProxyPolicyServiceFilterList),
203
+ }),
204
+ ).annotate({
205
+ identifier: "MDNSProxyPolicy",
206
+ }) as any as S.Schema<MDNSProxyPolicy>;
207
+
208
+ export type MDNSFilteringConfigurationPoliciesList = Array<MDNSProxyPolicy>;
209
+ export const MDNSFilteringConfigurationPoliciesList = /*@__PURE__*/ S.Array(
210
+ MDNSProxyPolicy,
211
+ ) as any as S.Schema<MDNSFilteringConfigurationPoliciesList>;
212
+
213
+ export interface MDNSFilteringConfiguration {
214
+ mode: string;
215
+ policies?: MDNSFilteringConfigurationPoliciesList;
216
+ }
217
+ export const MDNSFilteringConfiguration = /*@__PURE__*/ S.suspend(() =>
218
+ S.Struct({
219
+ mode: S.String,
220
+ policies: S.optional(MDNSFilteringConfigurationPoliciesList),
221
+ }),
222
+ ).annotate({
223
+ identifier: "MDNSFilteringConfiguration",
224
+ }) as any as S.Schema<MDNSFilteringConfiguration>;
225
+
226
+ /** List of multicast source MAC addresses allowed. Multicast traffic from gateways is always allowed. */
227
+ export type MulticastFilteringPolicySourceMacAddressFilterList = Array<string>;
228
+ export const MulticastFilteringPolicySourceMacAddressFilterList =
229
+ /*@__PURE__*/ S.Array(
230
+ S.String,
231
+ ) as any as S.Schema<MulticastFilteringPolicySourceMacAddressFilterList>;
232
+
233
+ export interface MulticastFilteringPolicy {
234
+ action: string;
235
+ /** List of multicast source MAC addresses allowed. Multicast traffic from gateways is always allowed. */
236
+ sourceMacAddressFilter?: MulticastFilteringPolicySourceMacAddressFilterList;
237
+ }
238
+ export const MulticastFilteringPolicy = /*@__PURE__*/ S.suspend(() =>
239
+ S.Struct({
240
+ action: S.String,
241
+ sourceMacAddressFilter: S.optional(
242
+ MulticastFilteringPolicySourceMacAddressFilterList,
243
+ ),
244
+ }),
245
+ ).annotate({
246
+ identifier: "MulticastFilteringPolicy",
247
+ }) as any as S.Schema<MulticastFilteringPolicy>;
248
+
249
+ export interface WifiNetworkReference {
250
+ type: string;
251
+ networkId?: string;
252
+ }
253
+ export const WifiNetworkReference = /*@__PURE__*/ S.suspend(() =>
254
+ S.Struct({
255
+ type: S.String,
256
+ networkId: S.optional(S.String),
257
+ }),
258
+ ).annotate({
259
+ identifier: "WifiNetworkReference",
260
+ }) as any as S.Schema<WifiNetworkReference>;
261
+
262
+ /** Encryption mode for open security. If null, plain open with no encryption. */
263
+ export type WifiSecurityConfigurationDetailObjectEncryption =
264
+ | "ENHANCED_OPEN"
265
+ | "ENHANCED_OPEN_WITH_TRANSITION";
266
+ export const WifiSecurityConfigurationDetailObjectEncryption = S.String;
267
+
268
+ /** Protected Management Frames mode. If null, then it is disabled. This feature is not available for IoT configuration. */
269
+ export type WifiSecurityConfigurationDetailObjectPmfMode =
270
+ | "REQUIRED"
271
+ | "OPTIONAL";
272
+ export const WifiSecurityConfigurationDetailObjectPmfMode = S.String;
273
+
274
+ export interface IntegrationWifiPresharedKeyDto {
275
+ network: WifiNetworkReference;
276
+ passphrase: string;
277
+ }
278
+ export const IntegrationWifiPresharedKeyDto = /*@__PURE__*/ S.suspend(() =>
279
+ S.Struct({
280
+ network: WifiNetworkReference,
281
+ passphrase: S.String,
282
+ }),
283
+ ).annotate({
284
+ identifier: "IntegrationWifiPresharedKeyDto",
285
+ }) as any as S.Schema<IntegrationWifiPresharedKeyDto>;
286
+
287
+ export type WifiSecurityConfigurationDetailObjectPresharedKeysList =
288
+ Array<IntegrationWifiPresharedKeyDto>;
289
+ export const WifiSecurityConfigurationDetailObjectPresharedKeysList =
290
+ /*@__PURE__*/ S.Array(
291
+ IntegrationWifiPresharedKeyDto,
292
+ ) as any as S.Schema<WifiSecurityConfigurationDetailObjectPresharedKeysList>;
293
+
294
+ export interface IntegrationWifiSaeConfigurationDto {
295
+ anticloggingThresholdSeconds: number;
296
+ syncTimeSeconds: number;
297
+ }
298
+ export const IntegrationWifiSaeConfigurationDto = /*@__PURE__*/ S.suspend(() =>
299
+ S.Struct({
300
+ anticloggingThresholdSeconds: S.Number,
301
+ syncTimeSeconds: S.Number,
302
+ }),
303
+ ).annotate({
304
+ identifier: "IntegrationWifiSaeConfigurationDto",
305
+ }) as any as S.Schema<IntegrationWifiSaeConfigurationDto>;
306
+
307
+ export type WifiSecurityConfigurationDetailObjectSecurityMode =
308
+ | "DEFAULT"
309
+ | "HIGH_SECURITY_192_BIT";
310
+ export const WifiSecurityConfigurationDetailObjectSecurityMode = S.String;
311
+
312
+ export interface WifiSecurityConfigurationDetailObject {
313
+ /** Shape varies by variant — widened by scripts/convert.ts; see README. */
314
+ radiusConfiguration?: unknown;
315
+ type: string;
316
+ /** Encryption mode for open security. If null, plain open with no encryption. */
317
+ encryption?: WifiSecurityConfigurationDetailObjectEncryption | (string & {});
318
+ /** Indicates whether Change of Authorization (COA) is enabled */
319
+ coaEnabled?: boolean;
320
+ /** Fast roaming enabled flag. This feature is not available for IoT configuration. */
321
+ fastRoamingEnabled?: boolean;
322
+ /** Group rekey interval in seconds. Sets how often connected device groups are assigned a new key. If null, then it is disabled. This feature is not available for IoT configuration. */
323
+ groupRekeyIntervalSeconds?: number;
324
+ /** Protected Management Frames mode. If null, then it is disabled. This feature is not available for IoT configuration. */
325
+ pmfMode?: WifiSecurityConfigurationDetailObjectPmfMode | (string & {});
326
+ passphrase?: string;
327
+ presharedKeys?: WifiSecurityConfigurationDetailObjectPresharedKeysList;
328
+ /** WPA3 fast roaming can be enabled only if the default fast roaming is enabled */
329
+ wpa3FastRoamingEnabled?: boolean;
330
+ /** Configuration for SAE (Simultaneous Authentication of Equals). */
331
+ saeConfiguration?: IntegrationWifiSaeConfigurationDto;
332
+ securityMode?:
333
+ | WifiSecurityConfigurationDetailObjectSecurityMode
334
+ | (string & {});
335
+ }
336
+ export const WifiSecurityConfigurationDetailObject = /*@__PURE__*/ S.suspend(
337
+ () =>
338
+ S.Struct({
339
+ radiusConfiguration: S.optional(S.Unknown),
340
+ type: S.String,
341
+ encryption: S.optional(WifiSecurityConfigurationDetailObjectEncryption),
342
+ coaEnabled: S.optional(S.Boolean),
343
+ fastRoamingEnabled: S.optional(S.Boolean),
344
+ groupRekeyIntervalSeconds: S.optional(S.Number),
345
+ pmfMode: S.optional(WifiSecurityConfigurationDetailObjectPmfMode),
346
+ passphrase: S.optional(S.String),
347
+ presharedKeys: S.optional(
348
+ WifiSecurityConfigurationDetailObjectPresharedKeysList,
349
+ ),
350
+ wpa3FastRoamingEnabled: S.optional(S.Boolean),
351
+ saeConfiguration: S.optional(IntegrationWifiSaeConfigurationDto),
352
+ securityMode: S.optional(
353
+ WifiSecurityConfigurationDetailObjectSecurityMode,
354
+ ),
355
+ }),
356
+ ).annotate({
357
+ identifier: "WifiSecurityConfigurationDetailObject",
358
+ }) as any as S.Schema<WifiSecurityConfigurationDetailObject>;
359
+
360
+ export type CreateWifiBroadcastRequestBroadcastingFrequenciesGHzItem =
361
+ | 2.4
362
+ | 5
363
+ | 6;
364
+ export const CreateWifiBroadcastRequestBroadcastingFrequenciesGHzItem =
365
+ S.Number;
366
+
367
+ export type CreateWifiBroadcastRequestBroadcastingFrequenciesGHzList = Array<
368
+ CreateWifiBroadcastRequestBroadcastingFrequenciesGHzItem | (number & {})
369
+ >;
370
+ export const CreateWifiBroadcastRequestBroadcastingFrequenciesGHzList =
371
+ /*@__PURE__*/ S.Array(
372
+ CreateWifiBroadcastRequestBroadcastingFrequenciesGHzItem,
373
+ ) as any as S.Schema<CreateWifiBroadcastRequestBroadcastingFrequenciesGHzList>;
374
+
375
+ export type DNSAssistanceConfigurationServersList = Array<string>;
376
+ export const DNSAssistanceConfigurationServersList = /*@__PURE__*/ S.Array(
377
+ S.String,
378
+ ) as any as S.Schema<DNSAssistanceConfigurationServersList>;
379
+
380
+ export interface DNSAssistanceConfiguration {
381
+ mode: string;
382
+ servers?: DNSAssistanceConfigurationServersList;
383
+ }
384
+ export const DNSAssistanceConfiguration = /*@__PURE__*/ S.suspend(() =>
385
+ S.Struct({
386
+ mode: S.String,
387
+ servers: S.optional(DNSAssistanceConfigurationServersList),
388
+ }),
389
+ ).annotate({
390
+ identifier: "DNSAssistanceConfiguration",
391
+ }) as any as S.Schema<DNSAssistanceConfiguration>;
392
+
393
+ export interface IntegrationWifiDtimPeriodConfigurationDto {
394
+ _5: number;
395
+ _6: number;
396
+ /** DTIM period for 2.4GHz band must be 3 when dtimPeriod2gLockedTo3 is enabled. */
397
+ _2_4: number;
398
+ }
399
+ export const IntegrationWifiDtimPeriodConfigurationDto =
400
+ /*@__PURE__*/ S.suspend(() =>
401
+ S.Struct({
402
+ _5: S.Number.pipe(T.Body("5")),
403
+ _6: S.Number.pipe(T.Body("6")),
404
+ _2_4: S.Number.pipe(T.Body("2.4")),
405
+ }),
406
+ ).annotate({
407
+ identifier: "IntegrationWifiDtimPeriodConfigurationDto",
408
+ }) as any as S.Schema<IntegrationWifiDtimPeriodConfigurationDto>;
409
+
410
+ export interface IntegrationWifiHandoffSuggestionsConfigurationDto {
411
+ /** RSSI threshold (dBm) for the 5 GHz band. If null, then it is disabled. */
412
+ band5GHzRssiThreshold?: number;
413
+ /** RSSI threshold (dBm) for the 6 GHz band. If null, then it is disabled. */
414
+ band6GHzRssiThreshold?: number;
415
+ }
416
+ export const IntegrationWifiHandoffSuggestionsConfigurationDto =
417
+ /*@__PURE__*/ S.suspend(() =>
418
+ S.Struct({
419
+ band5GHzRssiThreshold: S.optional(S.Number),
420
+ band6GHzRssiThreshold: S.optional(S.Number),
421
+ }),
422
+ ).annotate({
423
+ identifier: "IntegrationWifiHandoffSuggestionsConfigurationDto",
424
+ }) as any as S.Schema<IntegrationWifiHandoffSuggestionsConfigurationDto>;
425
+
426
+ export interface WifiHotspotConfiguration {
427
+ type: string;
428
+ }
429
+ export const WifiHotspotConfiguration = /*@__PURE__*/ S.suspend(() =>
430
+ S.Struct({
431
+ type: S.String,
432
+ }),
433
+ ).annotate({
434
+ identifier: "WifiHotspotConfiguration",
435
+ }) as any as S.Schema<WifiHotspotConfiguration>;
436
+
437
+ export interface CreateWifiBroadcastRequest {
438
+ siteId: string;
439
+ basicDataRateKbpsByFrequencyGHz?: IntegrationWifiBasicDataRateConfigurationDto;
440
+ blackoutScheduleConfiguration?: IntegrationBlackoutScheduleConfiguration;
441
+ /** Defines the custom scope of devices that will broadcast this WiFi network. If null, the WiFi network will be broadcast by all Access Point capable devices. */
442
+ broadcastingDeviceFilter?: BroadcastingDeviceFilter;
443
+ /** Locks 2.4GHz radio channel to 6 on all broadcasting devices */
444
+ channel2gLockedTo6: boolean;
445
+ /** Client connection filtering policy. Allow/restrict access to the WiFi network based on client device MAC addresses. */
446
+ clientFilteringPolicy?: IntegrationWifiClientFilteringPolicyDto;
447
+ clientIsolationEnabled: boolean;
448
+ /** Locks DTIM period to 3 for 2.4GHz radio */
449
+ dtimPeriod2gLockedTo3: boolean;
450
+ enabled: boolean;
451
+ hideName: boolean;
452
+ mdnsProxyConfiguration?: MDNSFilteringConfiguration;
453
+ multicastFilteringPolicy?: MulticastFilteringPolicy;
454
+ multicastToUnicastConversionEnabled: boolean;
455
+ name: string;
456
+ network?: WifiNetworkReference;
457
+ securityConfiguration: WifiSecurityConfigurationDetailObject;
458
+ type: string;
459
+ /** Indicates whether Unscheduled Automatic Power Save Delivery (U-APSD) is enabled */
460
+ uapsdEnabled: boolean;
461
+ /** Indicates whether the device name is advertised in beacon frames. */
462
+ advertiseDeviceName?: boolean;
463
+ arpProxyEnabled?: boolean;
464
+ bandSteeringEnabled?: boolean;
465
+ broadcastingFrequenciesGHz?: CreateWifiBroadcastRequestBroadcastingFrequenciesGHzList;
466
+ bssTransitionEnabled?: boolean;
467
+ dnsAssistanceConfiguration?: DNSAssistanceConfiguration;
468
+ dtimPeriodByFrequencyGHzOverride?: IntegrationWifiDtimPeriodConfigurationDto;
469
+ /** Suggests low-signal clients to roam to a better access point. If null, then it is disabled. */
470
+ handoffSuggestionsConfiguration?: IntegrationWifiHandoffSuggestionsConfigurationDto;
471
+ hotspotConfiguration?: WifiHotspotConfiguration;
472
+ mloEnabled?: boolean;
473
+ }
474
+ export const CreateWifiBroadcastRequest = /*@__PURE__*/ S.suspend(() =>
475
+ S.Struct({
476
+ siteId: S.String.pipe(T.Label()),
477
+ basicDataRateKbpsByFrequencyGHz: S.optional(
478
+ IntegrationWifiBasicDataRateConfigurationDto,
479
+ ),
480
+ blackoutScheduleConfiguration: S.optional(
481
+ IntegrationBlackoutScheduleConfiguration,
482
+ ),
483
+ broadcastingDeviceFilter: S.optional(BroadcastingDeviceFilter),
484
+ channel2gLockedTo6: S.Boolean,
485
+ clientFilteringPolicy: S.optional(IntegrationWifiClientFilteringPolicyDto),
486
+ clientIsolationEnabled: S.Boolean,
487
+ dtimPeriod2gLockedTo3: S.Boolean,
488
+ enabled: S.Boolean,
489
+ hideName: S.Boolean,
490
+ mdnsProxyConfiguration: S.optional(MDNSFilteringConfiguration),
491
+ multicastFilteringPolicy: S.optional(MulticastFilteringPolicy),
492
+ multicastToUnicastConversionEnabled: S.Boolean,
493
+ name: S.String,
494
+ network: S.optional(WifiNetworkReference),
495
+ securityConfiguration: WifiSecurityConfigurationDetailObject,
496
+ type: S.String,
497
+ uapsdEnabled: S.Boolean,
498
+ advertiseDeviceName: S.optional(S.Boolean),
499
+ arpProxyEnabled: S.optional(S.Boolean),
500
+ bandSteeringEnabled: S.optional(S.Boolean),
501
+ broadcastingFrequenciesGHz: S.optional(
502
+ CreateWifiBroadcastRequestBroadcastingFrequenciesGHzList,
503
+ ),
504
+ bssTransitionEnabled: S.optional(S.Boolean),
505
+ dnsAssistanceConfiguration: S.optional(DNSAssistanceConfiguration),
506
+ dtimPeriodByFrequencyGHzOverride: S.optional(
507
+ IntegrationWifiDtimPeriodConfigurationDto,
508
+ ),
509
+ handoffSuggestionsConfiguration: S.optional(
510
+ IntegrationWifiHandoffSuggestionsConfigurationDto,
511
+ ),
512
+ hotspotConfiguration: S.optional(WifiHotspotConfiguration),
513
+ mloEnabled: S.optional(S.Boolean),
514
+ }).pipe(
515
+ T.Http({
516
+ method: "POST",
517
+ uri: "/v1/sites/{siteId}/wifi/broadcasts",
518
+ code: 200,
519
+ }),
520
+ ),
521
+ ).annotate({
522
+ identifier: "CreateWifiBroadcastRequest",
523
+ }) as any as S.Schema<CreateWifiBroadcastRequest>;
524
+
525
+ export type UserOrDerivedOrOrchestratedEntityMetadataSource = "SDWAN";
526
+ export const UserOrDerivedOrOrchestratedEntityMetadataSource = S.String;
527
+
528
+ export interface UserOrDerivedOrOrchestratedEntityMetadata {
529
+ origin: string;
530
+ source?: UserOrDerivedOrOrchestratedEntityMetadataSource;
531
+ }
532
+ export const UserOrDerivedOrOrchestratedEntityMetadata =
533
+ /*@__PURE__*/ S.suspend(() =>
534
+ S.Struct({
535
+ origin: S.String,
536
+ source: S.optional(UserOrDerivedOrOrchestratedEntityMetadataSource),
537
+ }),
538
+ ).annotate({
539
+ identifier: "UserOrDerivedOrOrchestratedEntityMetadata",
540
+ }) as any as S.Schema<UserOrDerivedOrOrchestratedEntityMetadata>;
541
+
542
+ export type WifiBroadcastDetailsBroadcastingFrequenciesGHzItem = 2.4 | 5 | 6;
543
+ export const WifiBroadcastDetailsBroadcastingFrequenciesGHzItem = S.Number;
544
+
545
+ export type WifiBroadcastDetailsBroadcastingFrequenciesGHzList =
546
+ Array<WifiBroadcastDetailsBroadcastingFrequenciesGHzItem>;
547
+ export const WifiBroadcastDetailsBroadcastingFrequenciesGHzList =
548
+ /*@__PURE__*/ S.Array(
549
+ WifiBroadcastDetailsBroadcastingFrequenciesGHzItem,
550
+ ) as any as S.Schema<WifiBroadcastDetailsBroadcastingFrequenciesGHzList>;
551
+
552
+ export interface WifiBroadcastDetails {
553
+ basicDataRateKbpsByFrequencyGHz?: IntegrationWifiBasicDataRateConfigurationDto;
554
+ blackoutScheduleConfiguration?: IntegrationBlackoutScheduleConfiguration;
555
+ /** Defines the custom scope of devices that will broadcast this WiFi network. If null, the WiFi network will be broadcast by all Access Point capable devices. */
556
+ broadcastingDeviceFilter?: BroadcastingDeviceFilter;
557
+ /** Locks 2.4GHz radio channel to 6 on all broadcasting devices */
558
+ channel2gLockedTo6: boolean;
559
+ /** Client connection filtering policy. Allow/restrict access to the WiFi network based on client device MAC addresses. */
560
+ clientFilteringPolicy?: IntegrationWifiClientFilteringPolicyDto;
561
+ clientIsolationEnabled: boolean;
562
+ /** Locks DTIM period to 3 for 2.4GHz radio */
563
+ dtimPeriod2gLockedTo3: boolean;
564
+ enabled: boolean;
565
+ hideName: boolean;
566
+ id: string;
567
+ mdnsProxyConfiguration?: MDNSFilteringConfiguration;
568
+ metadata: UserOrDerivedOrOrchestratedEntityMetadata;
569
+ multicastFilteringPolicy?: MulticastFilteringPolicy;
570
+ multicastToUnicastConversionEnabled: boolean;
571
+ name: string;
572
+ network?: WifiNetworkReference;
573
+ securityConfiguration: WifiSecurityConfigurationDetailObject;
574
+ type: string;
575
+ /** Indicates whether Unscheduled Automatic Power Save Delivery (U-APSD) is enabled */
576
+ uapsdEnabled: boolean;
577
+ /** Indicates whether the device name is advertised in beacon frames. */
578
+ advertiseDeviceName?: boolean;
579
+ arpProxyEnabled?: boolean;
580
+ bandSteeringEnabled?: boolean;
581
+ broadcastingFrequenciesGHz?: WifiBroadcastDetailsBroadcastingFrequenciesGHzList;
582
+ bssTransitionEnabled?: boolean;
583
+ dnsAssistanceConfiguration?: DNSAssistanceConfiguration;
584
+ dtimPeriodByFrequencyGHzOverride?: IntegrationWifiDtimPeriodConfigurationDto;
585
+ /** Suggests low-signal clients to roam to a better access point. If null, then it is disabled. */
586
+ handoffSuggestionsConfiguration?: IntegrationWifiHandoffSuggestionsConfigurationDto;
587
+ hotspotConfiguration?: WifiHotspotConfiguration;
588
+ mloEnabled?: boolean;
589
+ }
590
+ export const WifiBroadcastDetails = /*@__PURE__*/ S.suspend(() =>
591
+ S.Struct({
592
+ basicDataRateKbpsByFrequencyGHz: S.optional(
593
+ IntegrationWifiBasicDataRateConfigurationDto,
594
+ ),
595
+ blackoutScheduleConfiguration: S.optional(
596
+ IntegrationBlackoutScheduleConfiguration,
597
+ ),
598
+ broadcastingDeviceFilter: S.optional(BroadcastingDeviceFilter),
599
+ channel2gLockedTo6: S.Boolean,
600
+ clientFilteringPolicy: S.optional(IntegrationWifiClientFilteringPolicyDto),
601
+ clientIsolationEnabled: S.Boolean,
602
+ dtimPeriod2gLockedTo3: S.Boolean,
603
+ enabled: S.Boolean,
604
+ hideName: S.Boolean,
605
+ id: S.String,
606
+ mdnsProxyConfiguration: S.optional(MDNSFilteringConfiguration),
607
+ metadata: UserOrDerivedOrOrchestratedEntityMetadata,
608
+ multicastFilteringPolicy: S.optional(MulticastFilteringPolicy),
609
+ multicastToUnicastConversionEnabled: S.Boolean,
610
+ name: S.String,
611
+ network: S.optional(WifiNetworkReference),
612
+ securityConfiguration: WifiSecurityConfigurationDetailObject,
613
+ type: S.String,
614
+ uapsdEnabled: S.Boolean,
615
+ advertiseDeviceName: S.optional(S.Boolean),
616
+ arpProxyEnabled: S.optional(S.Boolean),
617
+ bandSteeringEnabled: S.optional(S.Boolean),
618
+ broadcastingFrequenciesGHz: S.optional(
619
+ WifiBroadcastDetailsBroadcastingFrequenciesGHzList,
620
+ ),
621
+ bssTransitionEnabled: S.optional(S.Boolean),
622
+ dnsAssistanceConfiguration: S.optional(DNSAssistanceConfiguration),
623
+ dtimPeriodByFrequencyGHzOverride: S.optional(
624
+ IntegrationWifiDtimPeriodConfigurationDto,
625
+ ),
626
+ handoffSuggestionsConfiguration: S.optional(
627
+ IntegrationWifiHandoffSuggestionsConfigurationDto,
628
+ ),
629
+ hotspotConfiguration: S.optional(WifiHotspotConfiguration),
630
+ mloEnabled: S.optional(S.Boolean),
631
+ }),
632
+ ).annotate({
633
+ identifier: "WifiBroadcastDetails",
634
+ }) as any as S.Schema<WifiBroadcastDetails>;
635
+
636
+ export interface DeleteWifiBroadcastRequest {
637
+ siteId: string;
638
+ wifiBroadcastId: string;
639
+ force?: boolean;
640
+ }
641
+ export const DeleteWifiBroadcastRequest = /*@__PURE__*/ S.suspend(() =>
642
+ S.Struct({
643
+ siteId: S.String.pipe(T.Label()),
644
+ wifiBroadcastId: S.String.pipe(T.Label()),
645
+ force: S.optional(S.Boolean.pipe(T.Query())),
646
+ }).pipe(
647
+ T.Http({
648
+ method: "DELETE",
649
+ uri: "/v1/sites/{siteId}/wifi/broadcasts/{wifiBroadcastId}",
650
+ code: 200,
651
+ }),
652
+ ),
653
+ ).annotate({
654
+ identifier: "DeleteWifiBroadcastRequest",
655
+ }) as any as S.Schema<DeleteWifiBroadcastRequest>;
656
+
657
+ export interface DeleteWifiBroadcastResponse {}
658
+ export const DeleteWifiBroadcastResponse = /*@__PURE__*/ S.suspend(() =>
659
+ S.Struct({}),
660
+ ).annotate({
661
+ identifier: "DeleteWifiBroadcastResponse",
662
+ }) as any as S.Schema<DeleteWifiBroadcastResponse>;
663
+
664
+ export interface GetWifiBroadcastDetailsRequest {
665
+ siteId: string;
666
+ wifiBroadcastId: string;
667
+ }
668
+ export const GetWifiBroadcastDetailsRequest = /*@__PURE__*/ S.suspend(() =>
669
+ S.Struct({
670
+ siteId: S.String.pipe(T.Label()),
671
+ wifiBroadcastId: S.String.pipe(T.Label()),
672
+ }).pipe(
673
+ T.Http({
674
+ method: "GET",
675
+ uri: "/v1/sites/{siteId}/wifi/broadcasts/{wifiBroadcastId}",
676
+ code: 200,
677
+ }),
678
+ ),
679
+ ).annotate({
680
+ identifier: "GetWifiBroadcastDetailsRequest",
681
+ }) as any as S.Schema<GetWifiBroadcastDetailsRequest>;
682
+
683
+ export interface GetWifiBroadcastPageRequest {
684
+ siteId: string;
685
+ offset?: number;
686
+ limit?: number;
687
+ filter?: string;
688
+ }
689
+ export const GetWifiBroadcastPageRequest = /*@__PURE__*/ S.suspend(() =>
690
+ S.Struct({
691
+ siteId: S.String.pipe(T.Label()),
692
+ offset: S.optional(S.Number.pipe(T.Query())),
693
+ limit: S.optional(S.Number.pipe(T.Query())),
694
+ filter: S.optional(S.String.pipe(T.Query())),
695
+ }).pipe(
696
+ T.Http({
697
+ method: "GET",
698
+ uri: "/v1/sites/{siteId}/wifi/broadcasts",
699
+ code: 200,
700
+ }),
701
+ ),
702
+ ).annotate({
703
+ identifier: "GetWifiBroadcastPageRequest",
704
+ }) as any as S.Schema<GetWifiBroadcastPageRequest>;
705
+
706
+ export type WifiSecurityConfigurationOverviewPresharedKeyNetworkIdsList =
707
+ Array<WifiNetworkReference>;
708
+ export const WifiSecurityConfigurationOverviewPresharedKeyNetworkIdsList =
709
+ /*@__PURE__*/ S.Array(
710
+ WifiNetworkReference,
711
+ ) as any as S.Schema<WifiSecurityConfigurationOverviewPresharedKeyNetworkIdsList>;
712
+
713
+ export interface WifiSecurityConfigurationOverview {
714
+ type: string;
715
+ presharedKeyNetworkIds?: WifiSecurityConfigurationOverviewPresharedKeyNetworkIdsList;
716
+ }
717
+ export const WifiSecurityConfigurationOverview = /*@__PURE__*/ S.suspend(() =>
718
+ S.Struct({
719
+ type: S.String,
720
+ presharedKeyNetworkIds: S.optional(
721
+ WifiSecurityConfigurationOverviewPresharedKeyNetworkIdsList,
722
+ ),
723
+ }),
724
+ ).annotate({
725
+ identifier: "WifiSecurityConfigurationOverview",
726
+ }) as any as S.Schema<WifiSecurityConfigurationOverview>;
727
+
728
+ export type WifiBroadcastOverviewBroadcastingFrequenciesGHzItem = 2.4 | 5 | 6;
729
+ export const WifiBroadcastOverviewBroadcastingFrequenciesGHzItem = S.Number;
730
+
731
+ export type WifiBroadcastOverviewBroadcastingFrequenciesGHzList =
732
+ Array<WifiBroadcastOverviewBroadcastingFrequenciesGHzItem>;
733
+ export const WifiBroadcastOverviewBroadcastingFrequenciesGHzList =
734
+ /*@__PURE__*/ S.Array(
735
+ WifiBroadcastOverviewBroadcastingFrequenciesGHzItem,
736
+ ) as any as S.Schema<WifiBroadcastOverviewBroadcastingFrequenciesGHzList>;
737
+
738
+ export type IntegrationWifiHotspotConfigurationOverviewDtoType =
739
+ | "CAPTIVE_PORTAL"
740
+ | "PASSPOINT";
741
+ export const IntegrationWifiHotspotConfigurationOverviewDtoType = S.String;
742
+
743
+ export interface IntegrationWifiHotspotConfigurationOverviewDto {
744
+ type: IntegrationWifiHotspotConfigurationOverviewDtoType;
745
+ }
746
+ export const IntegrationWifiHotspotConfigurationOverviewDto =
747
+ /*@__PURE__*/ S.suspend(() =>
748
+ S.Struct({
749
+ type: IntegrationWifiHotspotConfigurationOverviewDtoType,
750
+ }),
751
+ ).annotate({
752
+ identifier: "IntegrationWifiHotspotConfigurationOverviewDto",
753
+ }) as any as S.Schema<IntegrationWifiHotspotConfigurationOverviewDto>;
754
+
755
+ export interface WifiBroadcastOverview {
756
+ /** Defines the custom scope of devices that will broadcast this WiFi network. If null, the WiFi network will be broadcast by all Access Point capable devices. */
757
+ broadcastingDeviceFilter?: BroadcastingDeviceFilter;
758
+ enabled: boolean;
759
+ id: string;
760
+ metadata: UserOrDerivedOrOrchestratedEntityMetadata;
761
+ name: string;
762
+ network?: WifiNetworkReference;
763
+ securityConfiguration: WifiSecurityConfigurationOverview;
764
+ type: string;
765
+ broadcastingFrequenciesGHz?: WifiBroadcastOverviewBroadcastingFrequenciesGHzList;
766
+ hotspotConfiguration?: IntegrationWifiHotspotConfigurationOverviewDto;
767
+ }
768
+ export const WifiBroadcastOverview = /*@__PURE__*/ S.suspend(() =>
769
+ S.Struct({
770
+ broadcastingDeviceFilter: S.optional(BroadcastingDeviceFilter),
771
+ enabled: S.Boolean,
772
+ id: S.String,
773
+ metadata: UserOrDerivedOrOrchestratedEntityMetadata,
774
+ name: S.String,
775
+ network: S.optional(WifiNetworkReference),
776
+ securityConfiguration: WifiSecurityConfigurationOverview,
777
+ type: S.String,
778
+ broadcastingFrequenciesGHz: S.optional(
779
+ WifiBroadcastOverviewBroadcastingFrequenciesGHzList,
780
+ ),
781
+ hotspotConfiguration: S.optional(
782
+ IntegrationWifiHotspotConfigurationOverviewDto,
783
+ ),
784
+ }),
785
+ ).annotate({
786
+ identifier: "WifiBroadcastOverview",
787
+ }) as any as S.Schema<WifiBroadcastOverview>;
788
+
789
+ export type IntegrationWifiBroadcastPageDtoDataList =
790
+ Array<WifiBroadcastOverview>;
791
+ export const IntegrationWifiBroadcastPageDtoDataList = /*@__PURE__*/ S.Array(
792
+ WifiBroadcastOverview,
793
+ ) as any as S.Schema<IntegrationWifiBroadcastPageDtoDataList>;
794
+
795
+ export interface IntegrationWifiBroadcastPageDto {
796
+ count: number;
797
+ data: IntegrationWifiBroadcastPageDtoDataList;
798
+ limit: number;
799
+ offset: number;
800
+ totalCount: number;
801
+ }
802
+ export const IntegrationWifiBroadcastPageDto = /*@__PURE__*/ S.suspend(() =>
803
+ S.Struct({
804
+ count: S.Number,
805
+ data: IntegrationWifiBroadcastPageDtoDataList,
806
+ limit: S.Number,
807
+ offset: S.Number,
808
+ totalCount: S.Number,
809
+ }),
810
+ ).annotate({
811
+ identifier: "IntegrationWifiBroadcastPageDto",
812
+ }) as any as S.Schema<IntegrationWifiBroadcastPageDto>;
813
+
814
+ export type UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzItem =
815
+ | 2.4
816
+ | 5
817
+ | 6;
818
+ export const UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzItem =
819
+ S.Number;
820
+
821
+ export type UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzList = Array<
822
+ UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzItem | (number & {})
823
+ >;
824
+ export const UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzList =
825
+ /*@__PURE__*/ S.Array(
826
+ UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzItem,
827
+ ) as any as S.Schema<UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzList>;
828
+
829
+ export interface UpdateWifiBroadcastRequest {
830
+ siteId: string;
831
+ wifiBroadcastId: string;
832
+ basicDataRateKbpsByFrequencyGHz?: IntegrationWifiBasicDataRateConfigurationDto;
833
+ blackoutScheduleConfiguration?: IntegrationBlackoutScheduleConfiguration;
834
+ /** Defines the custom scope of devices that will broadcast this WiFi network. If null, the WiFi network will be broadcast by all Access Point capable devices. */
835
+ broadcastingDeviceFilter?: BroadcastingDeviceFilter;
836
+ /** Locks 2.4GHz radio channel to 6 on all broadcasting devices */
837
+ channel2gLockedTo6: boolean;
838
+ /** Client connection filtering policy. Allow/restrict access to the WiFi network based on client device MAC addresses. */
839
+ clientFilteringPolicy?: IntegrationWifiClientFilteringPolicyDto;
840
+ clientIsolationEnabled: boolean;
841
+ /** Locks DTIM period to 3 for 2.4GHz radio */
842
+ dtimPeriod2gLockedTo3: boolean;
843
+ enabled: boolean;
844
+ hideName: boolean;
845
+ mdnsProxyConfiguration?: MDNSFilteringConfiguration;
846
+ multicastFilteringPolicy?: MulticastFilteringPolicy;
847
+ multicastToUnicastConversionEnabled: boolean;
848
+ name: string;
849
+ network?: WifiNetworkReference;
850
+ securityConfiguration: WifiSecurityConfigurationDetailObject;
851
+ type: string;
852
+ /** Indicates whether Unscheduled Automatic Power Save Delivery (U-APSD) is enabled */
853
+ uapsdEnabled: boolean;
854
+ /** Indicates whether the device name is advertised in beacon frames. */
855
+ advertiseDeviceName?: boolean;
856
+ arpProxyEnabled?: boolean;
857
+ bandSteeringEnabled?: boolean;
858
+ broadcastingFrequenciesGHz?: UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzList;
859
+ bssTransitionEnabled?: boolean;
860
+ dnsAssistanceConfiguration?: DNSAssistanceConfiguration;
861
+ dtimPeriodByFrequencyGHzOverride?: IntegrationWifiDtimPeriodConfigurationDto;
862
+ /** Suggests low-signal clients to roam to a better access point. If null, then it is disabled. */
863
+ handoffSuggestionsConfiguration?: IntegrationWifiHandoffSuggestionsConfigurationDto;
864
+ hotspotConfiguration?: WifiHotspotConfiguration;
865
+ mloEnabled?: boolean;
866
+ }
867
+ export const UpdateWifiBroadcastRequest = /*@__PURE__*/ S.suspend(() =>
868
+ S.Struct({
869
+ siteId: S.String.pipe(T.Label()),
870
+ wifiBroadcastId: S.String.pipe(T.Label()),
871
+ basicDataRateKbpsByFrequencyGHz: S.optional(
872
+ IntegrationWifiBasicDataRateConfigurationDto,
873
+ ),
874
+ blackoutScheduleConfiguration: S.optional(
875
+ IntegrationBlackoutScheduleConfiguration,
876
+ ),
877
+ broadcastingDeviceFilter: S.optional(BroadcastingDeviceFilter),
878
+ channel2gLockedTo6: S.Boolean,
879
+ clientFilteringPolicy: S.optional(IntegrationWifiClientFilteringPolicyDto),
880
+ clientIsolationEnabled: S.Boolean,
881
+ dtimPeriod2gLockedTo3: S.Boolean,
882
+ enabled: S.Boolean,
883
+ hideName: S.Boolean,
884
+ mdnsProxyConfiguration: S.optional(MDNSFilteringConfiguration),
885
+ multicastFilteringPolicy: S.optional(MulticastFilteringPolicy),
886
+ multicastToUnicastConversionEnabled: S.Boolean,
887
+ name: S.String,
888
+ network: S.optional(WifiNetworkReference),
889
+ securityConfiguration: WifiSecurityConfigurationDetailObject,
890
+ type: S.String,
891
+ uapsdEnabled: S.Boolean,
892
+ advertiseDeviceName: S.optional(S.Boolean),
893
+ arpProxyEnabled: S.optional(S.Boolean),
894
+ bandSteeringEnabled: S.optional(S.Boolean),
895
+ broadcastingFrequenciesGHz: S.optional(
896
+ UpdateWifiBroadcastRequestBroadcastingFrequenciesGHzList,
897
+ ),
898
+ bssTransitionEnabled: S.optional(S.Boolean),
899
+ dnsAssistanceConfiguration: S.optional(DNSAssistanceConfiguration),
900
+ dtimPeriodByFrequencyGHzOverride: S.optional(
901
+ IntegrationWifiDtimPeriodConfigurationDto,
902
+ ),
903
+ handoffSuggestionsConfiguration: S.optional(
904
+ IntegrationWifiHandoffSuggestionsConfigurationDto,
905
+ ),
906
+ hotspotConfiguration: S.optional(WifiHotspotConfiguration),
907
+ mloEnabled: S.optional(S.Boolean),
908
+ }).pipe(
909
+ T.Http({
910
+ method: "PUT",
911
+ uri: "/v1/sites/{siteId}/wifi/broadcasts/{wifiBroadcastId}",
912
+ code: 200,
913
+ }),
914
+ ),
915
+ ).annotate({
916
+ identifier: "UpdateWifiBroadcastRequest",
917
+ }) as any as S.Schema<UpdateWifiBroadcastRequest>;
918
+
919
+ export type CreateWifiBroadcastError = UnifiNetworkOpError;
920
+ /** Create Wifi Broadcast Create a new Wifi Broadcast on the specified site. */
921
+ export const createWifiBroadcast: API.OperationMethod<
922
+ CreateWifiBroadcastRequest,
923
+ WifiBroadcastDetails,
924
+ CreateWifiBroadcastError,
925
+ UnifiNetworkOpContext
926
+ > = /*@__PURE__*/ API.make(() => ({
927
+ input: CreateWifiBroadcastRequest,
928
+ output: WifiBroadcastDetails,
929
+ errors: [UnknownUnifiNetworkError],
930
+ protocol: UnifiNetworkProtocol,
931
+ retry: Retry.Retry,
932
+ }));
933
+
934
+ export type DeleteWifiBroadcastError = UnifiNetworkOpError;
935
+ /** Delete Wifi Broadcast Delete an existing Wifi Broadcast from the specified site. */
936
+ export const deleteWifiBroadcast: API.OperationMethod<
937
+ DeleteWifiBroadcastRequest,
938
+ DeleteWifiBroadcastResponse,
939
+ DeleteWifiBroadcastError,
940
+ UnifiNetworkOpContext
941
+ > = /*@__PURE__*/ API.make(() => ({
942
+ input: DeleteWifiBroadcastRequest,
943
+ output: DeleteWifiBroadcastResponse,
944
+ errors: [UnknownUnifiNetworkError],
945
+ protocol: UnifiNetworkProtocol,
946
+ retry: Retry.Retry,
947
+ }));
948
+
949
+ export type GetWifiBroadcastDetailsError = UnifiNetworkOpError;
950
+ /** Get Wifi Broadcast Details Retrieve detailed information about a specific Wifi. */
951
+ export const getWifiBroadcastDetails: API.OperationMethod<
952
+ GetWifiBroadcastDetailsRequest,
953
+ WifiBroadcastDetails,
954
+ GetWifiBroadcastDetailsError,
955
+ UnifiNetworkOpContext
956
+ > = /*@__PURE__*/ API.make(() => ({
957
+ input: GetWifiBroadcastDetailsRequest,
958
+ output: WifiBroadcastDetails,
959
+ errors: [UnknownUnifiNetworkError],
960
+ protocol: UnifiNetworkProtocol,
961
+ retry: Retry.Retry,
962
+ }));
963
+
964
+ export type GetWifiBroadcastPageError = UnifiNetworkOpError;
965
+ /** List Wifi Broadcasts Retrieve a paginated list of all Wifi Broadcasts on a site. <details> <summary>Filterable properties (click to expand)</summary> </details> */
966
+ export const getWifiBroadcastPage: API.OperationMethod<
967
+ GetWifiBroadcastPageRequest,
968
+ IntegrationWifiBroadcastPageDto,
969
+ GetWifiBroadcastPageError,
970
+ UnifiNetworkOpContext
971
+ > = /*@__PURE__*/ API.make(() => ({
972
+ input: GetWifiBroadcastPageRequest,
973
+ output: IntegrationWifiBroadcastPageDto,
974
+ errors: [UnknownUnifiNetworkError],
975
+ protocol: UnifiNetworkProtocol,
976
+ retry: Retry.Retry,
977
+ }));
978
+
979
+ export type UpdateWifiBroadcastError = UnifiNetworkOpError;
980
+ /** Update Wifi Broadcast Update an existing Wifi Broadcast on the specified site. */
981
+ export const updateWifiBroadcast: API.OperationMethod<
982
+ UpdateWifiBroadcastRequest,
983
+ WifiBroadcastDetails,
984
+ UpdateWifiBroadcastError,
985
+ UnifiNetworkOpContext
986
+ > = /*@__PURE__*/ API.make(() => ({
987
+ input: UpdateWifiBroadcastRequest,
988
+ output: WifiBroadcastDetails,
989
+ errors: [UnknownUnifiNetworkError],
990
+ protocol: UnifiNetworkProtocol,
991
+ retry: Retry.Retry,
992
+ }));