pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.27.0__py3-none-any.whl

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 (85) hide show
  1. pulumiverse_scaleway/__init__.py +105 -0
  2. pulumiverse_scaleway/_inputs.py +776 -0
  3. pulumiverse_scaleway/apple_silicon_server.py +105 -0
  4. pulumiverse_scaleway/applesilicon/server.py +105 -0
  5. pulumiverse_scaleway/baremetal_server.py +82 -0
  6. pulumiverse_scaleway/cockpit.py +7 -0
  7. pulumiverse_scaleway/domain/__init__.py +1 -0
  8. pulumiverse_scaleway/domain/_inputs.py +2697 -0
  9. pulumiverse_scaleway/domain/outputs.py +2145 -0
  10. pulumiverse_scaleway/domain/registration.py +777 -0
  11. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  12. pulumiverse_scaleway/edge_services_cache_stage.py +584 -0
  13. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  14. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  15. pulumiverse_scaleway/edge_services_pipeline.py +478 -0
  16. pulumiverse_scaleway/edge_services_plan.py +239 -0
  17. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  18. pulumiverse_scaleway/edge_services_tls_stage.py +640 -0
  19. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  20. pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
  21. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
  22. pulumiverse_scaleway/elasticmetal/ip.py +13 -7
  23. pulumiverse_scaleway/elasticmetal/server.py +82 -0
  24. pulumiverse_scaleway/flexible_ip.py +13 -7
  25. pulumiverse_scaleway/get_cockpit_plan.py +1 -0
  26. pulumiverse_scaleway/get_instance_server.py +12 -1
  27. pulumiverse_scaleway/get_lb_frontend.py +12 -1
  28. pulumiverse_scaleway/get_lb_route.py +12 -1
  29. pulumiverse_scaleway/get_secret.py +15 -4
  30. pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
  31. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
  32. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
  33. pulumiverse_scaleway/hosting/hosting.py +2 -2
  34. pulumiverse_scaleway/instance/get_server.py +12 -1
  35. pulumiverse_scaleway/instance/outputs.py +0 -11
  36. pulumiverse_scaleway/instance/server.py +54 -7
  37. pulumiverse_scaleway/instance_server.py +54 -7
  38. pulumiverse_scaleway/job/_inputs.py +113 -0
  39. pulumiverse_scaleway/job/definition.py +107 -0
  40. pulumiverse_scaleway/job/outputs.py +88 -0
  41. pulumiverse_scaleway/job_definition.py +107 -0
  42. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  43. pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
  44. pulumiverse_scaleway/loadbalancer_route.py +48 -1
  45. pulumiverse_scaleway/loadbalancers/backend.py +2 -2
  46. pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
  47. pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
  48. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  49. pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
  50. pulumiverse_scaleway/loadbalancers/route.py +48 -1
  51. pulumiverse_scaleway/network/__init__.py +1 -0
  52. pulumiverse_scaleway/network/_inputs.py +194 -0
  53. pulumiverse_scaleway/network/acl.py +415 -0
  54. pulumiverse_scaleway/network/gateway_network.py +104 -122
  55. pulumiverse_scaleway/network/get_public_gateway.py +34 -1
  56. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
  57. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
  58. pulumiverse_scaleway/network/outputs.py +139 -0
  59. pulumiverse_scaleway/network/public_gateway.py +124 -21
  60. pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
  61. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
  62. pulumiverse_scaleway/observability/cockpit.py +7 -0
  63. pulumiverse_scaleway/observability/get_plan.py +1 -0
  64. pulumiverse_scaleway/outputs.py +750 -13
  65. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  66. pulumiverse_scaleway/secret.py +22 -2
  67. pulumiverse_scaleway/secret_version.py +6 -6
  68. pulumiverse_scaleway/secrets/_inputs.py +154 -0
  69. pulumiverse_scaleway/secrets/get_secret.py +15 -4
  70. pulumiverse_scaleway/secrets/outputs.py +200 -0
  71. pulumiverse_scaleway/secrets/secret.py +22 -2
  72. pulumiverse_scaleway/tem/__init__.py +2 -0
  73. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  74. pulumiverse_scaleway/tem/domain.py +7 -0
  75. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  76. pulumiverse_scaleway/tem_domain.py +7 -0
  77. pulumiverse_scaleway/vpc_gateway_network.py +104 -122
  78. pulumiverse_scaleway/vpc_public_gateway.py +124 -21
  79. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
  80. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
  81. pulumiverse_scaleway/webhosting.py +2 -2
  82. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/METADATA +1 -1
  83. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/RECORD +85 -71
  84. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/WHEEL +1 -1
  85. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0.dist-info}/top_level.txt +0 -0
