pulumiverse-scaleway 1.28.0a1747119212__py3-none-any.whl → 1.29.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 (102) hide show
  1. pulumiverse_scaleway/__init__.py +16 -1
  2. pulumiverse_scaleway/_inputs.py +604 -6
  3. pulumiverse_scaleway/account/__init__.py +2 -0
  4. pulumiverse_scaleway/account/get_projects.py +235 -0
  5. pulumiverse_scaleway/account/outputs.py +95 -0
  6. pulumiverse_scaleway/baremetal_server.py +67 -258
  7. pulumiverse_scaleway/block/__init__.py +2 -0
  8. pulumiverse_scaleway/block/_inputs.py +73 -0
  9. pulumiverse_scaleway/block/get_snapshot.py +13 -1
  10. pulumiverse_scaleway/block/outputs.py +79 -0
  11. pulumiverse_scaleway/block/snapshot.py +62 -14
  12. pulumiverse_scaleway/block_snapshot.py +62 -14
  13. pulumiverse_scaleway/container.py +2 -2
  14. pulumiverse_scaleway/containers/container.py +2 -2
  15. pulumiverse_scaleway/database_instance.py +61 -21
  16. pulumiverse_scaleway/databases/_inputs.py +54 -0
  17. pulumiverse_scaleway/databases/get_instance.py +12 -1
  18. pulumiverse_scaleway/databases/instance.py +61 -21
  19. pulumiverse_scaleway/databases/outputs.py +62 -0
  20. pulumiverse_scaleway/databases/snapshot.py +2 -2
  21. pulumiverse_scaleway/domain/get_zone.py +7 -1
  22. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  23. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  24. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  25. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  26. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  27. pulumiverse_scaleway/elasticmetal/server.py +67 -258
  28. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  29. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  30. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  31. pulumiverse_scaleway/get_database_instance.py +12 -1
  32. pulumiverse_scaleway/get_domain_zone.py +7 -1
  33. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  34. pulumiverse_scaleway/get_instance_server.py +12 -1
  35. pulumiverse_scaleway/get_lb_route.py +12 -1
  36. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  37. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  38. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  39. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  40. pulumiverse_scaleway/iam/user.py +468 -14
  41. pulumiverse_scaleway/iam_user.py +468 -14
  42. pulumiverse_scaleway/inference/__init__.py +2 -0
  43. pulumiverse_scaleway/inference/_inputs.py +128 -0
  44. pulumiverse_scaleway/inference/deployment.py +70 -55
  45. pulumiverse_scaleway/inference/get_model.py +299 -0
  46. pulumiverse_scaleway/inference/model.py +683 -0
  47. pulumiverse_scaleway/inference/outputs.py +184 -0
  48. pulumiverse_scaleway/inference_deployment.py +70 -55
  49. pulumiverse_scaleway/instance/_inputs.py +108 -0
  50. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  51. pulumiverse_scaleway/instance/get_server.py +12 -1
  52. pulumiverse_scaleway/instance/outputs.py +124 -0
  53. pulumiverse_scaleway/instance/private_nic.py +49 -0
  54. pulumiverse_scaleway/instance/server.py +47 -0
  55. pulumiverse_scaleway/instance/snapshot.py +28 -7
  56. pulumiverse_scaleway/instance/volume.py +28 -7
  57. pulumiverse_scaleway/instance_private_nic.py +49 -0
  58. pulumiverse_scaleway/instance_server.py +47 -0
  59. pulumiverse_scaleway/instance_snapshot.py +28 -7
  60. pulumiverse_scaleway/instance_volume.py +28 -7
  61. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  62. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  63. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  64. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  65. pulumiverse_scaleway/loadbalancer.py +28 -0
  66. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  67. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  68. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  69. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  70. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  71. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  72. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  73. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  74. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  75. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  76. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  77. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  78. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  79. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  80. pulumiverse_scaleway/mongodb/instance.py +107 -7
  81. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  82. pulumiverse_scaleway/network/_inputs.py +54 -0
  83. pulumiverse_scaleway/network/gateway_network.py +47 -0
  84. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  85. pulumiverse_scaleway/network/outputs.py +62 -0
  86. pulumiverse_scaleway/network/route.py +90 -2
  87. pulumiverse_scaleway/observability/__init__.py +0 -1
  88. pulumiverse_scaleway/observability/get_plan.py +2 -38
  89. pulumiverse_scaleway/outputs.py +718 -27
  90. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  91. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  92. pulumiverse_scaleway/redis/_inputs.py +60 -6
  93. pulumiverse_scaleway/redis/cluster.py +47 -0
  94. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  95. pulumiverse_scaleway/redis/outputs.py +66 -4
  96. pulumiverse_scaleway/redis_cluster.py +47 -0
  97. pulumiverse_scaleway/vpc_gateway_network.py +47 -0
  98. pulumiverse_scaleway/vpc_route.py +90 -2
  99. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  100. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
  101. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  102. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -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.
@@ -8,7 +8,6 @@ import typing
8
8
  from .alert_manager import *
9
9
  from .cockpit import *
10
10
  from .get_instance import *
11
- from .get_plan import *
12
11
  from .get_source import *
13
12
  from .grafana_user import *
14
13
  from .source import *
@@ -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
  """