@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,81 @@
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.DeviceprofileAssign = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resourceis used to assign/unassign a device profile to one or multiple devicesThe `junipermist.org.DeviceprofileGateway` resource can be assigned to GatewaysThe `junipermist.org.DeviceprofileAp` resource can be assigned the Wireless Access Points
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 deviceprofileAssign = new junipermist.org.DeviceprofileAssign("deviceprofile_assign", {
18
+ * orgId: terraformTest.id,
19
+ * deviceprofileId: hubOne.id,
20
+ * macs: [
21
+ * "4c9614000000",
22
+ * "4c9614000001",
23
+ * ],
24
+ * });
25
+ * ```
26
+ */
27
+ class DeviceprofileAssign extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing DeviceprofileAssign 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, id, state, opts) {
38
+ return new DeviceprofileAssign(name, state, Object.assign(Object.assign({}, opts), { id: id }));
39
+ }
40
+ /**
41
+ * Returns true if the given object is an instance of DeviceprofileAssign. This is designed to work even
42
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
43
+ */
44
+ static isInstance(obj) {
45
+ if (obj === undefined || obj === null) {
46
+ return false;
47
+ }
48
+ return obj['__pulumiType'] === DeviceprofileAssign.__pulumiType;
49
+ }
50
+ constructor(name, argsOrState, opts) {
51
+ let resourceInputs = {};
52
+ opts = opts || {};
53
+ if (opts.id) {
54
+ const state = argsOrState;
55
+ resourceInputs["deviceprofileId"] = state ? state.deviceprofileId : undefined;
56
+ resourceInputs["macs"] = state ? state.macs : undefined;
57
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
58
+ }
59
+ else {
60
+ const args = argsOrState;
61
+ if ((!args || args.deviceprofileId === undefined) && !opts.urn) {
62
+ throw new Error("Missing required property 'deviceprofileId'");
63
+ }
64
+ if ((!args || args.macs === undefined) && !opts.urn) {
65
+ throw new Error("Missing required property 'macs'");
66
+ }
67
+ if ((!args || args.orgId === undefined) && !opts.urn) {
68
+ throw new Error("Missing required property 'orgId'");
69
+ }
70
+ resourceInputs["deviceprofileId"] = args ? args.deviceprofileId : undefined;
71
+ resourceInputs["macs"] = args ? args.macs : undefined;
72
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
73
+ }
74
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
75
+ super(DeviceprofileAssign.__pulumiType, name, resourceInputs, opts);
76
+ }
77
+ }
78
+ exports.DeviceprofileAssign = DeviceprofileAssign;
79
+ /** @internal */
80
+ DeviceprofileAssign.__pulumiType = 'junipermist:org/deviceprofileAssign:DeviceprofileAssign';
81
+ //# sourceMappingURL=deviceprofileAssign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceprofileAssign.js","sourceRoot":"","sources":["../../org/deviceprofileAssign.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,mBAAoB,SAAQ,MAAM,CAAC,cAAc;IAC1D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAgC,EAAE,IAAmC;QAC9H,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC1E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,CAAC,YAAY,CAAC;IACpE,CAAC;IAcD,YAAY,IAAY,EAAE,WAAgE,EAAE,IAAmC;QAC3H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAmD,CAAC;YAClE,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,GAAG,WAAkD,CAAC;YAChE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;;AAjEL,kDAkEC;AApDG,gBAAgB;AACO,gCAAY,GAAG,yDAAyD,CAAC"}
@@ -0,0 +1,325 @@
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 Device Profiles (HUB Profiles).A HUB profile is a configuration profile that automates the creation of overlay networks and defines the attributes of a hub device in a network. It includes settings for wan interfaces, lan interfaces, dns servers, traffic steering preferences, application policies, and routing options. HUB profiles are used to create consistent configurations for hub devices and ensure efficient connectivity between hubs and spokes in a network.
6
+ */
7
+ export declare class DeviceprofileGateway extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing DeviceprofileGateway 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?: DeviceprofileGatewayState, opts?: pulumi.CustomResourceOptions): DeviceprofileGateway;
18
+ /**
19
+ * Returns true if the given object is an instance of DeviceprofileGateway. 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 DeviceprofileGateway;
23
+ /**
24
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
25
+ */
26
+ readonly additionalConfigCmds: pulumi.Output<string[] | undefined>;
27
+ readonly bgpConfig: pulumi.Output<{
28
+ [key: string]: outputs.org.DeviceprofileGatewayBgpConfig;
29
+ } | undefined>;
30
+ readonly createdTime: pulumi.Output<number | undefined>;
31
+ readonly dhcpdConfig: pulumi.Output<outputs.org.DeviceprofileGatewayDhcpdConfig | undefined>;
32
+ readonly dnsOverride: pulumi.Output<boolean>;
33
+ /**
34
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
35
+ */
36
+ readonly dnsServers: pulumi.Output<string[] | undefined>;
37
+ /**
38
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
39
+ */
40
+ readonly dnsSuffixes: pulumi.Output<string[] | undefined>;
41
+ /**
42
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
43
+ */
44
+ readonly extraRoutes: pulumi.Output<{
45
+ [key: string]: outputs.org.DeviceprofileGatewayExtraRoutes;
46
+ } | undefined>;
47
+ /**
48
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
49
+ */
50
+ readonly extraRoutes6: pulumi.Output<{
51
+ [key: string]: outputs.org.DeviceprofileGatewayExtraRoutes6;
52
+ } | undefined>;
53
+ /**
54
+ * Property key is the profile name
55
+ */
56
+ readonly idpProfiles: pulumi.Output<{
57
+ [key: string]: outputs.org.DeviceprofileGatewayIdpProfiles;
58
+ } | undefined>;
59
+ /**
60
+ * Property key is the network name
61
+ */
62
+ readonly ipConfigs: pulumi.Output<{
63
+ [key: string]: outputs.org.DeviceprofileGatewayIpConfigs;
64
+ } | undefined>;
65
+ readonly modifiedTime: pulumi.Output<number | undefined>;
66
+ readonly name: pulumi.Output<string>;
67
+ readonly networks: pulumi.Output<outputs.org.DeviceprofileGatewayNetwork[] | undefined>;
68
+ readonly ntpOverride: pulumi.Output<boolean>;
69
+ /**
70
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
71
+ */
72
+ readonly ntpServers: pulumi.Output<string[] | undefined>;
73
+ /**
74
+ * out-of-band (vme/em0/fxp0) IP config
75
+ */
76
+ readonly oobIpConfig: pulumi.Output<outputs.org.DeviceprofileGatewayOobIpConfig | undefined>;
77
+ readonly orgId: pulumi.Output<string>;
78
+ /**
79
+ * Property key is the path name
80
+ */
81
+ readonly pathPreferences: pulumi.Output<{
82
+ [key: string]: outputs.org.DeviceprofileGatewayPathPreferences;
83
+ } | undefined>;
84
+ /**
85
+ * Property key is the port(s) name or range (e.g. "ge-0/0/0-10")
86
+ */
87
+ readonly portConfig: pulumi.Output<{
88
+ [key: string]: outputs.org.DeviceprofileGatewayPortConfig;
89
+ } | undefined>;
90
+ /**
91
+ * auto assigned if not set
92
+ */
93
+ readonly routerId: pulumi.Output<string | undefined>;
94
+ /**
95
+ * Property key is the routing policy name
96
+ */
97
+ readonly routingPolicies: pulumi.Output<{
98
+ [key: string]: outputs.org.DeviceprofileGatewayRoutingPolicies;
99
+ } | undefined>;
100
+ readonly servicePolicies: pulumi.Output<outputs.org.DeviceprofileGatewayServicePolicy[] | undefined>;
101
+ /**
102
+ * Property key is the tunnel name
103
+ */
104
+ readonly tunnelConfigs: pulumi.Output<{
105
+ [key: string]: outputs.org.DeviceprofileGatewayTunnelConfigs;
106
+ } | undefined>;
107
+ readonly tunnelProviderOptions: pulumi.Output<outputs.org.DeviceprofileGatewayTunnelProviderOptions | undefined>;
108
+ /**
109
+ * Device Type. enum: `gateway`
110
+ */
111
+ readonly type: pulumi.Output<string>;
112
+ readonly vrfConfig: pulumi.Output<outputs.org.DeviceprofileGatewayVrfConfig | undefined>;
113
+ /**
114
+ * Property key is the network name
115
+ */
116
+ readonly vrfInstances: pulumi.Output<{
117
+ [key: string]: outputs.org.DeviceprofileGatewayVrfInstances;
118
+ } | undefined>;
119
+ /**
120
+ * Create a DeviceprofileGateway resource with the given unique name, arguments, and options.
121
+ *
122
+ * @param name The _unique_ name of the resource.
123
+ * @param args The arguments to use to populate this resource's properties.
124
+ * @param opts A bag of options that control this resource's behavior.
125
+ */
126
+ constructor(name: string, args: DeviceprofileGatewayArgs, opts?: pulumi.CustomResourceOptions);
127
+ }
128
+ /**
129
+ * Input properties used for looking up and filtering DeviceprofileGateway resources.
130
+ */
131
+ export interface DeviceprofileGatewayState {
132
+ /**
133
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
134
+ */
135
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
136
+ bgpConfig?: pulumi.Input<{
137
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayBgpConfig>;
138
+ }>;
139
+ createdTime?: pulumi.Input<number>;
140
+ dhcpdConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayDhcpdConfig>;
141
+ dnsOverride?: pulumi.Input<boolean>;
142
+ /**
143
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
144
+ */
145
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
146
+ /**
147
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
148
+ */
149
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
150
+ /**
151
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
152
+ */
153
+ extraRoutes?: pulumi.Input<{
154
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes>;
155
+ }>;
156
+ /**
157
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
158
+ */
159
+ extraRoutes6?: pulumi.Input<{
160
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes6>;
161
+ }>;
162
+ /**
163
+ * Property key is the profile name
164
+ */
165
+ idpProfiles?: pulumi.Input<{
166
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIdpProfiles>;
167
+ }>;
168
+ /**
169
+ * Property key is the network name
170
+ */
171
+ ipConfigs?: pulumi.Input<{
172
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIpConfigs>;
173
+ }>;
174
+ modifiedTime?: pulumi.Input<number>;
175
+ name?: pulumi.Input<string>;
176
+ networks?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayNetwork>[]>;
177
+ ntpOverride?: pulumi.Input<boolean>;
178
+ /**
179
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
180
+ */
181
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
182
+ /**
183
+ * out-of-band (vme/em0/fxp0) IP config
184
+ */
185
+ oobIpConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayOobIpConfig>;
186
+ orgId?: pulumi.Input<string>;
187
+ /**
188
+ * Property key is the path name
189
+ */
190
+ pathPreferences?: pulumi.Input<{
191
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPathPreferences>;
192
+ }>;
193
+ /**
194
+ * Property key is the port(s) name or range (e.g. "ge-0/0/0-10")
195
+ */
196
+ portConfig?: pulumi.Input<{
197
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPortConfig>;
198
+ }>;
199
+ /**
200
+ * auto assigned if not set
201
+ */
202
+ routerId?: pulumi.Input<string>;
203
+ /**
204
+ * Property key is the routing policy name
205
+ */
206
+ routingPolicies?: pulumi.Input<{
207
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayRoutingPolicies>;
208
+ }>;
209
+ servicePolicies?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayServicePolicy>[]>;
210
+ /**
211
+ * Property key is the tunnel name
212
+ */
213
+ tunnelConfigs?: pulumi.Input<{
214
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelConfigs>;
215
+ }>;
216
+ tunnelProviderOptions?: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelProviderOptions>;
217
+ /**
218
+ * Device Type. enum: `gateway`
219
+ */
220
+ type?: pulumi.Input<string>;
221
+ vrfConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayVrfConfig>;
222
+ /**
223
+ * Property key is the network name
224
+ */
225
+ vrfInstances?: pulumi.Input<{
226
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayVrfInstances>;
227
+ }>;
228
+ }
229
+ /**
230
+ * The set of arguments for constructing a DeviceprofileGateway resource.
231
+ */
232
+ export interface DeviceprofileGatewayArgs {
233
+ /**
234
+ * additional CLI commands to append to the generated Junos config **Note**: no check is done
235
+ */
236
+ additionalConfigCmds?: pulumi.Input<pulumi.Input<string>[]>;
237
+ bgpConfig?: pulumi.Input<{
238
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayBgpConfig>;
239
+ }>;
240
+ createdTime?: pulumi.Input<number>;
241
+ dhcpdConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayDhcpdConfig>;
242
+ dnsOverride?: pulumi.Input<boolean>;
243
+ /**
244
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
245
+ */
246
+ dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
247
+ /**
248
+ * Global dns settings. To keep compatibility, dns settings in `ipConfig` and `oobIpConfig` will overwrite this setting
249
+ */
250
+ dnsSuffixes?: pulumi.Input<pulumi.Input<string>[]>;
251
+ /**
252
+ * Property key is the destination CIDR (e.g. "10.0.0.0/8")
253
+ */
254
+ extraRoutes?: pulumi.Input<{
255
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes>;
256
+ }>;
257
+ /**
258
+ * Property key is the destination CIDR (e.g. "2a02:1234:420a:10c9::/64")
259
+ */
260
+ extraRoutes6?: pulumi.Input<{
261
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayExtraRoutes6>;
262
+ }>;
263
+ /**
264
+ * Property key is the profile name
265
+ */
266
+ idpProfiles?: pulumi.Input<{
267
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIdpProfiles>;
268
+ }>;
269
+ /**
270
+ * Property key is the network name
271
+ */
272
+ ipConfigs?: pulumi.Input<{
273
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayIpConfigs>;
274
+ }>;
275
+ modifiedTime?: pulumi.Input<number>;
276
+ name?: pulumi.Input<string>;
277
+ networks?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayNetwork>[]>;
278
+ ntpOverride?: pulumi.Input<boolean>;
279
+ /**
280
+ * list of NTP servers specific to this device. By default, those in Site Settings will be used
281
+ */
282
+ ntpServers?: pulumi.Input<pulumi.Input<string>[]>;
283
+ /**
284
+ * out-of-band (vme/em0/fxp0) IP config
285
+ */
286
+ oobIpConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayOobIpConfig>;
287
+ orgId: pulumi.Input<string>;
288
+ /**
289
+ * Property key is the path name
290
+ */
291
+ pathPreferences?: pulumi.Input<{
292
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPathPreferences>;
293
+ }>;
294
+ /**
295
+ * Property key is the port(s) name or range (e.g. "ge-0/0/0-10")
296
+ */
297
+ portConfig?: pulumi.Input<{
298
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayPortConfig>;
299
+ }>;
300
+ /**
301
+ * auto assigned if not set
302
+ */
303
+ routerId?: pulumi.Input<string>;
304
+ /**
305
+ * Property key is the routing policy name
306
+ */
307
+ routingPolicies?: pulumi.Input<{
308
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayRoutingPolicies>;
309
+ }>;
310
+ servicePolicies?: pulumi.Input<pulumi.Input<inputs.org.DeviceprofileGatewayServicePolicy>[]>;
311
+ /**
312
+ * Property key is the tunnel name
313
+ */
314
+ tunnelConfigs?: pulumi.Input<{
315
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelConfigs>;
316
+ }>;
317
+ tunnelProviderOptions?: pulumi.Input<inputs.org.DeviceprofileGatewayTunnelProviderOptions>;
318
+ vrfConfig?: pulumi.Input<inputs.org.DeviceprofileGatewayVrfConfig>;
319
+ /**
320
+ * Property key is the network name
321
+ */
322
+ vrfInstances?: pulumi.Input<{
323
+ [key: string]: pulumi.Input<inputs.org.DeviceprofileGatewayVrfInstances>;
324
+ }>;
325
+ }
@@ -0,0 +1,109 @@
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.DeviceprofileGateway = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * This resource manages the Gateway Device Profiles (HUB Profiles).A HUB profile is a configuration profile that automates the creation of overlay networks and defines the attributes of a hub device in a network. It includes settings for wan interfaces, lan interfaces, dns servers, traffic steering preferences, application policies, and routing options. HUB profiles are used to create consistent configurations for hub devices and ensure efficient connectivity between hubs and spokes in a network.
10
+ */
11
+ class DeviceprofileGateway extends pulumi.CustomResource {
12
+ /**
13
+ * Get an existing DeviceprofileGateway 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 DeviceprofileGateway(name, state, Object.assign(Object.assign({}, opts), { id: id }));
23
+ }
24
+ /**
25
+ * Returns true if the given object is an instance of DeviceprofileGateway. 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'] === DeviceprofileGateway.__pulumiType;
33
+ }
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["additionalConfigCmds"] = state ? state.additionalConfigCmds : undefined;
40
+ resourceInputs["bgpConfig"] = state ? state.bgpConfig : undefined;
41
+ resourceInputs["createdTime"] = state ? state.createdTime : undefined;
42
+ resourceInputs["dhcpdConfig"] = state ? state.dhcpdConfig : undefined;
43
+ resourceInputs["dnsOverride"] = state ? state.dnsOverride : undefined;
44
+ resourceInputs["dnsServers"] = state ? state.dnsServers : undefined;
45
+ resourceInputs["dnsSuffixes"] = state ? state.dnsSuffixes : undefined;
46
+ resourceInputs["extraRoutes"] = state ? state.extraRoutes : undefined;
47
+ resourceInputs["extraRoutes6"] = state ? state.extraRoutes6 : undefined;
48
+ resourceInputs["idpProfiles"] = state ? state.idpProfiles : undefined;
49
+ resourceInputs["ipConfigs"] = state ? state.ipConfigs : undefined;
50
+ resourceInputs["modifiedTime"] = state ? state.modifiedTime : undefined;
51
+ resourceInputs["name"] = state ? state.name : undefined;
52
+ resourceInputs["networks"] = state ? state.networks : undefined;
53
+ resourceInputs["ntpOverride"] = state ? state.ntpOverride : undefined;
54
+ resourceInputs["ntpServers"] = state ? state.ntpServers : undefined;
55
+ resourceInputs["oobIpConfig"] = state ? state.oobIpConfig : undefined;
56
+ resourceInputs["orgId"] = state ? state.orgId : undefined;
57
+ resourceInputs["pathPreferences"] = state ? state.pathPreferences : undefined;
58
+ resourceInputs["portConfig"] = state ? state.portConfig : undefined;
59
+ resourceInputs["routerId"] = state ? state.routerId : undefined;
60
+ resourceInputs["routingPolicies"] = state ? state.routingPolicies : undefined;
61
+ resourceInputs["servicePolicies"] = state ? state.servicePolicies : undefined;
62
+ resourceInputs["tunnelConfigs"] = state ? state.tunnelConfigs : undefined;
63
+ resourceInputs["tunnelProviderOptions"] = state ? state.tunnelProviderOptions : undefined;
64
+ resourceInputs["type"] = state ? state.type : undefined;
65
+ resourceInputs["vrfConfig"] = state ? state.vrfConfig : undefined;
66
+ resourceInputs["vrfInstances"] = state ? state.vrfInstances : 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
+ resourceInputs["additionalConfigCmds"] = args ? args.additionalConfigCmds : undefined;
74
+ resourceInputs["bgpConfig"] = args ? args.bgpConfig : undefined;
75
+ resourceInputs["createdTime"] = args ? args.createdTime : undefined;
76
+ resourceInputs["dhcpdConfig"] = args ? args.dhcpdConfig : undefined;
77
+ resourceInputs["dnsOverride"] = args ? args.dnsOverride : undefined;
78
+ resourceInputs["dnsServers"] = args ? args.dnsServers : undefined;
79
+ resourceInputs["dnsSuffixes"] = args ? args.dnsSuffixes : undefined;
80
+ resourceInputs["extraRoutes"] = args ? args.extraRoutes : undefined;
81
+ resourceInputs["extraRoutes6"] = args ? args.extraRoutes6 : undefined;
82
+ resourceInputs["idpProfiles"] = args ? args.idpProfiles : undefined;
83
+ resourceInputs["ipConfigs"] = args ? args.ipConfigs : undefined;
84
+ resourceInputs["modifiedTime"] = args ? args.modifiedTime : undefined;
85
+ resourceInputs["name"] = args ? args.name : undefined;
86
+ resourceInputs["networks"] = args ? args.networks : undefined;
87
+ resourceInputs["ntpOverride"] = args ? args.ntpOverride : undefined;
88
+ resourceInputs["ntpServers"] = args ? args.ntpServers : undefined;
89
+ resourceInputs["oobIpConfig"] = args ? args.oobIpConfig : undefined;
90
+ resourceInputs["orgId"] = args ? args.orgId : undefined;
91
+ resourceInputs["pathPreferences"] = args ? args.pathPreferences : undefined;
92
+ resourceInputs["portConfig"] = args ? args.portConfig : undefined;
93
+ resourceInputs["routerId"] = args ? args.routerId : undefined;
94
+ resourceInputs["routingPolicies"] = args ? args.routingPolicies : undefined;
95
+ resourceInputs["servicePolicies"] = args ? args.servicePolicies : undefined;
96
+ resourceInputs["tunnelConfigs"] = args ? args.tunnelConfigs : undefined;
97
+ resourceInputs["tunnelProviderOptions"] = args ? args.tunnelProviderOptions : undefined;
98
+ resourceInputs["vrfConfig"] = args ? args.vrfConfig : undefined;
99
+ resourceInputs["vrfInstances"] = args ? args.vrfInstances : undefined;
100
+ resourceInputs["type"] = undefined /*out*/;
101
+ }
102
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
103
+ super(DeviceprofileGateway.__pulumiType, name, resourceInputs, opts);
104
+ }
105
+ }
106
+ exports.DeviceprofileGateway = DeviceprofileGateway;
107
+ /** @internal */
108
+ DeviceprofileGateway.__pulumiType = 'junipermist:org/deviceprofileGateway:DeviceprofileGateway';
109
+ //# sourceMappingURL=deviceprofileGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceprofileGateway.js","sourceRoot":"","sources":["../../org/deviceprofileGateway.ts"],"names":[],"mappings":"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"}