@@ -1056,7 +1056,7 @@ class LoadbalancerBackend(pulumi.CustomResource):
1056
1056
  forward_protocol="http",
1057
1057
  forward_port=80,
1058
1058
  health_check_http={
1059
- "uri": "www.test.com/health",
1059
+ "uri": "/health",
1060
1060
  })
1061
1061
  ```
1062
1062
 
@@ -1140,7 +1140,7 @@ class LoadbalancerBackend(pulumi.CustomResource):
1140
1140
  forward_protocol="http",
1141
1141
  forward_port=80,
1142
1142
  health_check_http={
1143
- "uri": "www.test.com/health",
1143
+ "uri": "/health",
1144
1144
  })
1145
1145
  ```
1146
1146
 
@@ -26,6 +26,7 @@ class LoadbalancerFrontendArgs:
26
26
  lb_id: pulumi.Input[str],
27
27
  acls: Optional[pulumi.Input[Sequence[pulumi.Input['LoadbalancerFrontendAclArgs']]]] = None,
28
28
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
29
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
29
30
  enable_http3: Optional[pulumi.Input[bool]] = None,
30
31
  external_acls: Optional[pulumi.Input[bool]] = None,
31
32
  name: Optional[pulumi.Input[str]] = None,
@@ -41,6 +42,7 @@ class LoadbalancerFrontendArgs:
41
42
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
42
43
 
43
44
  > **Important:** Certificates are not allowed on port 80.
45
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
44
46
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
45
47
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
46
48
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -54,6 +56,8 @@ class LoadbalancerFrontendArgs:
54
56
  pulumi.set(__self__, "acls", acls)
55
57
  if certificate_ids is not None:
56
58
  pulumi.set(__self__, "certificate_ids", certificate_ids)
59
+ if connection_rate_limit is not None:
60
+ pulumi.set(__self__, "connection_rate_limit", connection_rate_limit)
57
61
  if enable_http3 is not None:
58
62
  pulumi.set(__self__, "enable_http3", enable_http3)
59
63
  if external_acls is not None:
@@ -127,6 +131,18 @@ class LoadbalancerFrontendArgs:
127
131
  def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
128
132
  pulumi.set(self, "certificate_ids", value)
129
133
 
134
+ @property
135
+ @pulumi.getter(name="connectionRateLimit")
136
+ def connection_rate_limit(self) -> Optional[pulumi.Input[int]]:
137
+ """
138
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
139
+ """
140
+ return pulumi.get(self, "connection_rate_limit")
141
+
142
+ @connection_rate_limit.setter
143
+ def connection_rate_limit(self, value: Optional[pulumi.Input[int]]):
144
+ pulumi.set(self, "connection_rate_limit", value)
145
+
130
146
  @property
131
147
  @pulumi.getter(name="enableHttp3")
132
148
  def enable_http3(self) -> Optional[pulumi.Input[bool]]:
@@ -184,6 +200,7 @@ class _LoadbalancerFrontendState:
184
200
  backend_id: Optional[pulumi.Input[str]] = None,
185
201
  certificate_id: Optional[pulumi.Input[str]] = None,
186
202
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
203
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
187
204
  enable_http3: Optional[pulumi.Input[bool]] = None,
188
205
  external_acls: Optional[pulumi.Input[bool]] = None,
189
206
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -200,6 +217,7 @@ class _LoadbalancerFrontendState:
200
217
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
201
218
 
202
219
  > **Important:** Certificates are not allowed on port 80.
220
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
203
221
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
204
222
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
205
223
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -219,6 +237,8 @@ class _LoadbalancerFrontendState:
219
237
  pulumi.set(__self__, "certificate_id", certificate_id)
220
238
  if certificate_ids is not None:
221
239
  pulumi.set(__self__, "certificate_ids", certificate_ids)
240
+ if connection_rate_limit is not None:
241
+ pulumi.set(__self__, "connection_rate_limit", connection_rate_limit)
222
242
  if enable_http3 is not None:
223
243
  pulumi.set(__self__, "enable_http3", enable_http3)
224
244
  if external_acls is not None:
@@ -285,6 +305,18 @@ class _LoadbalancerFrontendState:
285
305
  def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
286
306
  pulumi.set(self, "certificate_ids", value)
287
307
 
308
+ @property
309
+ @pulumi.getter(name="connectionRateLimit")
310
+ def connection_rate_limit(self) -> Optional[pulumi.Input[int]]:
311
+ """
312
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
313
+ """
314
+ return pulumi.get(self, "connection_rate_limit")
315
+
316
+ @connection_rate_limit.setter
317
+ def connection_rate_limit(self, value: Optional[pulumi.Input[int]]):
318
+ pulumi.set(self, "connection_rate_limit", value)
319
+
288
320
  @property
