@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,518 @@
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 Switch configuration.It can be used to define specific configuration at the device level or to override Org/Site Network template settings.
6
+ */
7
+ export declare class Switch extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing Switch resource's state with the given name, ID, and optional extra
10
+ * properties used to qualify the lookup.
11
+ *
12
+ * @param name The _unique_ name of the resulting resource.
13
+ * @param id The _unique_ provider ID of the resource to lookup.
14
+ * @param state Any extra arguments used during the lookup.
15
+ * @param opts Optional settings to control the behavior of the CustomResource.
16
+ */
17
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SwitchState, opts?: pulumi.CustomResourceOptions): Switch;
18
+ /**
19
+ * Returns true if the given object is an instance of Switch. This is designed to work even
20
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
21
+ */
22
+ static isInstance(obj: any): obj is Switch;
23
+ readonly aclPolicies: pulumi.Output<outputs.device.SwitchAclPolicy[] | undefined>;
24
+ /**
25
+ * ACL Tags to identify traffic source or destination. Key name is the tag name
26
+ */
27
+ readonly aclTags: pulumi.Output<{
28
+ [key: string]: outputs.device.SwitchAclTags;
29
+ } | undefined>;
30
+ /**
31
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
32
+ */
33
+ readonly additionalConfigCmds: pulumi.Output<string[] | undefined>;
34
+ readonly deviceId: pulumi.Output<string>;
35
+ readonly deviceprofileId: pulumi.Output<string>;
36
+ readonly dhcpSnooping: pulumi.Output<outputs.device.SwitchDhcpSnooping | undefined>;
37
+ readonly dhcpdConfig: pulumi.Output<outputs.device.SwitchDhcpdConfig | undefined>;
38
+ /**
39
+ * for a claimed switch, we control the configs by default. This option (disables the behavior)
40
+ */
41
+ readonly disableAutoConfig: pulumi.Output<boolean>;
42
+ /**
43
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
44
+ */
45
+ readonly dnsServers: pulumi.Output<string[] | undefined>;
46
+ /**
47
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
48
+ */
49
+ readonly dnsSuffixes: pulumi.Output<string[] | undefined>;
50
+ /**
51
+ * EVPN Junos settings
52
+ */
53
+ readonly evpnConfig: pulumi.Output<outputs.device.SwitchEvpnConfig | undefined>;
54
+ readonly extraRoutes: pulumi.Output<{
55
+ [key: string]: outputs.device.SwitchExtraRoutes;
56
+ } | undefined>;
57
+ /**
58
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
59
+ */
60
+ readonly extraRoutes6: pulumi.Output<{
61
+ [key: string]: outputs.device.SwitchExtraRoutes6;
62
+ } | undefined>;
63
+ readonly image1Url: pulumi.Output<string>;
64
+ readonly image2Url: pulumi.Output<string>;
65
+ readonly image3Url: pulumi.Output<string>;
66
+ /**
67
+ * Junos IP Config
68
+ */
69
+ readonly ipConfig: pulumi.Output<outputs.device.SwitchIpConfig | undefined>;
70
+ /**
71
+ * device MAC address
72
+ */
73
+ readonly mac: pulumi.Output<string>;
74
+ /**
75
+ * for an adopted switch, we don’t overwrite their existing configs automatically
76
+ */
77
+ readonly managed: pulumi.Output<boolean>;
78
+ /**
79
+ * map where the device belongs to
80
+ */
81
+ readonly mapId: pulumi.Output<string | undefined>;
82
+ /**
83
+ * enable mistNac to use radsec
84
+ */
85
+ readonly mistNac: pulumi.Output<outputs.device.SwitchMistNac | undefined>;
86
+ /**
87
+ * device Model
88
+ */
89
+ readonly model: pulumi.Output<string>;
90
+ readonly name: pulumi.Output<string>;
91
+ /**
92
+ * Property key is network name
93
+ */
94
+ readonly networks: pulumi.Output<{
95
+ [key: string]: outputs.device.SwitchNetworks;
96
+ } | undefined>;
97
+ readonly notes: pulumi.Output<string | undefined>;
98
+ /**
99
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
100
+ */
101
+ readonly ntpServers: pulumi.Output<string[] | undefined>;
102
+ /**
103
+ * - If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be
104
+ * set separately (if desired): key parameter = `re1`
105
+ */
106
+ readonly oobIpConfig: pulumi.Output<outputs.device.SwitchOobIpConfig | undefined>;
107
+ readonly orgId: pulumi.Output<string>;
108
+ /**
109
+ * Junos OSPF config
110
+ */
111
+ readonly ospfConfig: pulumi.Output<outputs.device.SwitchOspfConfig | undefined>;
112
+ /**
113
+ * Property key is the network name
114
+ */
115
+ readonly otherIpConfigs: pulumi.Output<{
116
+ [key: string]: outputs.device.SwitchOtherIpConfigs;
117
+ } | undefined>;
118
+ /**
119
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
120
+ */
121
+ readonly portConfig: pulumi.Output<{
122
+ [key: string]: outputs.device.SwitchPortConfig;
123
+ } | undefined>;
124
+ /**
125
+ * Property key is the port mirroring instance name portMirroring can be added under device/site settings. It takes
126
+ * interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
127
+ */
128
+ readonly portMirroring: pulumi.Output<{
129
+ [key: string]: outputs.device.SwitchPortMirroring;
130
+ } | undefined>;
131
+ readonly portUsages: pulumi.Output<{
132
+ [key: string]: outputs.device.SwitchPortUsages;
133
+ } | undefined>;
134
+ /**
135
+ * Junos Radius config
136
+ */
137
+ readonly radiusConfig: pulumi.Output<outputs.device.SwitchRadiusConfig | undefined>;
138
+ readonly remoteSyslog: pulumi.Output<outputs.device.SwitchRemoteSyslog | undefined>;
139
+ readonly role: pulumi.Output<string | undefined>;
140
+ /**
141
+ * used for OSPF / BGP / EVPN
142
+ */
143
+ readonly routerId: pulumi.Output<string | undefined>;
144
+ /**
145
+ * device Serial
146
+ */
147
+ readonly serial: pulumi.Output<string>;
148
+ readonly siteId: pulumi.Output<string>;
149
+ readonly snmpConfig: pulumi.Output<outputs.device.SwitchSnmpConfig | undefined>;
150
+ readonly stpConfig: pulumi.Output<outputs.device.SwitchStpConfig | undefined>;
151
+ readonly switchMgmt: pulumi.Output<outputs.device.SwitchSwitchMgmt | undefined>;
152
+ /**
153
+ * Device Type. enum: `switch`
154
+ */
155
+ readonly type: pulumi.Output<string>;
156
+ /**
157
+ * whether to use it for snmp / syslog / tacplus / radius
158
+ */
159
+ readonly useRouterIdAsSourceIp: pulumi.Output<boolean>;
160
+ /**
161
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
162
+ */
163
+ readonly vars: pulumi.Output<{
164
+ [key: string]: string;
165
+ } | undefined>;
166
+ /**
167
+ * required for preprovisioned Virtual Chassis
168
+ */
169
+ readonly virtualChassis: pulumi.Output<outputs.device.SwitchVirtualChassis | undefined>;
170
+ readonly vrfConfig: pulumi.Output<outputs.device.SwitchVrfConfig | undefined>;
171
+ /**
172
+ * Property key is the network name
173
+ */
174
+ readonly vrfInstances: pulumi.Output<{
175
+ [key: string]: outputs.device.SwitchVrfInstances;
176
+ } | undefined>;
177
+ /**
178
+ * Junos VRRP config
179
+ */
180
+ readonly vrrpConfig: pulumi.Output<outputs.device.SwitchVrrpConfig | undefined>;
181
+ /**
182
+ * x in pixel
183
+ */
184
+ readonly x: pulumi.Output<number | undefined>;
185
+ /**
186
+ * y in pixel
187
+ */
188
+ readonly y: pulumi.Output<number | undefined>;
189
+ /**
190
+ * Create a Switch resource with the given unique name, arguments, and options.
191
+ *
192
+ * @param name The _unique_ name of the resource.
193
+ * @param args The arguments to use to populate this resource's properties.
194
+ * @param opts A bag of options that control this resource's behavior.
195
+ */
196
+ constructor(name: string, args: SwitchArgs, opts?: pulumi.CustomResourceOptions);
197
+ }
198
+ /**
199
+ * Input properties used for looking up and filtering Switch resources.
200
+ */
201
+ export interface SwitchState {
202
+ aclPolicies?: pulumi.Input<pulumi.Input<inputs.device.SwitchAclPolicy>[]>;
203
+ /**
204
+ * ACL Tags to identify traffic source or destination. Key name is the tag name
205
+ */
206
+ aclTags?: pulumi.Input<{
207
+ [key: string]: pulumi.Input<inputs.device.SwitchAclTags>;
208
+ }>;
209
+ /**
210
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
211
+ */
212
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
213
+ deviceId?: pulumi.Input<string>;
214
+ deviceprofileId?: pulumi.Input<string>;
215
+ dhcpSnooping?: pulumi.Input<inputs.device.SwitchDhcpSnooping>;
216
+ dhcpdConfig?: pulumi.Input<inputs.device.SwitchDhcpdConfig>;
217
+ /**
218
+ * for a claimed switch, we control the configs by default. This option (disables the behavior)
219
+ */
220
+ disableAutoConfig?: pulumi.Input<boolean>;
221
+ /**
222
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
223
+ */
224
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
225
+ /**
226
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
227
+ */
228
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
229
+ /**
230
+ * EVPN Junos settings
231
+ */
232
+ evpnConfig?: pulumi.Input<inputs.device.SwitchEvpnConfig>;
233
+ extraRoutes?: pulumi.Input<{
234
+ [key: string]: pulumi.Input<inputs.device.SwitchExtraRoutes>;
235
+ }>;
236
+ /**
237
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
238
+ */
239
+ extraRoutes6?: pulumi.Input<{
240
+ [key: string]: pulumi.Input<inputs.device.SwitchExtraRoutes6>;
241
+ }>;
242
+ image1Url?: pulumi.Input<string>;
243
+ image2Url?: pulumi.Input<string>;
244
+ image3Url?: pulumi.Input<string>;
245
+ /**
246
+ * Junos IP Config
247
+ */
248
+ ipConfig?: pulumi.Input<inputs.device.SwitchIpConfig>;
249
+ /**
250
+ * device MAC address
251
+ */
252
+ mac?: pulumi.Input<string>;
253
+ /**
254
+ * for an adopted switch, we don’t overwrite their existing configs automatically
255
+ */
256
+ managed?: pulumi.Input<boolean>;
257
+ /**
258
+ * map where the device belongs to
259
+ */
260
+ mapId?: pulumi.Input<string>;
261
+ /**
262
+ * enable mistNac to use radsec
263
+ */
264
+ mistNac?: pulumi.Input<inputs.device.SwitchMistNac>;
265
+ /**
266
+ * device Model
267
+ */
268
+ model?: pulumi.Input<string>;
269
+ name?: pulumi.Input<string>;
270
+ /**
271
+ * Property key is network name
272
+ */
273
+ networks?: pulumi.Input<{
274
+ [key: string]: pulumi.Input<inputs.device.SwitchNetworks>;
275
+ }>;
276
+ notes?: pulumi.Input<string>;
277
+ /**
278
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
279
+ */
280
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
281
+ /**
282
+ * - If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be
283
+ * set separately (if desired): key parameter = `re1`
284
+ */
285
+ oobIpConfig?: pulumi.Input<inputs.device.SwitchOobIpConfig>;
286
+ orgId?: pulumi.Input<string>;
287
+ /**
288
+ * Junos OSPF config
289
+ */
290
+ ospfConfig?: pulumi.Input<inputs.device.SwitchOspfConfig>;
291
+ /**
292
+ * Property key is the network name
293
+ */
294
+ otherIpConfigs?: pulumi.Input<{
295
+ [key: string]: pulumi.Input<inputs.device.SwitchOtherIpConfigs>;
296
+ }>;
297
+ /**
298
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
299
+ */
300
+ portConfig?: pulumi.Input<{
301
+ [key: string]: pulumi.Input<inputs.device.SwitchPortConfig>;
302
+ }>;
303
+ /**
304
+ * Property key is the port mirroring instance name portMirroring can be added under device/site settings. It takes
305
+ * interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
306
+ */
307
+ portMirroring?: pulumi.Input<{
308
+ [key: string]: pulumi.Input<inputs.device.SwitchPortMirroring>;
309
+ }>;
310
+ portUsages?: pulumi.Input<{
311
+ [key: string]: pulumi.Input<inputs.device.SwitchPortUsages>;
312
+ }>;
313
+ /**
314
+ * Junos Radius config
315
+ */
316
+ radiusConfig?: pulumi.Input<inputs.device.SwitchRadiusConfig>;
317
+ remoteSyslog?: pulumi.Input<inputs.device.SwitchRemoteSyslog>;
318
+ role?: pulumi.Input<string>;
319
+ /**
320
+ * used for OSPF / BGP / EVPN
321
+ */
322
+ routerId?: pulumi.Input<string>;
323
+ /**
324
+ * device Serial
325
+ */
326
+ serial?: pulumi.Input<string>;
327
+ siteId?: pulumi.Input<string>;
328
+ snmpConfig?: pulumi.Input<inputs.device.SwitchSnmpConfig>;
329
+ stpConfig?: pulumi.Input<inputs.device.SwitchStpConfig>;
330
+ switchMgmt?: pulumi.Input<inputs.device.SwitchSwitchMgmt>;
331
+ /**
332
+ * Device Type. enum: `switch`
333
+ */
334
+ type?: pulumi.Input<string>;
335
+ /**
336
+ * whether to use it for snmp / syslog / tacplus / radius
337
+ */
338
+ useRouterIdAsSourceIp?: pulumi.Input<boolean>;
339
+ /**
340
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
341
+ */
342
+ vars?: pulumi.Input<{
343
+ [key: string]: pulumi.Input<string>;
344
+ }>;
345
+ /**
346
+ * required for preprovisioned Virtual Chassis
347
+ */
348
+ virtualChassis?: pulumi.Input<inputs.device.SwitchVirtualChassis>;
349
+ vrfConfig?: pulumi.Input<inputs.device.SwitchVrfConfig>;
350
+ /**
351
+ * Property key is the network name
352
+ */
353
+ vrfInstances?: pulumi.Input<{
354
+ [key: string]: pulumi.Input<inputs.device.SwitchVrfInstances>;
355
+ }>;
356
+ /**
357
+ * Junos VRRP config
358
+ */
359
+ vrrpConfig?: pulumi.Input<inputs.device.SwitchVrrpConfig>;
360
+ /**
361
+ * x in pixel
362
+ */
363
+ x?: pulumi.Input<number>;
364
+ /**
365
+ * y in pixel
366
+ */
367
+ y?: pulumi.Input<number>;
368
+ }
369
+ /**
370
+ * The set of arguments for constructing a Switch resource.
371
+ */
372
+ export interface SwitchArgs {
373
+ aclPolicies?: pulumi.Input<pulumi.Input<inputs.device.SwitchAclPolicy>[]>;
374
+ /**
375
+ * ACL Tags to identify traffic source or destination. Key name is the tag name
376
+ */
377
+ aclTags?: pulumi.Input<{
378
+ [key: string]: pulumi.Input<inputs.device.SwitchAclTags>;
379
+ }>;
380
+ /**
381
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
382
+ */
383
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
384
+ deviceId: pulumi.Input<string>;
385
+ dhcpSnooping?: pulumi.Input<inputs.device.SwitchDhcpSnooping>;
386
+ dhcpdConfig?: pulumi.Input<inputs.device.SwitchDhcpdConfig>;
387
+ /**
388
+ * for a claimed switch, we control the configs by default. This option (disables the behavior)
389
+ */
390
+ disableAutoConfig?: pulumi.Input<boolean>;
391
+ /**
392
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
393
+ */
394
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
395
+ /**
396
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
397
+ */
398
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
399
+ /**
400
+ * EVPN Junos settings
401
+ */
402
+ evpnConfig?: pulumi.Input<inputs.device.SwitchEvpnConfig>;
403
+ extraRoutes?: pulumi.Input<{
404
+ [key: string]: pulumi.Input<inputs.device.SwitchExtraRoutes>;
405
+ }>;
406
+ /**
407
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
408
+ */
409
+ extraRoutes6?: pulumi.Input<{
410
+ [key: string]: pulumi.Input<inputs.device.SwitchExtraRoutes6>;
411
+ }>;
412
+ /**
413
+ * Junos IP Config
414
+ */
415
+ ipConfig?: pulumi.Input<inputs.device.SwitchIpConfig>;
416
+ /**
417
+ * for an adopted switch, we don’t overwrite their existing configs automatically
418
+ */
419
+ managed?: pulumi.Input<boolean>;
420
+ /**
421
+ * map where the device belongs to
422
+ */
423
+ mapId?: pulumi.Input<string>;
424
+ /**
425
+ * enable mistNac to use radsec
426
+ */
427
+ mistNac?: pulumi.Input<inputs.device.SwitchMistNac>;
428
+ name?: pulumi.Input<string>;
429
+ /**
430
+ * Property key is network name
431
+ */
432
+ networks?: pulumi.Input<{
433
+ [key: string]: pulumi.Input<inputs.device.SwitchNetworks>;
434
+ }>;
435
+ notes?: pulumi.Input<string>;
436
+ /**
437
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
438
+ */
439
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
440
+ /**
441
+ * - If HA configuration: key parameter will be nodeX (eg: node1) - If there are 2 routing engines, re1 mgmt IP has to be
442
+ * set separately (if desired): key parameter = `re1`
443
+ */
444
+ oobIpConfig?: pulumi.Input<inputs.device.SwitchOobIpConfig>;
445
+ /**
446
+ * Junos OSPF config
447
+ */
448
+ ospfConfig?: pulumi.Input<inputs.device.SwitchOspfConfig>;
449
+ /**
450
+ * Property key is the network name
451
+ */
452
+ otherIpConfigs?: pulumi.Input<{
453
+ [key: string]: pulumi.Input<inputs.device.SwitchOtherIpConfigs>;
454
+ }>;
455
+ /**
456
+ * Property key is the port name or range (e.g. "ge-0/0/0-10")
457
+ */
458
+ portConfig?: pulumi.Input<{
459
+ [key: string]: pulumi.Input<inputs.device.SwitchPortConfig>;
460
+ }>;
461
+ /**
462
+ * Property key is the port mirroring instance name portMirroring can be added under device/site settings. It takes
463
+ * interface and ports as input for ingress, interface as input for egress and can take interface and port as output.
464
+ */
465
+ portMirroring?: pulumi.Input<{
466
+ [key: string]: pulumi.Input<inputs.device.SwitchPortMirroring>;
467
+ }>;
468
+ portUsages?: pulumi.Input<{
469
+ [key: string]: pulumi.Input<inputs.device.SwitchPortUsages>;
470
+ }>;
471
+ /**
472
+ * Junos Radius config
473
+ */
474
+ radiusConfig?: pulumi.Input<inputs.device.SwitchRadiusConfig>;
475
+ remoteSyslog?: pulumi.Input<inputs.device.SwitchRemoteSyslog>;
476
+ role?: pulumi.Input<string>;
477
+ /**
478
+ * used for OSPF / BGP / EVPN
479
+ */
480
+ routerId?: pulumi.Input<string>;
481
+ siteId: pulumi.Input<string>;
482
+ snmpConfig?: pulumi.Input<inputs.device.SwitchSnmpConfig>;
483
+ stpConfig?: pulumi.Input<inputs.device.SwitchStpConfig>;
484
+ switchMgmt?: pulumi.Input<inputs.device.SwitchSwitchMgmt>;
485
+ /**
486
+ * whether to use it for snmp / syslog / tacplus / radius
487
+ */
488
+ useRouterIdAsSourceIp?: pulumi.Input<boolean>;
489
+ /**
490
+ * a dictionary of name->value, the vars can then be used in Wlans. This can overwrite those from Site Vars
491
+ */
492
+ vars?: pulumi.Input<{
493
+ [key: string]: pulumi.Input<string>;
494
+ }>;
495
+ /**
496
+ * required for preprovisioned Virtual Chassis
497
+ */
498
+ virtualChassis?: pulumi.Input<inputs.device.SwitchVirtualChassis>;
499
+ vrfConfig?: pulumi.Input<inputs.device.SwitchVrfConfig>;
500
+ /**
501
+ * Property key is the network name
502
+ */
503
+ vrfInstances?: pulumi.Input<{
504
+ [key: string]: pulumi.Input<inputs.device.SwitchVrfInstances>;
505
+ }>;
506
+ /**
507
+ * Junos VRRP config
508
+ */
509
+ vrrpConfig?: pulumi.Input<inputs.device.SwitchVrrpConfig>;
510
+ /**
511
+ * x in pixel
512
+ */
513
+ x?: pulumi.Input<number>;
514
+ /**
515
+ * y in pixel
516
+ */
517
+ y?: pulumi.Input<number>;
518
+ }
@@ -0,0 +1,158 @@
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.Switch = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages the Switch configuration.It can be used to define specific configuration at the device level or to override Org/Site Network template settings.
10
+ */
11
+ class Switch extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing Switch resource's state with the given name, ID, and optional extra
14
+ * properties used to qualify the lookup.
15
+ *
16
+ * @param name The _unique_ name of the resulting resource.
17
+ * @param id The _unique_ provider ID of the resource to lookup.
18
+ * @param state Any extra arguments used during the lookup.
19
+ * @param opts Optional settings to control the behavior of the CustomResource.
20
+ */
21
+ static get(name, id, state, opts) {
22
+ return new Switch(name, state, Object.assign(Object.assign({}, opts), { id: id }));
23
+ }
24
+ /**
25
+ * Returns true if the given object is an instance of Switch. This is designed to work even
26
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
27
+ */
28
+ static isInstance(obj) {
29
+ if (obj === undefined || obj === null) {
30
+ return false;
31
+ }
32
+ return obj['__pulumiType'] === Switch.__pulumiType;
33
+ }
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["aclPolicies"] = state ? state.aclPolicies : undefined;
40
+ resourceInputs["aclTags"] = state ? state.aclTags : undefined;
41
+ resourceInputs["additionalConfigCmds"] = state ? state.additionalConfigCmds : undefined;
42
+ resourceInputs["deviceId"] = state ? state.deviceId : undefined;
43
+ resourceInputs["deviceprofileId"] = state ? state.deviceprofileId : undefined;
44
+ resourceInputs["dhcpSnooping"] = state ? state.dhcpSnooping : undefined;
45
+ resourceInputs["dhcpdConfig"] = state ? state.dhcpdConfig : undefined;
46
+ resourceInputs["disableAutoConfig"] = state ? state.disableAutoConfig : undefined;
47
+ resourceInputs["dnsServers"] = state ? state.dnsServers : undefined;
48
+ resourceInputs["dnsSuffixes"] = state ? state.dnsSuffixes : undefined;
49
+ resourceInputs["evpnConfig"] = state ? state.evpnConfig : undefined;
50
+ resourceInputs["extraRoutes"] = state ? state.extraRoutes : undefined;
51
+ resourceInputs["extraRoutes6"] = state ? state.extraRoutes6 : undefined;
52
+ resourceInputs["image1Url"] = state ? state.image1Url : undefined;
53
+ resourceInputs["image2Url"] = state ? state.image2Url : undefined;
54
+ resourceInputs["image3Url"] = state ? state.image3Url : undefined;
55
+ resourceInputs["ipConfig"] = state ? state.ipConfig : undefined;
56
+ resourceInputs["mac"] = state ? state.mac : undefined;
57
+ resourceInputs["managed"] = state ? state.managed : undefined;
58
+ resourceInputs["mapId"] = state ? state.mapId : undefined;
59
+ resourceInputs["mistNac"] = state ? state.mistNac : undefined;
60
+ resourceInputs["model"] = state ? state.model : undefined;
61
+ resourceInputs["name"] = state ? state.name : undefined;
62
+ resourceInputs["networks"] = state ? state.networks : undefined;
63
+ resourceInputs["notes"] = state ? state.notes : undefined;
64
+ resourceInputs["ntpServers"] = state ? state.ntpServers : undefined;
65
+ resourceInputs["oobIpConfig"] = state ? state.oobIpConfig : undefined;
66
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
67
+ resourceInputs["ospfConfig"] = state ? state.ospfConfig : undefined;
68
+ resourceInputs["otherIpConfigs"] = state ? state.otherIpConfigs : undefined;
69
+ resourceInputs["portConfig"] = state ? state.portConfig : undefined;
70
+ resourceInputs["portMirroring"] = state ? state.portMirroring : undefined;
71
+ resourceInputs["portUsages"] = state ? state.portUsages : undefined;
72
+ resourceInputs["radiusConfig"] = state ? state.radiusConfig : undefined;
73
+ resourceInputs["remoteSyslog"] = state ? state.remoteSyslog : undefined;
74
+ resourceInputs["role"] = state ? state.role : undefined;
75
+ resourceInputs["routerId"] = state ? state.routerId : undefined;
76
+ resourceInputs["serial"] = state ? state.serial : undefined;
77
+ resourceInputs["siteId"] = state ? state.siteId : undefined;
78
+ resourceInputs["snmpConfig"] = state ? state.snmpConfig : undefined;
79
+ resourceInputs["stpConfig"] = state ? state.stpConfig : undefined;
80
+ resourceInputs["switchMgmt"] = state ? state.switchMgmt : undefined;
81
+ resourceInputs["type"] = state ? state.type : undefined;
82
+ resourceInputs["useRouterIdAsSourceIp"] = state ? state.useRouterIdAsSourceIp : undefined;
83
+ resourceInputs["vars"] = state ? state.vars : undefined;
84
+ resourceInputs["virtualChassis"] = state ? state.virtualChassis : undefined;
85
+ resourceInputs["vrfConfig"] = state ? state.vrfConfig : undefined;
86
+ resourceInputs["vrfInstances"] = state ? state.vrfInstances : undefined;
87
+ resourceInputs["vrrpConfig"] = state ? state.vrrpConfig : undefined;
88
+ resourceInputs["x"] = state ? state.x : undefined;
89
+ resourceInputs["y"] = state ? state.y : undefined;
90
+ }
91
+ else {
92
+ const args = argsOrState;
93
+ if ((!args || args.deviceId === undefined) && !opts.urn) {
94
+ throw new Error("Missing required property 'deviceId'");
95
+ }
96
+ if ((!args || args.siteId === undefined) && !opts.urn) {
97
+ throw new Error("Missing required property 'siteId'");
98
+ }
99
+ resourceInputs["aclPolicies"] = args ? args.aclPolicies : undefined;
100
+ resourceInputs["aclTags"] = args ? args.aclTags : undefined;
101
+ resourceInputs["additionalConfigCmds"] = args ? args.additionalConfigCmds : undefined;
102
+ resourceInputs["deviceId"] = args ? args.deviceId : undefined;
103
+ resourceInputs["dhcpSnooping"] = args ? args.dhcpSnooping : undefined;
104
+ resourceInputs["dhcpdConfig"] = args ? args.dhcpdConfig : undefined;
105
+ resourceInputs["disableAutoConfig"] = args ? args.disableAutoConfig : undefined;
106
+ resourceInputs["dnsServers"] = args ? args.dnsServers : undefined;
107
+ resourceInputs["dnsSuffixes"] = args ? args.dnsSuffixes : undefined;
108
+ resourceInputs["evpnConfig"] = args ? args.evpnConfig : undefined;
109
+ resourceInputs["extraRoutes"] = args ? args.extraRoutes : undefined;
110
+ resourceInputs["extraRoutes6"] = args ? args.extraRoutes6 : undefined;
111
+ resourceInputs["ipConfig"] = args ? args.ipConfig : undefined;
112
+ resourceInputs["managed"] = args ? args.managed : undefined;
113
+ resourceInputs["mapId"] = args ? args.mapId : undefined;
114
+ resourceInputs["mistNac"] = args ? args.mistNac : undefined;
115
+ resourceInputs["name"] = args ? args.name : undefined;
116
+ resourceInputs["networks"] = args ? args.networks : undefined;
117
+ resourceInputs["notes"] = args ? args.notes : undefined;
118
+ resourceInputs["ntpServers"] = args ? args.ntpServers : undefined;
119
+ resourceInputs["oobIpConfig"] = args ? args.oobIpConfig : undefined;
120
+ resourceInputs["ospfConfig"] = args ? args.ospfConfig : undefined;
121
+ resourceInputs["otherIpConfigs"] = args ? args.otherIpConfigs : undefined;
122
+ resourceInputs["portConfig"] = args ? args.portConfig : undefined;
123
+ resourceInputs["portMirroring"] = args ? args.portMirroring : undefined;
124
+ resourceInputs["portUsages"] = args ? args.portUsages : undefined;
125
+ resourceInputs["radiusConfig"] = args ? args.radiusConfig : undefined;
126
+ resourceInputs["remoteSyslog"] = args ? args.remoteSyslog : undefined;
127
+ resourceInputs["role"] = args ? args.role : undefined;
128
+ resourceInputs["routerId"] = args ? args.routerId : undefined;
129
+ resourceInputs["siteId"] = args ? args.siteId : undefined;
130
+ resourceInputs["snmpConfig"] = args ? args.snmpConfig : undefined;
131
+ resourceInputs["stpConfig"] = args ? args.stpConfig : undefined;
132
+ resourceInputs["switchMgmt"] = args ? args.switchMgmt : undefined;
133
+ resourceInputs["useRouterIdAsSourceIp"] = args ? args.useRouterIdAsSourceIp : undefined;
134
+ resourceInputs["vars"] = args ? args.vars : undefined;
135
+ resourceInputs["virtualChassis"] = args ? args.virtualChassis : undefined;
136
+ resourceInputs["vrfConfig"] = args ? args.vrfConfig : undefined;
137
+ resourceInputs["vrfInstances"] = args ? args.vrfInstances : undefined;
138
+ resourceInputs["vrrpConfig"] = args ? args.vrrpConfig : undefined;
139
+ resourceInputs["x"] = args ? args.x : undefined;
140
+ resourceInputs["y"] = args ? args.y : undefined;
141
+ resourceInputs["deviceprofileId"] = undefined /*out*/;
142
+ resourceInputs["image1Url"] = undefined /*out*/;
143
+ resourceInputs["image2Url"] = undefined /*out*/;
144
+ resourceInputs["image3Url"] = undefined /*out*/;
145
+ resourceInputs["mac"] = undefined /*out*/;
146
+ resourceInputs["model"] = undefined /*out*/;
147
+ resourceInputs["orgId"] = undefined /*out*/;
148
+ resourceInputs["serial"] = undefined /*out*/;
149
+ resourceInputs["type"] = undefined /*out*/;
150
+ }
151
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
152
+ super(Switch.__pulumiType, name, resourceInputs, opts);
153
+ }
154
+ }
155
+ exports.Switch = Switch;
156
+ /** @internal */
157
+ Switch.__pulumiType = 'junipermist:device/switch:Switch';
158
+ //# sourceMappingURL=switch.js.map