pulumiverse-scaleway 1.26.0a1742897201__py3-none-any.whl → 1.27.0a1743490704__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 (66) hide show
  1. pulumiverse_scaleway/__init__.py +105 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/apple_silicon_server.py +105 -0
  4. pulumiverse_scaleway/applesilicon/server.py +105 -0
  5. pulumiverse_scaleway/domain/__init__.py +1 -0
  6. pulumiverse_scaleway/domain/_inputs.py +2697 -0
  7. pulumiverse_scaleway/domain/outputs.py +2145 -0
  8. pulumiverse_scaleway/domain/registration.py +777 -0
  9. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  10. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  11. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  12. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  13. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  14. pulumiverse_scaleway/edge_services_plan.py +239 -0
  15. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  16. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  17. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  18. pulumiverse_scaleway/elasticmetal/ip.py +13 -7
  19. pulumiverse_scaleway/flexible_ip.py +13 -7
  20. pulumiverse_scaleway/get_lb_frontend.py +12 -1
  21. pulumiverse_scaleway/get_lb_route.py +12 -1
  22. pulumiverse_scaleway/get_secret.py +15 -4
  23. pulumiverse_scaleway/get_vpc_public_gateway.py +34 -1
  24. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -0
  25. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +8 -0
  26. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  27. pulumiverse_scaleway/loadbalancer_frontend.py +47 -0
  28. pulumiverse_scaleway/loadbalancer_route.py +48 -1
  29. pulumiverse_scaleway/loadbalancers/backend.py +2 -2
  30. pulumiverse_scaleway/loadbalancers/frontend.py +47 -0
  31. pulumiverse_scaleway/loadbalancers/get_frontend.py +12 -1
  32. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  33. pulumiverse_scaleway/loadbalancers/outputs.py +13 -2
  34. pulumiverse_scaleway/loadbalancers/route.py +48 -1
  35. pulumiverse_scaleway/network/__init__.py +1 -0
  36. pulumiverse_scaleway/network/_inputs.py +194 -0
  37. pulumiverse_scaleway/network/acl.py +415 -0
  38. pulumiverse_scaleway/network/gateway_network.py +104 -122
  39. pulumiverse_scaleway/network/get_public_gateway.py +34 -1
  40. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +8 -0
  41. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +8 -0
  42. pulumiverse_scaleway/network/outputs.py +139 -0
  43. pulumiverse_scaleway/network/public_gateway.py +124 -21
  44. pulumiverse_scaleway/network/public_gateway_dhcp.py +8 -0
  45. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +8 -0
  46. pulumiverse_scaleway/outputs.py +662 -2
  47. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  48. pulumiverse_scaleway/secret.py +22 -2
  49. pulumiverse_scaleway/secret_version.py +6 -6
  50. pulumiverse_scaleway/secrets/_inputs.py +154 -0
  51. pulumiverse_scaleway/secrets/get_secret.py +15 -4
  52. pulumiverse_scaleway/secrets/outputs.py +200 -0
  53. pulumiverse_scaleway/secrets/secret.py +22 -2
  54. pulumiverse_scaleway/tem/__init__.py +2 -0
  55. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  56. pulumiverse_scaleway/tem/domain.py +7 -0
  57. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  58. pulumiverse_scaleway/tem_domain.py +7 -0
  59. pulumiverse_scaleway/vpc_gateway_network.py +104 -122
  60. pulumiverse_scaleway/vpc_public_gateway.py +124 -21
  61. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +8 -0
  62. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +8 -0
  63. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/METADATA +1 -1
  64. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/RECORD +66 -53
  65. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/WHEEL +1 -1
  66. {pulumiverse_scaleway-1.26.0a1742897201.dist-info → pulumiverse_scaleway-1.27.0a1743490704.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ class GetLbRouteResult:
28
28
  """
29
29
  A collection of values returned by getLbRoute.
30
30
  """
31
- 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):
31
+ 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):
32
32
  if backend_id and not isinstance(backend_id, str):
33
33
  raise TypeError("Expected argument 'backend_id' to be a str")
