@pulumi/juniper-mist 0.0.1

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 (204) hide show
  1. package/LICENSE +177 -0
  2. package/README.md +50 -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 +27 -0
  7. package/config/vars.js +43 -0
  8. package/config/vars.js.map +1 -0
  9. package/device/ap.d.ts +381 -0
  10. package/device/ap.js +145 -0
  11. package/device/ap.js.map +1 -0
  12. package/device/base.d.ts +221 -0
  13. package/device/base.js +113 -0
  14. package/device/base.js.map +1 -0
  15. package/device/gateway.d.ts +432 -0
  16. package/device/gateway.js +163 -0
  17. package/device/gateway.js.map +1 -0
  18. package/device/gatewayCluster.d.ts +70 -0
  19. package/device/gatewayCluster.js +85 -0
  20. package/device/gatewayCluster.js.map +1 -0
  21. package/device/getApStats.d.ts +100 -0
  22. package/device/getApStats.js +53 -0
  23. package/device/getApStats.js.map +1 -0
  24. package/device/getGatewayStats.d.ts +100 -0
  25. package/device/getGatewayStats.js +53 -0
  26. package/device/getGatewayStats.js.map +1 -0
  27. package/device/getSwitchStats.d.ts +124 -0
  28. package/device/getSwitchStats.js +55 -0
  29. package/device/getSwitchStats.js.map +1 -0
  30. package/device/index.d.ts +24 -0
  31. package/device/index.js +51 -0
  32. package/device/index.js.map +1 -0
  33. package/device/switch.d.ts +518 -0
  34. package/device/switch.js +158 -0
  35. package/device/switch.js.map +1 -0
  36. package/getConstAppCategories.d.ts +38 -0
  37. package/getConstAppCategories.js +41 -0
  38. package/getConstAppCategories.js.map +1 -0
  39. package/getConstAppSubCategories.d.ts +38 -0
  40. package/getConstAppSubCategories.js +41 -0
  41. package/getConstAppSubCategories.js.map +1 -0
  42. package/getConstApplications.d.ts +38 -0
  43. package/getConstApplications.js +41 -0
  44. package/getConstApplications.js.map +1 -0
  45. package/getConstCountries.d.ts +38 -0
  46. package/getConstCountries.js +41 -0
  47. package/getConstCountries.js.map +1 -0
  48. package/getConstTrafficTypes.d.ts +38 -0
  49. package/getConstTrafficTypes.js +41 -0
  50. package/getConstTrafficTypes.js.map +1 -0
  51. package/getSites.d.ts +55 -0
  52. package/getSites.js +47 -0
  53. package/getSites.js.map +1 -0
  54. package/index.d.ts +27 -0
  55. package/index.js +48 -0
  56. package/index.js.map +1 -0
  57. package/org/base.d.ts +88 -0
  58. package/org/base.js +75 -0
  59. package/org/base.js.map +1 -0
  60. package/org/deviceprofileAp.d.ts +264 -0
  61. package/org/deviceprofileAp.js +112 -0
  62. package/org/deviceprofileAp.js.map +1 -0
  63. package/org/deviceprofileAssign.d.ts +64 -0
  64. package/org/deviceprofileAssign.js +81 -0
  65. package/org/deviceprofileAssign.js.map +1 -0
  66. package/org/deviceprofileGateway.d.ts +325 -0
  67. package/org/deviceprofileGateway.js +109 -0
  68. package/org/deviceprofileGateway.js.map +1 -0
  69. package/org/gatewaytemplate.d.ts +323 -0
  70. package/org/gatewaytemplate.js +105 -0
  71. package/org/gatewaytemplate.js.map +1 -0
  72. package/org/getDeviceprofilesAp.d.ts +55 -0
  73. package/org/getDeviceprofilesAp.js +47 -0
  74. package/org/getDeviceprofilesAp.js.map +1 -0
  75. package/org/getDeviceprofilesGateway.d.ts +55 -0
  76. package/org/getDeviceprofilesGateway.js +47 -0
  77. package/org/getDeviceprofilesGateway.js.map +1 -0
  78. package/org/getGatewaytemplates.d.ts +55 -0
  79. package/org/getGatewaytemplates.js +47 -0
  80. package/org/getGatewaytemplates.js.map +1 -0
  81. package/org/getIdpprofiles.d.ts +55 -0
  82. package/org/getIdpprofiles.js +47 -0
  83. package/org/getIdpprofiles.js.map +1 -0
  84. package/org/getInventory.d.ts +139 -0
  85. package/org/getInventory.js +54 -0
  86. package/org/getInventory.js.map +1 -0
  87. package/org/getNacrules.d.ts +55 -0
  88. package/org/getNacrules.js +47 -0
  89. package/org/getNacrules.js.map +1 -0
  90. package/org/getNactags.d.ts +55 -0
  91. package/org/getNactags.js +47 -0
  92. package/org/getNactags.js.map +1 -0
  93. package/org/getNetworks.d.ts +55 -0
  94. package/org/getNetworks.js +47 -0
  95. package/org/getNetworks.js.map +1 -0
  96. package/org/getNetworktemplates.d.ts +55 -0
  97. package/org/getNetworktemplates.js +47 -0
  98. package/org/getNetworktemplates.js.map +1 -0
  99. package/org/getRftemplates.d.ts +55 -0
  100. package/org/getRftemplates.js +47 -0
  101. package/org/getRftemplates.js.map +1 -0
  102. package/org/getServicepolicies.d.ts +55 -0
  103. package/org/getServicepolicies.js +47 -0
  104. package/org/getServicepolicies.js.map +1 -0
  105. package/org/getServices.d.ts +55 -0
  106. package/org/getServices.js +47 -0
  107. package/org/getServices.js.map +1 -0
  108. package/org/getSitegroups.d.ts +55 -0
  109. package/org/getSitegroups.js +47 -0
  110. package/org/getSitegroups.js.map +1 -0
  111. package/org/getVpns.d.ts +33 -0
  112. package/org/getVpns.js +25 -0
  113. package/org/getVpns.js.map +1 -0
  114. package/org/getWlantemplates.d.ts +55 -0
  115. package/org/getWlantemplates.js +47 -0
  116. package/org/getWlantemplates.js.map +1 -0
  117. package/org/getWxtags.d.ts +55 -0
  118. package/org/getWxtags.js +47 -0
  119. package/org/getWxtags.js.map +1 -0
  120. package/org/idpprofile.d.ts +62 -0
  121. package/org/idpprofile.js +64 -0
  122. package/org/idpprofile.js.map +1 -0
  123. package/org/index.d.ts +111 -0
  124. package/org/index.js +171 -0
  125. package/org/index.js.map +1 -0
  126. package/org/inventory.d.ts +47 -0
  127. package/org/inventory.js +57 -0
  128. package/org/inventory.js.map +1 -0
  129. package/org/nacrule.d.ts +101 -0
  130. package/org/nacrule.js +75 -0
  131. package/org/nacrule.js.map +1 -0
  132. package/org/nactag.d.ts +225 -0
  133. package/org/nactag.js +99 -0
  134. package/org/nactag.js.map +1 -0
  135. package/org/network.d.ts +154 -0
  136. package/org/network.js +98 -0
  137. package/org/network.js.map +1 -0
  138. package/org/networktemplate.d.ts +260 -0
  139. package/org/networktemplate.js +97 -0
  140. package/org/networktemplate.js.map +1 -0
  141. package/org/rftemplate.d.ts +167 -0
  142. package/org/rftemplate.js +79 -0
  143. package/org/rftemplate.js.map +1 -0
  144. package/org/service.d.ts +212 -0
  145. package/org/service.js +93 -0
  146. package/org/service.js.map +1 -0
  147. package/org/servicepolicy.d.ts +110 -0
  148. package/org/servicepolicy.js +73 -0
  149. package/org/servicepolicy.js.map +1 -0
  150. package/org/setting.d.ts +253 -0
  151. package/org/setting.js +125 -0
  152. package/org/setting.js.map +1 -0
  153. package/org/sitegroup.d.ts +57 -0
  154. package/org/sitegroup.js +69 -0
  155. package/org/sitegroup.js.map +1 -0
  156. package/org/vpn.d.ts +56 -0
  157. package/org/vpn.js +62 -0
  158. package/org/vpn.js.map +1 -0
  159. package/org/wlan.d.ts +1114 -0
  160. package/org/wlan.js +268 -0
  161. package/org/wlan.js.map +1 -0
  162. package/org/wlantemplate.d.ts +95 -0
  163. package/org/wlantemplate.js +65 -0
  164. package/org/wlantemplate.js.map +1 -0
  165. package/org/wxrule.d.ts +149 -0
  166. package/org/wxrule.js +102 -0
  167. package/org/wxrule.js.map +1 -0
  168. package/org/wxtag.d.ts +177 -0
  169. package/org/wxtag.js +90 -0
  170. package/org/wxtag.js.map +1 -0
  171. package/package.json +31 -0
  172. package/provider.d.ts +76 -0
  173. package/provider.js +52 -0
  174. package/provider.js.map +1 -0
  175. package/site/index.d.ts +15 -0
  176. package/site/index.js +42 -0
  177. package/site/index.js.map +1 -0
  178. package/site/networktemplate.d.ts +260 -0
  179. package/site/networktemplate.js +94 -0
  180. package/site/networktemplate.js.map +1 -0
  181. package/site/setting.d.ts +430 -0
  182. package/site/setting.js +135 -0
  183. package/site/setting.js.map +1 -0
  184. package/site/wlan.d.ts +1112 -0
  185. package/site/wlan.js +264 -0
  186. package/site/wlan.js.map +1 -0
  187. package/site/wxrule.d.ts +150 -0
  188. package/site/wxrule.js +100 -0
  189. package/site/wxrule.js.map +1 -0
  190. package/site/wxtag.d.ts +179 -0
  191. package/site/wxtag.js +92 -0
  192. package/site/wxtag.js.map +1 -0
  193. package/types/index.d.ts +3 -0
  194. package/types/index.js +11 -0
  195. package/types/index.js.map +1 -0
  196. package/types/input.d.ts +9877 -0
  197. package/types/input.js +5 -0
  198. package/types/input.js.map +1 -0
  199. package/types/output.d.ts +11698 -0
  200. package/types/output.js +5 -0
  201. package/types/output.js.map +1 -0
  202. package/utilities.d.ts +8 -0
  203. package/utilities.js +101 -0
  204. package/utilities.js.map +1 -0
