@pulumi/f5bigip 3.4.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 (219) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +60 -0
  3. package/as3.d.ts +575 -0
  4. package/as3.js +524 -0
  5. package/as3.js.map +1 -0
  6. package/bigIqAs3.d.ts +153 -0
  7. package/bigIqAs3.js +97 -0
  8. package/bigIqAs3.js.map +1 -0
  9. package/cm/device.d.ts +102 -0
  10. package/cm/device.js +80 -0
  11. package/cm/device.js.map +1 -0
  12. package/cm/deviceGroup.d.ts +182 -0
  13. package/cm/deviceGroup.js +93 -0
  14. package/cm/deviceGroup.js.map +1 -0
  15. package/cm/index.d.ts +2 -0
  16. package/cm/index.js +31 -0
  17. package/cm/index.js.map +1 -0
  18. package/command.d.ts +80 -0
  19. package/command.js +74 -0
  20. package/command.js.map +1 -0
  21. package/commonLicenseManageBigIq.d.ts +291 -0
  22. package/commonLicenseManageBigIq.js +158 -0
  23. package/commonLicenseManageBigIq.js.map +1 -0
  24. package/config/index.d.ts +1 -0
  25. package/config/index.js +10 -0
  26. package/config/index.js.map +1 -0
  27. package/config/vars.d.ts +32 -0
  28. package/config/vars.js +39 -0
  29. package/config/vars.js.map +1 -0
  30. package/do.d.ts +95 -0
  31. package/do.js +74 -0
  32. package/do.js.map +1 -0
  33. package/eventServiceDiscovery.d.ts +61 -0
  34. package/eventServiceDiscovery.js +55 -0
  35. package/eventServiceDiscovery.js.map +1 -0
  36. package/fastApplication.d.ts +92 -0
  37. package/fastApplication.js +75 -0
  38. package/fastApplication.js.map +1 -0
  39. package/fastTemplate.d.ts +76 -0
  40. package/fastTemplate.js +64 -0
  41. package/fastTemplate.js.map +1 -0
  42. package/index.d.ts +21 -0
  43. package/index.js +107 -0
  44. package/index.js.map +1 -0
  45. package/ipsecPolicy.d.ts +214 -0
  46. package/ipsecPolicy.js +100 -0
  47. package/ipsecPolicy.js.map +1 -0
  48. package/ltm/dataGroup.d.ts +100 -0
  49. package/ltm/dataGroup.js +87 -0
  50. package/ltm/dataGroup.js.map +1 -0
  51. package/ltm/getDataGroup.d.ts +58 -0
  52. package/ltm/getDataGroup.js +37 -0
  53. package/ltm/getDataGroup.js.map +1 -0
  54. package/ltm/getIrule.d.ts +53 -0
  55. package/ltm/getIrule.js +37 -0
  56. package/ltm/getIrule.js.map +1 -0
  57. package/ltm/getMonitor.d.ts +81 -0
  58. package/ltm/getMonitor.js +35 -0
  59. package/ltm/getMonitor.js.map +1 -0
  60. package/ltm/getNode.d.ts +81 -0
  61. package/ltm/getNode.js +27 -0
  62. package/ltm/getNode.js.map +1 -0
  63. package/ltm/getPool.d.ts +45 -0
  64. package/ltm/getPool.js +35 -0
  65. package/ltm/getPool.js.map +1 -0
  66. package/ltm/index.d.ts +30 -0
  67. package/ltm/index.js +151 -0
  68. package/ltm/index.js.map +1 -0
  69. package/ltm/irule.d.ts +65 -0
  70. package/ltm/irule.js +63 -0
  71. package/ltm/irule.js.map +1 -0
  72. package/ltm/monitor.d.ts +341 -0
  73. package/ltm/monitor.js +139 -0
  74. package/ltm/monitor.js.map +1 -0
  75. package/ltm/node.d.ts +186 -0
  76. package/ltm/node.js +102 -0
  77. package/ltm/node.js.map +1 -0
  78. package/ltm/persistenceProfileCookie.d.ts +309 -0
  79. package/ltm/persistenceProfileCookie.js +153 -0
  80. package/ltm/persistenceProfileCookie.js.map +1 -0
  81. package/ltm/persistenceProfileDstAddr.d.ts +206 -0
  82. package/ltm/persistenceProfileDstAddr.js +117 -0
  83. package/ltm/persistenceProfileDstAddr.js.map +1 -0
  84. package/ltm/persistenceProfileSrcAddr.d.ts +225 -0
  85. package/ltm/persistenceProfileSrcAddr.js +126 -0
  86. package/ltm/persistenceProfileSrcAddr.js.map +1 -0
  87. package/ltm/persistenceProfileSsl.d.ts +177 -0
  88. package/ltm/persistenceProfileSsl.js +111 -0
  89. package/ltm/persistenceProfileSsl.js.map +1 -0
  90. package/ltm/policy.d.ts +143 -0
  91. package/ltm/policy.js +97 -0
  92. package/ltm/policy.js.map +1 -0
  93. package/ltm/pool.d.ts +179 -0
  94. package/ltm/pool.js +94 -0
  95. package/ltm/pool.js.map +1 -0
  96. package/ltm/poolAttachment.d.ts +197 -0
  97. package/ltm/poolAttachment.js +135 -0
  98. package/ltm/poolAttachment.js.map +1 -0
  99. package/ltm/profileClientSsl.d.ts +725 -0
  100. package/ltm/profileClientSsl.js +180 -0
  101. package/ltm/profileClientSsl.js.map +1 -0
  102. package/ltm/profileFastHttp.d.ts +194 -0
  103. package/ltm/profileFastHttp.js +99 -0
  104. package/ltm/profileFastHttp.js.map +1 -0
  105. package/ltm/profileFastL4.d.ts +188 -0
  106. package/ltm/profileFastL4.js +103 -0
  107. package/ltm/profileFastL4.js.map +1 -0
  108. package/ltm/profileFtp.d.ts +285 -0
  109. package/ltm/profileFtp.js +134 -0
  110. package/ltm/profileFtp.js.map +1 -0
  111. package/ltm/profileHttp.d.ts +397 -0
  112. package/ltm/profileHttp.js +136 -0
  113. package/ltm/profileHttp.js.map +1 -0
  114. package/ltm/profileHttp2.d.ts +223 -0
  115. package/ltm/profileHttp2.js +108 -0
  116. package/ltm/profileHttp2.js.map +1 -0
  117. package/ltm/profileHttpCompress.d.ts +132 -0
  118. package/ltm/profileHttpCompress.js +87 -0
  119. package/ltm/profileHttpCompress.js.map +1 -0
  120. package/ltm/profileOneConnect.d.ts +180 -0
  121. package/ltm/profileOneConnect.js +95 -0
  122. package/ltm/profileOneConnect.js.map +1 -0
  123. package/ltm/profileServerSsl.d.ts +676 -0
  124. package/ltm/profileServerSsl.js +170 -0
  125. package/ltm/profileServerSsl.js.map +1 -0
  126. package/ltm/profileTcp.d.ts +179 -0
  127. package/ltm/profileTcp.js +94 -0
  128. package/ltm/profileTcp.js.map +1 -0
  129. package/ltm/snat.d.ts +199 -0
  130. package/ltm/snat.js +106 -0
  131. package/ltm/snat.js.map +1 -0
  132. package/ltm/snatPool.d.ts +80 -0
  133. package/ltm/snatPool.js +78 -0
  134. package/ltm/snatPool.js.map +1 -0
  135. package/ltm/virtualAddress.d.ts +149 -0
  136. package/ltm/virtualAddress.js +84 -0
  137. package/ltm/virtualAddress.js.map +1 -0
  138. package/ltm/virtualServer.d.ts +355 -0
  139. package/ltm/virtualServer.js +153 -0
  140. package/ltm/virtualServer.js.map +1 -0
  141. package/net/index.d.ts +3 -0
  142. package/net/index.js +36 -0
  143. package/net/index.js.map +1 -0
  144. package/net/route.d.ts +114 -0
  145. package/net/route.js +82 -0
  146. package/net/route.js.map +1 -0
  147. package/net/selfIp.d.ts +105 -0
  148. package/net/selfIp.js +86 -0
  149. package/net/selfIp.js.map +1 -0
  150. package/net/vlan.d.ts +94 -0
  151. package/net/vlan.js +78 -0
  152. package/net/vlan.js.map +1 -0
  153. package/netIkePeer.d.ts +460 -0
  154. package/netIkePeer.js +138 -0
  155. package/netIkePeer.js.map +1 -0
  156. package/netTunnel.d.ts +256 -0
  157. package/netTunnel.js +107 -0
  158. package/netTunnel.js.map +1 -0
  159. package/package.json +26 -0
  160. package/package.json.bak +25 -0
  161. package/package.json.dev +25 -0
  162. package/provider.d.ts +83 -0
  163. package/provider.js +53 -0
  164. package/provider.js.map +1 -0
  165. package/scripts/install-pulumi-plugin.js +21 -0
  166. package/ssl/certificate.d.ts +102 -0
  167. package/ssl/certificate.js +80 -0
  168. package/ssl/certificate.js.map +1 -0
  169. package/ssl/getCertificate.d.ts +50 -0
  170. package/ssl/getCertificate.js +37 -0
  171. package/ssl/getCertificate.js.map +1 -0
  172. package/ssl/getVWanConfig.d.ts +80 -0
  173. package/ssl/getVWanConfig.js +50 -0
  174. package/ssl/getVWanConfig.js.map +1 -0
  175. package/ssl/index.d.ts +4 -0
  176. package/ssl/index.js +33 -0
  177. package/ssl/index.js.map +1 -0
  178. package/ssl/key.d.ts +102 -0
  179. package/ssl/key.js +80 -0
  180. package/ssl/key.js.map +1 -0
  181. package/sys/bigIpLicense.d.ts +60 -0
  182. package/sys/bigIpLicense.js +58 -0
  183. package/sys/bigIpLicense.js.map +1 -0
  184. package/sys/dns.d.ts +101 -0
  185. package/sys/dns.js +76 -0
  186. package/sys/dns.js.map +1 -0
  187. package/sys/iapp.d.ts +241 -0
  188. package/sys/iapp.js +118 -0
  189. package/sys/iapp.js.map +1 -0
  190. package/sys/index.d.ts +7 -0
  191. package/sys/index.js +56 -0
  192. package/sys/index.js.map +1 -0
  193. package/sys/ntp.d.ts +89 -0
  194. package/sys/ntp.js +74 -0
  195. package/sys/ntp.js.map +1 -0
  196. package/sys/provision.d.ts +126 -0
  197. package/sys/provision.js +81 -0
  198. package/sys/provision.js.map +1 -0
  199. package/sys/snmp.d.ts +87 -0
  200. package/sys/snmp.js +69 -0
  201. package/sys/snmp.js.map +1 -0
  202. package/sys/snmpTraps.d.ts +221 -0
  203. package/sys/snmpTraps.js +93 -0
  204. package/sys/snmpTraps.js.map +1 -0
  205. package/trafficSelector.d.ts +177 -0
  206. package/trafficSelector.js +95 -0
  207. package/trafficSelector.js.map +1 -0
  208. package/types/index.d.ts +3 -0
  209. package/types/index.js +10 -0
  210. package/types/index.js.map +1 -0
  211. package/types/input.d.ts +353 -0
  212. package/types/input.js +5 -0
  213. package/types/input.js.map +1 -0
  214. package/types/output.d.ts +352 -0
  215. package/types/output.js +5 -0
  216. package/types/output.js.map +1 -0
  217. package/utilities.d.ts +4 -0
  218. package/utilities.js +51 -0
  219. package/utilities.js.map +1 -0
