pulumiverse-scaleway 1.27.1__py3-none-any.whl → 1.28.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 (73) hide show
  1. pulumiverse_scaleway/__init__.py +16 -0
  2. pulumiverse_scaleway/_inputs.py +498 -6
  3. pulumiverse_scaleway/baremetal_server.py +48 -258
  4. pulumiverse_scaleway/database_instance.py +42 -21
  5. pulumiverse_scaleway/databases/_inputs.py +54 -0
  6. pulumiverse_scaleway/databases/get_instance.py +12 -1
  7. pulumiverse_scaleway/databases/instance.py +42 -21
  8. pulumiverse_scaleway/databases/outputs.py +62 -0
  9. pulumiverse_scaleway/databases/snapshot.py +2 -2
  10. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  11. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  12. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  13. pulumiverse_scaleway/elasticmetal/server.py +48 -258
  14. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  15. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  16. pulumiverse_scaleway/get_database_instance.py +12 -1
  17. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  18. pulumiverse_scaleway/get_instance_server.py +12 -1
  19. pulumiverse_scaleway/get_lb_route.py +12 -1
  20. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  21. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  22. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  23. pulumiverse_scaleway/inference/__init__.py +2 -0
  24. pulumiverse_scaleway/inference/_inputs.py +128 -0
  25. pulumiverse_scaleway/inference/deployment.py +70 -55
  26. pulumiverse_scaleway/inference/get_model.py +299 -0
  27. pulumiverse_scaleway/inference/model.py +683 -0
  28. pulumiverse_scaleway/inference/outputs.py +184 -0
  29. pulumiverse_scaleway/inference_deployment.py +70 -55
  30. pulumiverse_scaleway/instance/_inputs.py +108 -0
  31. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  32. pulumiverse_scaleway/instance/get_server.py +12 -1
  33. pulumiverse_scaleway/instance/outputs.py +124 -0
  34. pulumiverse_scaleway/instance/private_nic.py +30 -0
  35. pulumiverse_scaleway/instance/server.py +28 -0
  36. pulumiverse_scaleway/instance_private_nic.py +30 -0
  37. pulumiverse_scaleway/instance_server.py +28 -0
  38. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  39. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  40. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  41. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  42. pulumiverse_scaleway/loadbalancer.py +28 -0
  43. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  44. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  45. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  46. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  47. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  48. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  49. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  50. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  51. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  52. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  53. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  54. pulumiverse_scaleway/network/_inputs.py +54 -0
  55. pulumiverse_scaleway/network/gateway_network.py +28 -0
  56. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  57. pulumiverse_scaleway/network/outputs.py +62 -0
  58. pulumiverse_scaleway/network/route.py +90 -2
  59. pulumiverse_scaleway/observability/get_plan.py +2 -38
  60. pulumiverse_scaleway/outputs.py +574 -5
  61. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  62. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  63. pulumiverse_scaleway/redis/_inputs.py +60 -6
  64. pulumiverse_scaleway/redis/cluster.py +28 -0
  65. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  66. pulumiverse_scaleway/redis/outputs.py +66 -4
  67. pulumiverse_scaleway/redis_cluster.py +28 -0
  68. pulumiverse_scaleway/vpc_gateway_network.py +28 -0
  69. pulumiverse_scaleway/vpc_route.py +90 -2
  70. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
  71. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
  72. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
  73. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ class MnqSqsCredentialsArgs:
28
28
  """
29
29
  The set of arguments for constructing a MnqSqsCredentials resource.
30
30
  :param pulumi.Input[str] name: The unique name of the SQS credentials.
31
- :param pulumi.Input['MnqSqsCredentialsPermissionsArgs'] permissions: . List of permissions associated with these credentials. Only one of the following permissions may be set:
31
+ :param pulumi.Input['MnqSqsCredentialsPermissionsArgs'] permissions: . List of permissions associated with these credentials.
32
32
  :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SQS is enabled.
33
33
  :param pulumi.Input[str] region: `region`). The region in which SQS is enabled.
34
34
  """
