@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,186 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.Network` data source can be used to retrieve settings for a network by name or ID.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as unifi from "@pulumi/unifi";
10
+ *
11
+ * const lanNetwork = unifi.getNetwork({
12
+ * name: "LAN",
13
+ * });
14
+ * const myDevice = unifi.iam.getUser({
15
+ * mac: "01:23:45:67:89:ab",
16
+ * });
17
+ * const myNetwork = myDevice.then(myDevice => unifi.getNetwork({
18
+ * id: myDevice.networkId,
19
+ * }));
20
+ * ```
21
+ */
22
+ export declare function getNetwork(args?: GetNetworkArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkResult>;
23
+ /**
24
+ * A collection of arguments for invoking getNetwork.
25
+ */
26
+ export interface GetNetworkArgs {
27
+ /**
28
+ * The ID of the network.
29
+ */
30
+ id?: string;
31
+ /**
32
+ * The name of the network.
33
+ */
34
+ name?: string;
35
+ /**
36
+ * The name of the site to associate the network with.
37
+ */
38
+ site?: string;
39
+ }
40
+ /**
41
+ * A collection of values returned by getNetwork.
42
+ */
43
+ export interface GetNetworkResult {
44
+ /**
45
+ * IPv4 addresses for the DNS server to be returned from the DHCP server.
46
+ */
47
+ readonly dhcpDns: string[];
48
+ /**
49
+ * whether DHCP is enabled or not on this network.
50
+ */
51
+ readonly dhcpEnabled: boolean;
52
+ /**
53
+ * lease time for DHCP addresses.
54
+ */
55
+ readonly dhcpLease: number;
56
+ /**
57
+ * The IPv4 address where the DHCP range of addresses starts.
58
+ */
59
+ readonly dhcpStart: string;
60
+ /**
61
+ * The IPv4 address where the DHCP range of addresses stops.
62
+ */
63
+ readonly dhcpStop: string;
64
+ /**
65
+ * Toggles on the DHCP boot options. will be set to true if you have dhcpd*boot*filename, and dhcpd*boot*server set.
66
+ */
67
+ readonly dhcpdBootEnabled: boolean;
68
+ /**
69
+ * the file to PXE boot from on the dhcpd*boot*server.
70
+ */
71
+ readonly dhcpdBootFilename: string;
72
+ /**
73
+ * IPv4 address of a TFTP server to network boot from.
74
+ */
75
+ readonly dhcpdBootServer: string;
76
+ /**
77
+ * The domain name of this network.
78
+ */
79
+ readonly domainName: string;
80
+ /**
81
+ * The ID of the network.
82
+ */
83
+ readonly id: string;
84
+ /**
85
+ * Specifies whether IGMP snooping is enabled or not.
86
+ */
87
+ readonly igmpSnooping: boolean;
88
+ /**
89
+ * Specifies which type of IPv6 connection to use.
90
+ */
91
+ readonly ipv6InterfaceType: string;
92
+ /**
93
+ * Specifies which WAN interface is used for IPv6 Prefix Delegation.
94
+ */
95
+ readonly ipv6PdInterface: string;
96
+ /**
97
+ * Specifies the IPv6 Prefix ID.
98
+ */
99
+ readonly ipv6PdPrefixid: string;
100
+ /**
101
+ * Specifies whether to enable router advertisements or not.
102
+ */
103
+ readonly ipv6RaEnable: boolean;
104
+ /**
105
+ * Specifies the static IPv6 subnet (when ipv6*interface*type is 'static').
106
+ */
107
+ readonly ipv6StaticSubnet: string;
108
+ /**
109
+ * The name of the network.
110
+ */
111
+ readonly name: string;
112
+ /**
113
+ * The group of the network.
114
+ */
115
+ readonly networkGroup: string;
116
+ /**
117
+ * The purpose of the network. One of `corporate`, `guest`, `wan`, or `vlan-only`.
118
+ */
119
+ readonly purpose: string;
120
+ /**
121
+ * The name of the site to associate the network with.
122
+ */
123
+ readonly site: string;
124
+ /**
125
+ * The subnet of the network (CIDR address).
126
+ */
127
+ readonly subnet: string;
128
+ /**
129
+ * The VLAN ID of the network.
130
+ */
131
+ readonly vlanId: number;
132
+ /**
133
+ * DNS servers IPs of the WAN.
134
+ */
135
+ readonly wanDns: string[];
136
+ /**
137
+ * Specifies the WAN egress quality of service.
138
+ */
139
+ readonly wanEgressQos: number;
140
+ /**
141
+ * The IPv4 gateway of the WAN.
142
+ */
143
+ readonly wanGateway: string;
144
+ /**
145
+ * The IPv4 address of the WAN.
146
+ */
147
+ readonly wanIp: string;
148
+ /**
149
+ * The IPv4 netmask of the WAN.
150
+ */
151
+ readonly wanNetmask: string;
152
+ /**
153
+ * Specifies the WAN network group. One of either `WAN`, `WAN2` or `WAN_LTE_FAILOVER`.
154
+ */
155
+ readonly wanNetworkgroup: string;
156
+ /**
157
+ * Specifies the IPV4 WAN connection type. One of either `disabled`, `static`, `dhcp`, or `pppoe`.
158
+ */
159
+ readonly wanType: string;
160
+ /**
161
+ * Specifies the IPV4 WAN username.
162
+ */
163
+ readonly wanUsername: string;
164
+ /**
165
+ * Specifies the IPV4 WAN password.
166
+ */
167
+ readonly xWanPassword: string;
168
+ }
169
+ export declare function getNetworkOutput(args?: GetNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetNetworkResult>;
170
+ /**
171
+ * A collection of arguments for invoking getNetwork.
172
+ */
173
+ export interface GetNetworkOutputArgs {
174
+ /**
175
+ * The ID of the network.
176
+ */
177
+ id?: pulumi.Input<string>;
178
+ /**
179
+ * The name of the network.
180
+ */
181
+ name?: pulumi.Input<string>;
182
+ /**
183
+ * The name of the site to associate the network with.
184
+ */
185
+ site?: pulumi.Input<string>;
186
+ }
package/getNetwork.js ADDED
@@ -0,0 +1,45 @@
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.getNetworkOutput = exports.getNetwork = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * `unifi.Network` data source can be used to retrieve settings for a network by name or ID.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as unifi from "@pulumi/unifi";
16
+ *
17
+ * const lanNetwork = unifi.getNetwork({
18
+ * name: "LAN",
19
+ * });
20
+ * const myDevice = unifi.iam.getUser({
21
+ * mac: "01:23:45:67:89:ab",
22
+ * });
23
+ * const myNetwork = myDevice.then(myDevice => unifi.getNetwork({
24
+ * id: myDevice.networkId,
25
+ * }));
26
+ * ```
27
+ */
28
+ function getNetwork(args, opts) {
29
+ args = args || {};
30
+ if (!opts) {
31
+ opts = {};
32
+ }
33
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
34
+ return pulumi.runtime.invoke("unifi:index/getNetwork:getNetwork", {
35
+ "id": args.id,
36
+ "name": args.name,
37
+ "site": args.site,
38
+ }, opts);
39
+ }
40
+ exports.getNetwork = getNetwork;
41
+ function getNetworkOutput(args, opts) {
42
+ return pulumi.output(args).apply(a => getNetwork(a, opts));
43
+ }
44
+ exports.getNetworkOutput = getNetworkOutput;
45
+ //# sourceMappingURL=getNetwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNetwork.js","sourceRoot":"","sources":["../getNetwork.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAC,IAAqB,EAAE,IAA2B;IACzE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mCAAmC,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAZD,gCAYC;AAsJD,SAAgB,gBAAgB,CAAC,IAA2B,EAAE,IAA2B;IACrF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC9D,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,49 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.getRadiusProfile` data source can be used to retrieve the ID for a RADIUS profile by name.
4
+ */
5
+ export declare function getRadiusProfile(args?: GetRadiusProfileArgs, opts?: pulumi.InvokeOptions): Promise<GetRadiusProfileResult>;
6
+ /**
7
+ * A collection of arguments for invoking getRadiusProfile.
8
+ */
9
+ export interface GetRadiusProfileArgs {
10
+ /**
11
+ * The name of the RADIUS profile to look up. Defaults to `Default`.
12
+ */
13
+ name?: string;
14
+ /**
15
+ * The name of the site the radius profile is associated with.
16
+ */
17
+ site?: string;
18
+ }
19
+ /**
20
+ * A collection of values returned by getRadiusProfile.
21
+ */
22
+ export interface GetRadiusProfileResult {
23
+ /**
24
+ * The ID of this AP group.
25
+ */
26
+ readonly id: string;
27
+ /**
28
+ * The name of the RADIUS profile to look up. Defaults to `Default`.
29
+ */
30
+ readonly name?: string;
31
+ /**
32
+ * The name of the site the radius profile is associated with.
33
+ */
34
+ readonly site: string;
35
+ }
36
+ export declare function getRadiusProfileOutput(args?: GetRadiusProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRadiusProfileResult>;
37
+ /**
38
+ * A collection of arguments for invoking getRadiusProfile.
39
+ */
40
+ export interface GetRadiusProfileOutputArgs {
41
+ /**
42
+ * The name of the RADIUS profile to look up. Defaults to `Default`.
43
+ */
44
+ name?: pulumi.Input<string>;
45
+ /**
46
+ * The name of the site the radius profile is associated with.
47
+ */
48
+ site?: pulumi.Input<string>;
49
+ }
@@ -0,0 +1,27 @@
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.getRadiusProfileOutput = exports.getRadiusProfile = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * `unifi.getRadiusProfile` data source can be used to retrieve the ID for a RADIUS profile by name.
10
+ */
11
+ function getRadiusProfile(args, opts) {
12
+ args = args || {};
13
+ if (!opts) {
14
+ opts = {};
15
+ }
16
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
17
+ return pulumi.runtime.invoke("unifi:index/getRadiusProfile:getRadiusProfile", {
18
+ "name": args.name,
19
+ "site": args.site,
20
+ }, opts);
21
+ }
22
+ exports.getRadiusProfile = getRadiusProfile;
23
+ function getRadiusProfileOutput(args, opts) {
24
+ return pulumi.output(args).apply(a => getRadiusProfile(a, opts));
25
+ }
26
+ exports.getRadiusProfileOutput = getRadiusProfileOutput;
27
+ //# sourceMappingURL=getRadiusProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRadiusProfile.js","sourceRoot":"","sources":["../getRadiusProfile.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAA2B,EAAE,IAA2B;IACrF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,+CAA+C,EAAE;QAC1E,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,4CAWC;AAkCD,SAAgB,sBAAsB,CAAC,IAAiC,EAAE,IAA2B;IACjG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACpE,CAAC;AAFD,wDAEC"}
@@ -0,0 +1,51 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.iam.Group` data source can be used to retrieve the ID for a user group by name.
4
+ */
5
+ export declare function getGroup(args?: GetGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetGroupResult>;
6
+ /**
7
+ * A collection of arguments for invoking getGroup.
8
+ */
9
+ export interface GetGroupArgs {
10
+ /**
11
+ * The name of the user group to look up. Defaults to `Default`.
12
+ */
13
+ name?: string;
14
+ /**
15
+ * The name of the site the user group is associated with.
16
+ */
17
+ site?: string;
18
+ }
19
+ /**
20
+ * A collection of values returned by getGroup.
21
+ */
22
+ export interface GetGroupResult {
23
+ /**
24
+ * The ID of this AP group.
25
+ */
26
+ readonly id: string;
27
+ /**
28
+ * The name of the user group to look up. Defaults to `Default`.
29
+ */
30
+ readonly name?: string;
31
+ readonly qosRateMaxDown: number;
32
+ readonly qosRateMaxUp: number;
33
+ /**
34
+ * The name of the site the user group is associated with.
35
+ */
36
+ readonly site: string;
37
+ }
38
+ export declare function getGroupOutput(args?: GetGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetGroupResult>;
39
+ /**
40
+ * A collection of arguments for invoking getGroup.
41
+ */
42
+ export interface GetGroupOutputArgs {
43
+ /**
44
+ * The name of the user group to look up. Defaults to `Default`.
45
+ */
46
+ name?: pulumi.Input<string>;
47
+ /**
48
+ * The name of the site the user group is associated with.
49
+ */
50
+ site?: pulumi.Input<string>;
51
+ }
@@ -0,0 +1,27 @@
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.getGroupOutput = exports.getGroup = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * `unifi.iam.Group` data source can be used to retrieve the ID for a user group by name.
10
+ */
11
+ function getGroup(args, opts) {
12
+ args = args || {};
13
+ if (!opts) {
14
+ opts = {};
15
+ }
16
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
17
+ return pulumi.runtime.invoke("unifi:iam/getGroup:getGroup", {
18
+ "name": args.name,
19
+ "site": args.site,
20
+ }, opts);
21
+ }
22
+ exports.getGroup = getGroup;
23
+ function getGroupOutput(args, opts) {
24
+ return pulumi.output(args).apply(a => getGroup(a, opts));
25
+ }
26
+ exports.getGroupOutput = getGroupOutput;
27
+ //# sourceMappingURL=getGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGroup.js","sourceRoot":"","sources":["../../iam/getGroup.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;GAEG;AACH,SAAgB,QAAQ,CAAC,IAAmB,EAAE,IAA2B;IACrE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE;QACxD,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,4BAWC;AAoCD,SAAgB,cAAc,CAAC,IAAyB,EAAE,IAA2B;IACjF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,96 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.iam.User` retrieves properties of a user (or "client" in the UI) of the network by MAC address.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as unifi from "@pulumi/unifi";
10
+ *
11
+ * const client = pulumi.output(unifi.iam.getUser({
12
+ * mac: "01:23:45:67:89:ab",
13
+ * }));
14
+ * ```
15
+ */
16
+ export declare function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise<GetUserResult>;
17
+ /**
18
+ * A collection of arguments for invoking getUser.
19
+ */
20
+ export interface GetUserArgs {
21
+ /**
22
+ * The MAC address of the user.
23
+ */
24
+ mac: string;
25
+ /**
26
+ * The name of the site the user is associated with.
27
+ */
28
+ site?: string;
29
+ }
30
+ /**
31
+ * A collection of values returned by getUser.
32
+ */
33
+ export interface GetUserResult {
34
+ /**
35
+ * Specifies whether this user should be blocked from the network.
36
+ */
37
+ readonly blocked: boolean;
38
+ /**
39
+ * Override the device fingerprint.
40
+ */
41
+ readonly devIdOverride: number;
42
+ /**
43
+ * fixed IPv4 address set for this user.
44
+ */
45
+ readonly fixedIp: string;
46
+ /**
47
+ * The hostname of the user.
48
+ */
49
+ readonly hostname: string;
50
+ /**
51
+ * The ID of the user.
52
+ */
53
+ readonly id: string;
54
+ /**
55
+ * The IP address of the user.
56
+ */
57
+ readonly ip: string;
58
+ /**
59
+ * The MAC address of the user.
60
+ */
61
+ readonly mac: string;
62
+ /**
63
+ * The name of the user.
64
+ */
65
+ readonly name: string;
66
+ /**
67
+ * The network ID for this user.
68
+ */
69
+ readonly networkId: string;
70
+ /**
71
+ * A note with additional information for the user.
72
+ */
73
+ readonly note: string;
74
+ /**
75
+ * The name of the site the user is associated with.
76
+ */
77
+ readonly site: string;
78
+ /**
79
+ * The user group ID for the user.
80
+ */
81
+ readonly userGroupId: string;
82
+ }
83
+ export declare function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetUserResult>;
84
+ /**
85
+ * A collection of arguments for invoking getUser.
86
+ */
87
+ export interface GetUserOutputArgs {
88
+ /**
89
+ * The MAC address of the user.
90
+ */
91
+ mac: pulumi.Input<string>;
92
+ /**
93
+ * The name of the site the user is associated with.
94
+ */
95
+ site?: pulumi.Input<string>;
96
+ }
package/iam/getUser.js ADDED
@@ -0,0 +1,37 @@
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.getUserOutput = exports.getUser = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * `unifi.iam.User` retrieves properties of a user (or "client" in the UI) of the network by MAC address.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as unifi from "@pulumi/unifi";
16
+ *
17
+ * const client = pulumi.output(unifi.iam.getUser({
18
+ * mac: "01:23:45:67:89:ab",
19
+ * }));
20
+ * ```
21
+ */
22
+ function getUser(args, opts) {
23
+ if (!opts) {
24
+ opts = {};
25
+ }
26
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
27
+ return pulumi.runtime.invoke("unifi:iam/getUser:getUser", {
28
+ "mac": args.mac,
29
+ "site": args.site,
30
+ }, opts);
31
+ }
32
+ exports.getUser = getUser;
33
+ function getUserOutput(args, opts) {
34
+ return pulumi.output(args).apply(a => getUser(a, opts));
35
+ }
36
+ exports.getUserOutput = getUserOutput;
37
+ //# sourceMappingURL=getUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUser.js","sourceRoot":"","sources":["../../iam/getUser.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;GAaG;AACH,SAAgB,OAAO,CAAC,IAAiB,EAAE,IAA2B;IAClE,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE;QACtD,KAAK,EAAE,IAAI,CAAC,GAAG;QACf,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,0BAUC;AAsED,SAAgB,aAAa,CAAC,IAAuB,EAAE,IAA2B;IAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC3D,CAAC;AAFD,sCAEC"}
package/iam/group.d.ts ADDED
@@ -0,0 +1,107 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `unifi.iam.Group` manages a user group (called "client group" in the UI), which can be used to limit bandwidth for groups of users.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as unifi from "@pulumi/unifi";
10
+ *
11
+ * const wifi = new unifi.iam.Group("wifi", {
12
+ * qosRateMaxDown: 2000, // 2mbps
13
+ * qosRateMaxUp: 10, // 10kbps
14
+ * });
15
+ * ```
16
+ *
17
+ * ## Import
18
+ *
19
+ * # import using the ID
20
+ *
21
+ * ```sh
22
+ * $ pulumi import unifi:iam/group:Group wifi 5fe6261995fe130013456a36
23
+ * ```
24
+ */
25
+ export declare class Group extends pulumi.CustomResource {
26
+ /**
27
+ * Get an existing Group resource's state with the given name, ID, and optional extra
28
+ * properties used to qualify the lookup.
29
+ *
30
+ * @param name The _unique_ name of the resulting resource.
31
+ * @param id The _unique_ provider ID of the resource to lookup.
32
+ * @param state Any extra arguments used during the lookup.
33
+ * @param opts Optional settings to control the behavior of the CustomResource.
34
+ */
35
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GroupState, opts?: pulumi.CustomResourceOptions): Group;
36
+ /**
37
+ * Returns true if the given object is an instance of Group. This is designed to work even
38
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
39
+ */
40
+ static isInstance(obj: any): obj is Group;
41
+ /**
42
+ * The name of the user group.
43
+ */
44
+ readonly name: pulumi.Output<string>;
45
+ /**
46
+ * The QOS maximum download rate. Defaults to `-1`.
47
+ */
48
+ readonly qosRateMaxDown: pulumi.Output<number | undefined>;
49
+ /**
50
+ * The QOS maximum upload rate. Defaults to `-1`.
51
+ */
52
+ readonly qosRateMaxUp: pulumi.Output<number | undefined>;
53
+ /**
54
+ * The name of the site to associate the user group with.
55
+ */
56
+ readonly site: pulumi.Output<string>;
57
+ /**
58
+ * Create a Group resource with the given unique name, arguments, and options.
59
+ *
60
+ * @param name The _unique_ name of the resource.
61
+ * @param args The arguments to use to populate this resource's properties.
62
+ * @param opts A bag of options that control this resource's behavior.
63
+ */
64
+ constructor(name: string, args?: GroupArgs, opts?: pulumi.CustomResourceOptions);
65
+ }
66
+ /**
67
+ * Input properties used for looking up and filtering Group resources.
68
+ */
69
+ export interface GroupState {
70
+ /**
71
+ * The name of the user group.
72
+ */
73
+ name?: pulumi.Input<string>;
74
+ /**
75
+ * The QOS maximum download rate. Defaults to `-1`.
76
+ */
77
+ qosRateMaxDown?: pulumi.Input<number>;
78
+ /**
79
+ * The QOS maximum upload rate. Defaults to `-1`.
80
+ */
81
+ qosRateMaxUp?: pulumi.Input<number>;
82
+ /**
83
+ * The name of the site to associate the user group with.
84
+ */
85
+ site?: pulumi.Input<string>;
86
+ }
87
+ /**
88
+ * The set of arguments for constructing a Group resource.
89
+ */
90
+ export interface GroupArgs {
91
+ /**
92
+ * The name of the user group.
93
+ */
94
+ name?: pulumi.Input<string>;
95
+ /**
96
+ * The QOS maximum download rate. Defaults to `-1`.
97
+ */
98
+ qosRateMaxDown?: pulumi.Input<number>;
99
+ /**
100
+ * The QOS maximum upload rate. Defaults to `-1`.
101
+ */
102
+ qosRateMaxUp?: pulumi.Input<number>;
103
+ /**
104
+ * The name of the site to associate the user group with.
105
+ */
106
+ site?: pulumi.Input<string>;
107
+ }