289
321
  @pulumi.getter(name="enableHttp3")
290
322
  def enable_http3(self) -> Optional[pulumi.Input[bool]]:
@@ -372,6 +404,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
372
404
  acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadbalancerFrontendAclArgs', 'LoadbalancerFrontendAclArgsDict']]]]] = None,
373
405
  backend_id: Optional[pulumi.Input[str]] = None,
374
406
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
407
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
375
408
  enable_http3: Optional[pulumi.Input[bool]] = None,
376
409
  external_acls: Optional[pulumi.Input[bool]] = None,
377
410
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -506,6 +539,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
506
539
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
507
540
 
508
541
  > **Important:** Certificates are not allowed on port 80.
542
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
509
543
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
510
544
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
511
545
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -656,6 +690,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
656
690
  acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadbalancerFrontendAclArgs', 'LoadbalancerFrontendAclArgsDict']]]]] = None,
657
691
  backend_id: Optional[pulumi.Input[str]] = None,
658
692
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
693
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
659
694
  enable_http3: Optional[pulumi.Input[bool]] = None,
660
695
  external_acls: Optional[pulumi.Input[bool]] = None,
661
696
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -677,6 +712,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
677
712
  raise TypeError("Missing required property 'backend_id'")
678
713
  __props__.__dict__["backend_id"] = backend_id
679
714
  __props__.__dict__["certificate_ids"] = certificate_ids
715
+ __props__.__dict__["connection_rate_limit"] = connection_rate_limit
680
716
  __props__.__dict__["enable_http3"] = enable_http3
681
717
  __props__.__dict__["external_acls"] = external_acls
682
718
  if inbound_port is None and not opts.urn:
@@ -702,6 +738,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
702
738
  backend_id: Optional[pulumi.Input[str]] = None,
703
739
  certificate_id: Optional[pulumi.Input[str]] = None,
704
740
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
741
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
705
742
  enable_http3: Optional[pulumi.Input[bool]] = None,
706
743
  external_acls: Optional[pulumi.Input[bool]] = None,
707
744
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -723,6 +760,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
723
760
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
724
761
 
725
762
  > **Important:** Certificates are not allowed on port 80.
763
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
726
764
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
727
765
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
728
766
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -739,6 +777,7 @@ class LoadbalancerFrontend(pulumi.CustomResource):
739
777
  __props__.__dict__["backend_id"] = backend_id
740
778
  __props__.__dict__["certificate_id"] = certificate_id
741
779
  __props__.__dict__["certificate_ids"] = certificate_ids
780
+ __props__.__dict__["connection_rate_limit"] = connection_rate_limit
742
781
  __props__.__dict__["enable_http3"] = enable_http3
743
782
  __props__.__dict__["external_acls"] = external_acls
744
783
  __props__.__dict__["inbound_port"] = inbound_port
@@ -784,6 +823,14 @@ class LoadbalancerFrontend(pulumi.CustomResource):
784
823
  """
785
824
  return pulumi.get(self, "certificate_ids")
786
825
 
826
+ @property
827
+ @pulumi.getter(name="connectionRateLimit")
828
+ def connection_rate_limit(self) -> pulumi.Output[Optional[int]]:
829
+ """
830
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
831
+ """
832
+ return pulumi.get(self, "connection_rate_limit")
833
+
787
834
  @property
788
835
  @pulumi.getter(name="enableHttp3")
789
836
  def enable_http3(self) -> pulumi.Output[Optional[bool]]:
@@ -22,7 +22,8 @@ class LoadbalancerRouteArgs:
22
22
  backend_id: pulumi.Input[str],
23
23
  frontend_id: pulumi.Input[str],
24
24
  match_host_header: Optional[pulumi.Input[str]] = None,
25
- match_sni: Optional[pulumi.Input[str]] = None):
25
+ match_sni: Optional[pulumi.Input[str]] = None,
26
+ match_subdomains: Optional[pulumi.Input[bool]] = None):
26
27
  """
27
28
  The set of arguments for constructing a LoadbalancerRoute resource.
28
29
  :param pulumi.Input[str] backend_id: The ID of the backend the route is associated with.
@@ -35,6 +36,7 @@ class LoadbalancerRouteArgs:
35
36
  Only one of `match_sni` and `match_host_header` should be specified.
36
37
 
37
38
  > **Important:** This field should be set for routes on TCP Load Balancers.