@@ -57,7 +57,7 @@ class MnqSqsCredentialsArgs:
57
57
  @pulumi.getter
58
58
  def permissions(self) -> Optional[pulumi.Input['MnqSqsCredentialsPermissionsArgs']]:
59
59
  """
60
- . List of permissions associated with these credentials. Only one of the following permissions may be set:
60
+ . List of permissions associated with these credentials.
61
61
  """
62
62
  return pulumi.get(self, "permissions")
63
63
 
@@ -103,7 +103,7 @@ class _MnqSqsCredentialsState:
103
103
  Input properties used for looking up and filtering MnqSqsCredentials resources.
104
104
  :param pulumi.Input[str] access_key: The ID of the key.
105
105
  :param pulumi.Input[str] name: The unique name of the SQS credentials.
106
- :param pulumi.Input['MnqSqsCredentialsPermissionsArgs'] permissions: . List of permissions associated with these credentials. Only one of the following permissions may be set:
106
+ :param pulumi.Input['MnqSqsCredentialsPermissionsArgs'] permissions: . List of permissions associated with these credentials.
107
107
  :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SQS is enabled.
108
108
  :param pulumi.Input[str] region: `region`). The region in which SQS is enabled.
109
109
  :param pulumi.Input[str] secret_key: The secret value of the key.
@@ -149,7 +149,7 @@ class _MnqSqsCredentialsState:
149
149
  @pulumi.getter
150
150
  def permissions(self) -> Optional[pulumi.Input['MnqSqsCredentialsPermissionsArgs']]:
151
151
  """
152
- . List of permissions associated with these credentials. Only one of the following permissions may be set:
152
+ . List of permissions associated with these credentials.
153
153
  """
154
154
  return pulumi.get(self, "permissions")
155
155
 
@@ -246,7 +246,7 @@ class MnqSqsCredentials(pulumi.CustomResource):
246
246
  :param str resource_name: The name of the resource.
247
247
  :param pulumi.ResourceOptions opts: Options for the resource.
248
248
  :param pulumi.Input[str] name: The unique name of the SQS credentials.
249
- :param pulumi.Input[Union['MnqSqsCredentialsPermissionsArgs', 'MnqSqsCredentialsPermissionsArgsDict']] permissions: . List of permissions associated with these credentials. Only one of the following permissions may be set:
249
+ :param pulumi.Input[Union['MnqSqsCredentialsPermissionsArgs', 'MnqSqsCredentialsPermissionsArgsDict']] permissions: . List of permissions associated with these credentials.
250
250
  :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SQS is enabled.
251
251
  :param pulumi.Input[str] region: `region`). The region in which SQS is enabled.
252
252
  """
@@ -352,7 +352,7 @@ class MnqSqsCredentials(pulumi.CustomResource):
352
352
  :param pulumi.ResourceOptions opts: Options for the resource.
353
353
  :param pulumi.Input[str] access_key: The ID of the key.
354
354
  :param pulumi.Input[str] name: The unique name of the SQS credentials.
355
- :param pulumi.Input[Union['MnqSqsCredentialsPermissionsArgs', 'MnqSqsCredentialsPermissionsArgsDict']] permissions: . List of permissions associated with these credentials. Only one of the following permissions may be set:
355
+ :param pulumi.Input[Union['MnqSqsCredentialsPermissionsArgs', 'MnqSqsCredentialsPermissionsArgsDict']] permissions: . List of permissions associated with these credentials.
356
356
  :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SQS is enabled.
357
357
  :param pulumi.Input[str] region: `region`). The region in which SQS is enabled.
358
358
  :param pulumi.Input[str] secret_key: The secret value of the key.
@@ -389,7 +389,7 @@ class MnqSqsCredentials(pulumi.CustomResource):
389
389
  @pulumi.getter
390
390
  def permissions(self) -> pulumi.Output['outputs.MnqSqsCredentialsPermissions']:
391
391
  """