34
34
  pulumi.set(__self__, "backend_id", backend_id)
@@ -47,6 +47,9 @@ class GetLbRouteResult:
47
47
  if match_sni and not isinstance(match_sni, str):
48
48
  raise TypeError("Expected argument 'match_sni' to be a str")
49
49
  pulumi.set(__self__, "match_sni", match_sni)
50
+ if match_subdomains and not isinstance(match_subdomains, bool):
51
+ raise TypeError("Expected argument 'match_subdomains' to be a bool")
52
+ pulumi.set(__self__, "match_subdomains", match_subdomains)
50
53
  if route_id and not isinstance(route_id, str):
51
54
  raise TypeError("Expected argument 'route_id' to be a str")
52
55
  pulumi.set(__self__, "route_id", route_id)
@@ -87,6 +90,11 @@ class GetLbRouteResult:
87
90
  def match_sni(self) -> str:
88
91
  return pulumi.get(self, "match_sni")
89
92
 
93
+ @property
94
+ @pulumi.getter(name="matchSubdomains")
95
+ def match_subdomains(self) -> bool:
96
+ return pulumi.get(self, "match_subdomains")
97
+
90
98
  @property
91
99
  @pulumi.getter(name="routeId")
92
100
  def route_id(self) -> str:
@@ -110,6 +118,7 @@ class AwaitableGetLbRouteResult(GetLbRouteResult):
110
118
  id=self.id,
111
119
  match_host_header=self.match_host_header,
112
120
  match_sni=self.match_sni,
121
+ match_subdomains=self.match_subdomains,
113
122
  route_id=self.route_id,
114
123
  updated_at=self.updated_at)
115
124
 
@@ -165,6 +174,7 @@ def get_lb_route(route_id: Optional[str] = None,
165
174
  id=pulumi.get(__ret__, 'id'),
166
175
  match_host_header=pulumi.get(__ret__, 'match_host_header'),
167
176
  match_sni=pulumi.get(__ret__, 'match_sni'),
177
+ match_subdomains=pulumi.get(__ret__, 'match_subdomains'),
168
178
  route_id=pulumi.get(__ret__, 'route_id'),
169
179
  updated_at=pulumi.get(__ret__, 'updated_at'))
170
180
  def get_lb_route_output(route_id: Optional[pulumi.Input[str]] = None,
@@ -217,5 +227,6 @@ def get_lb_route_output(route_id: Optional[pulumi.Input[str]] = None,
217
227
  id=pulumi.get(__response__, 'id'),
218
228
  match_host_header=pulumi.get(__response__, 'match_host_header'),
219
229
  match_sni=pulumi.get(__response__, 'match_sni'),
230
+ match_subdomains=pulumi.get(__response__, 'match_subdomains'),
220
231
  route_id=pulumi.get(__response__, 'route_id'),
221
232
  updated_at=pulumi.get(__response__, 'updated_at')))
@@ -29,7 +29,7 @@ class GetSecretResult:
29
29
  """
30
30
  A collection of values returned by getSecret.
31
31
  """
32
- def __init__(__self__, created_at=None, description=None, ephemeral_policies=None, id=None, name=None, organization_id=None, path=None, project_id=None, protected=None, region=None, secret_id=None, status=None, tags=None, type=None, updated_at=None, version_count=None):
32
+ def __init__(__self__, created_at=None, description=None, ephemeral_policies=None, id=None, name=None, organization_id=None, path=None, project_id=None, protected=None, region=None, secret_id=None, status=None, tags=None, type=None, updated_at=None, version_count=None, versions=None):
33
33
  if created_at and not isinstance(created_at, str):
34
34
  raise TypeError("Expected argument 'created_at' to be a str")
35
35
  pulumi.set(__self__, "created_at", created_at)
@@ -78,6 +78,9 @@ class GetSecretResult:
78
78
  if version_count and not isinstance(version_count, int):
79
79
  raise TypeError("Expected argument 'version_count' to be a int")
80
80
  pulumi.set(__self__, "version_count", version_count)