39
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
38
40
  """
39
41
  pulumi.set(__self__, "backend_id", backend_id)
40
42
  pulumi.set(__self__, "frontend_id", frontend_id)
@@ -42,6 +44,8 @@ class LoadbalancerRouteArgs:
42
44
  pulumi.set(__self__, "match_host_header", match_host_header)
43
45
  if match_sni is not None:
44
46
  pulumi.set(__self__, "match_sni", match_sni)
47
+ if match_subdomains is not None:
48
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
45
49
 
46
50
  @property
47
51
  @pulumi.getter(name="backendId")
@@ -97,6 +101,18 @@ class LoadbalancerRouteArgs:
97
101
  def match_sni(self, value: Optional[pulumi.Input[str]]):
98
102
  pulumi.set(self, "match_sni", value)
99
103
 
104
+ @property
105
+ @pulumi.getter(name="matchSubdomains")
106
+ def match_subdomains(self) -> Optional[pulumi.Input[bool]]:
107
+ """
108
+ If true, all subdomains will match.
109
+ """
110
+ return pulumi.get(self, "match_subdomains")
111
+
112
+ @match_subdomains.setter
113
+ def match_subdomains(self, value: Optional[pulumi.Input[bool]]):
114
+ pulumi.set(self, "match_subdomains", value)
115
+
100
116
 
101
117
  @pulumi.input_type
102
118
  class _LoadbalancerRouteState:
@@ -106,6 +122,7 @@ class _LoadbalancerRouteState:
106
122
  frontend_id: Optional[pulumi.Input[str]] = None,
107
123
  match_host_header: Optional[pulumi.Input[str]] = None,
108
124
  match_sni: Optional[pulumi.Input[str]] = None,
125
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
109
126
  updated_at: Optional[pulumi.Input[str]] = None):
110
127
  """
111
128
  Input properties used for looking up and filtering LoadbalancerRoute resources.
@@ -120,6 +137,7 @@ class _LoadbalancerRouteState:
120
137
  Only one of `match_sni` and `match_host_header` should be specified.
121
138
 
122
139
  > **Important:** This field should be set for routes on TCP Load Balancers.
140
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
123
141
  :param pulumi.Input[str] updated_at: The date on which the route was last updated.
124
142
  """
125
143
  if backend_id is not None:
@@ -132,6 +150,8 @@ class _LoadbalancerRouteState:
132
150
  pulumi.set(__self__, "match_host_header", match_host_header)
133
151
  if match_sni is not None:
134
152
  pulumi.set(__self__, "match_sni", match_sni)
153
+ if match_subdomains is not None:
154
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
135
155
  if updated_at is not None:
136
156
  pulumi.set(__self__, "updated_at", updated_at)
137
157
 
@@ -201,6 +221,18 @@ class _LoadbalancerRouteState:
201
221
  def match_sni(self, value: Optional[pulumi.Input[str]]):
202
222
  pulumi.set(self, "match_sni", value)
203
223
 
224
+ @property
225
+ @pulumi.getter(name="matchSubdomains")
226
+ def match_subdomains(self) -> Optional[pulumi.Input[bool]]:
227
+ """
228
+ If true, all subdomains will match.
229
+ """
230
+ return pulumi.get(self, "match_subdomains")
231
+
232
+ @match_subdomains.setter
233
+ def match_subdomains(self, value: Optional[pulumi.Input[bool]]):
234
+ pulumi.set(self, "match_subdomains", value)
235
+
204
236
  @property
205
237
  @pulumi.getter(name="updatedAt")
206
238
  def updated_at(self) -> Optional[pulumi.Input[str]]:
@@ -228,6 +260,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
228
260
  frontend_id: Optional[pulumi.Input[str]] = None,
229
261
  match_host_header: Optional[pulumi.Input[str]] = None,
230
262
  match_sni: Optional[pulumi.Input[str]] = None,
263
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
231
264
  __props__=None):
232
265
  """
233
266
  Creates and manages Scaleway Load Balancer routes.
@@ -310,6 +343,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
310
343
  Only one of `match_sni` and `match_host_header` should be specified.
311
344
 
312
345
  > **Important:** This field should be set for routes on TCP Load Balancers.