392
- . List of permissions associated with these credentials. Only one of the following permissions may be set:
392
+ . List of permissions associated with these credentials.
393
393
  """
394
394
  return pulumi.get(self, "permissions")
395
395
 
@@ -19,6 +19,8 @@ __all__ = [
19
19
  'AclRuleArgsDict',
20
20
  'GatewayNetworkIpamConfigArgs',
21
21
  'GatewayNetworkIpamConfigArgsDict',
22
+ 'GatewayNetworkPrivateIpArgs',
23
+ 'GatewayNetworkPrivateIpArgsDict',
22
24
  'PrivateNetworkIpv4SubnetArgs',
23
25
  'PrivateNetworkIpv4SubnetArgsDict',
24
26
  'PrivateNetworkIpv6SubnetArgs',
@@ -271,6 +273,58 @@ class GatewayNetworkIpamConfigArgs:
271
273
  pulumi.set(self, "push_default_route", value)
272
274
 
273
275
 
276
+ if not MYPY:
277
+ class GatewayNetworkPrivateIpArgsDict(TypedDict):
278
+ address: NotRequired[pulumi.Input[str]]
279
+ """
280
+ The private IPv4 address.
281
+ """
282
+ id: NotRequired[pulumi.Input[str]]
283
+ """
284
+ The ID of the IPv4 address resource.
285
+ """
286
+ elif False:
287
+ GatewayNetworkPrivateIpArgsDict: TypeAlias = Mapping[str, Any]
288
+
289
+ @pulumi.input_type
290
+ class GatewayNetworkPrivateIpArgs:
291
+ def __init__(__self__, *,
292
+ address: Optional[pulumi.Input[str]] = None,
293
+ id: Optional[pulumi.Input[str]] = None):
294
+ """
295
+ :param pulumi.Input[str] address: The private IPv4 address.
296
+ :param pulumi.Input[str] id: The ID of the IPv4 address resource.
297
+ """
298
+ if address is not None:
299
+ pulumi.set(__self__, "address", address)
300
+ if id is not None:
301
+ pulumi.set(__self__, "id", id)
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def address(self) -> Optional[pulumi.Input[str]]:
306
+ """
307
+ The private IPv4 address.
308
+ """
309
+ return pulumi.get(self, "address")
310
+
311
+ @address.setter
312
+ def address(self, value: Optional[pulumi.Input[str]]):
313
+ pulumi.set(self, "address", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def id(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ The ID of the IPv4 address resource.
320
+ """
321
+ return pulumi.get(self, "id")
322
+
323
+ @id.setter
324
+ def id(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "id", value)
326
+
327
+
274
328
  if not MYPY:
275
329
  class PrivateNetworkIpv4SubnetArgsDict(TypedDict):
276
330
  address: NotRequired[pulumi.Input[str]]
@@ -203,6 +203,7 @@ class _GatewayNetworkState:
203
203
  gateway_id: Optional[pulumi.Input[str]] = None,
204
204
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
205
205
  mac_address: Optional[pulumi.Input[str]] = None,
206
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]] = None,
206
207
  private_network_id: Optional[pulumi.Input[str]] = None,
207
208
  static_address: Optional[pulumi.Input[str]] = None,
208
209
  status: Optional[pulumi.Input[str]] = None,
@@ -218,6 +219,7 @@ class _GatewayNetworkState:
218
219
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
219
220
  :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
220
221
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
222
+ :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
221
223
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
222
224
  :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
223
225
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -253,6 +255,8 @@ class _GatewayNetworkState:
253
255
  pulumi.set(__self__, "ipam_configs", ipam_configs)
254
256
  if mac_address is not None:
255
257
  pulumi.set(__self__, "mac_address", mac_address)
258
+ if private_ips is not None:
259
+ pulumi.set(__self__, "private_ips", private_ips)
256
260
  if private_network_id is not None:
257
261
  pulumi.set(__self__, "private_network_id", private_network_id)
258
262
  if static_address is not None:
@@ -366,6 +370,18 @@ class _GatewayNetworkState:
366
370
  def mac_address(self, value: Optional[pulumi.Input[str]]):
367
371
  pulumi.set(self, "mac_address", value)
368
372
 
