@pulumiverse/unifi 0.0.1-alpha.1664258586

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 (102) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +56 -0
  3. package/config/index.d.ts +1 -0
  4. package/config/index.js +21 -0
  5. package/config/index.js.map +1 -0
  6. package/config/vars.d.ts +24 -0
  7. package/config/vars.js +43 -0
  8. package/config/vars.js.map +1 -0
  9. package/device.d.ts +128 -0
  10. package/device.js +91 -0
  11. package/device.js.map +1 -0
  12. package/dynamicDNS.d.ts +138 -0
  13. package/dynamicDNS.js +85 -0
  14. package/dynamicDNS.js.map +1 -0
  15. package/firewall/group.d.ts +101 -0
  16. package/firewall/group.js +78 -0
  17. package/firewall/group.js.map +1 -0
  18. package/firewall/index.d.ts +6 -0
  19. package/firewall/index.js +27 -0
  20. package/firewall/index.js.map +1 -0
  21. package/firewall/rule.d.ts +340 -0
  22. package/firewall/rule.js +133 -0
  23. package/firewall/rule.js.map +1 -0
  24. package/getApGroup.d.ts +58 -0
  25. package/getApGroup.js +36 -0
  26. package/getApGroup.js.map +1 -0
  27. package/getNetwork.d.ts +186 -0
  28. package/getNetwork.js +45 -0
  29. package/getNetwork.js.map +1 -0
  30. package/getRadiusProfile.d.ts +49 -0
  31. package/getRadiusProfile.js +27 -0
  32. package/getRadiusProfile.js.map +1 -0
  33. package/iam/getGroup.d.ts +51 -0
  34. package/iam/getGroup.js +27 -0
  35. package/iam/getGroup.js.map +1 -0
  36. package/iam/getUser.d.ts +96 -0
  37. package/iam/getUser.js +37 -0
  38. package/iam/getUser.js.map +1 -0
  39. package/iam/group.d.ts +107 -0
  40. package/iam/group.js +78 -0
  41. package/iam/group.js.map +1 -0
  42. package/iam/index.d.ts +12 -0
  43. package/iam/index.js +33 -0
  44. package/iam/index.js.map +1 -0
  45. package/iam/user.d.ts +203 -0
  46. package/iam/user.js +95 -0
  47. package/iam/user.js.map +1 -0
  48. package/index.d.ts +37 -0
  49. package/index.js +80 -0
  50. package/index.js.map +1 -0
  51. package/network.d.ts +458 -0
  52. package/network.js +162 -0
  53. package/network.js.map +1 -0
  54. package/package.json +30 -0
  55. package/package.json.bak +30 -0
  56. package/package.json.dev +30 -0
  57. package/port/forward.d.ts +165 -0
  58. package/port/forward.js +70 -0
  59. package/port/forward.js.map +1 -0
  60. package/port/getProfile.d.ts +58 -0
  61. package/port/getProfile.js +36 -0
  62. package/port/getProfile.js.map +1 -0
  63. package/port/index.d.ts +9 -0
  64. package/port/index.js +30 -0
  65. package/port/index.js.map +1 -0
  66. package/port/profile.d.ts +481 -0
  67. package/port/profile.js +142 -0
  68. package/port/profile.js.map +1 -0
  69. package/provider.d.ts +70 -0
  70. package/provider.js +50 -0
  71. package/provider.js.map +1 -0
  72. package/scripts/install-pulumi-plugin.js +21 -0
  73. package/setting/index.d.ts +6 -0
  74. package/setting/index.js +27 -0
  75. package/setting/index.js.map +1 -0
  76. package/setting/mgmt.d.ts +102 -0
  77. package/setting/mgmt.js +71 -0
  78. package/setting/mgmt.js.map +1 -0
  79. package/setting/usg.d.ts +111 -0
  80. package/setting/usg.js +62 -0
  81. package/setting/usg.js.map +1 -0
  82. package/site.d.ts +84 -0
  83. package/site.js +82 -0
  84. package/site.js.map +1 -0
  85. package/staticRoute.d.ts +148 -0
  86. package/staticRoute.js +98 -0
  87. package/staticRoute.js.map +1 -0
  88. package/types/index.d.ts +3 -0
  89. package/types/index.js +11 -0
  90. package/types/index.js.map +1 -0
  91. package/types/input.d.ts +49 -0
  92. package/types/input.js +5 -0
  93. package/types/input.js.map +1 -0
  94. package/types/output.d.ts +48 -0
  95. package/types/output.js +5 -0
  96. package/types/output.js.map +1 -0
  97. package/utilities.d.ts +4 -0
  98. package/utilities.js +69 -0
  99. package/utilities.js.map +1 -0
  100. package/wlan.d.ts +374 -0
  101. package/wlan.js +149 -0
  102. package/wlan.js.map +1 -0
