@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/ltm/monitor.js ADDED
@@ -0,0 +1,139 @@
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.ltm.Monitor` Configures a custom monitor for use by health checks.
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 monitor = new f5bigip.ltm.Monitor("monitor", {
19
+ * destination: "1.2.3.4:1234",
20
+ * interval: 999,
21
+ * name: "/Common/terraform_monitor",
22
+ * parent: "/Common/http",
23
+ * send: "GET /some/path
24
+ \n",
25
+ * timeout: 999,
26
+ * });
27
+ * const test_ftp_monitor = new f5bigip.ltm.Monitor("test-ftp-monitor", {
28
+ * destination: "*:8008",
29
+ * filename: "somefile",
30
+ * interval: 5,
31
+ * name: "/Common/ftp-test",
32
+ * parent: "/Common/ftp",
33
+ * timeUntilUp: 0,
34
+ * timeout: 16,
35
+ * });
36
+ * const test_postgresql_monitor = new f5bigip.ltm.Monitor("test-postgresql-monitor", {
37
+ * interval: 5,
38
+ * name: "/Common/test-postgresql-monitor",
39
+ * parent: "/Common/postgresql",
40
+ * password: "abcd1234",
41
+ * receive: "Test",
42
+ * send: "SELECT 'Test';",
43
+ * timeout: 16,
44
+ * username: "abcd",
45
+ * });
46
+ * ```
47
+ */
48
+ class Monitor extends pulumi.CustomResource {
49
+ constructor(name, argsOrState, opts) {
50
+ let inputs = {};
51
+ opts = opts || {};
52
+ if (opts.id) {
53
+ const state = argsOrState;
54
+ inputs["adaptive"] = state ? state.adaptive : undefined;
55
+ inputs["adaptiveLimit"] = state ? state.adaptiveLimit : undefined;
56
+ inputs["compatibility"] = state ? state.compatibility : undefined;
57
+ inputs["database"] = state ? state.database : undefined;
58
+ inputs["destination"] = state ? state.destination : undefined;
59
+ inputs["filename"] = state ? state.filename : undefined;
60
+ inputs["interval"] = state ? state.interval : undefined;
61
+ inputs["ipDscp"] = state ? state.ipDscp : undefined;
62
+ inputs["manualResume"] = state ? state.manualResume : undefined;
63
+ inputs["mode"] = state ? state.mode : undefined;
64
+ inputs["name"] = state ? state.name : undefined;
65
+ inputs["parent"] = state ? state.parent : undefined;
66
+ inputs["password"] = state ? state.password : undefined;
67
+ inputs["receive"] = state ? state.receive : undefined;
68
+ inputs["receiveDisable"] = state ? state.receiveDisable : undefined;
69
+ inputs["reverse"] = state ? state.reverse : undefined;
70
+ inputs["send"] = state ? state.send : undefined;
71
+ inputs["timeUntilUp"] = state ? state.timeUntilUp : undefined;
72
+ inputs["timeout"] = state ? state.timeout : undefined;
73
+ inputs["transparent"] = state ? state.transparent : undefined;
74
+ inputs["upInterval"] = state ? state.upInterval : undefined;
75
+ inputs["username"] = state ? state.username : undefined;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ if ((!args || args.name === undefined) && !opts.urn) {
80
+ throw new Error("Missing required property 'name'");
81
+ }
82
+ if ((!args || args.parent === undefined) && !opts.urn) {
83
+ throw new Error("Missing required property 'parent'");
84
+ }
85
+ inputs["adaptive"] = args ? args.adaptive : undefined;
86
+ inputs["adaptiveLimit"] = args ? args.adaptiveLimit : undefined;
87
+ inputs["compatibility"] = args ? args.compatibility : undefined;
88
+ inputs["database"] = args ? args.database : undefined;
89
+ inputs["destination"] = args ? args.destination : undefined;
90
+ inputs["filename"] = args ? args.filename : undefined;
91
+ inputs["interval"] = args ? args.interval : undefined;
92
+ inputs["ipDscp"] = args ? args.ipDscp : undefined;
93
+ inputs["manualResume"] = args ? args.manualResume : undefined;
94
+ inputs["mode"] = args ? args.mode : undefined;
95
+ inputs["name"] = args ? args.name : undefined;
96
+ inputs["parent"] = args ? args.parent : undefined;
97
+ inputs["password"] = args ? args.password : undefined;
98
+ inputs["receive"] = args ? args.receive : undefined;
99
+ inputs["receiveDisable"] = args ? args.receiveDisable : undefined;
100
+ inputs["reverse"] = args ? args.reverse : undefined;
101
+ inputs["send"] = args ? args.send : undefined;
102
+ inputs["timeUntilUp"] = args ? args.timeUntilUp : undefined;
103
+ inputs["timeout"] = args ? args.timeout : undefined;
104
+ inputs["transparent"] = args ? args.transparent : undefined;
105
+ inputs["upInterval"] = args ? args.upInterval : undefined;
106
+ inputs["username"] = args ? args.username : undefined;
107
+ }
108
+ if (!opts.version) {
109
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
110
+ }
111
+ super(Monitor.__pulumiType, name, inputs, opts);
112
+ }
113
+ /**
114
+ * Get an existing Monitor resource's state with the given name, ID, and optional extra
115
+ * properties used to qualify the lookup.
116
+ *
117
+ * @param name The _unique_ name of the resulting resource.
118
+ * @param id The _unique_ provider ID of the resource to lookup.
119
+ * @param state Any extra arguments used during the lookup.
120
+ * @param opts Optional settings to control the behavior of the CustomResource.
121
+ */
122
+ static get(name, id, state, opts) {
123
+ return new Monitor(name, state, Object.assign(Object.assign({}, opts), { id: id }));
124
+ }
125
+ /**
126
+ * Returns true if the given object is an instance of Monitor. This is designed to work even
127
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
128
+ */
129
+ static isInstance(obj) {
130
+ if (obj === undefined || obj === null) {
131
+ return false;
132
+ }
133
+ return obj['__pulumiType'] === Monitor.__pulumiType;
134
+ }
135
+ }
136
+ exports.Monitor = Monitor;
137
+ /** @internal */
138
+ Monitor.__pulumiType = 'f5bigip:ltm/monitor:Monitor';
139
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../ltm/monitor.ts"],"names":[],"mappings":"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"}
package/ltm/node.d.ts ADDED
@@ -0,0 +1,186 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * `f5bigip.ltm.Node` Manages a node 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( example: /Common/my-node ) or partition + Direcroty + nameof the resource ( example: /Common/test/my-node ).When including directory in fullpath we have to make sure it is created in the given partition before using it.
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as f5bigip from "@pulumi/f5bigip";
13
+ *
14
+ * const node = new f5bigip.ltm.Node("node", {
15
+ * address: "192.168.30.1",
16
+ * connectionLimit: 0,
17
+ * description: "Test-Node",
18
+ * dynamicRatio: 1,
19
+ * fqdn: {
20
+ * addressFamily: "ipv4",
21
+ * interval: "3000",
22
+ * },
23
+ * monitor: "/Common/icmp",
24
+ * name: "/Common/terraform_node1",
25
+ * rateLimit: "disabled",
26
+ * });
27
+ * ```
28
+ */
29
+ export declare class Node extends pulumi.CustomResource {
30
+ /**
31
+ * Get an existing Node resource's state with the given name, ID, and optional extra
32
+ * properties used to qualify the lookup.
33
+ *
34
+ * @param name The _unique_ name of the resulting resource.
35
+ * @param id The _unique_ provider ID of the resource to lookup.
36
+ * @param state Any extra arguments used during the lookup.
37
+ * @param opts Optional settings to control the behavior of the CustomResource.
38
+ */
39
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodeState, opts?: pulumi.CustomResourceOptions): Node;
40
+ /**
41
+ * Returns true if the given object is an instance of Node. 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: any): obj is Node;
45
+ /**
46
+ * IP or hostname of the node
47
+ */
48
+ readonly address: pulumi.Output<string>;
49
+ /**
50
+ * Specifies the maximum number of connections allowed for the node or node address.
51
+ */
52
+ readonly connectionLimit: pulumi.Output<number>;
53
+ /**
54
+ * User-defined description give ltm_node
55
+ */
56
+ readonly description: pulumi.Output<string | undefined>;
57
+ /**
58
+ * Specifies the fixed ratio value used for a node during ratio load balancing.
59
+ */
60
+ readonly dynamicRatio: pulumi.Output<number>;
61
+ readonly fqdn: pulumi.Output<outputs.ltm.NodeFqdn | undefined>;
62
+ /**
63
+ * specifies the name of the monitor or monitor rule that you want to associate with the node.
64
+ */
65
+ readonly monitor: pulumi.Output<string | undefined>;
66
+ /**
67
+ * Name of the node
68
+ */
69
+ readonly name: pulumi.Output<string>;
70
+ /**
71
+ * Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.
72
+ */
73
+ readonly rateLimit: pulumi.Output<string>;
74
+ /**
75
+ * Sets the ratio number for the node.
76
+ */
77
+ readonly ratio: pulumi.Output<number>;
78
+ /**
79
+ * Enables or disables the node for new sessions. The default value is user-enabled.
80
+ */
81
+ readonly session: pulumi.Output<string>;
82
+ /**
83
+ * Default is "user-up" you can set to "user-down" if you want to disable
84
+ */
85
+ readonly state: pulumi.Output<string | undefined>;
86
+ /**
87
+ * Create a Node resource with the given unique name, arguments, and options.
88
+ *
89
+ * @param name The _unique_ name of the resource.
90
+ * @param args The arguments to use to populate this resource's properties.
91
+ * @param opts A bag of options that control this resource's behavior.
92
+ */
93
+ constructor(name: string, args: NodeArgs, opts?: pulumi.CustomResourceOptions);
94
+ }
95
+ /**
96
+ * Input properties used for looking up and filtering Node resources.
97
+ */
98
+ export interface NodeState {
99
+ /**
100
+ * IP or hostname of the node
101
+ */
102
+ address?: pulumi.Input<string>;
103
+ /**
104
+ * Specifies the maximum number of connections allowed for the node or node address.
105
+ */
106
+ connectionLimit?: pulumi.Input<number>;
107
+ /**
108
+ * User-defined description give ltm_node
109
+ */
110
+ description?: pulumi.Input<string>;
111
+ /**
112
+ * Specifies the fixed ratio value used for a node during ratio load balancing.
113
+ */
114
+ dynamicRatio?: pulumi.Input<number>;
115
+ fqdn?: pulumi.Input<inputs.ltm.NodeFqdn>;
116
+ /**
117
+ * specifies the name of the monitor or monitor rule that you want to associate with the node.
118
+ */
119
+ monitor?: pulumi.Input<string>;
120
+ /**
121
+ * Name of the node
122
+ */
123
+ name?: pulumi.Input<string>;
124
+ /**
125
+ * Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.
126
+ */
127
+ rateLimit?: pulumi.Input<string>;
128
+ /**
129
+ * Sets the ratio number for the node.
130
+ */
131
+ ratio?: pulumi.Input<number>;
132
+ /**
133
+ * Enables or disables the node for new sessions. The default value is user-enabled.
134
+ */
135
+ session?: pulumi.Input<string>;
136
+ /**
137
+ * Default is "user-up" you can set to "user-down" if you want to disable
138
+ */
139
+ state?: pulumi.Input<string>;
140
+ }
141
+ /**
142
+ * The set of arguments for constructing a Node resource.
143
+ */
144
+ export interface NodeArgs {
145
+ /**
146
+ * IP or hostname of the node
147
+ */
148
+ address: pulumi.Input<string>;
149
+ /**
150
+ * Specifies the maximum number of connections allowed for the node or node address.
151
+ */
152
+ connectionLimit?: pulumi.Input<number>;
153
+ /**
154
+ * User-defined description give ltm_node
155
+ */
156
+ description?: pulumi.Input<string>;
157
+ /**
158
+ * Specifies the fixed ratio value used for a node during ratio load balancing.
159
+ */
160
+ dynamicRatio?: pulumi.Input<number>;
161
+ fqdn?: pulumi.Input<inputs.ltm.NodeFqdn>;
162
+ /**
163
+ * specifies the name of the monitor or monitor rule that you want to associate with the node.
164
+ */
165
+ monitor?: pulumi.Input<string>;
166
+ /**
167
+ * Name of the node
168
+ */
169
+ name: pulumi.Input<string>;
170
+ /**
171
+ * Specifies the maximum number of connections per second allowed for a node or node address. The default value is 'disabled'.
172
+ */
173
+ rateLimit?: pulumi.Input<string>;
174
+ /**
175
+ * Sets the ratio number for the node.
176
+ */
177
+ ratio?: pulumi.Input<number>;
178
+ /**
179
+ * Enables or disables the node for new sessions. The default value is user-enabled.
180
+ */
181
+ session?: pulumi.Input<string>;
182
+ /**
183
+ * Default is "user-up" you can set to "user-down" if you want to disable
184
+ */
185
+ state?: pulumi.Input<string>;
186
+ }
package/ltm/node.js ADDED
@@ -0,0 +1,102 @@
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.ltm.Node` Manages a node 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( example: /Common/my-node ) or partition + Direcroty + nameof the resource ( example: /Common/test/my-node ).When including directory in fullpath we have to make sure it is created in the given partition before using it.
11
+ *
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as f5bigip from "@pulumi/f5bigip";
17
+ *
18
+ * const node = new f5bigip.ltm.Node("node", {
19
+ * address: "192.168.30.1",
20
+ * connectionLimit: 0,
21
+ * description: "Test-Node",
22
+ * dynamicRatio: 1,
23
+ * fqdn: {
24
+ * addressFamily: "ipv4",
25
+ * interval: "3000",
26
+ * },
27
+ * monitor: "/Common/icmp",
28
+ * name: "/Common/terraform_node1",
29
+ * rateLimit: "disabled",
30
+ * });
31
+ * ```
32
+ */
33
+ class Node extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let inputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ inputs["address"] = state ? state.address : undefined;
40
+ inputs["connectionLimit"] = state ? state.connectionLimit : undefined;
41
+ inputs["description"] = state ? state.description : undefined;
42
+ inputs["dynamicRatio"] = state ? state.dynamicRatio : undefined;
43
+ inputs["fqdn"] = state ? state.fqdn : undefined;
44
+ inputs["monitor"] = state ? state.monitor : undefined;
45
+ inputs["name"] = state ? state.name : undefined;
46
+ inputs["rateLimit"] = state ? state.rateLimit : undefined;
47
+ inputs["ratio"] = state ? state.ratio : undefined;
48
+ inputs["session"] = state ? state.session : undefined;
49
+ inputs["state"] = state ? state.state : undefined;
50
+ }
51
+ else {
52
+ const args = argsOrState;
53
+ if ((!args || args.address === undefined) && !opts.urn) {
54
+ throw new Error("Missing required property 'address'");
55
+ }
56
+ if ((!args || args.name === undefined) && !opts.urn) {
57
+ throw new Error("Missing required property 'name'");
58
+ }
59
+ inputs["address"] = args ? args.address : undefined;
60
+ inputs["connectionLimit"] = args ? args.connectionLimit : undefined;
61
+ inputs["description"] = args ? args.description : undefined;
62
+ inputs["dynamicRatio"] = args ? args.dynamicRatio : undefined;
63
+ inputs["fqdn"] = args ? args.fqdn : undefined;
64
+ inputs["monitor"] = args ? args.monitor : undefined;
65
+ inputs["name"] = args ? args.name : undefined;
66
+ inputs["rateLimit"] = args ? args.rateLimit : undefined;
67
+ inputs["ratio"] = args ? args.ratio : undefined;
68
+ inputs["session"] = args ? args.session : undefined;
69
+ inputs["state"] = args ? args.state : undefined;
70
+ }
71
+ if (!opts.version) {
72
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
73
+ }
74
+ super(Node.__pulumiType, name, inputs, opts);
75
+ }
76
+ /**
77
+ * Get an existing Node resource's state with the given name, ID, and optional extra
78
+ * properties used to qualify the lookup.
79
+ *
80
+ * @param name The _unique_ name of the resulting resource.
81
+ * @param id The _unique_ provider ID of the resource to lookup.
82
+ * @param state Any extra arguments used during the lookup.
83
+ * @param opts Optional settings to control the behavior of the CustomResource.
84
+ */
85
+ static get(name, id, state, opts) {
86
+ return new Node(name, state, Object.assign(Object.assign({}, opts), { id: id }));
87
+ }
88
+ /**
89
+ * Returns true if the given object is an instance of Node. This is designed to work even
90
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
91
+ */
92
+ static isInstance(obj) {
93
+ if (obj === undefined || obj === null) {
94
+ return false;
95
+ }
96
+ return obj['__pulumiType'] === Node.__pulumiType;
97
+ }
98
+ }
99
+ exports.Node = Node;
100
+ /** @internal */
101
+ Node.__pulumiType = 'f5bigip:ltm/node:Node';
102
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../ltm/node.ts"],"names":[],"mappings":"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"}