@pulumi/openstack 4.2.0-alpha.1727221614 → 5.0.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 (122) hide show
  1. package/blockstorage/index.d.ts +0 -18
  2. package/blockstorage/index.js +1 -27
  3. package/blockstorage/index.js.map +1 -1
  4. package/compute/index.d.ts +0 -9
  5. package/compute/index.js +1 -16
  6. package/compute/index.js.map +1 -1
  7. package/compute/instance.d.ts +6 -6
  8. package/compute/serverGroup.d.ts +5 -5
  9. package/compute/serverGroup.js +2 -2
  10. package/containerinfra/cluster.d.ts +15 -0
  11. package/containerinfra/cluster.js +2 -0
  12. package/containerinfra/cluster.js.map +1 -1
  13. package/containerinfra/getCluster.d.ts +5 -0
  14. package/containerinfra/getCluster.js.map +1 -1
  15. package/dns/recordSet.d.ts +5 -2
  16. package/dns/recordSet.js +5 -2
  17. package/dns/recordSet.js.map +1 -1
  18. package/dns/zone.d.ts +1 -1
  19. package/dns/zone.js +1 -1
  20. package/firewall/index.d.ts +0 -12
  21. package/firewall/index.js +1 -19
  22. package/firewall/index.js.map +1 -1
  23. package/identity/getProjectIdsV3.d.ts +128 -0
  24. package/identity/getProjectIdsV3.js +74 -0
  25. package/identity/getProjectIdsV3.js.map +1 -0
  26. package/identity/index.d.ts +3 -0
  27. package/identity/index.js +4 -1
  28. package/identity/index.js.map +1 -1
  29. package/index.d.ts +3 -0
  30. package/index.js +6 -1
  31. package/index.js.map +1 -1
  32. package/keymanager/containerV1.d.ts +2 -16
  33. package/keymanager/containerV1.js +2 -16
  34. package/keymanager/containerV1.js.map +1 -1
  35. package/lbFlavorprofileV2.d.ts +133 -0
  36. package/lbFlavorprofileV2.js +104 -0
  37. package/lbFlavorprofileV2.js.map +1 -0
  38. package/loadbalancer/index.d.ts +0 -15
  39. package/loadbalancer/index.js +1 -26
  40. package/loadbalancer/index.js.map +1 -1
  41. package/loadbalancer/l7policyV2.d.ts +3 -3
  42. package/loadbalancer/l7ruleV2.d.ts +3 -3
  43. package/loadbalancer/listener.d.ts +337 -90
  44. package/loadbalancer/listener.js +61 -0
  45. package/loadbalancer/listener.js.map +1 -1
  46. package/loadbalancer/monitor.d.ts +42 -6
  47. package/loadbalancer/monitor.js +4 -0
  48. package/loadbalancer/monitor.js.map +1 -1
  49. package/loadbalancer/pool.d.ts +190 -61
  50. package/loadbalancer/pool.js +14 -0
  51. package/loadbalancer/pool.js.map +1 -1
  52. package/networking/network.d.ts +10 -7
  53. package/networking/network.js +10 -7
  54. package/networking/network.js.map +1 -1
  55. package/networking/secGroupRule.d.ts +21 -6
  56. package/networking/secGroupRule.js.map +1 -1
  57. package/objectstorage/accountV1.d.ts +163 -0
  58. package/objectstorage/accountV1.js +89 -0
  59. package/objectstorage/accountV1.js.map +1 -0
  60. package/objectstorage/index.d.ts +3 -0
  61. package/objectstorage/index.js +6 -1
  62. package/objectstorage/index.js.map +1 -1
  63. package/objectstorage/tempUrl.d.ts +42 -0
  64. package/objectstorage/tempUrl.js +5 -1
  65. package/objectstorage/tempUrl.js.map +1 -1
  66. package/package.json +2 -2
  67. package/types/input.d.ts +0 -84
  68. package/types/output.d.ts +0 -84
  69. package/blockstorage/getSnapshotV2.d.ts +0 -127
  70. package/blockstorage/getSnapshotV2.js +0 -62
  71. package/blockstorage/getSnapshotV2.js.map +0 -1
  72. package/blockstorage/getVolumeV2.d.ts +0 -138
  73. package/blockstorage/getVolumeV2.js +0 -62
  74. package/blockstorage/getVolumeV2.js.map +0 -1
  75. package/blockstorage/quoteSetV2.d.ts +0 -217
  76. package/blockstorage/quoteSetV2.js +0 -89
  77. package/blockstorage/quoteSetV2.js.map +0 -1
  78. package/blockstorage/volumeAttachV2.d.ts +0 -296
  79. package/blockstorage/volumeAttachV2.js +0 -145
  80. package/blockstorage/volumeAttachV2.js.map +0 -1
  81. package/blockstorage/volumeV1.d.ts +0 -234
  82. package/blockstorage/volumeV1.js +0 -97
  83. package/blockstorage/volumeV1.js.map +0 -1
  84. package/blockstorage/volumeV2.d.ts +0 -276
  85. package/blockstorage/volumeV2.js +0 -103
  86. package/blockstorage/volumeV2.js.map +0 -1
  87. package/compute/floatingIp.d.ts +0 -125
  88. package/compute/floatingIp.js +0 -86
  89. package/compute/floatingIp.js.map +0 -1
  90. package/compute/floatingIpAssociate.d.ts +0 -159
  91. package/compute/floatingIpAssociate.js +0 -126
  92. package/compute/floatingIpAssociate.js.map +0 -1
  93. package/compute/secGroup.d.ts +0 -172
  94. package/compute/secGroup.js +0 -120
  95. package/compute/secGroup.js.map +0 -1
  96. package/firewall/firewall.d.ts +0 -238
  97. package/firewall/firewall.js +0 -114
  98. package/firewall/firewall.js.map +0 -1
  99. package/firewall/getPolicy.d.ts +0 -118
  100. package/firewall/getPolicy.js +0 -58
  101. package/firewall/getPolicy.js.map +0 -1
  102. package/firewall/policy.d.ts +0 -216
  103. package/firewall/policy.js +0 -105
  104. package/firewall/policy.js.map +0 -1
  105. package/firewall/rule.d.ts +0 -291
  106. package/firewall/rule.js +0 -106
  107. package/firewall/rule.js.map +0 -1
  108. package/loadbalancer/loadBalancer.d.ts +0 -320
  109. package/loadbalancer/loadBalancer.js +0 -105
  110. package/loadbalancer/loadBalancer.js.map +0 -1
  111. package/loadbalancer/memberV1.d.ts +0 -162
  112. package/loadbalancer/memberV1.js +0 -94
  113. package/loadbalancer/memberV1.js.map +0 -1
  114. package/loadbalancer/monitorV1.d.ts +0 -242
  115. package/loadbalancer/monitorV1.js +0 -105
  116. package/loadbalancer/monitorV1.js.map +0 -1
  117. package/loadbalancer/poolV1.d.ts +0 -281
  118. package/loadbalancer/poolV1.js +0 -185
  119. package/loadbalancer/poolV1.js.map +0 -1
  120. package/loadbalancer/vip.d.ts +0 -292
  121. package/loadbalancer/vip.js +0 -113
  122. package/loadbalancer/vip.js.map +0 -1