@@ -0,0 +1,481 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.port.Profile` manages a port profile for use on network switches.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as unifi from "@pulumiverse/unifi";
10
+ *
11
+ * const config = new pulumi.Config();
12
+ * const vlanId = config.getNumber("vlanId") || 10;
13
+ * const vlan = new unifi.Network("vlan", {
14
+ * purpose: "corporate",
15
+ * subnet: "10.0.0.1/24",
16
+ * vlanId: vlanId,
17
+ * dhcpStart: "10.0.0.6",
18
+ * dhcpStop: "10.0.0.254",
19
+ * dhcpEnabled: true,
20
+ * });
21
+ * const poeDisabled = new unifi.port.Profile("poeDisabled", {
22
+ * nativeNetworkconfId: vlan.id,
23
+ * poeMode: "off",
24
+ * });
25
+ * ```
26
+ */
27
+ export declare class Profile extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing Profile resource's state with the given name, ID, and optional extra
30
+ * properties used to qualify the lookup.
31
+ *
32
+ * @param name The _unique_ name of the resulting resource.
33
+ * @param id The _unique_ provider ID of the resource to lookup.
34
+ * @param state Any extra arguments used during the lookup.
35
+ * @param opts Optional settings to control the behavior of the CustomResource.
36
+ */
37
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProfileState, opts?: pulumi.CustomResourceOptions): Profile;
38
+ /**
39
+ * Returns true if the given object is an instance of Profile. This is designed to work even
40
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
41
+ */
42
+ static isInstance(obj: any): obj is Profile;
43
+ /**
44
+ * Enable link auto negotiation for the port profile. When set to `true` this overrides `speed`. Defaults to `true`.
45
+ */
46
+ readonly autoneg: pulumi.Output<boolean | undefined>;
47
+ /**
48
+ * The type of 802.1X control to use. Can be `auto`, `forceAuthorized`, `forceUnauthorized`, `macBased` or `multiHost`. Defaults to `forceAuthorized`.
49
+ */
50
+ readonly dot1xCtrl: pulumi.Output<string | undefined>;
51
+ /**
52
+ * The timeout, in seconds, to use when using the MAC Based 802.1X control. Can be between 0 and 65535 Defaults to `300`.
53
+ */
54
+ readonly dot1xIdleTimeout: pulumi.Output<number | undefined>;
55
+ /**
56
+ * The egress rate limit, in kpbs, for the port profile. Can be between `64` and `9999999`.
57
+ */
58
+ readonly egressRateLimitKbps: pulumi.Output<number | undefined>;
59
+ /**
60
+ * Enable egress rate limiting for the port profile. Defaults to `false`.
61
+ */
62
+ readonly egressRateLimitKbpsEnabled: pulumi.Output<boolean | undefined>;
63
+ /**
64
+ * The type forwarding to use for the port profile. Can be `all`, `native`, `customize` or `disabled`. Defaults to `native`.
65
+ */
66
+ readonly forward: pulumi.Output<string | undefined>;
67
+ /**
68
+ * Enable full duplex for the port profile. Defaults to `false`.
69
+ */
70
+ readonly fullDuplex: pulumi.Output<boolean | undefined>;
71
+ /**
72
+ * Enable port isolation for the port profile. Defaults to `false`.
73
+ */
74
+ readonly isolation: pulumi.Output<boolean | undefined>;
75
+ /**
76
+ * Enable LLDP-MED for the port profile. Defaults to `true`.
77
+ */
78
+ readonly lldpmedEnabled: pulumi.Output<boolean | undefined>;
79
+ /**
80
+ * Enable LLDP-MED topology change notifications for the port profile.
81
+ */
82
+ readonly lldpmedNotifyEnabled: pulumi.Output<boolean | undefined>;
83
+ /**
84
+ * The name of the port profile.
85
+ */
86
+ readonly name: pulumi.Output<string>;
87
+ /**
88
+ * The ID of network to use as the main network on the port profile.
89
+ */
90
+ readonly nativeNetworkconfId: pulumi.Output<string | undefined>;
91
+ /**
92
+ * The operation mode for the port profile. Can only be `switch` Defaults to `switch`.
93
+ */
94
+ readonly opMode: pulumi.Output<string | undefined>;
95
+ /**
96
+ * The POE mode for the port profile. Can be one of `auto`, `passv24`, `passthrough` or `off`.
97
+ */
98
+ readonly poeMode: pulumi.Output<string | undefined>;
99
+ /**
100
+ * Enable port security for the port profile. Defaults to `false`.
101
+ */
102
+ readonly portSecurityEnabled: pulumi.Output<boolean | undefined>;
103
+ /**
104
+ * The MAC addresses associated with the port security for the port profile.
105
+ */
106
+ readonly portSecurityMacAddresses: pulumi.Output<string[] | undefined>;
107
+ /**
108
+ * The priority queue 1 level for the port profile. Can be between 0 and 100.
109
+ */
110
+ readonly priorityQueue1Level: pulumi.Output<number | undefined>;
111
+ /**
112
+ * The priority queue 2 level for the port profile. Can be between 0 and 100.
113
+ */
114
+ readonly priorityQueue2Level: pulumi.Output<number | undefined>;
115
+ /**
116
+ * The priority queue 3 level for the port profile. Can be between 0 and 100.
117
+ */
118
+ readonly priorityQueue3Level: pulumi.Output<number | undefined>;
119
+ /**
120
+ * The priority queue 4 level for the port profile. Can be between 0 and 100.
121
+ */
122
+ readonly priorityQueue4Level: pulumi.Output<number | undefined>;
123
+ /**
124
+ * The name of the site to associate the port profile with.
125
+ */
126
+ readonly site: pulumi.Output<string>;
127
+ /**
128
+ * The link speed to set for the port profile. Can be one of `10`, `100`, `1000`, `2500`, `5000`, `10000`, `20000`, `25000`, `40000`, `50000` or `100000`
129
+ */
130
+ readonly speed: pulumi.Output<number | undefined>;
131
+ /**
132
+ * Enable broadcast Storm Control for the port profile. Defaults to `false`.
133
+ */
134
+ readonly stormctrlBcastEnabled: pulumi.Output<boolean | undefined>;
135
+ /**
136
+ * The broadcast Storm Control level for the port profile. Can be between 0 and 100.
137
+ */
138
+ readonly stormctrlBcastLevel: pulumi.Output<number | undefined>;
139
+ /**
140
+ * The broadcast Storm Control rate for the port profile. Can be between 0 and 14880000.
141
+ */
142
+ readonly stormctrlBcastRate: pulumi.Output<number | undefined>;
143
+ /**
144
+ * Enable multicast Storm Control for the port profile. Defaults to `false`.
145
+ */
146
+ readonly stormctrlMcastEnabled: pulumi.Output<boolean | undefined>;
147
+ /**
148
+ * The multicast Storm Control level for the port profile. Can be between 0 and 100.
149
+ */
150
+ readonly stormctrlMcastLevel: pulumi.Output<number | undefined>;
151
+ /**
152
+ * The multicast Storm Control rate for the port profile. Can be between 0 and 14880000.
153
+ */
154
+ readonly stormctrlMcastRate: pulumi.Output<number | undefined>;
155
+ /**
156
+ * The type of Storm Control to use for the port profile. Can be one of `level` or `rate`.
157
+ */
158
+ readonly stormctrlType: pulumi.Output<string | undefined>;
159
+ /**
160
+ * Enable unknown unicast Storm Control for the port profile. Defaults to `false`.
161
+ */
162
+ readonly stormctrlUcastEnabled: pulumi.Output<boolean | undefined>;
163
+ /**
164
+ * The unknown unicast Storm Control level for the port profile. Can be between 0 and 100.
165
+ */
166
+ readonly stormctrlUcastLevel: pulumi.Output<number | undefined>;
167
+ /**
168
+ * The unknown unicast Storm Control rate for the port profile. Can be between 0 and 14880000.
169
+ */
170
+ readonly stormctrlUcastRate: pulumi.Output<number | undefined>;
171
+ /**
172
+ * Enable spanning tree protocol on the port profile. Defaults to `true`.
173
+ */
174
+ readonly stpPortMode: pulumi.Output<boolean | undefined>;
175
+ /**
176
+ * The IDs of networks to tag traffic with for the port profile.
177
+ */
178
+ readonly taggedNetworkconfIds: pulumi.Output<string[] | undefined>;
179
+ /**
180
+ * The ID of network to use as the voice network on the port profile.
181
+ */
182
+ readonly voiceNetworkconfId: pulumi.Output<string | undefined>;
183
+ /**
184
+ * Create a Profile resource with the given unique name, arguments, and options.
185
+ *
186
+ * @param name The _unique_ name of the resource.
187
+ * @param args The arguments to use to populate this resource's properties.
188
+ * @param opts A bag of options that control this resource's behavior.
189
+ */
190
+ constructor(name: string, args?: ProfileArgs, opts?: pulumi.CustomResourceOptions);
191
+ }
192
+ /**
193
+ * Input properties used for looking up and filtering Profile resources.
194
+ */
195
+ export interface ProfileState {
196
+ /**
197
+ * Enable link auto negotiation for the port profile. When set to `true` this overrides `speed`. Defaults to `true`.
198
+ */
199
+ autoneg?: pulumi.Input<boolean>;
200
+ /**
201
+ * The type of 802.1X control to use. Can be `auto`, `forceAuthorized`, `forceUnauthorized`, `macBased` or `multiHost`. Defaults to `forceAuthorized`.
202
+ */
203
+ dot1xCtrl?: pulumi.Input<string>;
204
+ /**
205
+ * The timeout, in seconds, to use when using the MAC Based 802.1X control. Can be between 0 and 65535 Defaults to `300`.
206
+ */
207
+ dot1xIdleTimeout?: pulumi.Input<number>;
208
+ /**
209
+ * The egress rate limit, in kpbs, for the port profile. Can be between `64` and `9999999`.
210
+ */
211
+ egressRateLimitKbps?: pulumi.Input<number>;
212
+ /**
213
+ * Enable egress rate limiting for the port profile. Defaults to `false`.
214
+ */
215
+ egressRateLimitKbpsEnabled?: pulumi.Input<boolean>;
216
+ /**
217
+ * The type forwarding to use for the port profile. Can be `all`, `native`, `customize` or `disabled`. Defaults to `native`.
218
+ */
219
+ forward?: pulumi.Input<string>;
220
+ /**
221
+ * Enable full duplex for the port profile. Defaults to `false`.
222
+ */
223
+ fullDuplex?: pulumi.Input<boolean>;
224
+ /**
225
+ * Enable port isolation for the port profile. Defaults to `false`.
226
+ */
227
+ isolation?: pulumi.Input<boolean>;
228
+ /**
229
+ * Enable LLDP-MED for the port profile. Defaults to `true`.
230
+ */
231
+ lldpmedEnabled?: pulumi.Input<boolean>;
232
+ /**
233
+ * Enable LLDP-MED topology change notifications for the port profile.
234
+ */
235
+ lldpmedNotifyEnabled?: pulumi.Input<boolean>;
236
+ /**
237
+ * The name of the port profile.
238
+ */
239
+ name?: pulumi.Input<string>;
240
+ /**
241
+ * The ID of network to use as the main network on the port profile.
242
+ */
243
+ nativeNetworkconfId?: pulumi.Input<string>;
244
+ /**
245
+ * The operation mode for the port profile. Can only be `switch` Defaults to `switch`.
246
+ */
247
+ opMode?: pulumi.Input<string>;
248
+ /**
249
+ * The POE mode for the port profile. Can be one of `auto`, `passv24`, `passthrough` or `off`.
250
+ */
251
+ poeMode?: pulumi.Input<string>;
252
+ /**
253
+ * Enable port security for the port profile. Defaults to `false`.
254
+ */
255
+ portSecurityEnabled?: pulumi.Input<boolean>;
256
+ /**
257
+ * The MAC addresses associated with the port security for the port profile.
258
+ */
259
+ portSecurityMacAddresses?: pulumi.Input<pulumi.Input<string>[]>;
260
+ /**
261
+ * The priority queue 1 level for the port profile. Can be between 0 and 100.
262
+ */
263
+ priorityQueue1Level?: pulumi.Input<number>;
264
+ /**
265
+ * The priority queue 2 level for the port profile. Can be between 0 and 100.
266
+ */
267
+ priorityQueue2Level?: pulumi.Input<number>;
268
+ /**
269
+ * The priority queue 3 level for the port profile. Can be between 0 and 100.
270
+ */
271
+ priorityQueue3Level?: pulumi.Input<number>;
272
+ /**
273
+ * The priority queue 4 level for the port profile. Can be between 0 and 100.
274
+ */
275
+ priorityQueue4Level?: pulumi.Input<number>;
276
+ /**
277
+ * The name of the site to associate the port profile with.
278
+ */
279
+ site?: pulumi.Input<string>;
280
+ /**
281
+ * The link speed to set for the port profile. Can be one of `10`, `100`, `1000`, `2500`, `5000`, `10000`, `20000`, `25000`, `40000`, `50000` or `100000`
282
+ */
283
+ speed?: pulumi.Input<number>;
284
+ /**
285
+ * Enable broadcast Storm Control for the port profile. Defaults to `false`.
286
+ */
287
+ stormctrlBcastEnabled?: pulumi.Input<boolean>;
288
+ /**
289
+ * The broadcast Storm Control level for the port profile. Can be between 0 and 100.
290
+ */
291
+ stormctrlBcastLevel?: pulumi.Input<number>;
292
+ /**
293
+ * The broadcast Storm Control rate for the port profile. Can be between 0 and 14880000.
294
+ */
295
+ stormctrlBcastRate?: pulumi.Input<number>;
296
+ /**
297
+ * Enable multicast Storm Control for the port profile. Defaults to `false`.
298
+ */
299
+ stormctrlMcastEnabled?: pulumi.Input<boolean>;
300
+ /**
301
+ * The multicast Storm Control level for the port profile. Can be between 0 and 100.
302
+ */
303
+ stormctrlMcastLevel?: pulumi.Input<number>;
304
+ /**
305
+ * The multicast Storm Control rate for the port profile. Can be between 0 and 14880000.
306
+ */
307
+ stormctrlMcastRate?: pulumi.Input<number>;
308
+ /**
309
+ * The type of Storm Control to use for the port profile. Can be one of `level` or `rate`.
310
+ */
311
+ stormctrlType?: pulumi.Input<string>;
312
+ /**
313
+ * Enable unknown unicast Storm Control for the port profile. Defaults to `false`.
314
+ */
315
+ stormctrlUcastEnabled?: pulumi.Input<boolean>;
316
+ /**
317
+ * The unknown unicast Storm Control level for the port profile. Can be between 0 and 100.
318
+ */
319
+ stormctrlUcastLevel?: pulumi.Input<number>;
320
+ /**
321
+ * The unknown unicast Storm Control rate for the port profile. Can be between 0 and 14880000.
322
+ */
323
+ stormctrlUcastRate?: pulumi.Input<number>;
324
+ /**
325
+ * Enable spanning tree protocol on the port profile. Defaults to `true`.
326
+ */
327
+ stpPortMode?: pulumi.Input<boolean>;
328
+ /**
329
+ * The IDs of networks to tag traffic with for the port profile.
330
+ */
331
+ taggedNetworkconfIds?: pulumi.Input<pulumi.Input<string>[]>;
332
+ /**
333
+ * The ID of network to use as the voice network on the port profile.
334
+ */
335
+ voiceNetworkconfId?: pulumi.Input<string>;
336
+ }
337
+ /**
338
+ * The set of arguments for constructing a Profile resource.
339
+ */
340
+ export interface ProfileArgs {
341
+ /**
342
+ * Enable link auto negotiation for the port profile. When set to `true` this overrides `speed`. Defaults to `true`.
343
+ */
344
+ autoneg?: pulumi.Input<boolean>;
345
+ /**
346
+ * The type of 802.1X control to use. Can be `auto`, `forceAuthorized`, `forceUnauthorized`, `macBased` or `multiHost`. Defaults to `forceAuthorized`.
347
+ */
348
+ dot1xCtrl?: pulumi.Input<string>;
349
+ /**
350
+ * The timeout, in seconds, to use when using the MAC Based 802.1X control. Can be between 0 and 65535 Defaults to `300`.
351
+ */
352
+ dot1xIdleTimeout?: pulumi.Input<number>;
353
+ /**
354
+ * The egress rate limit, in kpbs, for the port profile. Can be between `64` and `9999999`.
355
+ */
356
+ egressRateLimitKbps?: pulumi.Input<number>;
357
+ /**
358
+ * Enable egress rate limiting for the port profile. Defaults to `false`.
359
+ */
360
+ egressRateLimitKbpsEnabled?: pulumi.Input<boolean>;
361
+ /**
362
+ * The type forwarding to use for the port profile. Can be `all`, `native`, `customize` or `disabled`. Defaults to `native`.
363
+ */
364
+ forward?: pulumi.Input<string>;
365
+ /**
366
+ * Enable full duplex for the port profile. Defaults to `false`.
367
+ */
368
+ fullDuplex?: pulumi.Input<boolean>;
369
+ /**
370
+ * Enable port isolation for the port profile. Defaults to `false`.
371
+ */
372
+ isolation?: pulumi.Input<boolean>;
373
+ /**
374
+ * Enable LLDP-MED for the port profile. Defaults to `true`.
375
+ */
376
+ lldpmedEnabled?: pulumi.Input<boolean>;
377
+ /**
378
+ * Enable LLDP-MED topology change notifications for the port profile.
379
+ */
380
+ lldpmedNotifyEnabled?: pulumi.Input<boolean>;
381
+ /**
382
+ * The name of the port profile.
383
+ */
384
+ name?: pulumi.Input<string>;
385
+ /**
386
+ * The ID of network to use as the main network on the port profile.
387
+ */
388
+ nativeNetworkconfId?: pulumi.Input<string>;
389
+ /**
390
+ * The operation mode for the port profile. Can only be `switch` Defaults to `switch`.
391
+ */
392
+ opMode?: pulumi.Input<string>;
393
+ /**
394
+ * The POE mode for the port profile. Can be one of `auto`, `passv24`, `passthrough` or `off`.
395
+ */
396
+ poeMode?: pulumi.Input<string>;
397
+ /**
398
+ * Enable port security for the port profile. Defaults to `false`.
399
+ */
400
+ portSecurityEnabled?: pulumi.Input<boolean>;
401
+ /**
402
+ * The MAC addresses associated with the port security for the port profile.
403
+ */
404
+ portSecurityMacAddresses?: pulumi.Input<pulumi.Input<string>[]>;
405
+ /**
406
+ * The priority queue 1 level for the port profile. Can be between 0 and 100.
407
+ */
408
+ priorityQueue1Level?: pulumi.Input<number>;
409
+ /**
410
+ * The priority queue 2 level for the port profile. Can be between 0 and 100.
411
+ */
412
+ priorityQueue2Level?: pulumi.Input<number>;
413
+ /**
414
+ * The priority queue 3 level for the port profile. Can be between 0 and 100.
415
+ */
416
+ priorityQueue3Level?: pulumi.Input<number>;
417
+ /**
418
+ * The priority queue 4 level for the port profile. Can be between 0 and 100.
419
+ */
420
+ priorityQueue4Level?: pulumi.Input<number>;
421
+ /**
422
+ * The name of the site to associate the port profile with.
423
+ */
424
+ site?: pulumi.Input<string>;
425
+ /**
426
+ * The link speed to set for the port profile. Can be one of `10`, `100`, `1000`, `2500`, `5000`, `10000`, `20000`, `25000`, `40000`, `50000` or `100000`
427
+ */
428
+ speed?: pulumi.Input<number>;
429
+ /**
430
+ * Enable broadcast Storm Control for the port profile. Defaults to `false`.
431
+ */
432
+ stormctrlBcastEnabled?: pulumi.Input<boolean>;
433
+ /**
434
+ * The broadcast Storm Control level for the port profile. Can be between 0 and 100.
435
+ */
436
+ stormctrlBcastLevel?: pulumi.Input<number>;
437
+ /**
438
+ * The broadcast Storm Control rate for the port profile. Can be between 0 and 14880000.
439
+ */
440
+ stormctrlBcastRate?: pulumi.Input<number>;
441
+ /**
442
+ * Enable multicast Storm Control for the port profile. Defaults to `false`.
443
+ */
444
+ stormctrlMcastEnabled?: pulumi.Input<boolean>;
445
+ /**
446
+ * The multicast Storm Control level for the port profile. Can be between 0 and 100.
447
+ */
448
+ stormctrlMcastLevel?: pulumi.Input<number>;
449
+ /**
450
+ * The multicast Storm Control rate for the port profile. Can be between 0 and 14880000.
451
+ */
452
+ stormctrlMcastRate?: pulumi.Input<number>;
453
+ /**
454
+ * The type of Storm Control to use for the port profile. Can be one of `level` or `rate`.
455
+ */
456
+ stormctrlType?: pulumi.Input<string>;
457
+ /**
458
+ * Enable unknown unicast Storm Control for the port profile. Defaults to `false`.
459
+ */
460
+ stormctrlUcastEnabled?: pulumi.Input<boolean>;
461
+ /**
462
+ * The unknown unicast Storm Control level for the port profile. Can be between 0 and 100.
463
+ */
464
+ stormctrlUcastLevel?: pulumi.Input<number>;
465
+ /**
466
+ * The unknown unicast Storm Control rate for the port profile. Can be between 0 and 14880000.
467
+ */
468
+ stormctrlUcastRate?: pulumi.Input<number>;
469
+ /**
470
+ * Enable spanning tree protocol on the port profile. Defaults to `true`.
471
+ */
472
+ stpPortMode?: pulumi.Input<boolean>;
473
+ /**
474
+ * The IDs of networks to tag traffic with for the port profile.
475
+ */
476
+ taggedNetworkconfIds?: pulumi.Input<pulumi.Input<string>[]>;
477
+ /**
478
+ * The ID of network to use as the voice network on the port profile.
479
+ */
480
+ voiceNetworkconfId?: pulumi.Input<string>;
481
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Profile = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * `unifi.port.Profile` manages a port profile for use on network switches.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as unifi from "@pulumiverse/unifi";
16
+ *
17
+ * const config = new pulumi.Config();
18
+ * const vlanId = config.getNumber("vlanId") || 10;
19
+ * const vlan = new unifi.Network("vlan", {
20
+ * purpose: "corporate",
21
+ * subnet: "10.0.0.1/24",
22
+ * vlanId: vlanId,
23
+ * dhcpStart: "10.0.0.6",
24
+ * dhcpStop: "10.0.0.254",
25
+ * dhcpEnabled: true,
26
+ * });
27
+ * const poeDisabled = new unifi.port.Profile("poeDisabled", {
28
+ * nativeNetworkconfId: vlan.id,
29
+ * poeMode: "off",
30
+ * });
31
+ * ```
32
+ */
33
+ class Profile extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["autoneg"] = state ? state.autoneg : undefined;
40
+ resourceInputs["dot1xCtrl"] = state ? state.dot1xCtrl : undefined;
41
+ resourceInputs["dot1xIdleTimeout"] = state ? state.dot1xIdleTimeout : undefined;
42
+ resourceInputs["egressRateLimitKbps"] = state ? state.egressRateLimitKbps : undefined;
43
+ resourceInputs["egressRateLimitKbpsEnabled"] = state ? state.egressRateLimitKbpsEnabled : undefined;
44
+ resourceInputs["forward"] = state ? state.forward : undefined;
45
+ resourceInputs["fullDuplex"] = state ? state.fullDuplex : undefined;
46
+ resourceInputs["isolation"] = state ? state.isolation : undefined;
47
+ resourceInputs["lldpmedEnabled"] = state ? state.lldpmedEnabled : undefined;
48
+ resourceInputs["lldpmedNotifyEnabled"] = state ? state.lldpmedNotifyEnabled : undefined;
49
+ resourceInputs["name"] = state ? state.name : undefined;
50
+ resourceInputs["nativeNetworkconfId"] = state ? state.nativeNetworkconfId : undefined;
51
+ resourceInputs["opMode"] = state ? state.opMode : undefined;
52
+ resourceInputs["poeMode"] = state ? state.poeMode : undefined;
53
+ resourceInputs["portSecurityEnabled"] = state ? state.portSecurityEnabled : undefined;
54
+ resourceInputs["portSecurityMacAddresses"] = state ? state.portSecurityMacAddresses : undefined;
55
+ resourceInputs["priorityQueue1Level"] = state ? state.priorityQueue1Level : undefined;
56
+ resourceInputs["priorityQueue2Level"] = state ? state.priorityQueue2Level : undefined;
57
+ resourceInputs["priorityQueue3Level"] = state ? state.priorityQueue3Level : undefined;
58
+ resourceInputs["priorityQueue4Level"] = state ? state.priorityQueue4Level : undefined;
59
+ resourceInputs["site"] = state ? state.site : undefined;
60
+ resourceInputs["speed"] = state ? state.speed : undefined;
61
+ resourceInputs["stormctrlBcastEnabled"] = state ? state.stormctrlBcastEnabled : undefined;
62
+ resourceInputs["stormctrlBcastLevel"] = state ? state.stormctrlBcastLevel : undefined;
63
+ resourceInputs["stormctrlBcastRate"] = state ? state.stormctrlBcastRate : undefined;
64
+ resourceInputs["stormctrlMcastEnabled"] = state ? state.stormctrlMcastEnabled : undefined;
65
+ resourceInputs["stormctrlMcastLevel"] = state ? state.stormctrlMcastLevel : undefined;
66
+ resourceInputs["stormctrlMcastRate"] = state ? state.stormctrlMcastRate : undefined;
67
+ resourceInputs["stormctrlType"] = state ? state.stormctrlType : undefined;
68
+ resourceInputs["stormctrlUcastEnabled"] = state ? state.stormctrlUcastEnabled : undefined;
69
+ resourceInputs["stormctrlUcastLevel"] = state ? state.stormctrlUcastLevel : undefined;
70
+ resourceInputs["stormctrlUcastRate"] = state ? state.stormctrlUcastRate : undefined;
71
+ resourceInputs["stpPortMode"] = state ? state.stpPortMode : undefined;
72
+ resourceInputs["taggedNetworkconfIds"] = state ? state.taggedNetworkconfIds : undefined;
73
+ resourceInputs["voiceNetworkconfId"] = state ? state.voiceNetworkconfId : undefined;
74
+ }
75
+ else {
76
+ const args = argsOrState;
77
+ resourceInputs["autoneg"] = args ? args.autoneg : undefined;
78
+ resourceInputs["dot1xCtrl"] = args ? args.dot1xCtrl : undefined;
79
+ resourceInputs["dot1xIdleTimeout"] = args ? args.dot1xIdleTimeout : undefined;
80
+ resourceInputs["egressRateLimitKbps"] = args ? args.egressRateLimitKbps : undefined;
81
+ resourceInputs["egressRateLimitKbpsEnabled"] = args ? args.egressRateLimitKbpsEnabled : undefined;
82
+ resourceInputs["forward"] = args ? args.forward : undefined;
83
+ resourceInputs["fullDuplex"] = args ? args.fullDuplex : undefined;
84
+ resourceInputs["isolation"] = args ? args.isolation : undefined;
85
+ resourceInputs["lldpmedEnabled"] = args ? args.lldpmedEnabled : undefined;
86
+ resourceInputs["lldpmedNotifyEnabled"] = args ? args.lldpmedNotifyEnabled : undefined;
87
+ resourceInputs["name"] = args ? args.name : undefined;
88
+ resourceInputs["nativeNetworkconfId"] = args ? args.nativeNetworkconfId : undefined;
89
+ resourceInputs["opMode"] = args ? args.opMode : undefined;
90
+ resourceInputs["poeMode"] = args ? args.poeMode : undefined;
91
+ resourceInputs["portSecurityEnabled"] = args ? args.portSecurityEnabled : undefined;
92
+ resourceInputs["portSecurityMacAddresses"] = args ? args.portSecurityMacAddresses : undefined;
93
+ resourceInputs["priorityQueue1Level"] = args ? args.priorityQueue1Level : undefined;
94
+ resourceInputs["priorityQueue2Level"] = args ? args.priorityQueue2Level : undefined;
95
+ resourceInputs["priorityQueue3Level"] = args ? args.priorityQueue3Level : undefined;
96
+ resourceInputs["priorityQueue4Level"] = args ? args.priorityQueue4Level : undefined;
97
+ resourceInputs["site"] = args ? args.site : undefined;
98
+ resourceInputs["speed"] = args ? args.speed : undefined;
99
+ resourceInputs["stormctrlBcastEnabled"] = args ? args.stormctrlBcastEnabled : undefined;
100
+ resourceInputs["stormctrlBcastLevel"] = args ? args.stormctrlBcastLevel : undefined;
101
+ resourceInputs["stormctrlBcastRate"] = args ? args.stormctrlBcastRate : undefined;
102
+ resourceInputs["stormctrlMcastEnabled"] = args ? args.stormctrlMcastEnabled : undefined;
103
+ resourceInputs["stormctrlMcastLevel"] = args ? args.stormctrlMcastLevel : undefined;
104
+ resourceInputs["stormctrlMcastRate"] = args ? args.stormctrlMcastRate : undefined;
105
+ resourceInputs["stormctrlType"] = args ? args.stormctrlType : undefined;
106
+ resourceInputs["stormctrlUcastEnabled"] = args ? args.stormctrlUcastEnabled : undefined;
107
+ resourceInputs["stormctrlUcastLevel"] = args ? args.stormctrlUcastLevel : undefined;
108
+ resourceInputs["stormctrlUcastRate"] = args ? args.stormctrlUcastRate : undefined;
109
+ resourceInputs["stpPortMode"] = args ? args.stpPortMode : undefined;
110
+ resourceInputs["taggedNetworkconfIds"] = args ? args.taggedNetworkconfIds : undefined;
111
+ resourceInputs["voiceNetworkconfId"] = args ? args.voiceNetworkconfId : undefined;
112
+ }
113
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
114
+ super(Profile.__pulumiType, name, resourceInputs, opts);
115
+ }
116
+ /**
117
+ * Get an existing Profile resource's state with the given name, ID, and optional extra
118
+ * properties used to qualify the lookup.
119
+ *
120
+ * @param name The _unique_ name of the resulting resource.
121
+ * @param id The _unique_ provider ID of the resource to lookup.
122
+ * @param state Any extra arguments used during the lookup.
123
+ * @param opts Optional settings to control the behavior of the CustomResource.
124
+ */
125
+ static get(name, id, state, opts) {
126
+ return new Profile(name, state, Object.assign(Object.assign({}, opts), { id: id }));
127
+ }
128
+ /**
129
+ * Returns true if the given object is an instance of Profile. This is designed to work even
130
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
131
+ */
132
+ static isInstance(obj) {
133
+ if (obj === undefined || obj === null) {
134
+ return false;
135
+ }
136
+ return obj['__pulumiType'] === Profile.__pulumiType;
137
+ }
138
+ }
139
+ exports.Profile = Profile;
140
+ /** @internal */
141
+ Profile.__pulumiType = 'unifi:port/profile:Profile';
142
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../port/profile.ts"],"names":[],"mappings":"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"}