package/net/route.d.ts ADDED
@@ -0,0 +1,114 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `f5bigip.net.Route` Manages a route configuration
4
+ *
5
+ * For resources should be named with their "full path". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as f5bigip from "@pulumi/f5bigip";
12
+ *
13
+ * const route2 = new f5bigip.net.Route("route2", {
14
+ * gw: "1.1.1.2",
15
+ * name: "/Common/external-route",
16
+ * network: "10.10.10.0/24",
17
+ * });
18
+ * ```
19
+ */
20
+ export declare class Route extends pulumi.CustomResource {
21
+ /**
22
+ * Get an existing Route 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?: RouteState, opts?: pulumi.CustomResourceOptions): Route;
31
+ /**
32
+ * Returns true if the given object is an instance of Route. 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 Route;
36
+ /**
37
+ * Specifies a gateway address for the route.
38
+ */
39
+ readonly gw: pulumi.Output<string | undefined>;
40
+ /**
41
+ * Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.
42
+ */
43
+ readonly name: pulumi.Output<string>;
44
+ /**
45
+ * The destination subnet and netmask for the route.
46
+ */
47
+ readonly network: pulumi.Output<string>;
48
+ /**
49
+ * reject route
50
+ */
51
+ readonly reject: pulumi.Output<boolean | undefined>;
52
+ /**
53
+ * tunnel_ref to route traffic
54
+ */
55
+ readonly tunnelRef: pulumi.Output<string | undefined>;
56
+ /**
57
+ * Create a Route resource with the given unique name, arguments, and options.
58
+ *
59
+ * @param name The _unique_ name of the resource.
60
+ * @param args The arguments to use to populate this resource's properties.
61
+ * @param opts A bag of options that control this resource's behavior.
62
+ */
63
+ constructor(name: string, args: RouteArgs, opts?: pulumi.CustomResourceOptions);
64
+ }
65
+ /**
66
+ * Input properties used for looking up and filtering Route resources.
67
+ */
68
+ export interface RouteState {
69
+ /**
70
+ * Specifies a gateway address for the route.
71
+ */
72
+ gw?: pulumi.Input<string>;
73
+ /**
74
+ * Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.
75
+ */
76
+ name?: pulumi.Input<string>;
77
+ /**
78
+ * The destination subnet and netmask for the route.
79
+ */
80
+ network?: pulumi.Input<string>;
81
+ /**
82
+ * reject route
83
+ */
84
+ reject?: pulumi.Input<boolean>;
85
+ /**
86
+ * tunnel_ref to route traffic
87
+ */
88
+ tunnelRef?: pulumi.Input<string>;
89
+ }
90
+ /**
91
+ * The set of arguments for constructing a Route resource.
92
+ */
93
+ export interface RouteArgs {
94
+ /**
95
+ * Specifies a gateway address for the route.
96
+ */
97
+ gw?: pulumi.Input<string>;
98
+ /**
99
+ * Name of the route.Name of Route should be full path,full path is the combination of the `partition + route name`,For ex: `/Common/test-net-route`.
100
+ */
101
+ name: pulumi.Input<string>;
102
+ /**
103
+ * The destination subnet and netmask for the route.
104
+ */
105
+ network: pulumi.Input<string>;
106
+ /**
107
+ * reject route
108
+ */
109
+ reject?: pulumi.Input<boolean>;
110
+ /**
111
+ * tunnel_ref to route traffic
112
+ */
113
+ tunnelRef?: pulumi.Input<string>;
114
+ }
package/net/route.js ADDED
@@ -0,0 +1,82 @@
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
+ const pulumi = require("@pulumi/pulumi");
6
+ const utilities = require("../utilities");
7
+ /**
8
+ * `f5bigip.net.Route` Manages a route configuration
9
+ *
10
+ * For resources should be named with their "full path". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as f5bigip from "@pulumi/f5bigip";
17
+ *
18
+ * const route2 = new f5bigip.net.Route("route2", {
19
+ * gw: "1.1.1.2",
20
+ * name: "/Common/external-route",
21
+ * network: "10.10.10.0/24",
22
+ * });
23
+ * ```
24
+ */
25
+ class Route extends pulumi.CustomResource {
26
+ constructor(name, argsOrState, opts) {
27
+ let inputs = {};
28
+ opts = opts || {};
29
+ if (opts.id) {
30
+ const state = argsOrState;
31
+ inputs["gw"] = state ? state.gw : undefined;
32
+ inputs["name"] = state ? state.name : undefined;
33
+ inputs["network"] = state ? state.network : undefined;
34
+ inputs["reject"] = state ? state.reject : undefined;
35
+ inputs["tunnelRef"] = state ? state.tunnelRef : undefined;
36
+ }
37
+ else {
38
+ const args = argsOrState;
39
+ if ((!args || args.name === undefined) && !opts.urn) {
40
+ throw new Error("Missing required property 'name'");
41
+ }
42
+ if ((!args || args.network === undefined) && !opts.urn) {
43
+ throw new Error("Missing required property 'network'");
44
+ }
45
+ inputs["gw"] = args ? args.gw : undefined;
46
+ inputs["name"] = args ? args.name : undefined;
47
+ inputs["network"] = args ? args.network : undefined;
48
+ inputs["reject"] = args ? args.reject : undefined;
49
+ inputs["tunnelRef"] = args ? args.tunnelRef : undefined;
50
+ }
51
+ if (!opts.version) {
52
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
53
+ }
54
+ super(Route.__pulumiType, name, inputs, opts);
55
+ }
56
+ /**
57
+ * Get an existing Route resource's state with the given name, ID, and optional extra
58
+ * properties used to qualify the lookup.
59
+ *
60
+ * @param name The _unique_ name of the resulting resource.
61
+ * @param id The _unique_ provider ID of the resource to lookup.
62
+ * @param state Any extra arguments used during the lookup.
63
+ * @param opts Optional settings to control the behavior of the CustomResource.
64
+ */
65
+ static get(name, id, state, opts) {
66
+ return new Route(name, state, Object.assign(Object.assign({}, opts), { id: id }));
67
+ }
68
+ /**
69
+ * Returns true if the given object is an instance of Route. This is designed to work even
70
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
71
+ */
72
+ static isInstance(obj) {
73
+ if (obj === undefined || obj === null) {
74
+ return false;
75
+ }
76
+ return obj['__pulumiType'] === Route.__pulumiType;
77
+ }
78
+ }
79
+ exports.Route = Route;
80
+ /** @internal */
81
+ Route.__pulumiType = 'f5bigip:net/route:Route';
82
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../net/route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `f5bigip.net.SelfIp` Manages a selfip configuration
4
+ *
5
+ * Resource should be named with their "full path". The full path is the combination of the partition + name of the resource, for example /Common/my-selfip.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as f5bigip from "@pulumi/f5bigip";
12
+ *
13
+ * const selfip1 = new f5bigip.net.SelfIp("selfip1", {
14
+ * name: "/Common/internalselfIP",
15
+ * ip: "11.1.1.1/24",
16
+ * vlan: "/Common/internal",
17
+ * trafficGroup: "traffic-group-1",
18
+ * }, {
19
+ * dependsOn: [bigip_net_vlan.vlan1],
20
+ * });
21
+ * ```
22
+ */
23
+ export declare class SelfIp extends pulumi.CustomResource {
24
+ /**
25
+ * Get an existing SelfIp resource's state with the given name, ID, and optional extra
26
+ * properties used to qualify the lookup.
27
+ *
28
+ * @param name The _unique_ name of the resulting resource.
29
+ * @param id The _unique_ provider ID of the resource to lookup.
30
+ * @param state Any extra arguments used during the lookup.
31
+ * @param opts Optional settings to control the behavior of the CustomResource.
32
+ */
33
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SelfIpState, opts?: pulumi.CustomResourceOptions): SelfIp;
34
+ /**
35
+ * Returns true if the given object is an instance of SelfIp. This is designed to work even
36
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
37
+ */
38
+ static isInstance(obj: any): obj is SelfIp;
39
+ /**
40
+ * The Self IP's address and netmask.
41
+ */
42
+ readonly ip: pulumi.Output<string>;
43
+ /**
44
+ * Name of the selfip
45
+ */
46
+ readonly name: pulumi.Output<string>;
47
+ /**
48
+ * Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.
49
+ */
50
+ readonly trafficGroup: pulumi.Output<string | undefined>;
51
+ /**
52
+ * Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.
53
+ */
54
+ readonly vlan: pulumi.Output<string>;
55
+ /**
56
+ * Create a SelfIp resource with the given unique name, arguments, and options.
57
+ *
58
+ * @param name The _unique_ name of the resource.
59
+ * @param args The arguments to use to populate this resource's properties.
60
+ * @param opts A bag of options that control this resource's behavior.
61
+ */
62
+ constructor(name: string, args: SelfIpArgs, opts?: pulumi.CustomResourceOptions);
63
+ }
64
+ /**
65
+ * Input properties used for looking up and filtering SelfIp resources.
66
+ */
67
+ export interface SelfIpState {
68
+ /**
69
+ * The Self IP's address and netmask.
70
+ */
71
+ ip?: pulumi.Input<string>;
72
+ /**
73
+ * Name of the selfip
74
+ */
75
+ name?: pulumi.Input<string>;
76
+ /**
77
+ * Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.
78
+ */
79
+ trafficGroup?: pulumi.Input<string>;
80
+ /**
81
+ * Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.
82
+ */
83
+ vlan?: pulumi.Input<string>;
84
+ }
85
+ /**
86
+ * The set of arguments for constructing a SelfIp resource.
87
+ */
88
+ export interface SelfIpArgs {
89
+ /**
90
+ * The Self IP's address and netmask.
91
+ */
92
+ ip: pulumi.Input<string>;
93
+ /**
94
+ * Name of the selfip
95
+ */
96
+ name: pulumi.Input<string>;
97
+ /**
98
+ * Specifies the traffic group, defaults to `traffic-group-local-only` if not specified.
99
+ */
100
+ trafficGroup?: pulumi.Input<string>;
101
+ /**
102
+ * Specifies the VLAN for which you are setting a self IP address. This setting must be provided when a self IP is created.
103
+ */
104
+ vlan: pulumi.Input<string>;
105
+ }
package/net/selfIp.js ADDED
@@ -0,0 +1,86 @@
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
+ const pulumi = require("@pulumi/pulumi");
6
+ const utilities = require("../utilities");
7
+ /**
8
+ * `f5bigip.net.SelfIp` Manages a selfip configuration
9
+ *
10
+ * Resource should be named with their "full path". The full path is the combination of the partition + name of the resource, for example /Common/my-selfip.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as f5bigip from "@pulumi/f5bigip";
17
+ *
18
+ * const selfip1 = new f5bigip.net.SelfIp("selfip1", {
19
+ * name: "/Common/internalselfIP",
20
+ * ip: "11.1.1.1/24",
21
+ * vlan: "/Common/internal",
22
+ * trafficGroup: "traffic-group-1",
23
+ * }, {
24
+ * dependsOn: [bigip_net_vlan.vlan1],
25
+ * });
26
+ * ```
27
+ */
28
+ class SelfIp extends pulumi.CustomResource {
29
+ constructor(name, argsOrState, opts) {
30
+ let inputs = {};
31
+ opts = opts || {};
32
+ if (opts.id) {
33
+ const state = argsOrState;
34
+ inputs["ip"] = state ? state.ip : undefined;
35
+ inputs["name"] = state ? state.name : undefined;
36
+ inputs["trafficGroup"] = state ? state.trafficGroup : undefined;
37
+ inputs["vlan"] = state ? state.vlan : undefined;
38
+ }
39
+ else {
40
+ const args = argsOrState;
41
+ if ((!args || args.ip === undefined) && !opts.urn) {
42
+ throw new Error("Missing required property 'ip'");
43
+ }
44
+ if ((!args || args.name === undefined) && !opts.urn) {
45
+ throw new Error("Missing required property 'name'");
46
+ }
47
+ if ((!args || args.vlan === undefined) && !opts.urn) {
48
+ throw new Error("Missing required property 'vlan'");
49
+ }
50
+ inputs["ip"] = args ? args.ip : undefined;
51
+ inputs["name"] = args ? args.name : undefined;
52
+ inputs["trafficGroup"] = args ? args.trafficGroup : undefined;
53
+ inputs["vlan"] = args ? args.vlan : undefined;
54
+ }
55
+ if (!opts.version) {
56
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
57
+ }
58
+ super(SelfIp.__pulumiType, name, inputs, opts);
59
+ }
60
+ /**
61
+ * Get an existing SelfIp resource's state with the given name, ID, and optional extra
62
+ * properties used to qualify the lookup.
63
+ *
64
+ * @param name The _unique_ name of the resulting resource.
65
+ * @param id The _unique_ provider ID of the resource to lookup.
66
+ * @param state Any extra arguments used during the lookup.
67
+ * @param opts Optional settings to control the behavior of the CustomResource.
68
+ */
69
+ static get(name, id, state, opts) {
70
+ return new SelfIp(name, state, Object.assign(Object.assign({}, opts), { id: id }));
71
+ }
72
+ /**
73
+ * Returns true if the given object is an instance of SelfIp. This is designed to work even
74
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
75
+ */
76
+ static isInstance(obj) {
77
+ if (obj === undefined || obj === null) {
78
+ return false;
79
+ }
80
+ return obj['__pulumiType'] === SelfIp.__pulumiType;
81
+ }
82
+ }
83
+ exports.SelfIp = SelfIp;
84
+ /** @internal */
85
+ SelfIp.__pulumiType = 'f5bigip:net/selfIp:SelfIp';
86
+ //# sourceMappingURL=selfIp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfIp.js","sourceRoot":"","sources":["../../net/selfIp.ts"],"names":[],"mappings":"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"}
package/net/vlan.d.ts ADDED
@@ -0,0 +1,94 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * `f5bigip.net.Vlan` Manages a vlan configuration
5
+ *
6
+ * For resources should be named with their "full path". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as f5bigip from "@pulumi/f5bigip";
13
+ *
14
+ * const vlan1 = new f5bigip.net.Vlan("vlan1", {
15
+ * interfaces: [{
16
+ * tagged: false,
17
+ * vlanport: "1.2",
18
+ * }],
19
+ * name: "/Common/Internal",
20
+ * tag: 101,
21
+ * });
22
+ * ```
23
+ */
24
+ export declare class Vlan extends pulumi.CustomResource {
25
+ /**
26
+ * Get an existing Vlan resource's state with the given name, ID, and optional extra
27
+ * properties used to qualify the lookup.
28
+ *
29
+ * @param name The _unique_ name of the resulting resource.
30
+ * @param id The _unique_ provider ID of the resource to lookup.
31
+ * @param state Any extra arguments used during the lookup.
32
+ * @param opts Optional settings to control the behavior of the CustomResource.
33
+ */
34
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VlanState, opts?: pulumi.CustomResourceOptions): Vlan;
35
+ /**
36
+ * Returns true if the given object is an instance of Vlan. This is designed to work even
37
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
38
+ */
39
+ static isInstance(obj: any): obj is Vlan;
40
+ /**
41
+ * Specifies which interfaces you want this VLAN to use for traffic management.
42
+ */
43
+ readonly interfaces: pulumi.Output<outputs.net.VlanInterface[] | undefined>;
44
+ /**
45
+ * Name of the vlan
46
+ */
47
+ readonly name: pulumi.Output<string>;
48
+ /**
49
+ * Specifies a number that the system adds into the header of any frame passing through the VLAN.
50
+ */
51
+ readonly tag: pulumi.Output<number | undefined>;
52
+ /**
53
+ * Create a Vlan resource with the given unique name, arguments, and options.
54
+ *
55
+ * @param name The _unique_ name of the resource.
56
+ * @param args The arguments to use to populate this resource's properties.
57
+ * @param opts A bag of options that control this resource's behavior.
58
+ */
59
+ constructor(name: string, args: VlanArgs, opts?: pulumi.CustomResourceOptions);
60
+ }
61
+ /**
62
+ * Input properties used for looking up and filtering Vlan resources.
63
+ */
64
+ export interface VlanState {
65
+ /**
66
+ * Specifies which interfaces you want this VLAN to use for traffic management.
67
+ */
68
+ interfaces?: pulumi.Input<pulumi.Input<inputs.net.VlanInterface>[]>;
69
+ /**
70
+ * Name of the vlan
71
+ */
72
+ name?: pulumi.Input<string>;
73
+ /**
74
+ * Specifies a number that the system adds into the header of any frame passing through the VLAN.
75
+ */
76
+ tag?: pulumi.Input<number>;
77
+ }
78
+ /**
79
+ * The set of arguments for constructing a Vlan resource.
80
+ */
81
+ export interface VlanArgs {
82
+ /**
83
+ * Specifies which interfaces you want this VLAN to use for traffic management.
84
+ */
85
+ interfaces?: pulumi.Input<pulumi.Input<inputs.net.VlanInterface>[]>;
86
+ /**
87
+ * Name of the vlan
88
+ */
89
+ name: pulumi.Input<string>;
90
+ /**
91
+ * Specifies a number that the system adds into the header of any frame passing through the VLAN.
92
+ */
93
+ tag?: pulumi.Input<number>;
94
+ }
package/net/vlan.js ADDED
@@ -0,0 +1,78 @@
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
+ const pulumi = require("@pulumi/pulumi");
6
+ const utilities = require("../utilities");
7
+ /**
8
+ * `f5bigip.net.Vlan` Manages a vlan configuration
9
+ *
10
+ * For resources should be named with their "full path". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as f5bigip from "@pulumi/f5bigip";
17
+ *
18
+ * const vlan1 = new f5bigip.net.Vlan("vlan1", {
19
+ * interfaces: [{
20
+ * tagged: false,
21
+ * vlanport: "1.2",
22
+ * }],
23
+ * name: "/Common/Internal",
24
+ * tag: 101,
25
+ * });
26
+ * ```
27
+ */
28
+ class Vlan extends pulumi.CustomResource {
29
+ constructor(name, argsOrState, opts) {
30
+ let inputs = {};
31
+ opts = opts || {};
32
+ if (opts.id) {
33
+ const state = argsOrState;
34
+ inputs["interfaces"] = state ? state.interfaces : undefined;
35
+ inputs["name"] = state ? state.name : undefined;
36
+ inputs["tag"] = state ? state.tag : undefined;
37
+ }
38
+ else {
39
+ const args = argsOrState;
40
+ if ((!args || args.name === undefined) && !opts.urn) {
41
+ throw new Error("Missing required property 'name'");
42
+ }
43
+ inputs["interfaces"] = args ? args.interfaces : undefined;
44
+ inputs["name"] = args ? args.name : undefined;
45
+ inputs["tag"] = args ? args.tag : undefined;
46
+ }
47
+ if (!opts.version) {
48
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
49
+ }
50
+ super(Vlan.__pulumiType, name, inputs, opts);
51
+ }
52
+ /**
53
+ * Get an existing Vlan resource's state with the given name, ID, and optional extra
54
+ * properties used to qualify the lookup.
55
+ *
56
+ * @param name The _unique_ name of the resulting resource.
57
+ * @param id The _unique_ provider ID of the resource to lookup.
58
+ * @param state Any extra arguments used during the lookup.
59
+ * @param opts Optional settings to control the behavior of the CustomResource.
60
+ */
61
+ static get(name, id, state, opts) {
62
+ return new Vlan(name, state, Object.assign(Object.assign({}, opts), { id: id }));
63
+ }
64
+ /**
65
+ * Returns true if the given object is an instance of Vlan. This is designed to work even
66
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
67
+ */
68
+ static isInstance(obj) {
69
+ if (obj === undefined || obj === null) {
70
+ return false;
71
+ }
72
+ return obj['__pulumiType'] === Vlan.__pulumiType;
73
+ }
74
+ }
75
+ exports.Vlan = Vlan;
76
+ /** @internal */
77
+ Vlan.__pulumiType = 'f5bigip:net/vlan:Vlan';
78
+ //# sourceMappingURL=vlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vlan.js","sourceRoot":"","sources":["../../net/vlan.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,IAAK,SAAQ,MAAM,CAAC,cAAc;IAiD3C,YAAY,IAAY,EAAE,WAAkC,EAAE,IAAmC;QAC7F,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoC,CAAC;YACnD,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;aAAM;YACH,MAAM,IAAI,GAAG,WAAmC,CAAC;YACjD,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,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/C;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IArED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiB,EAAE,IAAmC;QAC/G,OAAO,IAAI,IAAI,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3D,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,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;;AA1BL,oBAuEC;AAzDG,gBAAgB;AACO,iBAAY,GAAG,uBAAuB,CAAC"}