@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,225 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource manages NAC Tags (Auth Policy Labels).The NAC Tags can be used in the NAC Rules to define the matching criterias or the returned RADIUS Attributes
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as junipermist from "@pulumi/juniper-mist";
10
+ *
11
+ * const tagOne = new junipermist.org.Nactag("tag_one", {
12
+ * name: "tag_one",
13
+ * type: "match",
14
+ * match: "client_mac",
15
+ * orgId: terraformTest.id,
16
+ * values: ["5c5b35*"],
17
+ * });
18
+ * ```
19
+ */
20
+ export declare class Nactag extends pulumi.CustomResource {
21
+ /**
22
+ * Get an existing Nactag resource's state with the given name, ID, and optional extra
23
+ * properties used to qualify the lookup.
24
+ *
25
+ * @param name The _unique_ name of the resulting resource.
26
+ * @param id The _unique_ provider ID of the resource to lookup.
27
+ * @param state Any extra arguments used during the lookup.
28
+ * @param opts Optional settings to control the behavior of the CustomResource.
29
+ */
30
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NactagState, opts?: pulumi.CustomResourceOptions): Nactag;
31
+ /**
32
+ * Returns true if the given object is an instance of Nactag. This is designed to work even
33
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
34
+ */
35
+ static isInstance(obj: any): obj is Nactag;
36
+ /**
37
+ * can be set to true to allow the override by usermac result
38
+ */
39
+ readonly allowUsermacOverride: pulumi.Output<boolean>;
40
+ /**
41
+ * if `type`==`egressVlanNames`, list of egress vlans to return
42
+ */
43
+ readonly egressVlanNames: pulumi.Output<string[] | undefined>;
44
+ /**
45
+ * if `type`==`gbpTag`
46
+ */
47
+ readonly gbpTag: pulumi.Output<number | undefined>;
48
+ /**
49
+ * if `type`==`match`. enum: `certCn`, `certIssuer`, `certSan`, `certSerial`, `certSub`, `clientMac`, `idpRole`,
50
+ * `mdmStatus`, `radiusGroup`, `realm`, `ssid`, `userName`, `usermacLabel`
51
+ */
52
+ readonly match: pulumi.Output<string | undefined>;
53
+ /**
54
+ * This field is applicable only when `type`==`match` * `false`: means it is sufficient to match any of the values (i.e.,
55
+ * match-any behavior) * `true`: means all values should be matched (i.e., match-all behavior) Currently it makes sense to
56
+ * set this field to `true` only if the `match`==`idpRole` or `match`==`usermacLabel`'
57
+ */
58
+ readonly matchAll: pulumi.Output<boolean>;
59
+ readonly name: pulumi.Output<string>;
60
+ readonly orgId: pulumi.Output<string>;
61
+ /**
62
+ * if `type`==`radiusAttrs`, user can specify a list of one or more standard attributes in the field "radiusAttrs". It is
63
+ * the responsibility of the user to provide a syntactically correct string, otherwise it may not work as expected. Note
64
+ * that it is allowed to have more than one radiusAttrs in the result of a given rule.
65
+ */
66
+ readonly radiusAttrs: pulumi.Output<string[] | undefined>;
67
+ /**
68
+ * if `type`==`radiusGroup`
69
+ */
70
+ readonly radiusGroup: pulumi.Output<string | undefined>;
71
+ /**
72
+ * if `type`==`radiusVendorAttrs`, user can specify a list of one or more vendor-specific attributes in the field
73
+ * "radiusVendorAttrs". It is the responsibility of the user to provide a syntactically correct string, otherwise it may
74
+ * not work as expected. Note that it is allowed to have more than one radiusVendorAttrs in the result of a given rule.
75
+ */
76
+ readonly radiusVendorAttrs: pulumi.Output<string[] | undefined>;
77
+ /**
78
+ * if `type`==`session_timeout, in seconds
79
+ */
80
+ readonly sessionTimeout: pulumi.Output<number | undefined>;
81
+ /**
82
+ * enum: `egressVlanNames`, `gbpTag`, `match`, `radiusAttrs`, `radiusGroup`, `radiusVendorAttrs`, `sessionTimeout`, `vlan`
83
+ */
84
+ readonly type: pulumi.Output<string>;
85
+ /**
86
+ * if `type`==`match`
87
+ */
88
+ readonly values: pulumi.Output<string[] | undefined>;
89
+ /**
90
+ * if `type`==`vlan`
91
+ */
92
+ readonly vlan: pulumi.Output<string | undefined>;
93
+ /**
94
+ * Create a Nactag resource with the given unique name, arguments, and options.
95
+ *
96
+ * @param name The _unique_ name of the resource.
97
+ * @param args The arguments to use to populate this resource's properties.
98
+ * @param opts A bag of options that control this resource's behavior.
99
+ */
100
+ constructor(name: string, args: NactagArgs, opts?: pulumi.CustomResourceOptions);
101
+ }
102
+ /**
103
+ * Input properties used for looking up and filtering Nactag resources.
104
+ */
105
+ export interface NactagState {
106
+ /**
107
+ * can be set to true to allow the override by usermac result
108
+ */
109
+ allowUsermacOverride?: pulumi.Input<boolean>;
110
+ /**
111
+ * if `type`==`egressVlanNames`, list of egress vlans to return
112
+ */
113
+ egressVlanNames?: pulumi.Input<pulumi.Input<string>[]>;
114
+ /**
115
+ * if `type`==`gbpTag`
116
+ */
117
+ gbpTag?: pulumi.Input<number>;
118
+ /**
119
+ * if `type`==`match`. enum: `certCn`, `certIssuer`, `certSan`, `certSerial`, `certSub`, `clientMac`, `idpRole`,
120
+ * `mdmStatus`, `radiusGroup`, `realm`, `ssid`, `userName`, `usermacLabel`
121
+ */
122
+ match?: pulumi.Input<string>;
123
+ /**
124
+ * This field is applicable only when `type`==`match` * `false`: means it is sufficient to match any of the values (i.e.,
125
+ * match-any behavior) * `true`: means all values should be matched (i.e., match-all behavior) Currently it makes sense to
126
+ * set this field to `true` only if the `match`==`idpRole` or `match`==`usermacLabel`'
127
+ */
128
+ matchAll?: pulumi.Input<boolean>;
129
+ name?: pulumi.Input<string>;
130
+ orgId?: pulumi.Input<string>;
131
+ /**
132
+ * if `type`==`radiusAttrs`, user can specify a list of one or more standard attributes in the field "radiusAttrs". It is
133
+ * the responsibility of the user to provide a syntactically correct string, otherwise it may not work as expected. Note
134
+ * that it is allowed to have more than one radiusAttrs in the result of a given rule.
135
+ */
136
+ radiusAttrs?: pulumi.Input<pulumi.Input<string>[]>;
137
+ /**
138
+ * if `type`==`radiusGroup`
139
+ */
140
+ radiusGroup?: pulumi.Input<string>;
141
+ /**
142
+ * if `type`==`radiusVendorAttrs`, user can specify a list of one or more vendor-specific attributes in the field
143
+ * "radiusVendorAttrs". It is the responsibility of the user to provide a syntactically correct string, otherwise it may
144
+ * not work as expected. Note that it is allowed to have more than one radiusVendorAttrs in the result of a given rule.
145
+ */
146
+ radiusVendorAttrs?: pulumi.Input<pulumi.Input<string>[]>;
147
+ /**
148
+ * if `type`==`session_timeout, in seconds
149
+ */
150
+ sessionTimeout?: pulumi.Input<number>;
151
+ /**
152
+ * enum: `egressVlanNames`, `gbpTag`, `match`, `radiusAttrs`, `radiusGroup`, `radiusVendorAttrs`, `sessionTimeout`, `vlan`
153
+ */
154
+ type?: pulumi.Input<string>;
155
+ /**
156
+ * if `type`==`match`
157
+ */
158
+ values?: pulumi.Input<pulumi.Input<string>[]>;
159
+ /**
160
+ * if `type`==`vlan`
161
+ */
162
+ vlan?: pulumi.Input<string>;
163
+ }
164
+ /**
165
+ * The set of arguments for constructing a Nactag resource.
166
+ */
167
+ export interface NactagArgs {
168
+ /**
169
+ * can be set to true to allow the override by usermac result
170
+ */
171
+ allowUsermacOverride?: pulumi.Input<boolean>;
172
+ /**
173
+ * if `type`==`egressVlanNames`, list of egress vlans to return
174
+ */
175
+ egressVlanNames?: pulumi.Input<pulumi.Input<string>[]>;
176
+ /**
177
+ * if `type`==`gbpTag`
178
+ */
179
+ gbpTag?: pulumi.Input<number>;
180
+ /**
181
+ * if `type`==`match`. enum: `certCn`, `certIssuer`, `certSan`, `certSerial`, `certSub`, `clientMac`, `idpRole`,
182
+ * `mdmStatus`, `radiusGroup`, `realm`, `ssid`, `userName`, `usermacLabel`
183
+ */
184
+ match?: pulumi.Input<string>;
185
+ /**
186
+ * This field is applicable only when `type`==`match` * `false`: means it is sufficient to match any of the values (i.e.,
187
+ * match-any behavior) * `true`: means all values should be matched (i.e., match-all behavior) Currently it makes sense to
188
+ * set this field to `true` only if the `match`==`idpRole` or `match`==`usermacLabel`'
189
+ */
190
+ matchAll?: pulumi.Input<boolean>;
191
+ name?: pulumi.Input<string>;
192
+ orgId: pulumi.Input<string>;
193
+ /**
194
+ * if `type`==`radiusAttrs`, user can specify a list of one or more standard attributes in the field "radiusAttrs". It is
195
+ * the responsibility of the user to provide a syntactically correct string, otherwise it may not work as expected. Note
196
+ * that it is allowed to have more than one radiusAttrs in the result of a given rule.
197
+ */
198
+ radiusAttrs?: pulumi.Input<pulumi.Input<string>[]>;
199
+ /**
200
+ * if `type`==`radiusGroup`
201
+ */
202
+ radiusGroup?: pulumi.Input<string>;
203
+ /**
204
+ * if `type`==`radiusVendorAttrs`, user can specify a list of one or more vendor-specific attributes in the field
205
+ * "radiusVendorAttrs". It is the responsibility of the user to provide a syntactically correct string, otherwise it may
206
+ * not work as expected. Note that it is allowed to have more than one radiusVendorAttrs in the result of a given rule.
207
+ */
208
+ radiusVendorAttrs?: pulumi.Input<pulumi.Input<string>[]>;
209
+ /**
210
+ * if `type`==`session_timeout, in seconds
211
+ */
212
+ sessionTimeout?: pulumi.Input<number>;
213
+ /**
214
+ * enum: `egressVlanNames`, `gbpTag`, `match`, `radiusAttrs`, `radiusGroup`, `radiusVendorAttrs`, `sessionTimeout`, `vlan`
215
+ */
216
+ type: pulumi.Input<string>;
217
+ /**
218
+ * if `type`==`match`
219
+ */
220
+ values?: pulumi.Input<pulumi.Input<string>[]>;
221
+ /**
222
+ * if `type`==`vlan`
223
+ */
224
+ vlan?: pulumi.Input<string>;
225
+ }
package/org/nactag.js ADDED
@@ -0,0 +1,99 @@
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.Nactag = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages NAC Tags (Auth Policy Labels).The NAC Tags can be used in the NAC Rules to define the matching criterias or the returned RADIUS Attributes
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 tagOne = new junipermist.org.Nactag("tag_one", {
18
+ * name: "tag_one",
19
+ * type: "match",
20
+ * match: "client_mac",
21
+ * orgId: terraformTest.id,
22
+ * values: ["5c5b35*"],
23
+ * });
24
+ * ```
25
+ */
26
+ class Nactag extends pulumi.CustomResource {
27
+ /**
28
+ * Get an existing Nactag resource's state with the given name, ID, and optional extra
29
+ * properties used to qualify the lookup.
30
+ *
31
+ * @param name The _unique_ name of the resulting resource.
32
+ * @param id The _unique_ provider ID of the resource to lookup.
33
+ * @param state Any extra arguments used during the lookup.
34
+ * @param opts Optional settings to control the behavior of the CustomResource.
35
+ */
36
+ static get(name, id, state, opts) {
37
+ return new Nactag(name, state, Object.assign(Object.assign({}, opts), { id: id }));
38
+ }
39
+ /**
40
+ * Returns true if the given object is an instance of Nactag. This is designed to work even
41
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
42
+ */
43
+ static isInstance(obj) {
44
+ if (obj === undefined || obj === null) {
45
+ return false;
46
+ }
47
+ return obj['__pulumiType'] === Nactag.__pulumiType;
48
+ }
49
+ constructor(name, argsOrState, opts) {
50
+ let resourceInputs = {};
51
+ opts = opts || {};
52
+ if (opts.id) {
53
+ const state = argsOrState;
54
+ resourceInputs["allowUsermacOverride"] = state ? state.allowUsermacOverride : undefined;
55
+ resourceInputs["egressVlanNames"] = state ? state.egressVlanNames : undefined;
56
+ resourceInputs["gbpTag"] = state ? state.gbpTag : undefined;
57
+ resourceInputs["match"] = state ? state.match : undefined;
58
+ resourceInputs["matchAll"] = state ? state.matchAll : undefined;
59
+ resourceInputs["name"] = state ? state.name : undefined;
60
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
61
+ resourceInputs["radiusAttrs"] = state ? state.radiusAttrs : undefined;
62
+ resourceInputs["radiusGroup"] = state ? state.radiusGroup : undefined;
63
+ resourceInputs["radiusVendorAttrs"] = state ? state.radiusVendorAttrs : undefined;
64
+ resourceInputs["sessionTimeout"] = state ? state.sessionTimeout : undefined;
65
+ resourceInputs["type"] = state ? state.type : undefined;
66
+ resourceInputs["values"] = state ? state.values : undefined;
67
+ resourceInputs["vlan"] = state ? state.vlan : undefined;
68
+ }
69
+ else {
70
+ const args = argsOrState;
71
+ if ((!args || args.orgId === undefined) && !opts.urn) {
72
+ throw new Error("Missing required property 'orgId'");
73
+ }
74
+ if ((!args || args.type === undefined) && !opts.urn) {
75
+ throw new Error("Missing required property 'type'");
76
+ }
77
+ resourceInputs["allowUsermacOverride"] = args ? args.allowUsermacOverride : undefined;
78
+ resourceInputs["egressVlanNames"] = args ? args.egressVlanNames : undefined;
79
+ resourceInputs["gbpTag"] = args ? args.gbpTag : undefined;
80
+ resourceInputs["match"] = args ? args.match : undefined;
81
+ resourceInputs["matchAll"] = args ? args.matchAll : undefined;
82
+ resourceInputs["name"] = args ? args.name : undefined;
83
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
84
+ resourceInputs["radiusAttrs"] = args ? args.radiusAttrs : undefined;
85
+ resourceInputs["radiusGroup"] = args ? args.radiusGroup : undefined;
86
+ resourceInputs["radiusVendorAttrs"] = args ? args.radiusVendorAttrs : undefined;
87
+ resourceInputs["sessionTimeout"] = args ? args.sessionTimeout : undefined;
88
+ resourceInputs["type"] = args ? args.type : undefined;
89
+ resourceInputs["values"] = args ? args.values : undefined;
90
+ resourceInputs["vlan"] = args ? args.vlan : undefined;
91
+ }
92
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
93
+ super(Nactag.__pulumiType, name, resourceInputs, opts);
94
+ }
95
+ }
96
+ exports.Nactag = Nactag;
97
+ /** @internal */
98
+ Nactag.__pulumiType = 'junipermist:org/nactag:Nactag';
99
+ //# sourceMappingURL=nactag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nactag.js","sourceRoot":"","sources":["../../org/nactag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
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 WAN Assurance Networks.The Networks are used in the `servicePolicies` from the Gateway configuration and Gateway templates
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 networkOne = new junipermist.org.Network("network_one", {
14
+ * orgId: terraformTest.id,
15
+ * name: "network_one",
16
+ * subnet: "10.4.0.0/24",
17
+ * disallowMistServices: false,
18
+ * });
19
+ * ```
20
+ */
21
+ export declare class Network extends pulumi.CustomResource {
22
+ /**
23
+ * Get an existing Network resource's state with the given name, ID, and optional extra
24
+ * properties used to qualify the lookup.
25
+ *
26
+ * @param name The _unique_ name of the resulting resource.
27
+ * @param id The _unique_ provider ID of the resource to lookup.
28
+ * @param state Any extra arguments used during the lookup.
29
+ * @param opts Optional settings to control the behavior of the CustomResource.
30
+ */
31
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetworkState, opts?: pulumi.CustomResourceOptions): Network;
32
+ /**
33
+ * Returns true if the given object is an instance of Network. This is designed to work even
34
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
35
+ */
36
+ static isInstance(obj: any): obj is Network;
37
+ /**
38
+ * whether to disallow Mist Devices in the network
39
+ */
40
+ readonly disallowMistServices: pulumi.Output<boolean>;
41
+ readonly gateway: pulumi.Output<string | undefined>;
42
+ readonly gateway6: pulumi.Output<string | undefined>;
43
+ readonly internalAccess: pulumi.Output<outputs.org.NetworkInternalAccess | undefined>;
44
+ /**
45
+ * whether this network has direct internet access
46
+ */
47
+ readonly internetAccess: pulumi.Output<outputs.org.NetworkInternetAccess | undefined>;
48
+ /**
49
+ * whether to allow clients in the network to talk to each other
50
+ */
51
+ readonly isolation: pulumi.Output<boolean | undefined>;
52
+ readonly name: pulumi.Output<string>;
53
+ readonly orgId: pulumi.Output<string>;
54
+ /**
55
+ * for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
56
+ */
57
+ readonly routedForNetworks: pulumi.Output<string[] | undefined>;
58
+ readonly subnet: pulumi.Output<string>;
59
+ readonly subnet6: pulumi.Output<string | undefined>;
60
+ readonly tenants: pulumi.Output<{
61
+ [key: string]: outputs.org.NetworkTenants;
62
+ } | undefined>;
63
+ readonly vlanId: pulumi.Output<string | undefined>;
64
+ /**
65
+ * Property key is the VPN name. Whether this network can be accessed from vpn
66
+ */
67
+ readonly vpnAccess: pulumi.Output<{
68
+ [key: string]: outputs.org.NetworkVpnAccess;
69
+ } | undefined>;
70
+ /**
71
+ * Create a Network resource with the given unique name, arguments, and options.
72
+ *
73
+ * @param name The _unique_ name of the resource.
74
+ * @param args The arguments to use to populate this resource's properties.
75
+ * @param opts A bag of options that control this resource's behavior.
76
+ */
77
+ constructor(name: string, args: NetworkArgs, opts?: pulumi.CustomResourceOptions);
78
+ }
79
+ /**
80
+ * Input properties used for looking up and filtering Network resources.
81
+ */
82
+ export interface NetworkState {
83
+ /**
84
+ * whether to disallow Mist Devices in the network
85
+ */
86
+ disallowMistServices?: pulumi.Input<boolean>;
87
+ gateway?: pulumi.Input<string>;
88
+ gateway6?: pulumi.Input<string>;
89
+ internalAccess?: pulumi.Input<inputs.org.NetworkInternalAccess>;
90
+ /**
91
+ * whether this network has direct internet access
92
+ */
93
+ internetAccess?: pulumi.Input<inputs.org.NetworkInternetAccess>;
94
+ /**
95
+ * whether to allow clients in the network to talk to each other
96
+ */
97
+ isolation?: pulumi.Input<boolean>;
98
+ name?: pulumi.Input<string>;
99
+ orgId?: pulumi.Input<string>;
100
+ /**
101
+ * for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
102
+ */
103
+ routedForNetworks?: pulumi.Input<pulumi.Input<string>[]>;
104
+ subnet?: pulumi.Input<string>;
105
+ subnet6?: pulumi.Input<string>;
106
+ tenants?: pulumi.Input<{
107
+ [key: string]: pulumi.Input<inputs.org.NetworkTenants>;
108
+ }>;
109
+ vlanId?: pulumi.Input<string>;
110
+ /**
111
+ * Property key is the VPN name. Whether this network can be accessed from vpn
112
+ */
113
+ vpnAccess?: pulumi.Input<{
114
+ [key: string]: pulumi.Input<inputs.org.NetworkVpnAccess>;
115
+ }>;
116
+ }
117
+ /**
118
+ * The set of arguments for constructing a Network resource.
119
+ */
120
+ export interface NetworkArgs {
121
+ /**
122
+ * whether to disallow Mist Devices in the network
123
+ */
124
+ disallowMistServices?: pulumi.Input<boolean>;
125
+ gateway?: pulumi.Input<string>;
126
+ gateway6?: pulumi.Input<string>;
127
+ internalAccess?: pulumi.Input<inputs.org.NetworkInternalAccess>;
128
+ /**
129
+ * whether this network has direct internet access
130
+ */
131
+ internetAccess?: pulumi.Input<inputs.org.NetworkInternetAccess>;
132
+ /**
133
+ * whether to allow clients in the network to talk to each other
134
+ */
135
+ isolation?: pulumi.Input<boolean>;
136
+ name?: pulumi.Input<string>;
137
+ orgId: pulumi.Input<string>;
138
+ /**
139
+ * for a Network (usually LAN), it can be routable to other networks (e.g. OSPF)
140
+ */
141
+ routedForNetworks?: pulumi.Input<pulumi.Input<string>[]>;
142
+ subnet: pulumi.Input<string>;
143
+ subnet6?: pulumi.Input<string>;
144
+ tenants?: pulumi.Input<{
145
+ [key: string]: pulumi.Input<inputs.org.NetworkTenants>;
146
+ }>;
147
+ vlanId?: pulumi.Input<string>;
148
+ /**
149
+ * Property key is the VPN name. Whether this network can be accessed from vpn
150
+ */
151
+ vpnAccess?: pulumi.Input<{
152
+ [key: string]: pulumi.Input<inputs.org.NetworkVpnAccess>;
153
+ }>;
154
+ }
package/org/network.js ADDED
@@ -0,0 +1,98 @@
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.Network = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages the WAN Assurance Networks.The Networks are used in the `servicePolicies` from the Gateway configuration and Gateway templates
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 networkOne = new junipermist.org.Network("network_one", {
18
+ * orgId: terraformTest.id,
19
+ * name: "network_one",
20
+ * subnet: "10.4.0.0/24",
21
+ * disallowMistServices: false,
22
+ * });
23
+ * ```
24
+ */
25
+ class Network extends pulumi.CustomResource {
26
+ /**
27
+ * Get an existing Network 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, id, state, opts) {
36
+ return new Network(name, state, Object.assign(Object.assign({}, opts), { id: id }));
37
+ }
38
+ /**
39
+ * Returns true if the given object is an instance of Network. 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) {
43
+ if (obj === undefined || obj === null) {
44
+ return false;
45
+ }
46
+ return obj['__pulumiType'] === Network.__pulumiType;
47
+ }
48
+ constructor(name, argsOrState, opts) {
49
+ let resourceInputs = {};
50
+ opts = opts || {};
51
+ if (opts.id) {
52
+ const state = argsOrState;
53
+ resourceInputs["disallowMistServices"] = state ? state.disallowMistServices : undefined;
54
+ resourceInputs["gateway"] = state ? state.gateway : undefined;
55
+ resourceInputs["gateway6"] = state ? state.gateway6 : undefined;
56
+ resourceInputs["internalAccess"] = state ? state.internalAccess : undefined;
57
+ resourceInputs["internetAccess"] = state ? state.internetAccess : undefined;
58
+ resourceInputs["isolation"] = state ? state.isolation : undefined;
59
+ resourceInputs["name"] = state ? state.name : undefined;
60
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
61
+ resourceInputs["routedForNetworks"] = state ? state.routedForNetworks : undefined;
62
+ resourceInputs["subnet"] = state ? state.subnet : undefined;
63
+ resourceInputs["subnet6"] = state ? state.subnet6 : undefined;
64
+ resourceInputs["tenants"] = state ? state.tenants : undefined;
65
+ resourceInputs["vlanId"] = state ? state.vlanId : undefined;
66
+ resourceInputs["vpnAccess"] = state ? state.vpnAccess : undefined;
67
+ }
68
+ else {
69
+ const args = argsOrState;
70
+ if ((!args || args.orgId === undefined) && !opts.urn) {
71
+ throw new Error("Missing required property 'orgId'");
72
+ }
73
+ if ((!args || args.subnet === undefined) && !opts.urn) {
74
+ throw new Error("Missing required property 'subnet'");
75
+ }
76
+ resourceInputs["disallowMistServices"] = args ? args.disallowMistServices : undefined;
77
+ resourceInputs["gateway"] = args ? args.gateway : undefined;
78
+ resourceInputs["gateway6"] = args ? args.gateway6 : undefined;
79
+ resourceInputs["internalAccess"] = args ? args.internalAccess : undefined;
80
+ resourceInputs["internetAccess"] = args ? args.internetAccess : undefined;
81
+ resourceInputs["isolation"] = args ? args.isolation : undefined;
82
+ resourceInputs["name"] = args ? args.name : undefined;
83
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
84
+ resourceInputs["routedForNetworks"] = args ? args.routedForNetworks : undefined;
85
+ resourceInputs["subnet"] = args ? args.subnet : undefined;
86
+ resourceInputs["subnet6"] = args ? args.subnet6 : undefined;
87
+ resourceInputs["tenants"] = args ? args.tenants : undefined;
88
+ resourceInputs["vlanId"] = args ? args.vlanId : undefined;
89
+ resourceInputs["vpnAccess"] = args ? args.vpnAccess : undefined;
90
+ }
91
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
92
+ super(Network.__pulumiType, name, resourceInputs, opts);
93
+ }
94
+ }
95
+ exports.Network = Network;
96
+ /** @internal */
97
+ Network.__pulumiType = 'junipermist:org/network:Network';
98
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../org/network.ts"],"names":[],"mappings":"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"}