81
+ if versions and not isinstance(versions, list):
82
+ raise TypeError("Expected argument 'versions' to be a list")
83
+ pulumi.set(__self__, "versions", versions)
81
84
 
82
85
  @property
83
86
  @pulumi.getter(name="createdAt")
@@ -162,6 +165,11 @@ class GetSecretResult:
162
165
  def version_count(self) -> int:
163
166
  return pulumi.get(self, "version_count")
164
167
 
168
+ @property
169
+ @pulumi.getter
170
+ def versions(self) -> Sequence['outputs.GetSecretVersionResult']:
171
+ return pulumi.get(self, "versions")
172
+
165
173
 
166
174
  class AwaitableGetSecretResult(GetSecretResult):
167
175
  # pylint: disable=using-constant-test
@@ -184,7 +192,8 @@ class AwaitableGetSecretResult(GetSecretResult):
184
192
  tags=self.tags,
185
193
  type=self.type,
186
194
  updated_at=self.updated_at,
187
- version_count=self.version_count)
195
+ version_count=self.version_count,
196
+ versions=self.versions)
188
197
 
189
198
 
190
199
  def get_secret(name: Optional[str] = None,
@@ -263,7 +272,8 @@ def get_secret(name: Optional[str] = None,
263
272
  tags=pulumi.get(__ret__, 'tags'),
264
273
  type=pulumi.get(__ret__, 'type'),
265
274
  updated_at=pulumi.get(__ret__, 'updated_at'),
266
- version_count=pulumi.get(__ret__, 'version_count'))
275
+ version_count=pulumi.get(__ret__, 'version_count'),
276
+ versions=pulumi.get(__ret__, 'versions'))
267
277
  def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None,
268
278
  organization_id: Optional[pulumi.Input[Optional[str]]] = None,
269
279
  path: Optional[pulumi.Input[Optional[str]]] = None,
@@ -339,4 +349,5 @@ def get_secret_output(name: Optional[pulumi.Input[Optional[str]]] = None,
339
349
  tags=pulumi.get(__response__, 'tags'),
340
350
  type=pulumi.get(__response__, 'type'),
341
351
  updated_at=pulumi.get(__response__, 'updated_at'),
342
- version_count=pulumi.get(__response__, 'version_count')))
352
+ version_count=pulumi.get(__response__, 'version_count'),
353
+ versions=pulumi.get(__response__, 'versions')))
@@ -28,7 +28,13 @@ class GetVpcPublicGatewayResult:
28
28
  """
29
29
  A collection of values returned by getVpcPublicGateway.
30
30
  """
31
- def __init__(__self__, bastion_enabled=None, bastion_port=None, created_at=None, enable_smtp=None, id=None, ip_id=None, name=None, organization_id=None, project_id=None, public_gateway_id=None, refresh_ssh_keys=None, status=None, tags=None, type=None, updated_at=None, upstream_dns_servers=None, zone=None):
31
+ def __init__(__self__, allowed_ip_ranges=None, bandwidth=None, bastion_enabled=None, bastion_port=None, created_at=None, enable_smtp=None, id=None, ip_id=None, move_to_ipam=None, name=None, organization_id=None, project_id=None, public_gateway_id=None, refresh_ssh_keys=None, status=None, tags=None, type=None, updated_at=None, upstream_dns_servers=None, zone=None):
32
+ if allowed_ip_ranges and not isinstance(allowed_ip_ranges, list):
33
+ raise TypeError("Expected argument 'allowed_ip_ranges' to be a list")
34
+ pulumi.set(__self__, "allowed_ip_ranges", allowed_ip_ranges)
35
+ if bandwidth and not isinstance(bandwidth, int):
36
+ raise TypeError("Expected argument 'bandwidth' to be a int")
37
+ pulumi.set(__self__, "bandwidth", bandwidth)
32
38
  if bastion_enabled and not isinstance(bastion_enabled, bool):
33
39
  raise TypeError("Expected argument 'bastion_enabled' to be a bool")
34
40
  pulumi.set(__self__, "bastion_enabled", bastion_enabled)