346
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
313
347
  """
314
348
  ...
315
349
  @overload
@@ -405,6 +439,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
405
439
  frontend_id: Optional[pulumi.Input[str]] = None,
406
440
  match_host_header: Optional[pulumi.Input[str]] = None,
407
441
  match_sni: Optional[pulumi.Input[str]] = None,
442
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
408
443
  __props__=None):
409
444
  pulumi.log.warn("""LoadbalancerRoute is deprecated: scaleway.index/loadbalancerroute.LoadbalancerRoute has been deprecated in favor of scaleway.loadbalancers/route.Route""")
410
445
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -423,6 +458,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
423
458
  __props__.__dict__["frontend_id"] = frontend_id
424
459
  __props__.__dict__["match_host_header"] = match_host_header
425
460
  __props__.__dict__["match_sni"] = match_sni
461
+ __props__.__dict__["match_subdomains"] = match_subdomains
426
462
  __props__.__dict__["created_at"] = None
427
463
  __props__.__dict__["updated_at"] = None
428
464
  super(LoadbalancerRoute, __self__).__init__(
@@ -440,6 +476,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
440
476
  frontend_id: Optional[pulumi.Input[str]] = None,
441
477
  match_host_header: Optional[pulumi.Input[str]] = None,
442
478
  match_sni: Optional[pulumi.Input[str]] = None,
479
+ match_subdomains: Optional[pulumi.Input[bool]] = None,
443
480
  updated_at: Optional[pulumi.Input[str]] = None) -> 'LoadbalancerRoute':
444
481
  """
445
482
  Get an existing LoadbalancerRoute resource's state with the given name, id, and optional extra
@@ -459,6 +496,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
459
496
  Only one of `match_sni` and `match_host_header` should be specified.
460
497
 
461
498
  > **Important:** This field should be set for routes on TCP Load Balancers.
499
+ :param pulumi.Input[bool] match_subdomains: If true, all subdomains will match.
462
500
  :param pulumi.Input[str] updated_at: The date on which the route was last updated.
463
501
  """
464
502
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -470,6 +508,7 @@ class LoadbalancerRoute(pulumi.CustomResource):
470
508
  __props__.__dict__["frontend_id"] = frontend_id
471
509
  __props__.__dict__["match_host_header"] = match_host_header
472
510
  __props__.__dict__["match_sni"] = match_sni
511
+ __props__.__dict__["match_subdomains"] = match_subdomains
473
512
  __props__.__dict__["updated_at"] = updated_at
474
513
  return LoadbalancerRoute(resource_name, opts=opts, __props__=__props__)
475
514
 
@@ -519,6 +558,14 @@ class LoadbalancerRoute(pulumi.CustomResource):
519
558
  """
520
559
  return pulumi.get(self, "match_sni")
521
560
 
561
+ @property
562
+ @pulumi.getter(name="matchSubdomains")
563
+ def match_subdomains(self) -> pulumi.Output[Optional[bool]]:
564
+ """
565
+ If true, all subdomains will match.
566
+ """
567
+ return pulumi.get(self, "match_subdomains")
568
+
522
569
  @property
523
570
  @pulumi.getter(name="updatedAt")
524
571
  def updated_at(self) -> pulumi.Output[str]:
@@ -1051,7 +1051,7 @@ class Backend(pulumi.CustomResource):
1051
1051
  forward_protocol="http",
1052
1052
  forward_port=80,
1053
1053
  health_check_http={
1054
- "uri": "www.test.com/health",
1054
+ "uri": "/health",
1055
1055
  })
1056
1056
  ```
1057
1057
 
@@ -1135,7 +1135,7 @@ class Backend(pulumi.CustomResource):
1135
1135
  forward_protocol="http",
1136
1136
  forward_port=80,
1137
1137
  health_check_http={
1138
- "uri": "www.test.com/health",
1138
+ "uri": "/health",
1139
1139
  })
1140
1140
  ```
1141
1141
 
@@ -26,6 +26,7 @@ class FrontendArgs:
26
26
  lb_id: pulumi.Input[str],
27
27
  acls: Optional[pulumi.Input[Sequence[pulumi.Input['FrontendAclArgs']]]] = None,
28
28
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
29
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
29
30
  enable_http3: Optional[pulumi.Input[bool]] = None,
30
31
  external_acls: Optional[pulumi.Input[bool]] = None,
31
32
  name: Optional[pulumi.Input[str]] = None,
@@ -41,6 +42,7 @@ class FrontendArgs:
41
42
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
42
43
 
43
44
  > **Important:** Certificates are not allowed on port 80.
45
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
44
46
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
45
47
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
46
48
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -54,6 +56,8 @@ class FrontendArgs:
54
56
  pulumi.set(__self__, "acls", acls)
55
57
  if certificate_ids is not None:
56
58
  pulumi.set(__self__, "certificate_ids", certificate_ids)
59
+ if connection_rate_limit is not None:
60
+ pulumi.set(__self__, "connection_rate_limit", connection_rate_limit)
57
61
  if enable_http3 is not None:
58
62
  pulumi.set(__self__, "enable_http3", enable_http3)
59
63
  if external_acls is not None:
@@ -127,6 +131,18 @@ class FrontendArgs:
127
131
  def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
128
132
  pulumi.set(self, "certificate_ids", value)
129
133
 
