@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
@@ -0,0 +1,460 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * `f5bigip.NetIkePeer` Manages a ikePeer configuration
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as f5bigip from "@pulumi/f5bigip";
10
+ *
11
+ * const example1 = new f5bigip.NetIkePeer("example1", {
12
+ * localAddress: "192.16.81.240",
13
+ * name: "example1",
14
+ * profile: "/Common/dslite",
15
+ * });
16
+ * ```
17
+ */
18
+ export declare class NetIkePeer extends pulumi.CustomResource {
19
+ /**
20
+ * Get an existing NetIkePeer resource's state with the given name, ID, and optional extra
21
+ * properties used to qualify the lookup.
22
+ *
23
+ * @param name The _unique_ name of the resulting resource.
24
+ * @param id The _unique_ provider ID of the resource to lookup.
25
+ * @param state Any extra arguments used during the lookup.
26
+ * @param opts Optional settings to control the behavior of the CustomResource.
27
+ */
28
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NetIkePeerState, opts?: pulumi.CustomResourceOptions): NetIkePeer;
29
+ /**
30
+ * Returns true if the given object is an instance of NetIkePeer. This is designed to work even
31
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
32
+ */
33
+ static isInstance(obj: any): obj is NetIkePeer;
34
+ /**
35
+ * The application service that the object belongs to
36
+ */
37
+ readonly appService: pulumi.Output<string | undefined>;
38
+ /**
39
+ * the trusted root and intermediate certificate authorities
40
+ */
41
+ readonly caCertFile: pulumi.Output<string>;
42
+ /**
43
+ * Specifies the file name of the Certificate Revocation List. Only supported in IKEv1
44
+ */
45
+ readonly crlFile: pulumi.Output<string>;
46
+ /**
47
+ * User defined description
48
+ */
49
+ readonly description: pulumi.Output<string>;
50
+ /**
51
+ * Specifies the number of seconds between Dead Peer Detection messages
52
+ */
53
+ readonly dpdDelay: pulumi.Output<number>;
54
+ /**
55
+ * Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node
56
+ */
57
+ readonly generatePolicy: pulumi.Output<string>;
58
+ /**
59
+ * Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations
60
+ */
61
+ readonly lifetime: pulumi.Output<number>;
62
+ /**
63
+ * Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder
64
+ */
65
+ readonly mode: pulumi.Output<string>;
66
+ /**
67
+ * Specifies the name of the certificate file object
68
+ */
69
+ readonly myCertFile: pulumi.Output<string>;
70
+ /**
71
+ * Specifies the name of the certificate key file object
72
+ */
73
+ readonly myCertKeyFile: pulumi.Output<string>;
74
+ /**
75
+ * Specifies the passphrase of the key used for my-cert-key-file
76
+ */
77
+ readonly myCertKeyPassphrase: pulumi.Output<string>;
78
+ /**
79
+ * Specifies the identifier type sent to the remote host to use in the phase 1 negotiation
80
+ */
81
+ readonly myIdType: pulumi.Output<string>;
82
+ /**
83
+ * Specifies the identifier value sent to the remote host in the phase 1 negotiation
84
+ */
85
+ readonly myIdValue: pulumi.Output<string>;
86
+ /**
87
+ * Name of the ike_peer
88
+ */
89
+ readonly name: pulumi.Output<string>;
90
+ /**
91
+ * Enables use of the NAT-Traversal IPsec extension
92
+ */
93
+ readonly natTraversal: pulumi.Output<string>;
94
+ /**
95
+ * Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer
96
+ */
97
+ readonly passive: pulumi.Output<string>;
98
+ /**
99
+ * Specifies the peer’s certificate for authentication
100
+ */
101
+ readonly peersCertFile: pulumi.Output<string>;
102
+ /**
103
+ * Specifies that the only peers-cert-type supported is certfile
104
+ */
105
+ readonly peersCertType: pulumi.Output<string>;
106
+ /**
107
+ * Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type
108
+ */
109
+ readonly peersIdType: pulumi.Output<string>;
110
+ /**
111
+ * Specifies the peer’s identifier to be received
112
+ */
113
+ readonly peersIdValue: pulumi.Output<string>;
114
+ /**
115
+ * Specifies the authentication method used for phase 1 negotiation
116
+ */
117
+ readonly phase1AuthMethod: pulumi.Output<string>;
118
+ /**
119
+ * Specifies the encryption algorithm used for the isakmp phase 1 negotiation
120
+ */
121
+ readonly phase1EncryptAlgorithm: pulumi.Output<string>;
122
+ /**
123
+ * Defines the hash algorithm used for the isakmp phase 1 negotiation
124
+ */
125
+ readonly phase1HashAlgorithm: pulumi.Output<string>;
126
+ /**
127
+ * Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy
128
+ */
129
+ readonly phase1PerfectForwardSecrecy: pulumi.Output<string>;
130
+ /**
131
+ * Specifies the preshared key for ISAKMP SAs
132
+ */
133
+ readonly presharedKey: pulumi.Output<string | undefined>;
134
+ /**
135
+ * Display the encrypted preshared-key for the IKE remote node
136
+ */
137
+ readonly presharedKeyEncrypted: pulumi.Output<string>;
138
+ /**
139
+ * Specifies the pseudo-random function used to derive keying material for all cryptographic operations
140
+ */
141
+ readonly prf: pulumi.Output<string>;
142
+ /**
143
+ * If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs
144
+ */
145
+ readonly proxySupport: pulumi.Output<string>;
146
+ /**
147
+ * Specifies the IP address of the IKE remote node
148
+ */
149
+ readonly remoteAddress: pulumi.Output<string>;
150
+ /**
151
+ * Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node
152
+ */
153
+ readonly replayWindowSize: pulumi.Output<number>;
154
+ /**
155
+ * Enables or disables this IKE remote node
156
+ */
157
+ readonly state: pulumi.Output<string>;
158
+ /**
159
+ * Specifies the names of the traffic-selector objects associated with this ike-peer
160
+ */
161
+ readonly trafficSelectors: pulumi.Output<string[]>;
162
+ /**
163
+ * Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file
164
+ */
165
+ readonly verifyCert: pulumi.Output<string>;
166
+ /**
167
+ * Specifies which version of IKE to be used
168
+ */
169
+ readonly versions: pulumi.Output<string[]>;
170
+ /**
171
+ * Create a NetIkePeer resource with the given unique name, arguments, and options.
172
+ *
173
+ * @param name The _unique_ name of the resource.
174
+ * @param args The arguments to use to populate this resource's properties.
175
+ * @param opts A bag of options that control this resource's behavior.
176
+ */
177
+ constructor(name: string, args: NetIkePeerArgs, opts?: pulumi.CustomResourceOptions);
178
+ }
179
+ /**
180
+ * Input properties used for looking up and filtering NetIkePeer resources.
181
+ */
182
+ export interface NetIkePeerState {
183
+ /**
184
+ * The application service that the object belongs to
185
+ */
186
+ appService?: pulumi.Input<string>;
187
+ /**
188
+ * the trusted root and intermediate certificate authorities
189
+ */
190
+ caCertFile?: pulumi.Input<string>;
191
+ /**
192
+ * Specifies the file name of the Certificate Revocation List. Only supported in IKEv1
193
+ */
194
+ crlFile?: pulumi.Input<string>;
195
+ /**
196
+ * User defined description
197
+ */
198
+ description?: pulumi.Input<string>;
199
+ /**
200
+ * Specifies the number of seconds between Dead Peer Detection messages
201
+ */
202
+ dpdDelay?: pulumi.Input<number>;
203
+ /**
204
+ * Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node
205
+ */
206
+ generatePolicy?: pulumi.Input<string>;
207
+ /**
208
+ * Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations
209
+ */
210
+ lifetime?: pulumi.Input<number>;
211
+ /**
212
+ * Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder
213
+ */
214
+ mode?: pulumi.Input<string>;
215
+ /**
216
+ * Specifies the name of the certificate file object
217
+ */
218
+ myCertFile?: pulumi.Input<string>;
219
+ /**
220
+ * Specifies the name of the certificate key file object
221
+ */
222
+ myCertKeyFile?: pulumi.Input<string>;
223
+ /**
224
+ * Specifies the passphrase of the key used for my-cert-key-file
225
+ */
226
+ myCertKeyPassphrase?: pulumi.Input<string>;
227
+ /**
228
+ * Specifies the identifier type sent to the remote host to use in the phase 1 negotiation
229
+ */
230
+ myIdType?: pulumi.Input<string>;
231
+ /**
232
+ * Specifies the identifier value sent to the remote host in the phase 1 negotiation
233
+ */
234
+ myIdValue?: pulumi.Input<string>;
235
+ /**
236
+ * Name of the ike_peer
237
+ */
238
+ name?: pulumi.Input<string>;
239
+ /**
240
+ * Enables use of the NAT-Traversal IPsec extension
241
+ */
242
+ natTraversal?: pulumi.Input<string>;
243
+ /**
244
+ * Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer
245
+ */
246
+ passive?: pulumi.Input<string>;
247
+ /**
248
+ * Specifies the peer’s certificate for authentication
249
+ */
250
+ peersCertFile?: pulumi.Input<string>;
251
+ /**
252
+ * Specifies that the only peers-cert-type supported is certfile
253
+ */
254
+ peersCertType?: pulumi.Input<string>;
255
+ /**
256
+ * Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type
257
+ */
258
+ peersIdType?: pulumi.Input<string>;
259
+ /**
260
+ * Specifies the peer’s identifier to be received
261
+ */
262
+ peersIdValue?: pulumi.Input<string>;
263
+ /**
264
+ * Specifies the authentication method used for phase 1 negotiation
265
+ */
266
+ phase1AuthMethod?: pulumi.Input<string>;
267
+ /**
268
+ * Specifies the encryption algorithm used for the isakmp phase 1 negotiation
269
+ */
270
+ phase1EncryptAlgorithm?: pulumi.Input<string>;
271
+ /**
272
+ * Defines the hash algorithm used for the isakmp phase 1 negotiation
273
+ */
274
+ phase1HashAlgorithm?: pulumi.Input<string>;
275
+ /**
276
+ * Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy
277
+ */
278
+ phase1PerfectForwardSecrecy?: pulumi.Input<string>;
279
+ /**
280
+ * Specifies the preshared key for ISAKMP SAs
281
+ */
282
+ presharedKey?: pulumi.Input<string>;
283
+ /**
284
+ * Display the encrypted preshared-key for the IKE remote node
285
+ */
286
+ presharedKeyEncrypted?: pulumi.Input<string>;
287
+ /**
288
+ * Specifies the pseudo-random function used to derive keying material for all cryptographic operations
289
+ */
290
+ prf?: pulumi.Input<string>;
291
+ /**
292
+ * If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs
293
+ */
294
+ proxySupport?: pulumi.Input<string>;
295
+ /**
296
+ * Specifies the IP address of the IKE remote node
297
+ */
298
+ remoteAddress?: pulumi.Input<string>;
299
+ /**
300
+ * Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node
301
+ */
302
+ replayWindowSize?: pulumi.Input<number>;
303
+ /**
304
+ * Enables or disables this IKE remote node
305
+ */
306
+ state?: pulumi.Input<string>;
307
+ /**
308
+ * Specifies the names of the traffic-selector objects associated with this ike-peer
309
+ */
310
+ trafficSelectors?: pulumi.Input<pulumi.Input<string>[]>;
311
+ /**
312
+ * Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file
313
+ */
314
+ verifyCert?: pulumi.Input<string>;
315
+ /**
316
+ * Specifies which version of IKE to be used
317
+ */
318
+ versions?: pulumi.Input<pulumi.Input<string>[]>;
319
+ }
320
+ /**
321
+ * The set of arguments for constructing a NetIkePeer resource.
322
+ */
323
+ export interface NetIkePeerArgs {
324
+ /**
325
+ * The application service that the object belongs to
326
+ */
327
+ appService?: pulumi.Input<string>;
328
+ /**
329
+ * the trusted root and intermediate certificate authorities
330
+ */
331
+ caCertFile?: pulumi.Input<string>;
332
+ /**
333
+ * Specifies the file name of the Certificate Revocation List. Only supported in IKEv1
334
+ */
335
+ crlFile?: pulumi.Input<string>;
336
+ /**
337
+ * User defined description
338
+ */
339
+ description?: pulumi.Input<string>;
340
+ /**
341
+ * Specifies the number of seconds between Dead Peer Detection messages
342
+ */
343
+ dpdDelay?: pulumi.Input<number>;
344
+ /**
345
+ * Enable or disable the generation of Security Policy Database entries(SPD) when the device is the responder of the IKE remote node
346
+ */
347
+ generatePolicy?: pulumi.Input<string>;
348
+ /**
349
+ * Defines the lifetime in minutes of an IKE SA which will be proposed in the phase 1 negotiations
350
+ */
351
+ lifetime?: pulumi.Input<number>;
352
+ /**
353
+ * Defines the exchange mode for phase 1 when racoon is the initiator, or the acceptable exchange mode when racoon is the responder
354
+ */
355
+ mode?: pulumi.Input<string>;
356
+ /**
357
+ * Specifies the name of the certificate file object
358
+ */
359
+ myCertFile?: pulumi.Input<string>;
360
+ /**
361
+ * Specifies the name of the certificate key file object
362
+ */
363
+ myCertKeyFile?: pulumi.Input<string>;
364
+ /**
365
+ * Specifies the passphrase of the key used for my-cert-key-file
366
+ */
367
+ myCertKeyPassphrase?: pulumi.Input<string>;
368
+ /**
369
+ * Specifies the identifier type sent to the remote host to use in the phase 1 negotiation
370
+ */
371
+ myIdType?: pulumi.Input<string>;
372
+ /**
373
+ * Specifies the identifier value sent to the remote host in the phase 1 negotiation
374
+ */
375
+ myIdValue?: pulumi.Input<string>;
376
+ /**
377
+ * Name of the ike_peer
378
+ */
379
+ name: pulumi.Input<string>;
380
+ /**
381
+ * Enables use of the NAT-Traversal IPsec extension
382
+ */
383
+ natTraversal?: pulumi.Input<string>;
384
+ /**
385
+ * Specifies whether the local IKE agent can be the initiator of the IKE negotiation with this ike-peer
386
+ */
387
+ passive?: pulumi.Input<string>;
388
+ /**
389
+ * Specifies the peer’s certificate for authentication
390
+ */
391
+ peersCertFile?: pulumi.Input<string>;
392
+ /**
393
+ * Specifies that the only peers-cert-type supported is certfile
394
+ */
395
+ peersCertType?: pulumi.Input<string>;
396
+ /**
397
+ * Specifies which of address, fqdn, asn1dn, user-fqdn or keyid-tag types to use as peers-id-type
398
+ */
399
+ peersIdType?: pulumi.Input<string>;
400
+ /**
401
+ * Specifies the peer’s identifier to be received
402
+ */
403
+ peersIdValue?: pulumi.Input<string>;
404
+ /**
405
+ * Specifies the authentication method used for phase 1 negotiation
406
+ */
407
+ phase1AuthMethod?: pulumi.Input<string>;
408
+ /**
409
+ * Specifies the encryption algorithm used for the isakmp phase 1 negotiation
410
+ */
411
+ phase1EncryptAlgorithm?: pulumi.Input<string>;
412
+ /**
413
+ * Defines the hash algorithm used for the isakmp phase 1 negotiation
414
+ */
415
+ phase1HashAlgorithm?: pulumi.Input<string>;
416
+ /**
417
+ * Defines the Diffie-Hellman group for key exchange to provide perfect forward secrecy
418
+ */
419
+ phase1PerfectForwardSecrecy?: pulumi.Input<string>;
420
+ /**
421
+ * Specifies the preshared key for ISAKMP SAs
422
+ */
423
+ presharedKey?: pulumi.Input<string>;
424
+ /**
425
+ * Display the encrypted preshared-key for the IKE remote node
426
+ */
427
+ presharedKeyEncrypted?: pulumi.Input<string>;
428
+ /**
429
+ * Specifies the pseudo-random function used to derive keying material for all cryptographic operations
430
+ */
431
+ prf?: pulumi.Input<string>;
432
+ /**
433
+ * If this value is enabled, both values of ID payloads in the phase 2 exchange are used as the addresses of end-point of IPsec-SAs
434
+ */
435
+ proxySupport?: pulumi.Input<string>;
436
+ /**
437
+ * Specifies the IP address of the IKE remote node
438
+ */
439
+ remoteAddress: pulumi.Input<string>;
440
+ /**
441
+ * Specifies the replay window size of the IPsec SAs negotiated with the IKE remote node
442
+ */
443
+ replayWindowSize?: pulumi.Input<number>;
444
+ /**
445
+ * Enables or disables this IKE remote node
446
+ */
447
+ state?: pulumi.Input<string>;
448
+ /**
449
+ * Specifies the names of the traffic-selector objects associated with this ike-peer
450
+ */
451
+ trafficSelectors?: pulumi.Input<pulumi.Input<string>[]>;
452
+ /**
453
+ * Specifies whether to verify the certificate chain of the remote peer based on the trusted certificates in ca-cert-file
454
+ */
455
+ verifyCert?: pulumi.Input<string>;
456
+ /**
457
+ * Specifies which version of IKE to be used
458
+ */
459
+ versions?: pulumi.Input<pulumi.Input<string>[]>;
460
+ }
package/netIkePeer.js ADDED
@@ -0,0 +1,138 @@
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.NetIkePeer` Manages a ikePeer configuration
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as f5bigip from "@pulumi/f5bigip";
15
+ *
16
+ * const example1 = new f5bigip.NetIkePeer("example1", {
17
+ * localAddress: "192.16.81.240",
18
+ * name: "example1",
19
+ * profile: "/Common/dslite",
20
+ * });
21
+ * ```
22
+ */
23
+ class NetIkePeer extends pulumi.CustomResource {
24
+ constructor(name, argsOrState, opts) {
25
+ let inputs = {};
26
+ opts = opts || {};
27
+ if (opts.id) {
28
+ const state = argsOrState;
29
+ inputs["appService"] = state ? state.appService : undefined;
30
+ inputs["caCertFile"] = state ? state.caCertFile : undefined;
31
+ inputs["crlFile"] = state ? state.crlFile : undefined;
32
+ inputs["description"] = state ? state.description : undefined;
33
+ inputs["dpdDelay"] = state ? state.dpdDelay : undefined;
34
+ inputs["generatePolicy"] = state ? state.generatePolicy : undefined;
35
+ inputs["lifetime"] = state ? state.lifetime : undefined;
36
+ inputs["mode"] = state ? state.mode : undefined;
37
+ inputs["myCertFile"] = state ? state.myCertFile : undefined;
38
+ inputs["myCertKeyFile"] = state ? state.myCertKeyFile : undefined;
39
+ inputs["myCertKeyPassphrase"] = state ? state.myCertKeyPassphrase : undefined;
40
+ inputs["myIdType"] = state ? state.myIdType : undefined;
41
+ inputs["myIdValue"] = state ? state.myIdValue : undefined;
42
+ inputs["name"] = state ? state.name : undefined;
43
+ inputs["natTraversal"] = state ? state.natTraversal : undefined;
44
+ inputs["passive"] = state ? state.passive : undefined;
45
+ inputs["peersCertFile"] = state ? state.peersCertFile : undefined;
46
+ inputs["peersCertType"] = state ? state.peersCertType : undefined;
47
+ inputs["peersIdType"] = state ? state.peersIdType : undefined;
48
+ inputs["peersIdValue"] = state ? state.peersIdValue : undefined;
49
+ inputs["phase1AuthMethod"] = state ? state.phase1AuthMethod : undefined;
50
+ inputs["phase1EncryptAlgorithm"] = state ? state.phase1EncryptAlgorithm : undefined;
51
+ inputs["phase1HashAlgorithm"] = state ? state.phase1HashAlgorithm : undefined;
52
+ inputs["phase1PerfectForwardSecrecy"] = state ? state.phase1PerfectForwardSecrecy : undefined;
53
+ inputs["presharedKey"] = state ? state.presharedKey : undefined;
54
+ inputs["presharedKeyEncrypted"] = state ? state.presharedKeyEncrypted : undefined;
55
+ inputs["prf"] = state ? state.prf : undefined;
56
+ inputs["proxySupport"] = state ? state.proxySupport : undefined;
57
+ inputs["remoteAddress"] = state ? state.remoteAddress : undefined;
58
+ inputs["replayWindowSize"] = state ? state.replayWindowSize : undefined;
59
+ inputs["state"] = state ? state.state : undefined;
60
+ inputs["trafficSelectors"] = state ? state.trafficSelectors : undefined;
61
+ inputs["verifyCert"] = state ? state.verifyCert : undefined;
62
+ inputs["versions"] = state ? state.versions : undefined;
63
+ }
64
+ else {
65
+ const args = argsOrState;
66
+ if ((!args || args.name === undefined) && !opts.urn) {
67
+ throw new Error("Missing required property 'name'");
68
+ }
69
+ if ((!args || args.remoteAddress === undefined) && !opts.urn) {
70
+ throw new Error("Missing required property 'remoteAddress'");
71
+ }
72
+ inputs["appService"] = args ? args.appService : undefined;
73
+ inputs["caCertFile"] = args ? args.caCertFile : undefined;
74
+ inputs["crlFile"] = args ? args.crlFile : undefined;
75
+ inputs["description"] = args ? args.description : undefined;
76
+ inputs["dpdDelay"] = args ? args.dpdDelay : undefined;
77
+ inputs["generatePolicy"] = args ? args.generatePolicy : undefined;
78
+ inputs["lifetime"] = args ? args.lifetime : undefined;
79
+ inputs["mode"] = args ? args.mode : undefined;
80
+ inputs["myCertFile"] = args ? args.myCertFile : undefined;
81
+ inputs["myCertKeyFile"] = args ? args.myCertKeyFile : undefined;
82
+ inputs["myCertKeyPassphrase"] = args ? args.myCertKeyPassphrase : undefined;
83
+ inputs["myIdType"] = args ? args.myIdType : undefined;
84
+ inputs["myIdValue"] = args ? args.myIdValue : undefined;
85
+ inputs["name"] = args ? args.name : undefined;
86
+ inputs["natTraversal"] = args ? args.natTraversal : undefined;
87
+ inputs["passive"] = args ? args.passive : undefined;
88
+ inputs["peersCertFile"] = args ? args.peersCertFile : undefined;
89
+ inputs["peersCertType"] = args ? args.peersCertType : undefined;
90
+ inputs["peersIdType"] = args ? args.peersIdType : undefined;
91
+ inputs["peersIdValue"] = args ? args.peersIdValue : undefined;
92
+ inputs["phase1AuthMethod"] = args ? args.phase1AuthMethod : undefined;
93
+ inputs["phase1EncryptAlgorithm"] = args ? args.phase1EncryptAlgorithm : undefined;
94
+ inputs["phase1HashAlgorithm"] = args ? args.phase1HashAlgorithm : undefined;
95
+ inputs["phase1PerfectForwardSecrecy"] = args ? args.phase1PerfectForwardSecrecy : undefined;
96
+ inputs["presharedKey"] = args ? args.presharedKey : undefined;
97
+ inputs["presharedKeyEncrypted"] = args ? args.presharedKeyEncrypted : undefined;
98
+ inputs["prf"] = args ? args.prf : undefined;
99
+ inputs["proxySupport"] = args ? args.proxySupport : undefined;
100
+ inputs["remoteAddress"] = args ? args.remoteAddress : undefined;
101
+ inputs["replayWindowSize"] = args ? args.replayWindowSize : undefined;
102
+ inputs["state"] = args ? args.state : undefined;
103
+ inputs["trafficSelectors"] = args ? args.trafficSelectors : undefined;
104
+ inputs["verifyCert"] = args ? args.verifyCert : undefined;
105
+ inputs["versions"] = args ? args.versions : undefined;
106
+ }
107
+ if (!opts.version) {
108
+ opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
109
+ }
110
+ super(NetIkePeer.__pulumiType, name, inputs, opts);
111
+ }
112
+ /**
113
+ * Get an existing NetIkePeer resource's state with the given name, ID, and optional extra
114
+ * properties used to qualify the lookup.
115
+ *
116
+ * @param name The _unique_ name of the resulting resource.
117
+ * @param id The _unique_ provider ID of the resource to lookup.
118
+ * @param state Any extra arguments used during the lookup.
119
+ * @param opts Optional settings to control the behavior of the CustomResource.
120
+ */
121
+ static get(name, id, state, opts) {
122
+ return new NetIkePeer(name, state, Object.assign(Object.assign({}, opts), { id: id }));
123
+ }
124
+ /**
125
+ * Returns true if the given object is an instance of NetIkePeer. This is designed to work even
126
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
127
+ */
128
+ static isInstance(obj) {
129
+ if (obj === undefined || obj === null) {
130
+ return false;
131
+ }
132
+ return obj['__pulumiType'] === NetIkePeer.__pulumiType;
133
+ }
134
+ }
135
+ exports.NetIkePeer = NetIkePeer;
136
+ /** @internal */
137
+ NetIkePeer.__pulumiType = 'f5bigip:index/netIkePeer:NetIkePeer';
138
+ //# sourceMappingURL=netIkePeer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netIkePeer.js","sourceRoot":"","sources":["../netIkePeer.ts"],"names":[],"mappings":"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"}