@@ -47,6 +53,9 @@ class GetVpcPublicGatewayResult:
47
53
  if ip_id and not isinstance(ip_id, str):
48
54
  raise TypeError("Expected argument 'ip_id' to be a str")
49
55
  pulumi.set(__self__, "ip_id", ip_id)
56
+ if move_to_ipam and not isinstance(move_to_ipam, bool):
57
+ raise TypeError("Expected argument 'move_to_ipam' to be a bool")
58
+ pulumi.set(__self__, "move_to_ipam", move_to_ipam)
50
59
  if name and not isinstance(name, str):
51
60
  raise TypeError("Expected argument 'name' to be a str")
52
61
  pulumi.set(__self__, "name", name)
@@ -81,6 +90,16 @@ class GetVpcPublicGatewayResult:
81
90
  raise TypeError("Expected argument 'zone' to be a str")
82
91
  pulumi.set(__self__, "zone", zone)
83
92
 
93
+ @property
94
+ @pulumi.getter(name="allowedIpRanges")
95
+ def allowed_ip_ranges(self) -> Sequence[str]:
96
+ return pulumi.get(self, "allowed_ip_ranges")
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def bandwidth(self) -> int:
101
+ return pulumi.get(self, "bandwidth")
102
+
84
103
  @property
85
104
  @pulumi.getter(name="bastionEnabled")
86
105
  def bastion_enabled(self) -> bool:
@@ -114,6 +133,11 @@ class GetVpcPublicGatewayResult:
114
133
  def ip_id(self) -> str:
115
134
  return pulumi.get(self, "ip_id")
116
135
 
136
+ @property
137
+ @pulumi.getter(name="moveToIpam")
138
+ def move_to_ipam(self) -> bool:
139
+ return pulumi.get(self, "move_to_ipam")
140
+
117
141
  @property
118
142
  @pulumi.getter
119
143
  def name(self) -> Optional[str]:
@@ -176,12 +200,15 @@ class AwaitableGetVpcPublicGatewayResult(GetVpcPublicGatewayResult):
176
200
  if False:
177
201
  yield self