134
+ @property
135
+ @pulumi.getter(name="connectionRateLimit")
136
+ def connection_rate_limit(self) -> Optional[pulumi.Input[int]]:
137
+ """
138
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
139
+ """
140
+ return pulumi.get(self, "connection_rate_limit")
141
+
142
+ @connection_rate_limit.setter
143
+ def connection_rate_limit(self, value: Optional[pulumi.Input[int]]):
144
+ pulumi.set(self, "connection_rate_limit", value)
145
+
130
146
  @property
131
147
  @pulumi.getter(name="enableHttp3")
132
148
  def enable_http3(self) -> Optional[pulumi.Input[bool]]:
@@ -184,6 +200,7 @@ class _FrontendState:
184
200
  backend_id: Optional[pulumi.Input[str]] = None,
185
201
  certificate_id: Optional[pulumi.Input[str]] = None,
186
202
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
203
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
187
204
  enable_http3: Optional[pulumi.Input[bool]] = None,
188
205
  external_acls: Optional[pulumi.Input[bool]] = None,
189
206
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -200,6 +217,7 @@ class _FrontendState:
200
217
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
201
218
 
202
219
  > **Important:** Certificates are not allowed on port 80.
220
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
203
221
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
204
222
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
205
223
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -219,6 +237,8 @@ class _FrontendState:
219
237
  pulumi.set(__self__, "certificate_id", certificate_id)
220
238
  if certificate_ids is not None:
221
239
  pulumi.set(__self__, "certificate_ids", certificate_ids)
240
+ if connection_rate_limit is not None:
241
+ pulumi.set(__self__, "connection_rate_limit", connection_rate_limit)
222
242
  if enable_http3 is not None:
223
243
  pulumi.set(__self__, "enable_http3", enable_http3)
224
244
  if external_acls is not None:
@@ -285,6 +305,18 @@ class _FrontendState:
285
305
  def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
286
306
  pulumi.set(self, "certificate_ids", value)
287
307
 
308
+ @property
309
+ @pulumi.getter(name="connectionRateLimit")
310
+ def connection_rate_limit(self) -> Optional[pulumi.Input[int]]:
311
+ """
312
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
313
+ """
314
+ return pulumi.get(self, "connection_rate_limit")
315
+
316
+ @connection_rate_limit.setter
317
+ def connection_rate_limit(self, value: Optional[pulumi.Input[int]]):
318
+ pulumi.set(self, "connection_rate_limit", value)
319
+
288
320
  @property
289
321
  @pulumi.getter(name="enableHttp3")
290
322
  def enable_http3(self) -> Optional[pulumi.Input[bool]]:
@@ -367,6 +399,7 @@ class Frontend(pulumi.CustomResource):
367
399
  acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]]] = None,
368
400
  backend_id: Optional[pulumi.Input[str]] = None,
369
401
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
402
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
370
403
  enable_http3: Optional[pulumi.Input[bool]] = None,
371
404
  external_acls: Optional[pulumi.Input[bool]] = None,
372
405
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -501,6 +534,7 @@ class Frontend(pulumi.CustomResource):
501
534
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
502
535
 
503
536
  > **Important:** Certificates are not allowed on port 80.
537
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
504
538
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
505
539
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
506
540
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -651,6 +685,7 @@ class Frontend(pulumi.CustomResource):
651
685
  acls: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FrontendAclArgs', 'FrontendAclArgsDict']]]]] = None,
652
686
  backend_id: Optional[pulumi.Input[str]] = None,
653
687
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
688
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
654
689
  enable_http3: Optional[pulumi.Input[bool]] = None,
655
690
  external_acls: Optional[pulumi.Input[bool]] = None,
656
691
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -671,6 +706,7 @@ class Frontend(pulumi.CustomResource):
671
706
  raise TypeError("Missing required property 'backend_id'")
672
707
  __props__.__dict__["backend_id"] = backend_id
673
708
  __props__.__dict__["certificate_ids"] = certificate_ids
709
+ __props__.__dict__["connection_rate_limit"] = connection_rate_limit
674
710
  __props__.__dict__["enable_http3"] = enable_http3
675
711
  __props__.__dict__["external_acls"] = external_acls
676
712
  if inbound_port is None and not opts.urn:
@@ -698,6 +734,7 @@ class Frontend(pulumi.CustomResource):
698
734
  backend_id: Optional[pulumi.Input[str]] = None,
699
735
  certificate_id: Optional[pulumi.Input[str]] = None,
700
736
  certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
737
+ connection_rate_limit: Optional[pulumi.Input[int]] = None,
701
738
  enable_http3: Optional[pulumi.Input[bool]] = None,
702
739
  external_acls: Optional[pulumi.Input[bool]] = None,