@@ -0,0 +1,432 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * This resource manages the Gateway configuration.It can be used to define specific configuration at the device level or to override Org Gateway template settings.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as junipermist from "@pulumi/juniper-mist";
12
+ *
13
+ * const gatewayOne = new junipermist.device.Gateway("gateway_one", {
14
+ * name: "gateway_one",
15
+ * deviceId: clusterOne.deviceId,
16
+ * siteId: clusterOne.siteId,
17
+ * oobIpConfig: {
18
+ * type: "dhcp",
19
+ * },
20
+ * dnsServers: ["8.8.8.8"],
21
+ * additionalConfigCmds: [
22
+ * "annotate system \" -- custom-main -- Template level --\"",
23
+ * "delete apply-groups custom-main",
24
+ * "delete groups custom-main",
25
+ * "set groups custom-main",
26
+ * "set groups custom-main system services ssh root-login allow",
27
+ * "set apply-groups custom-main",
28
+ * ],
29
+ * });
30
+ * ```
31
+ */
32
+ export declare class Gateway extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing Gateway resource's state with the given name, ID, and optional extra
35
+ * properties used to qualify the lookup.
36
+ *
37
+ * @param name The _unique_ name of the resulting resource.
38
+ * @param id The _unique_ provider ID of the resource to lookup.
39
+ * @param state Any extra arguments used during the lookup.
40
+ * @param opts Optional settings to control the behavior of the CustomResource.
41
+ */
42
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GatewayState, opts?: pulumi.CustomResourceOptions): Gateway;
43
+ /**
44
+ * Returns true if the given object is an instance of Gateway. This is designed to work even
45
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
46
+ */
47
+ static isInstance(obj: any): obj is Gateway;
48
+ /**
49
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
50
+ */
51
+ readonly additionalConfigCmds: pulumi.Output<string[] | undefined>;
52
+ readonly bgpConfig: pulumi.Output<{
53
+ [key: string]: outputs.device.GatewayBgpConfig;
54
+ } | undefined>;
55
+ readonly deviceId: pulumi.Output<string>;
56
+ readonly deviceprofileId: pulumi.Output<string>;
57
+ readonly dhcpdConfig: pulumi.Output<outputs.device.GatewayDhcpdConfig | undefined>;
58
+ /**
59
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
60
+ */
61
+ readonly dnsServers: pulumi.Output<string[] | undefined>;
62
+ /**
63
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
64
+ */
65
+ readonly dnsSuffixes: pulumi.Output<string[] | undefined>;
66
+ /**
67
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
68
+ */
69
+ readonly extraRoutes: pulumi.Output<{
70
+ [key: string]: outputs.device.GatewayExtraRoutes;
71
+ } | undefined>;
72
+ /**
73
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
74
+ */
75
+ readonly extraRoutes6: pulumi.Output<{
76
+ [key: string]: outputs.device.GatewayExtraRoutes6;
77
+ } | undefined>;
78
+ /**
79
+ * Property key is the profile name
80
+ */
81
+ readonly idpProfiles: pulumi.Output<{
82
+ [key: string]: outputs.device.GatewayIdpProfiles;
83
+ } | undefined>;
84
+ readonly image1Url: pulumi.Output<string>;
85
+ readonly image2Url: pulumi.Output<string>;
86
+ readonly image3Url: pulumi.Output<string>;
87
+ /**
88
+ * Property key is the network name
89
+ */
90
+ readonly ipConfigs: pulumi.Output<{
91
+ [key: string]: outputs.device.GatewayIpConfigs;
92
+ } | undefined>;
93
+ /**
94
+ * device MAC address
95
+ */
96
+ readonly mac: pulumi.Output<string>;
97
+ readonly managed: pulumi.Output<boolean | undefined>;
98
+ /**
99
+ * map where the device belongs to
100
+ */
101
+ readonly mapId: pulumi.Output<string | undefined>;
102
+ /**
103
+ * device Model
104
+ */
105
+ readonly model: pulumi.Output<string>;
106
+ readonly mspId: pulumi.Output<string | undefined>;
107
+ readonly name: pulumi.Output<string>;
108
+ readonly networks: pulumi.Output<outputs.device.GatewayNetwork[] | undefined>;
109
+ readonly notes: pulumi.Output<string | undefined>;
110
+ readonly ntpServers: pulumi.Output<string[] | undefined>;
111
+ /**
112
+ * out-of-band (vme/em0/fxp0) IP config
113
+ */
114
+ readonly oobIpConfig: pulumi.Output<outputs.device.GatewayOobIpConfig | undefined>;
115
+ readonly orgId: pulumi.Output<string>;
116
+ /**
117
+ * Property key is the path name
118
+ */
119
+ readonly pathPreferences: pulumi.Output<{
120
+ [key: string]: outputs.device.GatewayPathPreferences;
121
+ } | undefined>;
122
+ /**
123
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
124
+ */
125
+ readonly portConfig: pulumi.Output<{
126
+ [key: string]: outputs.device.GatewayPortConfig;
127
+ } | undefined>;
128
+ readonly portMirroring: pulumi.Output<outputs.device.GatewayPortMirroring | undefined>;
129
+ /**
130
+ * auto assigned if not set
131
+ */
132
+ readonly routerId: pulumi.Output<string | undefined>;
133
+ /**
134
+ * Property key is the routing policy name
135
+ */
136
+ readonly routingPolicies: pulumi.Output<{
137
+ [key: string]: outputs.device.GatewayRoutingPolicies;
138
+ } | undefined>;
139
+ /**
140
+ * device Serial
141
+ */
142
+ readonly serial: pulumi.Output<string>;
143
+ readonly servicePolicies: pulumi.Output<outputs.device.GatewayServicePolicy[] | undefined>;
144
+ readonly siteId: pulumi.Output<string>;
145
+ /**
146
+ * Property key is the tunnel name
147
+ */
148
+ readonly tunnelConfigs: pulumi.Output<{
149
+ [key: string]: outputs.device.GatewayTunnelConfigs;
150
+ } | undefined>;
151
+ readonly tunnelProviderOptions: pulumi.Output<outputs.device.GatewayTunnelProviderOptions | undefined>;
152
+ /**
153
+ * Device Type. enum: `gateway`
154
+ */
155
+ readonly type: pulumi.Output<string>;
156
+ /**
157
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
158
+ */
159
+ readonly vars: pulumi.Output<{
160
+ [key: string]: string;
161
+ } | undefined>;
162
+ readonly vrfConfig: pulumi.Output<outputs.device.GatewayVrfConfig | undefined>;
163
+ /**
164
+ * Property key is the network name
165
+ */
166
+ readonly vrfInstances: pulumi.Output<{
167
+ [key: string]: outputs.device.GatewayVrfInstances;
168
+ } | undefined>;
169
+ /**
170
+ * x in pixel
171
+ */
172
+ readonly x: pulumi.Output<number | undefined>;
173
+ /**
174
+ * y in pixel
175
+ */
176
+ readonly y: pulumi.Output<number | undefined>;
177
+ /**
178
+ * Create a Gateway resource with the given unique name, arguments, and options.
179
+ *
180
+ * @param name The _unique_ name of the resource.
181
+ * @param args The arguments to use to populate this resource's properties.
182
+ * @param opts A bag of options that control this resource's behavior.
183
+ */
184
+ constructor(name: string, args: GatewayArgs, opts?: pulumi.CustomResourceOptions);
185
+ }
186
+ /**
187
+ * Input properties used for looking up and filtering Gateway resources.
188
+ */
189
+ export interface GatewayState {
190
+ /**
191
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
192
+ */
193
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
194
+ bgpConfig?: pulumi.Input<{
195
+ [key: string]: pulumi.Input<inputs.device.GatewayBgpConfig>;
196
+ }>;
197
+ deviceId?: pulumi.Input<string>;
198
+ deviceprofileId?: pulumi.Input<string>;
199
+ dhcpdConfig?: pulumi.Input<inputs.device.GatewayDhcpdConfig>;
200
+ /**
201
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
202
+ */
203
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
204
+ /**
205
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
206
+ */
207
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
208
+ /**
209
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
210
+ */
211
+ extraRoutes?: pulumi.Input<{
212
+ [key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes>;
213
+ }>;
214
+ /**
215
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
216
+ */
217
+ extraRoutes6?: pulumi.Input<{
218
+ [key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes6>;
219
+ }>;
220
+ /**
221
+ * Property key is the profile name
222
+ */
223
+ idpProfiles?: pulumi.Input<{
224
+ [key: string]: pulumi.Input<inputs.device.GatewayIdpProfiles>;
225
+ }>;
226
+ image1Url?: pulumi.Input<string>;
227
+ image2Url?: pulumi.Input<string>;
228
+ image3Url?: pulumi.Input<string>;
229
+ /**
230
+ * Property key is the network name
231
+ */
232
+ ipConfigs?: pulumi.Input<{
233
+ [key: string]: pulumi.Input<inputs.device.GatewayIpConfigs>;
234
+ }>;
235
+ /**
236
+ * device MAC address
237
+ */
238
+ mac?: pulumi.Input<string>;
239
+ managed?: pulumi.Input<boolean>;
240
+ /**
241
+ * map where the device belongs to
242
+ */
243
+ mapId?: pulumi.Input<string>;
244
+ /**
245
+ * device Model
246
+ */
247
+ model?: pulumi.Input<string>;
248
+ mspId?: pulumi.Input<string>;
249
+ name?: pulumi.Input<string>;
250
+ networks?: pulumi.Input<pulumi.Input<inputs.device.GatewayNetwork>[]>;
251
+ notes?: pulumi.Input<string>;
252
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
253
+ /**
254
+ * out-of-band (vme/em0/fxp0) IP config
255
+ */
256
+ oobIpConfig?: pulumi.Input<inputs.device.GatewayOobIpConfig>;
257
+ orgId?: pulumi.Input<string>;
258
+ /**
259
+ * Property key is the path name
260
+ */
261
+ pathPreferences?: pulumi.Input<{
262
+ [key: string]: pulumi.Input<inputs.device.GatewayPathPreferences>;
263
+ }>;
264
+ /**
265
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
266
+ */
267
+ portConfig?: pulumi.Input<{
268
+ [key: string]: pulumi.Input<inputs.device.GatewayPortConfig>;
269
+ }>;
270
+ portMirroring?: pulumi.Input<inputs.device.GatewayPortMirroring>;
271
+ /**
272
+ * auto assigned if not set
273
+ */
274
+ routerId?: pulumi.Input<string>;
275
+ /**
276
+ * Property key is the routing policy name
277
+ */
278
+ routingPolicies?: pulumi.Input<{
279
+ [key: string]: pulumi.Input<inputs.device.GatewayRoutingPolicies>;
280
+ }>;
281
+ /**
282
+ * device Serial
283
+ */
284
+ serial?: pulumi.Input<string>;
285
+ servicePolicies?: pulumi.Input<pulumi.Input<inputs.device.GatewayServicePolicy>[]>;
286
+ siteId?: pulumi.Input<string>;
287
+ /**
288
+ * Property key is the tunnel name
289
+ */
290
+ tunnelConfigs?: pulumi.Input<{
291
+ [key: string]: pulumi.Input<inputs.device.GatewayTunnelConfigs>;
292
+ }>;
293
+ tunnelProviderOptions?: pulumi.Input<inputs.device.GatewayTunnelProviderOptions>;
294
+ /**
295
+ * Device Type. enum: `gateway`
296
+ */
297
+ type?: pulumi.Input<string>;
298
+ /**
299
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
300
+ */
301
+ vars?: pulumi.Input<{
302
+ [key: string]: pulumi.Input<string>;
303
+ }>;
304
+ vrfConfig?: pulumi.Input<inputs.device.GatewayVrfConfig>;
305
+ /**
306
+ * Property key is the network name
307
+ */
308
+ vrfInstances?: pulumi.Input<{
309
+ [key: string]: pulumi.Input<inputs.device.GatewayVrfInstances>;
310
+ }>;
311
+ /**
312
+ * x in pixel
313
+ */
314
+ x?: pulumi.Input<number>;
315
+ /**
316
+ * y in pixel
317
+ */
318
+ y?: pulumi.Input<number>;
319
+ }
320
+ /**
321
+ * The set of arguments for constructing a Gateway resource.
322
+ */
323
+ export interface GatewayArgs {
324
+ /**
325
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
326
+ */
327
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
328
+ bgpConfig?: pulumi.Input<{
329
+ [key: string]: pulumi.Input<inputs.device.GatewayBgpConfig>;
330
+ }>;
331
+ deviceId: pulumi.Input<string>;
332
+ dhcpdConfig?: pulumi.Input<inputs.device.GatewayDhcpdConfig>;
333
+ /**
334
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
335
+ */
336
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
337
+ /**
338
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
339
+ */
340
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
341
+ /**
342
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
343
+ */
344
+ extraRoutes?: pulumi.Input<{
345
+ [key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes>;
346
+ }>;
347
+ /**
348
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
349
+ */
350
+ extraRoutes6?: pulumi.Input<{
351
+ [key: string]: pulumi.Input<inputs.device.GatewayExtraRoutes6>;
352
+ }>;
353
+ /**
354
+ * Property key is the profile name
355
+ */
356
+ idpProfiles?: pulumi.Input<{
357
+ [key: string]: pulumi.Input<inputs.device.GatewayIdpProfiles>;
358
+ }>;
359
+ /**
360
+ * Property key is the network name
361
+ */
362
+ ipConfigs?: pulumi.Input<{
363
+ [key: string]: pulumi.Input<inputs.device.GatewayIpConfigs>;
364
+ }>;
365
+ managed?: pulumi.Input<boolean>;
366
+ /**
367
+ * map where the device belongs to
368
+ */
369
+ mapId?: pulumi.Input<string>;
370
+ mspId?: pulumi.Input<string>;
371
+ name?: pulumi.Input<string>;
372
+ networks?: pulumi.Input<pulumi.Input<inputs.device.GatewayNetwork>[]>;
373
+ notes?: pulumi.Input<string>;
374
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
375
+ /**
376
+ * out-of-band (vme/em0/fxp0) IP config
377
+ */
378
+ oobIpConfig?: pulumi.Input<inputs.device.GatewayOobIpConfig>;
379
+ /**
380
+ * Property key is the path name
381
+ */
382
+ pathPreferences?: pulumi.Input<{
383
+ [key: string]: pulumi.Input<inputs.device.GatewayPathPreferences>;
384
+ }>;
385
+ /**
386
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
387
+ */
388
+ portConfig?: pulumi.Input<{
389
+ [key: string]: pulumi.Input<inputs.device.GatewayPortConfig>;
390
+ }>;
391
+ portMirroring?: pulumi.Input<inputs.device.GatewayPortMirroring>;
392
+ /**
393
+ * auto assigned if not set
394
+ */
395
+ routerId?: pulumi.Input<string>;
396
+ /**
397
+ * Property key is the routing policy name
398
+ */
399
+ routingPolicies?: pulumi.Input<{
400
+ [key: string]: pulumi.Input<inputs.device.GatewayRoutingPolicies>;
401
+ }>;
402
+ servicePolicies?: pulumi.Input<pulumi.Input<inputs.device.GatewayServicePolicy>[]>;
403
+ siteId: pulumi.Input<string>;
404
+ /**
405
+ * Property key is the tunnel name
406
+ */
407
+ tunnelConfigs?: pulumi.Input<{
408
+ [key: string]: pulumi.Input<inputs.device.GatewayTunnelConfigs>;
409
+ }>;
410
+ tunnelProviderOptions?: pulumi.Input<inputs.device.GatewayTunnelProviderOptions>;
411
+ /**
412
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
413
+ */
414
+ vars?: pulumi.Input<{
415
+ [key: string]: pulumi.Input<string>;
416
+ }>;
417
+ vrfConfig?: pulumi.Input<inputs.device.GatewayVrfConfig>;
418
+ /**
419
+ * Property key is the network name
420
+ */
421
+ vrfInstances?: pulumi.Input<{
422
+ [key: string]: pulumi.Input<inputs.device.GatewayVrfInstances>;
423
+ }>;
424
+ /**
425
+ * x in pixel
426
+ */
427
+ x?: pulumi.Input<number>;
428
+ /**
429
+ * y in pixel
430
+ */
431
+ y?: pulumi.Input<number>;
432
+ }
@@ -0,0 +1,163 @@
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.Gateway = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages the Gateway configuration.It can be used to define specific configuration at the device level or to override Org Gateway template settings.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as junipermist from "@pulumi/juniper-mist";
16
+ *
17
+ * const gatewayOne = new junipermist.device.Gateway("gateway_one", {
18
+ * name: "gateway_one",
19
+ * deviceId: clusterOne.deviceId,
20
+ * siteId: clusterOne.siteId,
21
+ * oobIpConfig: {
22
+ * type: "dhcp",
23
+ * },
24
+ * dnsServers: ["8.8.8.8"],
25
+ * additionalConfigCmds: [
26
+ * "annotate system \" -- custom-main -- Template level --\"",
27
+ * "delete apply-groups custom-main",
28
+ * "delete groups custom-main",
29
+ * "set groups custom-main",
30
+ * "set groups custom-main system services ssh root-login allow",
31
+ * "set apply-groups custom-main",
32
+ * ],
33
+ * });
34
+ * ```
35
+ */
36
+ class Gateway extends pulumi.CustomResource {
37
+ /**
38
+ * Get an existing Gateway resource's state with the given name, ID, and optional extra
39
+ * properties used to qualify the lookup.
40
+ *
41
+ * @param name The _unique_ name of the resulting resource.
42
+ * @param id The _unique_ provider ID of the resource to lookup.
43
+ * @param state Any extra arguments used during the lookup.
44
+ * @param opts Optional settings to control the behavior of the CustomResource.
45
+ */
46
+ static get(name, id, state, opts) {
47
+ return new Gateway(name, state, Object.assign(Object.assign({}, opts), { id: id }));
48
+ }
49
+ /**
50
+ * Returns true if the given object is an instance of Gateway. This is designed to work even
51
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
52
+ */
53
+ static isInstance(obj) {
54
+ if (obj === undefined || obj === null) {
55
+ return false;
56
+ }
57
+ return obj['__pulumiType'] === Gateway.__pulumiType;
58
+ }
59
+ constructor(name, argsOrState, opts) {
60
+ let resourceInputs = {};
61
+ opts = opts || {};
62
+ if (opts.id) {
63
+ const state = argsOrState;
64
+ resourceInputs["additionalConfigCmds"] = state ? state.additionalConfigCmds : undefined;
65
+ resourceInputs["bgpConfig"] = state ? state.bgpConfig : undefined;
66
+ resourceInputs["deviceId"] = state ? state.deviceId : undefined;
67
+ resourceInputs["deviceprofileId"] = state ? state.deviceprofileId : undefined;
68
+ resourceInputs["dhcpdConfig"] = state ? state.dhcpdConfig : undefined;
69
+ resourceInputs["dnsServers"] = state ? state.dnsServers : undefined;
70
+ resourceInputs["dnsSuffixes"] = state ? state.dnsSuffixes : undefined;
71
+ resourceInputs["extraRoutes"] = state ? state.extraRoutes : undefined;
72
+ resourceInputs["extraRoutes6"] = state ? state.extraRoutes6 : undefined;
73
+ resourceInputs["idpProfiles"] = state ? state.idpProfiles : undefined;
74
+ resourceInputs["image1Url"] = state ? state.image1Url : undefined;
75
+ resourceInputs["image2Url"] = state ? state.image2Url : undefined;
76
+ resourceInputs["image3Url"] = state ? state.image3Url : undefined;
77
+ resourceInputs["ipConfigs"] = state ? state.ipConfigs : undefined;
78
+ resourceInputs["mac"] = state ? state.mac : undefined;
79
+ resourceInputs["managed"] = state ? state.managed : undefined;
80
+ resourceInputs["mapId"] = state ? state.mapId : undefined;
81
+ resourceInputs["model"] = state ? state.model : undefined;
82
+ resourceInputs["mspId"] = state ? state.mspId : undefined;
83
+ resourceInputs["name"] = state ? state.name : undefined;
84
+ resourceInputs["networks"] = state ? state.networks : undefined;
85
+ resourceInputs["notes"] = state ? state.notes : undefined;
86
+ resourceInputs["ntpServers"] = state ? state.ntpServers : undefined;
87
+ resourceInputs["oobIpConfig"] = state ? state.oobIpConfig : undefined;
88
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
89
+ resourceInputs["pathPreferences"] = state ? state.pathPreferences : undefined;
90
+ resourceInputs["portConfig"] = state ? state.portConfig : undefined;
91
+ resourceInputs["portMirroring"] = state ? state.portMirroring : undefined;
92
+ resourceInputs["routerId"] = state ? state.routerId : undefined;
93
+ resourceInputs["routingPolicies"] = state ? state.routingPolicies : undefined;
94
+ resourceInputs["serial"] = state ? state.serial : undefined;
95
+ resourceInputs["servicePolicies"] = state ? state.servicePolicies : undefined;
96
+ resourceInputs["siteId"] = state ? state.siteId : undefined;
97
+ resourceInputs["tunnelConfigs"] = state ? state.tunnelConfigs : undefined;
98
+ resourceInputs["tunnelProviderOptions"] = state ? state.tunnelProviderOptions : undefined;
99
+ resourceInputs["type"] = state ? state.type : undefined;
100
+ resourceInputs["vars"] = state ? state.vars : undefined;
101
+ resourceInputs["vrfConfig"] = state ? state.vrfConfig : undefined;
102
+ resourceInputs["vrfInstances"] = state ? state.vrfInstances : undefined;
103
+ resourceInputs["x"] = state ? state.x : undefined;
104
+ resourceInputs["y"] = state ? state.y : undefined;
105
+ }
106
+ else {
107
+ const args = argsOrState;
108
+ if ((!args || args.deviceId === undefined) && !opts.urn) {
109
+ throw new Error("Missing required property 'deviceId'");
110
+ }
111
+ if ((!args || args.siteId === undefined) && !opts.urn) {
112
+ throw new Error("Missing required property 'siteId'");
113
+ }
114
+ resourceInputs["additionalConfigCmds"] = args ? args.additionalConfigCmds : undefined;
115
+ resourceInputs["bgpConfig"] = args ? args.bgpConfig : undefined;
116
+ resourceInputs["deviceId"] = args ? args.deviceId : undefined;
117
+ resourceInputs["dhcpdConfig"] = args ? args.dhcpdConfig : undefined;
118
+ resourceInputs["dnsServers"] = args ? args.dnsServers : undefined;
119
+ resourceInputs["dnsSuffixes"] = args ? args.dnsSuffixes : undefined;
120
+ resourceInputs["extraRoutes"] = args ? args.extraRoutes : undefined;
121
+ resourceInputs["extraRoutes6"] = args ? args.extraRoutes6 : undefined;
122
+ resourceInputs["idpProfiles"] = args ? args.idpProfiles : undefined;
123
+ resourceInputs["ipConfigs"] = args ? args.ipConfigs : undefined;
124
+ resourceInputs["managed"] = args ? args.managed : undefined;
125
+ resourceInputs["mapId"] = args ? args.mapId : undefined;
126
+ resourceInputs["mspId"] = args ? args.mspId : undefined;
127
+ resourceInputs["name"] = args ? args.name : undefined;
128
+ resourceInputs["networks"] = args ? args.networks : undefined;
129
+ resourceInputs["notes"] = args ? args.notes : undefined;
130
+ resourceInputs["ntpServers"] = args ? args.ntpServers : undefined;
131
+ resourceInputs["oobIpConfig"] = args ? args.oobIpConfig : undefined;
132
+ resourceInputs["pathPreferences"] = args ? args.pathPreferences : undefined;
133
+ resourceInputs["portConfig"] = args ? args.portConfig : undefined;
134
+ resourceInputs["portMirroring"] = args ? args.portMirroring : undefined;
135
+ resourceInputs["routerId"] = args ? args.routerId : undefined;
136
+ resourceInputs["routingPolicies"] = args ? args.routingPolicies : undefined;
137
+ resourceInputs["servicePolicies"] = args ? args.servicePolicies : undefined;
138
+ resourceInputs["siteId"] = args ? args.siteId : undefined;
139
+ resourceInputs["tunnelConfigs"] = args ? args.tunnelConfigs : undefined;
140
+ resourceInputs["tunnelProviderOptions"] = args ? args.tunnelProviderOptions : undefined;
141
+ resourceInputs["vars"] = args ? args.vars : undefined;
142
+ resourceInputs["vrfConfig"] = args ? args.vrfConfig : undefined;
143
+ resourceInputs["vrfInstances"] = args ? args.vrfInstances : undefined;
144
+ resourceInputs["x"] = args ? args.x : undefined;
145
+ resourceInputs["y"] = args ? args.y : undefined;
146
+ resourceInputs["deviceprofileId"] = undefined /*out*/;
147
+ resourceInputs["image1Url"] = undefined /*out*/;
148
+ resourceInputs["image2Url"] = undefined /*out*/;
149
+ resourceInputs["image3Url"] = undefined /*out*/;
150
+ resourceInputs["mac"] = undefined /*out*/;
151
+ resourceInputs["model"] = undefined /*out*/;
152
+ resourceInputs["orgId"] = undefined /*out*/;
153
+ resourceInputs["serial"] = undefined /*out*/;
154
+ resourceInputs["type"] = undefined /*out*/;
155
+ }
156
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
157
+ super(Gateway.__pulumiType, name, resourceInputs, opts);
158
+ }
159
+ }
160
+ exports.Gateway = Gateway;
161
+ /** @internal */
162
+ Gateway.__pulumiType = 'junipermist:device/gateway:Gateway';
163
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../device/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * This resource manages the Gateway Clusters.It can be used to form or unset a cluster with two Gateways assigned to the same site.Please check the Juniper Documentation first to validate the cabling between the Gateways
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as junipermist from "@pulumi/juniper-mist";
12
+ *
13
+ * const clusterOne = new junipermist.device.GatewayCluster("cluster_one", {
14
+ * siteId: terraformSite2.id,
15
+ * deviceId: "00000000-0000-0000-1000-4c96143de700",
16
+ * nodes: [
17
+ * {
18
+ * mac: "4c961000000",
19
+ * },
20
+ * {
21
+ * mac: "4c961000001",
22
+ * },
23
+ * ],
24
+ * });
25
+ * ```
26
+ */
27
+ export declare class GatewayCluster extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing GatewayCluster 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?: GatewayClusterState, opts?: pulumi.CustomResourceOptions): GatewayCluster;
38
+ /**
39
+ * Returns true if the given object is an instance of GatewayCluster. 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 GatewayCluster;
43
+ readonly deviceId: pulumi.Output<string>;
44
+ readonly nodes: pulumi.Output<outputs.device.GatewayClusterNode[]>;
45
+ readonly siteId: pulumi.Output<string>;
46
+ /**
47
+ * Create a GatewayCluster resource with the given unique name, arguments, and options.
48
+ *
49
+ * @param name The _unique_ name of the resource.
50
+ * @param args The arguments to use to populate this resource's properties.
51
+ * @param opts A bag of options that control this resource's behavior.
52
+ */
53
+ constructor(name: string, args: GatewayClusterArgs, opts?: pulumi.CustomResourceOptions);
54
+ }
55
+ /**
56
+ * Input properties used for looking up and filtering GatewayCluster resources.
57
+ */
58
+ export interface GatewayClusterState {
59
+ deviceId?: pulumi.Input<string>;
60
+ nodes?: pulumi.Input<pulumi.Input<inputs.device.GatewayClusterNode>[]>;
61
+ siteId?: pulumi.Input<string>;
62
+ }
63
+ /**
64
+ * The set of arguments for constructing a GatewayCluster resource.
65
+ */
66
+ export interface GatewayClusterArgs {
67
+ deviceId: pulumi.Input<string>;
68
+ nodes: pulumi.Input<pulumi.Input<inputs.device.GatewayClusterNode>[]>;
69
+ siteId: pulumi.Input<string>;
70
+ }