@@ -7,6 +7,8 @@ import * as pulumi from "@pulumi/pulumi";
7
7
  *
8
8
  * ## Example Usage
9
9
  *
10
+ * ### Simple listener
11
+ *
10
12
  * ```typescript
11
13
  * import * as pulumi from "@pulumi/pulumi";
12
14
  * import * as openstack from "@pulumi/openstack";
@@ -21,6 +23,47 @@ import * as pulumi from "@pulumi/pulumi";
21
23
  * });
22
24
  * ```
23
25
  *
26
+ * ### Listener with TLS and client certificate authentication
27
+ *
28
+ * ```typescript
29
+ * import * as pulumi from "@pulumi/pulumi";
30
+ * import * as openstack from "@pulumi/openstack";
31
+ * import * as std from "@pulumi/std";
32
+ *
33
+ * const certificate1 = new openstack.keymanager.SecretV1("certificate_1", {
34
+ * name: "certificate",
35
+ * payload: std.filebase64({
36
+ * input: "snakeoil.p12",
37
+ * }).then(invoke => invoke.result),
38
+ * payloadContentEncoding: "base64",
39
+ * payloadContentType: "application/octet-stream",
40
+ * });
41
+ * const caCertificate1 = new openstack.keymanager.SecretV1("ca_certificate_1", {
42
+ * name: "certificate",
43
+ * payload: std.file({
44
+ * input: "CA.pem",
45
+ * }).then(invoke => invoke.result),
46
+ * secretType: "certificate",
47
+ * payloadContentType: "text/plain",
48
+ * });
49
+ * const subnet1 = openstack.networking.getSubnet({
50
+ * name: "my-subnet",
51
+ * });
52
+ * const lb1 = new openstack.LbLoadbalancerV2("lb_1", {
53
+ * name: "loadbalancer",
54
+ * vipSubnetId: subnet1.then(subnet1 => subnet1.id),
55
+ * });
56
+ * const listener1 = new openstack.loadbalancer.Listener("listener_1", {
57
+ * name: "https",
58
+ * protocol: "TERMINATED_HTTPS",
59
+ * protocolPort: 443,
60
+ * loadbalancerId: lb1.id,
61
+ * defaultTlsContainerRef: certificate1,
62
+ * clientAuthentication: "OPTIONAL",
63
+ * clientCaTlsContainerRef: caCertificate2.secretRef,
64
+ * });
65
+ * ```
66
+ *
24
67
  * ## Import