703
740
  inbound_port: Optional[pulumi.Input[int]] = None,
@@ -719,6 +756,7 @@ class Frontend(pulumi.CustomResource):
719
756
  :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: List of certificate IDs that should be used by the frontend.
720
757
 
721
758
  > **Important:** Certificates are not allowed on port 80.
759
+ :param pulumi.Input[int] connection_rate_limit: The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
722
760
  :param pulumi.Input[bool] enable_http3: Activates HTTP/3 protocol.
723
761
  :param pulumi.Input[bool] external_acls: A boolean to specify whether to use lb_acl.
724
762
  If `external_acls` is set to `true`, `acl` can not be set directly in the Load Balancer frontend.
@@ -735,6 +773,7 @@ class Frontend(pulumi.CustomResource):
735
773
  __props__.__dict__["backend_id"] = backend_id
736
774
  __props__.__dict__["certificate_id"] = certificate_id
737
775
  __props__.__dict__["certificate_ids"] = certificate_ids
776
+ __props__.__dict__["connection_rate_limit"] = connection_rate_limit
738
777
  __props__.__dict__["enable_http3"] = enable_http3
739
778
  __props__.__dict__["external_acls"] = external_acls
740
779
  __props__.__dict__["inbound_port"] = inbound_port
@@ -780,6 +819,14 @@ class Frontend(pulumi.CustomResource):
780
819
  """
781
820
  return pulumi.get(self, "certificate_ids")
782
821
 
822
+ @property
823
+ @pulumi.getter(name="connectionRateLimit")
824
+ def connection_rate_limit(self) -> pulumi.Output[Optional[int]]:
825
+ """
826
+ The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
827
+ """
828
+ return pulumi.get(self, "connection_rate_limit")
829
+
783
830
  @property
784
831
  @pulumi.getter(name="enableHttp3")
785
832
  def enable_http3(self) -> pulumi.Output[Optional[bool]]:
@@ -27,7 +27,7 @@ class GetFrontendResult:
27
27
  """
28
28
  A collection of values returned by getFrontend.
29
29
  """
30
- def __init__(__self__, acls=None, backend_id=None, certificate_id=None, certificate_ids=None, enable_http3=None, external_acls=None, frontend_id=None, id=None, inbound_port=None, lb_id=None, name=None, timeout_client=None):
30
+ def __init__(__self__, acls=None, backend_id=None, certificate_id=None, certificate_ids=None, connection_rate_limit=None, enable_http3=None, external_acls=None, frontend_id=None, id=None, inbound_port=None, lb_id=None, name=None, timeout_client=None):
31
31
  if acls and not isinstance(acls, list):
32
32
  raise TypeError("Expected argument 'acls' to be a list")
33
33
  pulumi.set(__self__, "acls", acls)
@@ -40,6 +40,9 @@ class GetFrontendResult:
40
40
  if certificate_ids and not isinstance(certificate_ids, list):
41
41
  raise TypeError("Expected argument 'certificate_ids' to be a list")
42
42
  pulumi.set(__self__, "certificate_ids", certificate_ids)
43
+ if connection_rate_limit and not isinstance(connection_rate_limit, int):
44
+ raise TypeError("Expected argument 'connection_rate_limit' to be a int")
45
+ pulumi.set(__self__, "connection_rate_limit", connection_rate_limit)
43
46
  if enable_http3 and not isinstance(enable_http3, bool):
44
47
  raise TypeError("Expected argument 'enable_http3' to be a bool")
45
48
  pulumi.set(__self__, "enable_http3", enable_http3)
@@ -85,6 +88,11 @@ class GetFrontendResult:
85
88
  def certificate_ids(self) -> Sequence[str]:
86
89
  return pulumi.get(self, "certificate_ids")
87
90
 
91
+ @property
92
+ @pulumi.getter(name="connectionRateLimit")
93
+ def connection_rate_limit(self) -> int:
94
+ return pulumi.get(self, "connection_rate_limit")
95
+
88
96
  @property
89
97
  @pulumi.getter(name="enableHttp3")
90
98
  def enable_http3(self) -> bool:
@@ -139,6 +147,7 @@ class AwaitableGetFrontendResult(GetFrontendResult):
139
147
  backend_id=self.backend_id,
140
148
  certificate_id=self.certificate_id,
141
149
  certificate_ids=self.certificate_ids,
150
+ connection_rate_limit=self.connection_rate_limit,
142
151
  enable_http3=self.enable_http3,
143
152
  external_acls=self.external_acls,
144
153
  frontend_id=self.frontend_id,
@@ -203,6 +212,7 @@ def get_frontend(frontend_id: Optional[str] = None,
203
212
  backend_id=pulumi.get(__ret__, 'backend_id'),
204
213
  certificate_id=pulumi.get(__ret__, 'certificate_id'),
205
214
  certificate_ids=pulumi.get(__ret__, 'certificate_ids'),
215
+ connection_rate_limit=pulumi.get(__ret__, 'connection_rate_limit'),
206
216
  enable_http3=pulumi.get(__ret__, 'enable_http3'),
207
217
  external_acls=pulumi.get(__ret__, 'external_acls'),
208
218
  frontend_id=pulumi.get(__ret__, 'frontend_id'),
@@ -264,6 +274,7 @@ def get_frontend_output(frontend_id: Optional[pulumi.Input[Optional[str]]] = Non
264
274
  backend_id=pulumi.get(__response__, 'backend_id'),
265
275
  certificate_id=pulumi.get(__response__, 'certificate_id'),
266
276
  certificate_ids=pulumi.get(__response__, 'certificate_ids'),
277
+ connection_rate_limit=pulumi.get(__response__, 'connection_rate_limit'),
267
278
  enable_http3=pulumi.get(__response__, 'enable_http3'),
268
279
  external_acls=pulumi.get(__response__, 'external_acls'),
269
280
  frontend_id=pulumi.get(__response__, 'frontend_id'),
@@ -26,7 +26,7 @@ class GetRouteResult:
26
26
  """