373
+ @property
374
+ @pulumi.getter(name="privateIps")
375
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]:
376
+ """
377
+ The private IPv4 address associated with the resource.
378
+ """
379
+ return pulumi.get(self, "private_ips")
380
+
381
+ @private_ips.setter
382
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]):
383
+ pulumi.set(self, "private_ips", value)
384
+
369
385
  @property
370
386
  @pulumi.getter(name="privateNetworkId")
371
387
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -665,6 +681,7 @@ class GatewayNetwork(pulumi.CustomResource):
665
681
  __props__.__dict__["zone"] = zone
666
682
  __props__.__dict__["created_at"] = None
667
683
  __props__.__dict__["mac_address"] = None
684
+ __props__.__dict__["private_ips"] = None
668
685
  __props__.__dict__["status"] = None
669
686
  __props__.__dict__["updated_at"] = None
670
687
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/vpcGatewayNetwork:VpcGatewayNetwork")])
@@ -687,6 +704,7 @@ class GatewayNetwork(pulumi.CustomResource):
687
704
  gateway_id: Optional[pulumi.Input[str]] = None,
688
705
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
689
706
  mac_address: Optional[pulumi.Input[str]] = None,
707
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]]] = None,
690
708
  private_network_id: Optional[pulumi.Input[str]] = None,
691
709
  static_address: Optional[pulumi.Input[str]] = None,
692
710
  status: Optional[pulumi.Input[str]] = None,
@@ -707,6 +725,7 @@ class GatewayNetwork(pulumi.CustomResource):
707
725
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
708
726
  :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
709
727
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
728
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
710
729
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
711
730
  :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
712
731
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -729,6 +748,7 @@ class GatewayNetwork(pulumi.CustomResource):
729
748
  __props__.__dict__["gateway_id"] = gateway_id
730
749
  __props__.__dict__["ipam_configs"] = ipam_configs
731
750
  __props__.__dict__["mac_address"] = mac_address
751
+ __props__.__dict__["private_ips"] = private_ips
732
752
  __props__.__dict__["private_network_id"] = private_network_id
733
753
  __props__.__dict__["static_address"] = static_address
734
754
  __props__.__dict__["status"] = status
@@ -803,6 +823,14 @@ class GatewayNetwork(pulumi.CustomResource):
803
823
  """
804
824
  return pulumi.get(self, "mac_address")
805
825
 
826
+ @property
827
+ @pulumi.getter(name="privateIps")
828
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.GatewayNetworkPrivateIp']]:
829
+ """
830
+ The private IPv4 address associated with the resource.
831
+ """
832
+ return pulumi.get(self, "private_ips")
833
+
806
834
  @property
807
835
  @pulumi.getter(name="privateNetworkId")
808
836
  def private_network_id(self) -> pulumi.Output[str]:
@@ -27,7 +27,7 @@ class GetGatewayNetworkResult:
27
27
  """
28
28
  A collection of values returned by getGatewayNetwork.