178
202
  return GetVpcPublicGatewayResult(
203
+ allowed_ip_ranges=self.allowed_ip_ranges,
204
+ bandwidth=self.bandwidth,
179
205
  bastion_enabled=self.bastion_enabled,
180
206
  bastion_port=self.bastion_port,
181
207
  created_at=self.created_at,
182
208
  enable_smtp=self.enable_smtp,
183
209
  id=self.id,
184
210
  ip_id=self.ip_id,
211
+ move_to_ipam=self.move_to_ipam,
185
212
  name=self.name,
186
213
  organization_id=self.organization_id,
187
214
  project_id=self.project_id,
@@ -234,12 +261,15 @@ def get_vpc_public_gateway(name: Optional[str] = None,
234
261
  __ret__ = pulumi.runtime.invoke('scaleway:index/getVpcPublicGateway:getVpcPublicGateway', __args__, opts=opts, typ=GetVpcPublicGatewayResult).value
235
262
 
236
263
  return AwaitableGetVpcPublicGatewayResult(
264
+ allowed_ip_ranges=pulumi.get(__ret__, 'allowed_ip_ranges'),
265
+ bandwidth=pulumi.get(__ret__, 'bandwidth'),
237
266
  bastion_enabled=pulumi.get(__ret__, 'bastion_enabled'),
238
267
  bastion_port=pulumi.get(__ret__, 'bastion_port'),
239
268
  created_at=pulumi.get(__ret__, 'created_at'),
240
269
  enable_smtp=pulumi.get(__ret__, 'enable_smtp'),
241
270
  id=pulumi.get(__ret__, 'id'),
242
271
  ip_id=pulumi.get(__ret__, 'ip_id'),
272
+ move_to_ipam=pulumi.get(__ret__, 'move_to_ipam'),
243
273
  name=pulumi.get(__ret__, 'name'),
244
274
  organization_id=pulumi.get(__ret__, 'organization_id'),
245
275
  project_id=pulumi.get(__ret__, 'project_id'),
@@ -289,12 +319,15 @@ def get_vpc_public_gateway_output(name: Optional[pulumi.Input[Optional[str]]] =
289
319
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
290
320
  __ret__ = pulumi.runtime.invoke_output('scaleway:index/getVpcPublicGateway:getVpcPublicGateway', __args__, opts=opts, typ=GetVpcPublicGatewayResult)
291
321
  return __ret__.apply(lambda __response__: GetVpcPublicGatewayResult(
322
+ allowed_ip_ranges=pulumi.get(__response__, 'allowed_ip_ranges'),
323
+ bandwidth=pulumi.get(__response__, 'bandwidth'),
292
324
  bastion_enabled=pulumi.get(__response__, 'bastion_enabled'),
293
325
  bastion_port=pulumi.get(__response__, 'bastion_port'),
294
326
  created_at=pulumi.get(__response__, 'created_at'),
295
327
  enable_smtp=pulumi.get(__response__, 'enable_smtp'),
296
328
  id=pulumi.get(__response__, 'id'),
297
329
  ip_id=pulumi.get(__response__, 'ip_id'),
330
+ move_to_ipam=pulumi.get(__response__, 'move_to_ipam'),
298
331
  name=pulumi.get(__response__, 'name'),
299
332
  organization_id=pulumi.get(__response__, 'organization_id'),
300
333
  project_id=pulumi.get(__response__, 'project_id'),
@@ -225,6 +225,10 @@ class AwaitableGetVpcPublicGatewayDhcpResult(GetVpcPublicGatewayDhcpResult):
225
225
  def get_vpc_public_gateway_dhcp(dhcp_id: Optional[str] = None,
226
226
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcPublicGatewayDhcpResult:
227
227
  """
228
+ > **Important:** The data source `network.PublicGatewayDhcp` has been deprecated and will no longer be supported.
229
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
230
+ For more information, please refer to the dedicated guide.
231
+
228
232
  Gets information about a Public Gateway DHCP configuration.
229
233
 
230
234
  ## Example Usage
@@ -268,6 +272,10 @@ def get_vpc_public_gateway_dhcp(dhcp_id: Optional[str] = None,
268
272
  def get_vpc_public_gateway_dhcp_output(dhcp_id: Optional[pulumi.Input[str]] = None,
269
273
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpResult]:
270
274
  """
275
+ > **Important:** The data source `network.PublicGatewayDhcp` has been deprecated and will no longer be supported.
276
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
277
+ For more information, please refer to the dedicated guide.
278
+
271
279
  Gets information about a Public Gateway DHCP configuration.
272
280
 
273
281
  ## Example Usage
@@ -148,6 +148,10 @@ def get_vpc_public_gateway_dhcp_reservation(gateway_network_id: Optional[str] =
148
148
  zone: Optional[str] = None,
149
149
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcPublicGatewayDhcpReservationResult:
150
150
  """
151
+ > **Important:** The data source `network.PublicGatewayDhcpReservation` has been deprecated and will no longer be supported.
152
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
153
+ You can use IPAM to manage your IPs. For more information, please refer to the dedicated guide.
154
+
151
155
  Gets information about a DHCP entry. For further information, please see the
152
156
  [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries).
153
157
 
@@ -270,6 +274,10 @@ def get_vpc_public_gateway_dhcp_reservation_output(gateway_network_id: Optional[
270
274
  zone: Optional[pulumi.Input[Optional[str]]] = None,
271
275
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcPublicGatewayDhcpReservationResult]:
272
276
  """
277
+ > **Important:** The data source `network.PublicGatewayDhcpReservation` has been deprecated and will no longer be supported.
278
+ In 2023, DHCP functionality was moved from Public Gateways to Private Networks, DHCP resources are now no longer needed.
279
+ You can use IPAM to manage your IPs. For more information, please refer to the dedicated guide.
280
+
273
281
  Gets information about a DHCP entry. For further information, please see the
274
282
  [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-entries-list-dhcp-entries).
275
283
 
@@ -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