27
27
  A collection of values returned by getRoute.
28
28
  """
29
- def __init__(__self__, backend_id=None, created_at=None, frontend_id=None, id=None, match_host_header=None, match_sni=None, route_id=None, updated_at=None):
29
+ def __init__(__self__, backend_id=None, created_at=None, frontend_id=None, id=None, match_host_header=None, match_sni=None, match_subdomains=None, route_id=None, updated_at=None):
30
30
  if backend_id and not isinstance(backend_id, str):
31
31
  raise TypeError("Expected argument 'backend_id' to be a str")
32
32
  pulumi.set(__self__, "backend_id", backend_id)
@@ -45,6 +45,9 @@ class GetRouteResult:
45
45
  if match_sni and not isinstance(match_sni, str):
46
46
  raise TypeError("Expected argument 'match_sni' to be a str")
47
47
  pulumi.set(__self__, "match_sni", match_sni)
48
+ if match_subdomains and not isinstance(match_subdomains, bool):
49
+ raise TypeError("Expected argument 'match_subdomains' to be a bool")
50
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
48
51
  if route_id and not isinstance(route_id, str):
49
52
  raise TypeError("Expected argument 'route_id' to be a str")
50
53
  pulumi.set(__self__, "route_id", route_id)
@@ -85,6 +88,11 @@ class GetRouteResult:
85
88
  def match_sni(self) -> str:
86
89
  return pulumi.get(self, "match_sni")
87
90
 
91
+ @property
92
+ @pulumi.getter(name="matchSubdomains")
93
+ def match_subdomains(self) -> bool:
94
+ return pulumi.get(self, "match_subdomains")
95
+
88
96
  @property
89
97
  @pulumi.getter(name="routeId")
90
98
  def route_id(self) -> str:
@@ -108,6 +116,7 @@ class AwaitableGetRouteResult(GetRouteResult):
108
116
  id=self.id,
109
117
  match_host_header=self.match_host_header,
110
118
  match_sni=self.match_sni,
119
+ match_subdomains=self.match_subdomains,
111
120
  route_id=self.route_id,
112
121
  updated_at=self.updated_at)
113
122
 
@@ -162,6 +171,7 @@ def get_route(route_id: Optional[str] = None,
162
171
  id=pulumi.get(__ret__, 'id'),
163
172
  match_host_header=pulumi.get(__ret__, 'match_host_header'),
164
173
  match_sni=pulumi.get(__ret__, 'match_sni'),
174
+ match_subdomains=pulumi.get(__ret__, 'match_subdomains'),
165
175
  route_id=pulumi.get(__ret__, 'route_id'),
166
176
  updated_at=pulumi.get(__ret__, 'updated_at'))
167
177
  def get_route_output(route_id: Optional[pulumi.Input[str]] = None,
@@ -213,5 +223,6 @@ def get_route_output(route_id: Optional[pulumi.Input[str]] = None,
213
223
  id=pulumi.get(__response__, 'id'),
214
224
  match_host_header=pulumi.get(__response__, 'match_host_header'),
215
225
  match_sni=pulumi.get(__response__, 'match_sni'),
226
+ match_subdomains=pulumi.get(__response__, 'match_subdomains'),
216
227
  route_id=pulumi.get(__response__, 'route_id'),
217
228
  updated_at=pulumi.get(__response__, 'updated_at')))