29
29
  """
30
- def __init__(__self__, cleanup_dhcp=None, created_at=None, dhcp_id=None, enable_dhcp=None, enable_masquerade=None, gateway_id=None, gateway_network_id=None, id=None, ipam_configs=None, mac_address=None, private_network_id=None, static_address=None, status=None, updated_at=None, zone=None):
30
+ def __init__(__self__, cleanup_dhcp=None, created_at=None, dhcp_id=None, enable_dhcp=None, enable_masquerade=None, gateway_id=None, gateway_network_id=None, id=None, ipam_configs=None, mac_address=None, private_ips=None, private_network_id=None, static_address=None, status=None, updated_at=None, zone=None):
31
31
  if cleanup_dhcp and not isinstance(cleanup_dhcp, bool):
32
32
  raise TypeError("Expected argument 'cleanup_dhcp' to be a bool")
33
33
  pulumi.set(__self__, "cleanup_dhcp", cleanup_dhcp)
@@ -58,6 +58,9 @@ class GetGatewayNetworkResult:
58
58
  if mac_address and not isinstance(mac_address, str):
59
59
  raise TypeError("Expected argument 'mac_address' to be a str")
60
60
  pulumi.set(__self__, "mac_address", mac_address)
61
+ if private_ips and not isinstance(private_ips, list):
62
+ raise TypeError("Expected argument 'private_ips' to be a list")
63
+ pulumi.set(__self__, "private_ips", private_ips)
61
64
  if private_network_id and not isinstance(private_network_id, str):
62
65
  raise TypeError("Expected argument 'private_network_id' to be a str")
63
66
  pulumi.set(__self__, "private_network_id", private_network_id)
@@ -127,6 +130,11 @@ class GetGatewayNetworkResult:
127
130
  def mac_address(self) -> str:
128
131
  return pulumi.get(self, "mac_address")
129
132
 
133
+ @property
134
+ @pulumi.getter(name="privateIps")
135
+ def private_ips(self) -> Sequence['outputs.GetGatewayNetworkPrivateIpResult']:
136
+ return pulumi.get(self, "private_ips")
137
+
130
138
  @property
131
139
  @pulumi.getter(name="privateNetworkId")
132
140
  def private_network_id(self) -> Optional[str]:
@@ -169,6 +177,7 @@ class AwaitableGetGatewayNetworkResult(GetGatewayNetworkResult):
169
177
  id=self.id,
170
178
  ipam_configs=self.ipam_configs,
171
179
  mac_address=self.mac_address,
180
+ private_ips=self.private_ips,
172
181
  private_network_id=self.private_network_id,
173
182
  static_address=self.static_address,
174
183
  status=self.status,
@@ -226,6 +235,7 @@ def get_gateway_network(dhcp_id: Optional[str] = None,
226
235
  id=pulumi.get(__ret__, 'id'),
227
236
  ipam_configs=pulumi.get(__ret__, 'ipam_configs'),
228
237
  mac_address=pulumi.get(__ret__, 'mac_address'),
238
+ private_ips=pulumi.get(__ret__, 'private_ips'),
229
239
  private_network_id=pulumi.get(__ret__, 'private_network_id'),
230
240
  static_address=pulumi.get(__ret__, 'static_address'),
231
241
  status=pulumi.get(__ret__, 'status'),
@@ -280,6 +290,7 @@ def get_gateway_network_output(dhcp_id: Optional[pulumi.Input[Optional[str]]] =
280
290
  id=pulumi.get(__response__, 'id'),
281
291
  ipam_configs=pulumi.get(__response__, 'ipam_configs'),
282
292
  mac_address=pulumi.get(__response__, 'mac_address'),
293
+ private_ips=pulumi.get(__response__, 'private_ips'),
283
294
  private_network_id=pulumi.get(__response__, 'private_network_id'),
284
295
  static_address=pulumi.get(__response__, 'static_address'),
285
296
  status=pulumi.get(__response__, 'status'),
@@ -17,9 +17,11 @@ from .. import _utilities
17
17
  __all__ = [
18
18
  'AclRule',
19
19
  'GatewayNetworkIpamConfig',
20
+ 'GatewayNetworkPrivateIp',
20
21
  'PrivateNetworkIpv4Subnet',
21
22
  'PrivateNetworkIpv6Subnet',
22
23
  'GetGatewayNetworkIpamConfigResult',
24
+ 'GetGatewayNetworkPrivateIpResult',
23
25
  'GetPrivateNetworkIpv4SubnetResult',
24
26
  'GetPrivateNetworkIpv6SubnetResult',
25
27
  'GetRoutesRouteResult',
@@ -214,6 +216,37 @@ class GatewayNetworkIpamConfig(dict):
214
216
  return pulumi.get(self, "push_default_route")
215
217
 
216
218
 
219
+ @pulumi.output_type
220
+ class GatewayNetworkPrivateIp(dict):
221
+ def __init__(__self__, *,
222
+ address: Optional[str] = None,
223
+ id: Optional[str] = None):
224
+ """
225
+ :param str address: The private IPv4 address.
226
+ :param str id: The ID of the IPv4 address resource.
227
+ """
228
+ if address is not None:
229
+ pulumi.set(__self__, "address", address)
230
+ if id is not None:
231
+ pulumi.set(__self__, "id", id)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def address(self) -> Optional[str]:
236
+ """
237
+ The private IPv4 address.
238
+ """
239
+ return pulumi.get(self, "address")
240
+
241
+ @property
242
+ @pulumi.getter
243
+ def id(self) -> Optional[str]:
244
+ """
245
+ The ID of the IPv4 address resource.
246
+ """
247
+ return pulumi.get(self, "id")
248
+
249
+
217
250
  @pulumi.output_type
218
251
  class PrivateNetworkIpv4Subnet(dict):
219
252
  @staticmethod
@@ -471,6 +504,35 @@ class GetGatewayNetworkIpamConfigResult(dict):
471
504
  return pulumi.get(self, "push_default_route")
472
505
 
473
506
 
507
+ @pulumi.output_type
508
+ class GetGatewayNetworkPrivateIpResult(dict):
509
+ def __init__(__self__, *,
510
+ address: str,
511
+ id: str):
512
+ """
513
+ :param str address: The private IPv4 address.
514
+ :param str id: The ID of the IPv4 address resource.
515
+ """
516
+ pulumi.set(__self__, "address", address)
517
+ pulumi.set(__self__, "id", id)
518
+
519
+ @property
520
+ @pulumi.getter
521
+ def address(self) -> str:
522
+ """
523
+ The private IPv4 address.
524
+ """
525
+ return pulumi.get(self, "address")
526
+
527
+ @property
528
+ @pulumi.getter
529
+ def id(self) -> str:
530
+ """
531
+ The ID of the IPv4 address resource.
532
+ """
533
+ return pulumi.get(self, "id")
534
+
535
+
474
536
  @pulumi.output_type
475
537
  class GetPrivateNetworkIpv4SubnetResult(dict):
476
538
  def __init__(__self__, *,
@@ -306,7 +306,7 @@ class Route(pulumi.CustomResource):
306
306
 
307
307
  ## Example Usage
308
308
 
309
- ### Basic
309
+ ### With Instance
310
310
 
311
311
  ```python
312
312
  import pulumi
@@ -337,6 +337,50 @@ class Route(pulumi.CustomResource):
337
337
  nexthop_resource_id=pnic01.id)
338
338
  ```
339
339
 
340
+ ### With Baremetal
341
+
342
+ ```python
343
+ import pulumi
344
+ import pulumi_scaleway as scaleway
345
+ import pulumiverse_scaleway as scaleway
346
+
347
+ vpc01 = scaleway.network.Vpc("vpc01", name="tf-vpc-vpn")
348
+ pn01 = scaleway.network.PrivateNetwork("pn01",
349
+ name="tf-pn-vpn",
350
+ ipv4_subnet={
351
+ "subnet": "172.16.64.0/22",
352
+ },
353
+ vpc_id=vpc01.id)
354
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
355
+ name="Ubuntu",
356
+ version="22.04 LTS (Jammy Jellyfish)")
357
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
358
+ name="EM-B112X-SSD")
359
+ private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
360
+ name="Private Network")
361
+ my_key = scaleway.iam.get_ssh_key(name="main")
362
+ my_server = scaleway.elasticmetal.Server("my_server",
363
+ zone="fr-par-2",
364
+ offer=my_offer.offer_id,
365
+ os=my_os.os_id,
366
+ ssh_key_ids=[my_key.id],
367
+ options=[{
368
+ "id": private_network.option_id,
369
+ }],
370
+ private_networks=[{
371
+ "id": pn01.id,
372
+ }])
373
+ rt01 = scaleway.network.Route("rt01",
374
+ vpc_id=vpc01.id,
375
+ description="tf-route-vpn",
376
+ tags=[
377
+ "tf",
378
+ "route",
379
+ ],
380
+ destination="10.0.0.0/24",
381
+ nexthop_resource_id=my_server.private_networks[0].mapping_id)
382
+ ```
383
+
340
384
  ## Import
341
385
 
342
386
  Routes can be imported using `{region}/{id}`, e.g.
@@ -369,7 +413,7 @@ class Route(pulumi.CustomResource):
369
413
 
370
414
  ## Example Usage
371
415
 
372
- ### Basic
416
+ ### With Instance
373
417
 
374
418
  ```python
375
419
  import pulumi
@@ -400,6 +444,50 @@ class Route(pulumi.CustomResource):
400
444
  nexthop_resource_id=pnic01.id)
401
445
  ```
402
446
 
447
+ ### With Baremetal
448
+
449
+ ```python
450
+ import pulumi
451
+ import pulumi_scaleway as scaleway
452
+ import pulumiverse_scaleway as scaleway
453
+
454
+ vpc01 = scaleway.network.Vpc("vpc01", name="tf-vpc-vpn")
455
+ pn01 = scaleway.network.PrivateNetwork("pn01",
456
+ name="tf-pn-vpn",
457
+ ipv4_subnet={
458
+ "subnet": "172.16.64.0/22",
459
+ },
460
+ vpc_id=vpc01.id)
461
+ my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
462
+ name="Ubuntu",
463
+ version="22.04 LTS (Jammy Jellyfish)")
464
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
465
+ name="EM-B112X-SSD")
466
+ private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
467
+ name="Private Network")
468
+ my_key = scaleway.iam.get_ssh_key(name="main")
469
+ my_server = scaleway.elasticmetal.Server("my_server",
470
+ zone="fr-par-2",
471
+ offer=my_offer.offer_id,
472
+ os=my_os.os_id,
473
+ ssh_key_ids=[my_key.id],
474
+ options=[{
475
+ "id": private_network.option_id,
476
+ }],
477
+ private_networks=[{
478
+ "id": pn01.id,
479
+ }])
480
+ rt01 = scaleway.network.Route("rt01",
481
+ vpc_id=vpc01.id,
482
+ description="tf-route-vpn",
483
+ tags=[
484
+ "tf",
485
+ "route",
486
+ ],
487
+ destination="10.0.0.0/24",
488
+ nexthop_resource_id=my_server.private_networks[0].mapping_id)
489
+ ```
490
+
403
491
  ## Import
404
492
 
405
493
  Routes can be imported using `{region}/{id}`, e.g.
@@ -62,25 +62,7 @@ class AwaitableGetPlanResult(GetPlanResult):
62
62
  def get_plan(name: Optional[str] = None,
63
63
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPlanResult:
64
64
  """
