@pulumi/f5bigip 3.8.0 → 3.9.0

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 (48) hide show
  1. package/as3.d.ts +1 -1
  2. package/as3.js +1 -1
  3. package/fastHttpApp.d.ts +199 -0
  4. package/fastHttpApp.js +96 -0
  5. package/fastHttpApp.js.map +1 -0
  6. package/fastHttpsApp.d.ts +226 -0
  7. package/fastHttpsApp.js +100 -0
  8. package/fastHttpsApp.js.map +1 -0
  9. package/fastTcpApp.d.ts +215 -0
  10. package/fastTcpApp.js +106 -0
  11. package/fastTcpApp.js.map +1 -0
  12. package/index.d.ts +3 -0
  13. package/index.js +15 -0
  14. package/index.js.map +1 -1
  15. package/ltm/monitor.d.ts +6 -6
  16. package/ltm/monitor.js +3 -3
  17. package/ltm/node.d.ts +3 -2
  18. package/ltm/node.js +2 -1
  19. package/ltm/node.js.map +1 -1
  20. package/ltm/policy.d.ts +2 -1
  21. package/ltm/policy.js +2 -1
  22. package/ltm/policy.js.map +1 -1
  23. package/ltm/pool.d.ts +5 -4
  24. package/ltm/pool.js +2 -1
  25. package/ltm/pool.js.map +1 -1
  26. package/ltm/virtualServer.d.ts +2 -1
  27. package/ltm/virtualServer.js +2 -1
  28. package/ltm/virtualServer.js.map +1 -1
  29. package/net/selfIp.d.ts +19 -3
  30. package/net/selfIp.js +16 -0
  31. package/net/selfIp.js.map +1 -1
  32. package/package.json +4 -3
  33. package/package.json.bak +2 -1
  34. package/package.json.dev +4 -3
  35. package/ssl/certificate.d.ts +1 -1
  36. package/ssl/certificate.js +1 -1
  37. package/ssl/getWafSignatures.d.ts +11 -1
  38. package/ssl/getWafSignatures.js +3 -0
  39. package/ssl/getWafSignatures.js.map +1 -1
  40. package/ssl/key.d.ts +1 -1
  41. package/ssl/key.js +1 -1
  42. package/sys/iapp.d.ts +1 -1
  43. package/sys/iapp.js +1 -1
  44. package/types/input.d.ts +319 -125
  45. package/types/output.d.ts +196 -2
  46. package/wafPolicy.d.ts +93 -10
  47. package/wafPolicy.js +14 -1
  48. package/wafPolicy.js.map +1 -1
package/as3.d.ts CHANGED
@@ -9,7 +9,7 @@ import * as pulumi from "@pulumi/pulumi";
9
9
  * ```typescript
10
10
  * import * as pulumi from "@pulumi/pulumi";
11
11
  * import * as f5bigip from "@pulumi/f5bigip";
12
- * import * from "fs";
12
+ * import * as fs from "fs";
13
13
  *
14
14
  * // Example Usage for json file
15
15
  * const as3_example1As3 = new f5bigip.As3("as3-example1As3", {as3Json: fs.readFileSync("example1.json")});
package/as3.js CHANGED
@@ -15,7 +15,7 @@ const utilities = require("./utilities");
15
15
  * ```typescript
16
16
  * import * as pulumi from "@pulumi/pulumi";
17
17
  * import * as f5bigip from "@pulumi/f5bigip";
18
- * import * from "fs";
18
+ * import * as fs from "fs";
19
19
  *
20
20
  * // Example Usage for json file
21
21
  * const as3_example1As3 = new f5bigip.As3("as3-example1As3", {as3Json: fs.readFileSync("example1.json")});