25
68
  *
26
69
  * Load Balancer Listener can be imported using the Listener ID, e.g.:
@@ -46,18 +89,46 @@ export declare class Listener extends pulumi.CustomResource {
46
89
  */
47
90
  static isInstance(obj: any): obj is Listener;
48
91
  /**
49
- * The administrative state of the Listener.
50
- * A valid value is true (UP) or false (DOWN).
92
+ * The administrative state of the Listener. A
93
+ * valid value is true (UP) or false (DOWN).
51
94
  */
52
95
  readonly adminStateUp: pulumi.Output<boolean | undefined>;
53
96
  /**
54
- * A list of CIDR blocks that are permitted to connect to this listener, denying
55
- * all other source addresses. If not present, defaults to allow all.
97
+ * A list of CIDR blocks that are permitted to
98
+ * connect to this listener, denying all other source addresses. If not present,
99
+ * defaults to allow all.
56
100
  */
57
101
  readonly allowedCidrs: pulumi.Output<string[] | undefined>;
58
102
  /**
59
- * The maximum number of connections allowed
60
- * for the Listener.
103
+ * A list of ALPN protocols. Available protocols:
104
+ * `http/1.0`, `http/1.1`, `h2`. Supported only in **Octavia minor version >=
105
+ * 2.20**.
106
+ */
107
+ readonly alpnProtocols: pulumi.Output<string[]>;
108
+ /**
109
+ * The TLS client authentication mode.
110
+ * Available options: `NONE`, `OPTIONAL` or `MANDATORY`. Requires
111
+ * `TERMINATED_HTTPS` listener protocol and the `clientCaTlsContainerRef`.
112
+ * Supported only in **Octavia minor version >= 2.8**.
113
+ */
114
+ readonly clientAuthentication: pulumi.Output<string | undefined>;
115
+ /**
116
+ * The ref of the key manager service
117
+ * secret containing a PEM format client CA certificate bundle for
118
+ * `TERMINATED_HTTPS` listeners. Required if `clientAuthentication` is
119
+ * `OPTIONAL` or `MANDATORY`. Supported only in **Octavia minor version >=
120
+ * 2.8**.
121
+ */
122
+ readonly clientCaTlsContainerRef: pulumi.Output<string | undefined>;
123
+ /**
124
+ * The URI of the key manager service
125
+ * secret containing a PEM format CA revocation list file for `TERMINATED_HTTPS`
126
+ * listeners. Supported only in **Octavia minor version >= 2.8**.
127
+ */
128
+ readonly clientCrlContainerRef: pulumi.Output<string | undefined>;
129
+ /**
130
+ * The maximum number of connections allowed for
131
+ * the Listener.
61
132
  */
62
133
  readonly connectionLimit: pulumi.Output<number>;
63
134
  /**
@@ -67,9 +138,9 @@ export declare class Listener extends pulumi.CustomResource {
67
138
  readonly defaultPoolId: pulumi.Output<string>;
68
139
  /**
69
140
  * A reference to a Barbican Secrets
70
- * container which stores TLS information. This is required if the protocol
71
- * is `TERMINATED_HTTPS`. See
72
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
141
+ * container which stores TLS information. This is required if the protocol is
142
+ * `TERMINATED_HTTPS`. See
143
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
73
144
  * for more information.
74
145
  */
75
146
  readonly defaultTlsContainerRef: pulumi.Output<string | undefined>;
@@ -78,9 +149,34 @@ export declare class Listener extends pulumi.CustomResource {
78
149
  */
79
150
  readonly description: pulumi.Output<string | undefined>;
80
151
  /**
81
- * The list of key value pairs representing headers to insert
82
- * into the request before it is sent to the backend members. Changing this updates the headers of the
83
- * existing listener.
152
+ * Defines whether the
153
+ * **includeSubDomains** directive should be added to the
154
+ * Strict-Transport-Security HTTP response header. This requires setting the
155
+ * `hstsMaxAge` option as well in order to become effective. Requires
156
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
157
+ * version >= 2.27**.
158
+ */
159
+ readonly hstsIncludeSubdomains: pulumi.Output<boolean | undefined>;
160
+ /**
161
+ * The value of the **max_age** directive for the
162
+ * Strict-Transport-Security HTTP response header. Setting this enables HTTP
163
+ * Strict Transport Security (HSTS) for the TLS-terminated listener. Requires
164
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
165
+ * version >= 2.27**.
166
+ */
167
+ readonly hstsMaxAge: pulumi.Output<number | undefined>;
168
+ /**
169
+ * Defines whether the **preload** directive should
170
+ * be added to the Strict-Transport-Security HTTP response header. This requires
171
+ * setting the `hstsMaxAge` option as well in order to become effective.
172
+ * Requires `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia
173
+ * minor version >= 2.27**.
174
+ */
175
+ readonly hstsPreload: pulumi.Output<boolean | undefined>;
176
+ /**
177
+ * The list of key value pairs representing
178
+ * headers to insert into the request before it is sent to the backend members.
179
+ * Changing this updates the headers of the existing listener.
84
180
  */
85
181
  readonly insertHeaders: pulumi.Output<{
86
182
  [key: string]: string;
@@ -91,33 +187,32 @@ export declare class Listener extends pulumi.CustomResource {
91
187
  */
92
188
  readonly loadbalancerId: pulumi.Output<string>;
93
189
  /**
94
- * Human-readable name for the Listener. Does not have
95
- * to be unique.
190
+ * Human-readable name for the Listener. Does not have to be
191
+ * unique.
96
192
  */
97
193
  readonly name: pulumi.Output<string>;
98
194
  /**
99
- * The protocol - can either be TCP, HTTP, HTTPS,
100
- * TERMINATED_HTTPS, UDP, SCTP (supported only in
101
- * **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
102
- * **Octavia minor version >=2.25**). Changing this creates a new Listener.
195
+ * The protocol can be either `TCP`, `HTTP`, `HTTPS`,
196
+ * `TERMINATED_HTTPS`, `UDP`, `SCTP` (supported only in **Octavia minor version
197
+ * \>= 2.23**), or `PROMETHEUS` (supported only in **Octavia minor version >=
198
+ * 2.25**). Changing this creates a new Listener.
103
199
  */
104
200
  readonly protocol: pulumi.Output<string>;
105
201
  /**
106
202
  * The port on which to listen for client traffic.
107
- * Changing this creates a new Listener.
203
+ * * Changing this creates a new Listener.
108
204
  */
109
205
  readonly protocolPort: pulumi.Output<number>;
110
206
  /**
111
207
  * The region in which to obtain the V2 Networking client.
112
- * A Networking client is needed to create an . If omitted, the
113
- * `region` argument of the provider is used. Changing this creates a new
114
- * Listener.
208
+ * A Networking client is needed to create a listener. If omitted, the `region`
209
+ * argument of the provider is used. Changing this creates a new Listener.
115
210
  */
116
211
  readonly region: pulumi.Output<string>;
117
212
  /**
118
213
  * A list of references to Barbican Secrets
119
214
  * containers which store SNI information. See
120
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
215
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
121
216
  * for more information.
122
217
  */
123
218
  readonly sniContainerRefs: pulumi.Output<string[] | undefined>;
@@ -128,27 +223,43 @@ export declare class Listener extends pulumi.CustomResource {
128
223
  readonly tags: pulumi.Output<string[] | undefined>;
129
224
  /**
130
225
  * Required for admins. The UUID of the tenant who owns
131
- * the Listener. Only administrative users can specify a tenant UUID
132
- * other than their own. Changing this creates a new Listener.
226
+ * the Listener. Only administrative users can specify a tenant UUID other than
227
+ * their own. Changing this creates a new Listener.
133
228
  */
134
229
  readonly tenantId: pulumi.Output<string>;
135
230
  /**
136
- * The client inactivity timeout in milliseconds.
231
+ * The client inactivity timeout in
232
+ * milliseconds.
137
233
  */
138
234
  readonly timeoutClientData: pulumi.Output<number>;
139
235
  /**
140
- * The member connection timeout in milliseconds.
236
+ * The member connection timeout in
237
+ * milliseconds.
141
238
  */
142
239
  readonly timeoutMemberConnect: pulumi.Output<number>;
143
240
  /**
144
- * The member inactivity timeout in milliseconds.
241
+ * The member inactivity timeout in
242
+ * milliseconds.
145
243
  */
146
244
  readonly timeoutMemberData: pulumi.Output<number>;
147
245
  /**
148
- * The time in milliseconds, to wait for additional
149
- * TCP packets for content inspection.
246
+ * The time in milliseconds, to wait for
247
+ * additional TCP packets for content inspection.
150
248
  */
151
249
  readonly timeoutTcpInspect: pulumi.Output<number>;
250
+ /**
251
+ * List of ciphers in OpenSSL format
252
+ * (colon-separated). See
253
+ * https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information.
254
+ * Supported only in **Octavia minor version >= 2.15**.
255
+ */
256
+ readonly tlsCiphers: pulumi.Output<string>;
257
+ /**
258
+ * A list of TLS protocol versions. Available
259
+ * versions: `TLSv1`, `TLSv1.1`, `TLSv1.2`, `TLSv1.3`. Supported only in
260
+ * **Octavia minor version >= 2.17**.
261
+ */
262
+ readonly tlsVersions: pulumi.Output<string[]>;
152
263
  /**
153
264
  * Create a Listener resource with the given unique name, arguments, and options.
154
265
  *
@@ -163,18 +274,46 @@ export declare class Listener extends pulumi.CustomResource {
163
274
  */
164
275
  export interface ListenerState {
165
276
  /**
166
- * The administrative state of the Listener.
167
- * A valid value is true (UP) or false (DOWN).
277
+ * The administrative state of the Listener. A
278
+ * valid value is true (UP) or false (DOWN).
168
279
  */
169
280
  adminStateUp?: pulumi.Input<boolean>;
170
281
  /**
171
- * A list of CIDR blocks that are permitted to connect to this listener, denying
172
- * all other source addresses. If not present, defaults to allow all.
282
+ * A list of CIDR blocks that are permitted to
283
+ * connect to this listener, denying all other source addresses. If not present,
284
+ * defaults to allow all.
173
285
  */
174
286
  allowedCidrs?: pulumi.Input<pulumi.Input<string>[]>;
175
287
  /**
176
- * The maximum number of connections allowed
177
- * for the Listener.
288
+ * A list of ALPN protocols. Available protocols:
289
+ * `http/1.0`, `http/1.1`, `h2`. Supported only in **Octavia minor version >=
290
+ * 2.20**.
291
+ */
292
+ alpnProtocols?: pulumi.Input<pulumi.Input<string>[]>;
293
+ /**
294
+ * The TLS client authentication mode.
295
+ * Available options: `NONE`, `OPTIONAL` or `MANDATORY`. Requires
296
+ * `TERMINATED_HTTPS` listener protocol and the `clientCaTlsContainerRef`.
297
+ * Supported only in **Octavia minor version >= 2.8**.
298
+ */
299
+ clientAuthentication?: pulumi.Input<string>;
300
+ /**
301
+ * The ref of the key manager service
302
+ * secret containing a PEM format client CA certificate bundle for
303
+ * `TERMINATED_HTTPS` listeners. Required if `clientAuthentication` is
304
+ * `OPTIONAL` or `MANDATORY`. Supported only in **Octavia minor version >=
305
+ * 2.8**.
306
+ */
307
+ clientCaTlsContainerRef?: pulumi.Input<string>;
308
+ /**
309
+ * The URI of the key manager service
310
+ * secret containing a PEM format CA revocation list file for `TERMINATED_HTTPS`
311
+ * listeners. Supported only in **Octavia minor version >= 2.8**.
312
+ */
313
+ clientCrlContainerRef?: pulumi.Input<string>;
314
+ /**
315
+ * The maximum number of connections allowed for
316
+ * the Listener.
178
317
  */
179
318
  connectionLimit?: pulumi.Input<number>;
180
319
  /**
@@ -184,9 +323,9 @@ export interface ListenerState {
184
323
  defaultPoolId?: pulumi.Input<string>;
185
324
  /**
186
325
  * A reference to a Barbican Secrets
187
- * container which stores TLS information. This is required if the protocol
188
- * is `TERMINATED_HTTPS`. See
189
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
326
+ * container which stores TLS information. This is required if the protocol is
327
+ * `TERMINATED_HTTPS`. See
328
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
190
329
  * for more information.
191
330
  */
192
331
  defaultTlsContainerRef?: pulumi.Input<string>;
@@ -195,9 +334,34 @@ export interface ListenerState {
195
334
  */
196
335
  description?: pulumi.Input<string>;
197
336
  /**
198
- * The list of key value pairs representing headers to insert
199
- * into the request before it is sent to the backend members. Changing this updates the headers of the
200
- * existing listener.
337
+ * Defines whether the
338
+ * **includeSubDomains** directive should be added to the
339
+ * Strict-Transport-Security HTTP response header. This requires setting the
340
+ * `hstsMaxAge` option as well in order to become effective. Requires
341
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
342
+ * version >= 2.27**.
343
+ */
344
+ hstsIncludeSubdomains?: pulumi.Input<boolean>;
345
+ /**
346
+ * The value of the **max_age** directive for the
347
+ * Strict-Transport-Security HTTP response header. Setting this enables HTTP
348
+ * Strict Transport Security (HSTS) for the TLS-terminated listener. Requires
349
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
350
+ * version >= 2.27**.
351
+ */
352
+ hstsMaxAge?: pulumi.Input<number>;
353
+ /**
354
+ * Defines whether the **preload** directive should
355
+ * be added to the Strict-Transport-Security HTTP response header. This requires
356
+ * setting the `hstsMaxAge` option as well in order to become effective.
357
+ * Requires `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia
358
+ * minor version >= 2.27**.
359
+ */
360
+ hstsPreload?: pulumi.Input<boolean>;
361
+ /**
362
+ * The list of key value pairs representing
363
+ * headers to insert into the request before it is sent to the backend members.
364
+ * Changing this updates the headers of the existing listener.
201
365
  */
202
366
  insertHeaders?: pulumi.Input<{
203
367
  [key: string]: pulumi.Input<string>;
@@ -208,33 +372,32 @@ export interface ListenerState {
208
372
  */
209
373
  loadbalancerId?: pulumi.Input<string>;
210
374
  /**
211
- * Human-readable name for the Listener. Does not have
212
- * to be unique.
375
+ * Human-readable name for the Listener. Does not have to be
376
+ * unique.
213
377
  */
214
378
  name?: pulumi.Input<string>;
215
379
  /**
216
- * The protocol - can either be TCP, HTTP, HTTPS,
217
- * TERMINATED_HTTPS, UDP, SCTP (supported only in
218
- * **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
219
- * **Octavia minor version >=2.25**). Changing this creates a new Listener.
380
+ * The protocol can be either `TCP`, `HTTP`, `HTTPS`,
381
+ * `TERMINATED_HTTPS`, `UDP`, `SCTP` (supported only in **Octavia minor version
382
+ * \>= 2.23**), or `PROMETHEUS` (supported only in **Octavia minor version >=
383
+ * 2.25**). Changing this creates a new Listener.
220
384
  */
221
385
  protocol?: pulumi.Input<string>;
222
386
  /**
223
387
  * The port on which to listen for client traffic.
224
- * Changing this creates a new Listener.
388
+ * * Changing this creates a new Listener.
225
389
  */
226
390
  protocolPort?: pulumi.Input<number>;
227
391
  /**
228
392
  * The region in which to obtain the V2 Networking client.
229
- * A Networking client is needed to create an . If omitted, the
230
- * `region` argument of the provider is used. Changing this creates a new
231
- * Listener.
393
+ * A Networking client is needed to create a listener. If omitted, the `region`
394
+ * argument of the provider is used. Changing this creates a new Listener.
232
395
  */
233
396
  region?: pulumi.Input<string>;
234
397
  /**
235
398
  * A list of references to Barbican Secrets
236
399
  * containers which store SNI information. See
237
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
400
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
238
401
  * for more information.
239
402
  */
240
403
  sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>;
@@ -245,45 +408,89 @@ export interface ListenerState {
245
408
  tags?: pulumi.Input<pulumi.Input<string>[]>;
246
409
  /**
247
410
  * Required for admins. The UUID of the tenant who owns
248
- * the Listener. Only administrative users can specify a tenant UUID
249
- * other than their own. Changing this creates a new Listener.
411
+ * the Listener. Only administrative users can specify a tenant UUID other than
412
+ * their own. Changing this creates a new Listener.
250
413
  */
251
414
  tenantId?: pulumi.Input<string>;
252
415
  /**
253
- * The client inactivity timeout in milliseconds.
416
+ * The client inactivity timeout in
417
+ * milliseconds.
254
418
  */
255
419
  timeoutClientData?: pulumi.Input<number>;
256
420
  /**
257
- * The member connection timeout in milliseconds.
421
+ * The member connection timeout in
422
+ * milliseconds.
258
423
  */
259
424
  timeoutMemberConnect?: pulumi.Input<number>;
260
425
  /**
261
- * The member inactivity timeout in milliseconds.
426
+ * The member inactivity timeout in
427
+ * milliseconds.
262
428
  */
263
429
  timeoutMemberData?: pulumi.Input<number>;
264
430
  /**
265
- * The time in milliseconds, to wait for additional
266
- * TCP packets for content inspection.
431
+ * The time in milliseconds, to wait for
432
+ * additional TCP packets for content inspection.
267
433
  */
268
434
  timeoutTcpInspect?: pulumi.Input<number>;
435
+ /**
436
+ * List of ciphers in OpenSSL format
437
+ * (colon-separated). See
438
+ * https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information.
439
+ * Supported only in **Octavia minor version >= 2.15**.
440
+ */
441
+ tlsCiphers?: pulumi.Input<string>;
442
+ /**
443
+ * A list of TLS protocol versions. Available
444
+ * versions: `TLSv1`, `TLSv1.1`, `TLSv1.2`, `TLSv1.3`. Supported only in
445
+ * **Octavia minor version >= 2.17**.
446
+ */
447
+ tlsVersions?: pulumi.Input<pulumi.Input<string>[]>;
269
448
  }
270
449
  /**
271
450
  * The set of arguments for constructing a Listener resource.
272
451
  */
273
452
  export interface ListenerArgs {
274
453
  /**
275
- * The administrative state of the Listener.
276
- * A valid value is true (UP) or false (DOWN).
454
+ * The administrative state of the Listener. A
455
+ * valid value is true (UP) or false (DOWN).
277
456
  */
278
457
  adminStateUp?: pulumi.Input<boolean>;
279
458
  /**
280
- * A list of CIDR blocks that are permitted to connect to this listener, denying
281
- * all other source addresses. If not present, defaults to allow all.
459
+ * A list of CIDR blocks that are permitted to
460
+ * connect to this listener, denying all other source addresses. If not present,
461
+ * defaults to allow all.
282
462
  */
283
463
  allowedCidrs?: pulumi.Input<pulumi.Input<string>[]>;
284
464
  /**
285
- * The maximum number of connections allowed
286
- * for the Listener.
465
+ * A list of ALPN protocols. Available protocols:
466
+ * `http/1.0`, `http/1.1`, `h2`. Supported only in **Octavia minor version >=
467
+ * 2.20**.
468
+ */
469
+ alpnProtocols?: pulumi.Input<pulumi.Input<string>[]>;
470
+ /**
471
+ * The TLS client authentication mode.
472
+ * Available options: `NONE`, `OPTIONAL` or `MANDATORY`. Requires
473
+ * `TERMINATED_HTTPS` listener protocol and the `clientCaTlsContainerRef`.
474
+ * Supported only in **Octavia minor version >= 2.8**.
475
+ */
476
+ clientAuthentication?: pulumi.Input<string>;
477
+ /**
478
+ * The ref of the key manager service
479
+ * secret containing a PEM format client CA certificate bundle for
480
+ * `TERMINATED_HTTPS` listeners. Required if `clientAuthentication` is
481
+ * `OPTIONAL` or `MANDATORY`. Supported only in **Octavia minor version >=
482
+ * 2.8**.
483
+ */
484
+ clientCaTlsContainerRef?: pulumi.Input<string>;
485
+ /**
486
+ * The URI of the key manager service
487
+ * secret containing a PEM format CA revocation list file for `TERMINATED_HTTPS`
488
+ * listeners. Supported only in **Octavia minor version >= 2.8**.
489
+ */
490
+ clientCrlContainerRef?: pulumi.Input<string>;
491
+ /**
492
+ * The maximum number of connections allowed for
493
+ * the Listener.
287
494
  */
288
495
  connectionLimit?: pulumi.Input<number>;
289
496
  /**
@@ -293,9 +500,9 @@ export interface ListenerArgs {
293
500
  defaultPoolId?: pulumi.Input<string>;
294
501
  /**
295
502
  * A reference to a Barbican Secrets
296
- * container which stores TLS information. This is required if the protocol
297
- * is `TERMINATED_HTTPS`. See
298
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
503
+ * container which stores TLS information. This is required if the protocol is
504
+ * `TERMINATED_HTTPS`. See
505
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
299
506
  * for more information.
300
507
  */
301
508
  defaultTlsContainerRef?: pulumi.Input<string>;
@@ -304,9 +511,34 @@ export interface ListenerArgs {
304
511
  */
305
512
  description?: pulumi.Input<string>;
306
513
  /**
307
- * The list of key value pairs representing headers to insert
308
- * into the request before it is sent to the backend members. Changing this updates the headers of the
309
- * existing listener.
514
+ * Defines whether the
515
+ * **includeSubDomains** directive should be added to the
516
+ * Strict-Transport-Security HTTP response header. This requires setting the
517
+ * `hstsMaxAge` option as well in order to become effective. Requires
518
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
519
+ * version >= 2.27**.
520
+ */
521
+ hstsIncludeSubdomains?: pulumi.Input<boolean>;
522
+ /**
523
+ * The value of the **max_age** directive for the
524
+ * Strict-Transport-Security HTTP response header. Setting this enables HTTP
525
+ * Strict Transport Security (HSTS) for the TLS-terminated listener. Requires
526
+ * `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia minor
527
+ * version >= 2.27**.
528
+ */
529
+ hstsMaxAge?: pulumi.Input<number>;
530
+ /**
531
+ * Defines whether the **preload** directive should
532
+ * be added to the Strict-Transport-Security HTTP response header. This requires
533
+ * setting the `hstsMaxAge` option as well in order to become effective.
534
+ * Requires `TERMINATED_HTTPS` listener protocol. Supported only in **Octavia
535
+ * minor version >= 2.27**.
536
+ */
537
+ hstsPreload?: pulumi.Input<boolean>;
538
+ /**
539
+ * The list of key value pairs representing
540
+ * headers to insert into the request before it is sent to the backend members.
541
+ * Changing this updates the headers of the existing listener.
310
542
  */
311
543
  insertHeaders?: pulumi.Input<{
312
544
  [key: string]: pulumi.Input<string>;
@@ -317,33 +549,32 @@ export interface ListenerArgs {
317
549
  */
318
550
  loadbalancerId: pulumi.Input<string>;
319
551
  /**
320
- * Human-readable name for the Listener. Does not have
321
- * to be unique.
552
+ * Human-readable name for the Listener. Does not have to be
553
+ * unique.
322
554
  */
323
555
  name?: pulumi.Input<string>;
324
556
  /**
325
- * The protocol - can either be TCP, HTTP, HTTPS,
326
- * TERMINATED_HTTPS, UDP, SCTP (supported only in
327
- * **Octavia minor version >= 2.23**) or PROMETHEUS (supported only in
328
- * **Octavia minor version >=2.25**). Changing this creates a new Listener.
557
+ * The protocol can be either `TCP`, `HTTP`, `HTTPS`,
558
+ * `TERMINATED_HTTPS`, `UDP`, `SCTP` (supported only in **Octavia minor version
559
+ * \>= 2.23**), or `PROMETHEUS` (supported only in **Octavia minor version >=
560
+ * 2.25**). Changing this creates a new Listener.
329
561
  */
330
562
  protocol: pulumi.Input<string>;
331
563
  /**
332
564
  * The port on which to listen for client traffic.
333
- * Changing this creates a new Listener.
565
+ * * Changing this creates a new Listener.
334
566
  */
335
567
  protocolPort: pulumi.Input<number>;
336
568
  /**
337
569
  * The region in which to obtain the V2 Networking client.
338
- * A Networking client is needed to create an . If omitted, the
339
- * `region` argument of the provider is used. Changing this creates a new
340
- * Listener.
570
+ * A Networking client is needed to create a listener. If omitted, the `region`
571
+ * argument of the provider is used. Changing this creates a new Listener.
341
572
  */
342
573
  region?: pulumi.Input<string>;
343
574
  /**
344
575
  * A list of references to Barbican Secrets
345
576
  * containers which store SNI information. See
346
- * [here](https://wiki.openstack.org/wiki/Network/LBaaS/docs/how-to-create-tls-loadbalancer)
577
+ * [here](https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer)
347
578
  * for more information.
348
579
  */
349
580
  sniContainerRefs?: pulumi.Input<pulumi.Input<string>[]>;
@@ -354,25 +585,41 @@ export interface ListenerArgs {
354
585
  tags?: pulumi.Input<pulumi.Input<string>[]>;
355
586
  /**
356
587
  * Required for admins. The UUID of the tenant who owns
357
- * the Listener. Only administrative users can specify a tenant UUID
358
- * other than their own. Changing this creates a new Listener.
588
+ * the Listener. Only administrative users can specify a tenant UUID other than
589
+ * their own. Changing this creates a new Listener.
359
590
  */
360
591
  tenantId?: pulumi.Input<string>;
361
592
  /**
362
- * The client inactivity timeout in milliseconds.
593
+ * The client inactivity timeout in
594
+ * milliseconds.
363
595
  */
364
596
  timeoutClientData?: pulumi.Input<number>;
365
597
  /**
366
- * The member connection timeout in milliseconds.
598
+ * The member connection timeout in
599
+ * milliseconds.
367
600
  */
368
601
  timeoutMemberConnect?: pulumi.Input<number>;
369
602
  /**
370
- * The member inactivity timeout in milliseconds.
603
+ * The member inactivity timeout in
604
+ * milliseconds.
371
605
  */
372
606
  timeoutMemberData?: pulumi.Input<number>;
373
607
  /**
374
- * The time in milliseconds, to wait for additional
375
- * TCP packets for content inspection.
608
+ * The time in milliseconds, to wait for
609
+ * additional TCP packets for content inspection.
376
610
  */
377
611
  timeoutTcpInspect?: pulumi.Input<number>;
612
+ /**
613
+ * List of ciphers in OpenSSL format
614
+ * (colon-separated). See
615
+ * https://www.openssl.org/docs/man1.1.1/man1/ciphers.html for more information.
616
+ * Supported only in **Octavia minor version >= 2.15**.
617
+ */
618
+ tlsCiphers?: pulumi.Input<string>;
619
+ /**
620
+ * A list of TLS protocol versions. Available
621
+ * versions: `TLSv1`, `TLSv1.1`, `TLSv1.2`, `TLSv1.3`. Supported only in
622
+ * **Octavia minor version >= 2.17**.
623
+ */
624
+ tlsVersions?: pulumi.Input<pulumi.Input<string>[]>;
378
625
  }