65
- The `observability_get_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `observability.Cockpit`.
66
-
67
- Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console.
68
-
69
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
70
-
71
- ## Fetch and associate a pricing plan to a Cockpit
72
-
73
- The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project.
74
-
75
- ```python
76
- import pulumi
77
- import pulumi_scaleway as scaleway
78
- import pulumiverse_scaleway as scaleway
79
-
80
- premium = scaleway.observability.get_plan(name="premium")
81
- main = scaleway.observability.Cockpit("main", plan=premium.id)
82
- ```
83
-
65
+ Use this data source to access information about an existing resource.
84
66
 
85
67
  :param str name: Name of the pricing plan you want to retrieve information about.
86
68
  """
@@ -95,25 +77,7 @@ def get_plan(name: Optional[str] = None,
95
77
  def get_plan_output(name: Optional[pulumi.Input[str]] = None,
96
78
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPlanResult]:
97
79
  """
98
- The `observability_get_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `observability.Cockpit`.
99
-
100
- Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console.
101
-
102
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
103
-
104
- ## Fetch and associate a pricing plan to a Cockpit
105
-
106
- The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project.
107
-
108
- ```python
109
- import pulumi
110
- import pulumi_scaleway as scaleway
111
- import pulumiverse_scaleway as scaleway
112
-
113
- premium = scaleway.observability.get_plan(name="premium")
114
- main = scaleway.observability.Cockpit("main", plan=premium.id)
115
- ```
116
-
80
+ Use this data source to access information about an existing resource.
117
81
 
118
82
  :param str name: Name of the pricing plan you want to retrieve information about.
119
83
  """