@@ -0,0 +1,199 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * `f5bigip.FastHttpApp` This resource will create and manage FAST HTTP applications on BIG-IP
5
+ *
6
+ * [FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as f5bigip from "@pulumi/f5bigip";
13
+ *
14
+ * const fastHttpApp = new f5bigip.FastHttpApp("fast_http_app", {
15
+ * application: "fasthttpapp",
16
+ * tenant: "fasthttptenant",
17
+ * virtualServer: {
18
+ * ip: "10.30.30.44",
19
+ * port: 443,
20
+ * },
21
+ * });
22
+ * ```
23
+ */
24
+ export declare class FastHttpApp extends pulumi.CustomResource {
25
+ /**
26
+ * Get an existing FastHttpApp 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?: FastHttpAppState, opts?: pulumi.CustomResourceOptions): FastHttpApp;
35
+ /**
36
+ * Returns true if the given object is an instance of FastHttpApp. 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 FastHttpApp;
40
+ /**
41
+ * Name of the FAST HTTPS application.
42
+ */
43
+ readonly application: pulumi.Output<string>;
44
+ /**
45
+ * Name of an existing BIG-IP pool.
46
+ */
47
+ readonly existPoolName: pulumi.Output<string | undefined>;
48
+ /**
49
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
50
+ */
51
+ readonly existingMonitor: pulumi.Output<string | undefined>;
52
+ /**
53
+ * Name of an existing BIG-IP SNAT pool.
54
+ */
55
+ readonly existingSnatPool: pulumi.Output<string | undefined>;
56
+ /**
57
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
58
+ * See Pool Monitor below for more details.
59
+ */
60
+ readonly fastCreateMonitor: pulumi.Output<outputs.FastHttpAppFastCreateMonitor | undefined>;
61
+ /**
62
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
63
+ * See Pool Members below for more details.
64
+ */
65
+ readonly fastCreatePoolMembers: pulumi.Output<outputs.FastHttpAppFastCreatePoolMember[] | undefined>;
66
+ /**
67
+ * List of address to be used for FAST-Generated SNAT Pool.
68
+ */
69
+ readonly fastCreateSnatPoolAddresses: pulumi.Output<string[] | undefined>;
70
+ /**
71
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
72
+ */
73
+ readonly loadBalancingMode: pulumi.Output<string | undefined>;
74
+ /**
75
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
76
+ */
77
+ readonly slowRampTime: pulumi.Output<number | undefined>;
78
+ /**
79
+ * Name of the FAST HTTPS application tenant.
80
+ */
81
+ readonly tenant: pulumi.Output<string>;
82
+ /**
83
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
84
+ * See virtual server below for more details.
85
+ */
86
+ readonly virtualServer: pulumi.Output<outputs.FastHttpAppVirtualServer | undefined>;
87
+ /**
88
+ * Create a FastHttpApp resource with the given unique name, arguments, and options.
89
+ *
90
+ * @param name The _unique_ name of the resource.
91
+ * @param args The arguments to use to populate this resource's properties.
92
+ * @param opts A bag of options that control this resource's behavior.
93
+ */
94
+ constructor(name: string, args: FastHttpAppArgs, opts?: pulumi.CustomResourceOptions);
95
+ }
96
+ /**
97
+ * Input properties used for looking up and filtering FastHttpApp resources.
98
+ */
99
+ export interface FastHttpAppState {
100
+ /**
101
+ * Name of the FAST HTTPS application.
102
+ */
103
+ application?: pulumi.Input<string>;
104
+ /**
105
+ * Name of an existing BIG-IP pool.
106
+ */
107
+ existPoolName?: pulumi.Input<string>;
108
+ /**
109
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
110
+ */
111
+ existingMonitor?: pulumi.Input<string>;
112
+ /**
113
+ * Name of an existing BIG-IP SNAT pool.
114
+ */
115
+ existingSnatPool?: pulumi.Input<string>;
116
+ /**
117
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
118
+ * See Pool Monitor below for more details.
119
+ */
120
+ fastCreateMonitor?: pulumi.Input<inputs.FastHttpAppFastCreateMonitor>;
121
+ /**
122
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
123
+ * See Pool Members below for more details.
124
+ */
125
+ fastCreatePoolMembers?: pulumi.Input<pulumi.Input<inputs.FastHttpAppFastCreatePoolMember>[]>;
126
+ /**
127
+ * List of address to be used for FAST-Generated SNAT Pool.
128
+ */
129
+ fastCreateSnatPoolAddresses?: pulumi.Input<pulumi.Input<string>[]>;
130
+ /**
131
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
132
+ */
133
+ loadBalancingMode?: pulumi.Input<string>;
134
+ /**
135
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
136
+ */
137
+ slowRampTime?: pulumi.Input<number>;
138
+ /**
139
+ * Name of the FAST HTTPS application tenant.
140
+ */
141
+ tenant?: pulumi.Input<string>;
142
+ /**
143
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
144
+ * See virtual server below for more details.
145
+ */
146
+ virtualServer?: pulumi.Input<inputs.FastHttpAppVirtualServer>;
147
+ }
148
+ /**
149
+ * The set of arguments for constructing a FastHttpApp resource.
150
+ */
151
+ export interface FastHttpAppArgs {
152
+ /**
153
+ * Name of the FAST HTTPS application.
154
+ */
155
+ application: pulumi.Input<string>;
156
+ /**
157
+ * Name of an existing BIG-IP pool.
158
+ */
159
+ existPoolName?: pulumi.Input<string>;
160
+ /**
161
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
162
+ */
163
+ existingMonitor?: pulumi.Input<string>;
164
+ /**
165
+ * Name of an existing BIG-IP SNAT pool.
166
+ */
167
+ existingSnatPool?: pulumi.Input<string>;
168
+ /**
169
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
170
+ * See Pool Monitor below for more details.
171
+ */
172
+ fastCreateMonitor?: pulumi.Input<inputs.FastHttpAppFastCreateMonitor>;
173
+ /**
174
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
175
+ * See Pool Members below for more details.
176
+ */
177
+ fastCreatePoolMembers?: pulumi.Input<pulumi.Input<inputs.FastHttpAppFastCreatePoolMember>[]>;
178
+ /**
179
+ * List of address to be used for FAST-Generated SNAT Pool.
180
+ */
181
+ fastCreateSnatPoolAddresses?: pulumi.Input<pulumi.Input<string>[]>;
182
+ /**
183
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
184
+ */
185
+ loadBalancingMode?: pulumi.Input<string>;
186
+ /**
187
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
188
+ */
189
+ slowRampTime?: pulumi.Input<number>;
190
+ /**
191
+ * Name of the FAST HTTPS application tenant.
192
+ */
193
+ tenant: pulumi.Input<string>;
194
+ /**
195
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
196
+ * See virtual server below for more details.
197
+ */
198
+ virtualServer?: pulumi.Input<inputs.FastHttpAppVirtualServer>;
199
+ }
package/fastHttpApp.js ADDED
@@ -0,0 +1,96 @@
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.FastHttpApp = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * `f5bigip.FastHttpApp` This resource will create and manage FAST HTTP applications on BIG-IP
10
+ *
11
+ * [FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as f5bigip from "@pulumi/f5bigip";
18
+ *
19
+ * const fastHttpApp = new f5bigip.FastHttpApp("fast_http_app", {
20
+ * application: "fasthttpapp",
21
+ * tenant: "fasthttptenant",
22
+ * virtualServer: {
23
+ * ip: "10.30.30.44",
24
+ * port: 443,
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ class FastHttpApp extends pulumi.CustomResource {
30
+ constructor(name, argsOrState, opts) {
31
+ let resourceInputs = {};
32
+ opts = opts || {};
33
+ if (opts.id) {
34
+ const state = argsOrState;
35
+ resourceInputs["application"] = state ? state.application : undefined;
36
+ resourceInputs["existPoolName"] = state ? state.existPoolName : undefined;
37
+ resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined;
38
+ resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined;
39
+ resourceInputs["fastCreateMonitor"] = state ? state.fastCreateMonitor : undefined;
40
+ resourceInputs["fastCreatePoolMembers"] = state ? state.fastCreatePoolMembers : undefined;
41
+ resourceInputs["fastCreateSnatPoolAddresses"] = state ? state.fastCreateSnatPoolAddresses : undefined;
42
+ resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined;
43
+ resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined;
44
+ resourceInputs["tenant"] = state ? state.tenant : undefined;
45
+ resourceInputs["virtualServer"] = state ? state.virtualServer : undefined;
46
+ }
47
+ else {
48
+ const args = argsOrState;
49
+ if ((!args || args.application === undefined) && !opts.urn) {
50
+ throw new Error("Missing required property 'application'");
51
+ }
52
+ if ((!args || args.tenant === undefined) && !opts.urn) {
53
+ throw new Error("Missing required property 'tenant'");
54
+ }
55
+ resourceInputs["application"] = args ? args.application : undefined;
56
+ resourceInputs["existPoolName"] = args ? args.existPoolName : undefined;
57
+ resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined;
58
+ resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined;
59
+ resourceInputs["fastCreateMonitor"] = args ? args.fastCreateMonitor : undefined;
60
+ resourceInputs["fastCreatePoolMembers"] = args ? args.fastCreatePoolMembers : undefined;
61
+ resourceInputs["fastCreateSnatPoolAddresses"] = args ? args.fastCreateSnatPoolAddresses : undefined;
62
+ resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined;
63
+ resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined;
64
+ resourceInputs["tenant"] = args ? args.tenant : undefined;
65
+ resourceInputs["virtualServer"] = args ? args.virtualServer : undefined;
66
+ }
67
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
68
+ super(FastHttpApp.__pulumiType, name, resourceInputs, opts);
69
+ }
70
+ /**
71
+ * Get an existing FastHttpApp resource's state with the given name, ID, and optional extra
72
+ * properties used to qualify the lookup.
73
+ *
74
+ * @param name The _unique_ name of the resulting resource.
75
+ * @param id The _unique_ provider ID of the resource to lookup.
76
+ * @param state Any extra arguments used during the lookup.
77
+ * @param opts Optional settings to control the behavior of the CustomResource.
78
+ */
79
+ static get(name, id, state, opts) {
80
+ return new FastHttpApp(name, state, Object.assign(Object.assign({}, opts), { id: id }));
81
+ }
82
+ /**
83
+ * Returns true if the given object is an instance of FastHttpApp. This is designed to work even
84
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
85
+ */
86
+ static isInstance(obj) {
87
+ if (obj === undefined || obj === null) {
88
+ return false;
89
+ }
90
+ return obj['__pulumiType'] === FastHttpApp.__pulumiType;
91
+ }
92
+ }
93
+ exports.FastHttpApp = FastHttpApp;
94
+ /** @internal */
95
+ FastHttpApp.__pulumiType = 'f5bigip:index/fastHttpApp:FastHttpApp';
96
+ //# sourceMappingURL=fastHttpApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastHttpApp.js","sourceRoot":"","sources":["../fastHttpApp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * `f5bigip.FastHttpsApp` This resource will create and manage FAST HTTPS applications on BIG-IP
5
+ *
6
+ * [FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as f5bigip from "@pulumi/f5bigip";
13
+ *
14
+ * const fastHttpsApp = new f5bigip.FastHttpsApp("fast_https_app", {
15
+ * application: "fasthttpsapp",
16
+ * tenant: "fasthttpstenant",
17
+ * virtualServer: {
18
+ * ip: "10.30.40.44",
19
+ * port: 443,
20
+ * },
21
+ * });
22
+ * ```
23
+ */
24
+ export declare class FastHttpsApp extends pulumi.CustomResource {
25
+ /**
26
+ * Get an existing FastHttpsApp 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?: FastHttpsAppState, opts?: pulumi.CustomResourceOptions): FastHttpsApp;
35
+ /**
36
+ * Returns true if the given object is an instance of FastHttpsApp. 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 FastHttpsApp;
40
+ /**
41
+ * Name of the FAST HTTPS application.
42
+ */
43
+ readonly application: pulumi.Output<string>;
44
+ /**
45
+ * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile.
46
+ * See TLS Server Profile below for more details.
47
+ */
48
+ readonly createTlsServerProfile: pulumi.Output<outputs.FastHttpsAppCreateTlsServerProfile | undefined>;
49
+ /**
50
+ * Name of an existing BIG-IP pool.
51
+ */
52
+ readonly existPoolName: pulumi.Output<string | undefined>;
53
+ /**
54
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
55
+ */
56
+ readonly existingMonitor: pulumi.Output<string | undefined>;
57
+ /**
58
+ * Name of an existing BIG-IP SNAT pool.
59
+ */
60
+ readonly existingSnatPool: pulumi.Output<string | undefined>;
61
+ /**
62
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
63
+ * See Pool Monitor below for more details.
64
+ */
65
+ readonly fastCreateMonitor: pulumi.Output<outputs.FastHttpsAppFastCreateMonitor | undefined>;
66
+ /**
67
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
68
+ * See Pool Members below for more details.
69
+ */
70
+ readonly fastCreatePoolMembers: pulumi.Output<outputs.FastHttpsAppFastCreatePoolMember[] | undefined>;
71
+ /**
72
+ * List of address to be used for FAST-Generated SNAT Pool.
73
+ */
74
+ readonly fastCreateSnatPoolAddresses: pulumi.Output<string[] | undefined>;
75
+ /**
76
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
77
+ */
78
+ readonly loadBalancingMode: pulumi.Output<string | undefined>;
79
+ /**
80
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
81
+ */
82
+ readonly slowRampTime: pulumi.Output<number | undefined>;
83
+ /**
84
+ * Name of the FAST HTTPS application tenant.
85
+ */
86
+ readonly tenant: pulumi.Output<string>;
87
+ /**
88
+ * Name of an existing TLS server profile.
89
+ */
90
+ readonly tlsServerProfileName: pulumi.Output<string | undefined>;
91
+ /**
92
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
93
+ * See virtual server below for more details.
94
+ */
95
+ readonly virtualServer: pulumi.Output<outputs.FastHttpsAppVirtualServer | undefined>;
96
+ /**
97
+ * Create a FastHttpsApp resource with the given unique name, arguments, and options.
98
+ *
99
+ * @param name The _unique_ name of the resource.
100
+ * @param args The arguments to use to populate this resource's properties.
101
+ * @param opts A bag of options that control this resource's behavior.
102
+ */
103
+ constructor(name: string, args: FastHttpsAppArgs, opts?: pulumi.CustomResourceOptions);
104
+ }
105
+ /**
106
+ * Input properties used for looking up and filtering FastHttpsApp resources.
107
+ */
108
+ export interface FastHttpsAppState {
109
+ /**
110
+ * Name of the FAST HTTPS application.
111
+ */
112
+ application?: pulumi.Input<string>;
113
+ /**
114
+ * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile.
115
+ * See TLS Server Profile below for more details.
116
+ */
117
+ createTlsServerProfile?: pulumi.Input<inputs.FastHttpsAppCreateTlsServerProfile>;
118
+ /**
119
+ * Name of an existing BIG-IP pool.
120
+ */
121
+ existPoolName?: pulumi.Input<string>;
122
+ /**
123
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
124
+ */
125
+ existingMonitor?: pulumi.Input<string>;
126
+ /**
127
+ * Name of an existing BIG-IP SNAT pool.
128
+ */
129
+ existingSnatPool?: pulumi.Input<string>;
130
+ /**
131
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
132
+ * See Pool Monitor below for more details.
133
+ */
134
+ fastCreateMonitor?: pulumi.Input<inputs.FastHttpsAppFastCreateMonitor>;
135
+ /**
136
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
137
+ * See Pool Members below for more details.
138
+ */
139
+ fastCreatePoolMembers?: pulumi.Input<pulumi.Input<inputs.FastHttpsAppFastCreatePoolMember>[]>;
140
+ /**
141
+ * List of address to be used for FAST-Generated SNAT Pool.
142
+ */
143
+ fastCreateSnatPoolAddresses?: pulumi.Input<pulumi.Input<string>[]>;
144
+ /**
145
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
146
+ */
147
+ loadBalancingMode?: pulumi.Input<string>;
148
+ /**
149
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
150
+ */
151
+ slowRampTime?: pulumi.Input<number>;
152
+ /**
153
+ * Name of the FAST HTTPS application tenant.
154
+ */
155
+ tenant?: pulumi.Input<string>;
156
+ /**
157
+ * Name of an existing TLS server profile.
158
+ */
159
+ tlsServerProfileName?: pulumi.Input<string>;
160
+ /**
161
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
162
+ * See virtual server below for more details.
163
+ */
164
+ virtualServer?: pulumi.Input<inputs.FastHttpsAppVirtualServer>;
165
+ }
166
+ /**
167
+ * The set of arguments for constructing a FastHttpsApp resource.
168
+ */
169
+ export interface FastHttpsAppArgs {
170
+ /**
171
+ * Name of the FAST HTTPS application.
172
+ */
173
+ application: pulumi.Input<string>;
174
+ /**
175
+ * `createTlsServerProfile` block takes input for FAST-Generated TLS Server Profile.
176
+ * See TLS Server Profile below for more details.
177
+ */
178
+ createTlsServerProfile?: pulumi.Input<inputs.FastHttpsAppCreateTlsServerProfile>;
179
+ /**
180
+ * Name of an existing BIG-IP pool.
181
+ */
182
+ existPoolName?: pulumi.Input<string>;
183
+ /**
184
+ * Name of an existing BIG-IP HTTPS pool monitor. Monitors are used to determine the health of the application on each server.
185
+ */
186
+ existingMonitor?: pulumi.Input<string>;
187
+ /**
188
+ * Name of an existing BIG-IP SNAT pool.
189
+ */
190
+ existingSnatPool?: pulumi.Input<string>;
191
+ /**
192
+ * `fastCreateMonitor` block takes input for FAST-Generated Pool Monitor.
193
+ * See Pool Monitor below for more details.
194
+ */
195
+ fastCreateMonitor?: pulumi.Input<inputs.FastHttpsAppFastCreateMonitor>;
196
+ /**
197
+ * `fastCreatePoolMembers` block takes input for FAST-Generated Pool.
198
+ * See Pool Members below for more details.
199
+ */
200
+ fastCreatePoolMembers?: pulumi.Input<pulumi.Input<inputs.FastHttpsAppFastCreatePoolMember>[]>;
201
+ /**
202
+ * List of address to be used for FAST-Generated SNAT Pool.
203
+ */
204
+ fastCreateSnatPoolAddresses?: pulumi.Input<pulumi.Input<string>[]>;
205
+ /**
206
+ * A `load balancing method` is an algorithm that the BIG-IP system uses to select a pool member for processing a request. F5 recommends the Least Connections load balancing method
207
+ */
208
+ loadBalancingMode?: pulumi.Input<string>;
209
+ /**
210
+ * Slow ramp temporarily throttles the number of connections to a new pool member. The recommended value is 300 seconds
211
+ */
212
+ slowRampTime?: pulumi.Input<number>;
213
+ /**
214
+ * Name of the FAST HTTPS application tenant.
215
+ */
216
+ tenant: pulumi.Input<string>;
217
+ /**
218
+ * Name of an existing TLS server profile.
219
+ */
220
+ tlsServerProfileName?: pulumi.Input<string>;
221
+ /**
222
+ * `virtualServer` block will provide `ip` and `port` options to be used for virtual server.
223
+ * See virtual server below for more details.
224
+ */
225
+ virtualServer?: pulumi.Input<inputs.FastHttpsAppVirtualServer>;
226
+ }
@@ -0,0 +1,100 @@
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.FastHttpsApp = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * `f5bigip.FastHttpsApp` This resource will create and manage FAST HTTPS applications on BIG-IP
10
+ *
11
+ * [FAST documentation](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/)
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as f5bigip from "@pulumi/f5bigip";
18
+ *
19
+ * const fastHttpsApp = new f5bigip.FastHttpsApp("fast_https_app", {
20
+ * application: "fasthttpsapp",
21
+ * tenant: "fasthttpstenant",
22
+ * virtualServer: {
23
+ * ip: "10.30.40.44",
24
+ * port: 443,
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ class FastHttpsApp extends pulumi.CustomResource {
30
+ constructor(name, argsOrState, opts) {
31
+ let resourceInputs = {};
32
+ opts = opts || {};
33
+ if (opts.id) {
34
+ const state = argsOrState;
35
+ resourceInputs["application"] = state ? state.application : undefined;
36
+ resourceInputs["createTlsServerProfile"] = state ? state.createTlsServerProfile : undefined;
37
+ resourceInputs["existPoolName"] = state ? state.existPoolName : undefined;
38
+ resourceInputs["existingMonitor"] = state ? state.existingMonitor : undefined;
39
+ resourceInputs["existingSnatPool"] = state ? state.existingSnatPool : undefined;
40
+ resourceInputs["fastCreateMonitor"] = state ? state.fastCreateMonitor : undefined;
41
+ resourceInputs["fastCreatePoolMembers"] = state ? state.fastCreatePoolMembers : undefined;
42
+ resourceInputs["fastCreateSnatPoolAddresses"] = state ? state.fastCreateSnatPoolAddresses : undefined;
43
+ resourceInputs["loadBalancingMode"] = state ? state.loadBalancingMode : undefined;
44
+ resourceInputs["slowRampTime"] = state ? state.slowRampTime : undefined;
45
+ resourceInputs["tenant"] = state ? state.tenant : undefined;
46
+ resourceInputs["tlsServerProfileName"] = state ? state.tlsServerProfileName : undefined;
47
+ resourceInputs["virtualServer"] = state ? state.virtualServer : undefined;
48
+ }
49
+ else {
50
+ const args = argsOrState;
51
+ if ((!args || args.application === undefined) && !opts.urn) {
52
+ throw new Error("Missing required property 'application'");
53
+ }
54
+ if ((!args || args.tenant === undefined) && !opts.urn) {
55
+ throw new Error("Missing required property 'tenant'");
56
+ }
57
+ resourceInputs["application"] = args ? args.application : undefined;
58
+ resourceInputs["createTlsServerProfile"] = args ? args.createTlsServerProfile : undefined;
59
+ resourceInputs["existPoolName"] = args ? args.existPoolName : undefined;
60
+ resourceInputs["existingMonitor"] = args ? args.existingMonitor : undefined;
61
+ resourceInputs["existingSnatPool"] = args ? args.existingSnatPool : undefined;
62
+ resourceInputs["fastCreateMonitor"] = args ? args.fastCreateMonitor : undefined;
63
+ resourceInputs["fastCreatePoolMembers"] = args ? args.fastCreatePoolMembers : undefined;
64
+ resourceInputs["fastCreateSnatPoolAddresses"] = args ? args.fastCreateSnatPoolAddresses : undefined;
65
+ resourceInputs["loadBalancingMode"] = args ? args.loadBalancingMode : undefined;
66
+ resourceInputs["slowRampTime"] = args ? args.slowRampTime : undefined;
67
+ resourceInputs["tenant"] = args ? args.tenant : undefined;
68
+ resourceInputs["tlsServerProfileName"] = args ? args.tlsServerProfileName : undefined;
69
+ resourceInputs["virtualServer"] = args ? args.virtualServer : undefined;
70
+ }
71
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
72
+ super(FastHttpsApp.__pulumiType, name, resourceInputs, opts);
73
+ }
74
+ /**
75
+ * Get an existing FastHttpsApp resource's state with the given name, ID, and optional extra
76
+ * properties used to qualify the lookup.
77
+ *
78
+ * @param name The _unique_ name of the resulting resource.
79
+ * @param id The _unique_ provider ID of the resource to lookup.
80
+ * @param state Any extra arguments used during the lookup.
81
+ * @param opts Optional settings to control the behavior of the CustomResource.
82
+ */
83
+ static get(name, id, state, opts) {
84
+ return new FastHttpsApp(name, state, Object.assign(Object.assign({}, opts), { id: id }));
85
+ }
86
+ /**
87
+ * Returns true if the given object is an instance of FastHttpsApp. This is designed to work even
88
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
89
+ */
90
+ static isInstance(obj) {
91
+ if (obj === undefined || obj === null) {
92
+ return false;
93
+ }
94
+ return obj['__pulumiType'] === FastHttpsApp.__pulumiType;
95
+ }
96
+ }
97
+ exports.FastHttpsApp = FastHttpsApp;
98
+ /** @internal */
99
+ FastHttpsApp.__pulumiType = 'f5bigip:index/fastHttpsApp:FastHttpsApp';
100
+ //# sourceMappingURL=fastHttpsApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastHttpsApp.js","sourceRoot":"","sources":["../fastHttpsApp.ts"],"names":[],"mappings":"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"}