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
@@ -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
 
@@ -25,6 +25,7 @@ class MongoDbInstanceArgs:
25
25
  node_type: pulumi.Input[str],
26
26
  name: Optional[pulumi.Input[str]] = None,
27
27
  password: Optional[pulumi.Input[str]] = None,
28
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]] = None,
28
29
  private_network: Optional[pulumi.Input['MongoDbInstancePrivateNetworkArgs']] = None,
29
30
  project_id: Optional[pulumi.Input[str]] = None,
30
31
  public_network: Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']] = None,
@@ -42,9 +43,11 @@ class MongoDbInstanceArgs:
42
43
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
43
44
  :param pulumi.Input[str] name: Name of the MongoDB® instance.
44
45
  :param pulumi.Input[str] password: Password of the user.
46
+ :param pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
45
47
  :param pulumi.Input['MongoDbInstancePrivateNetworkArgs'] private_network: Private Network endpoints of the Database Instance.
46
48
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
47
- :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network specs details.
49
+ :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
50
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
48
51
  :param pulumi.Input[str] region: The region you want to attach the resource to
49
52
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
50
53
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -60,6 +63,8 @@ class MongoDbInstanceArgs:
60
63
  pulumi.set(__self__, "name", name)
61
64
  if password is not None:
62
65
  pulumi.set(__self__, "password", password)
66
+ if private_ips is not None:
67
+ pulumi.set(__self__, "private_ips", private_ips)
63
68
  if private_network is not None:
64
69
  pulumi.set(__self__, "private_network", private_network)
65
70
  if project_id is not None:
@@ -131,6 +136,18 @@ class MongoDbInstanceArgs:
131
136
  def password(self, value: Optional[pulumi.Input[str]]):
132
137
  pulumi.set(self, "password", value)
133
138
 
139
+ @property
140
+ @pulumi.getter(name="privateIps")
141
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]]:
142
+ """
143
+ The private IPv4 address associated with the instance.
144
+ """
145
+ return pulumi.get(self, "private_ips")
146
+
147
+ @private_ips.setter
148
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]]):
149
+ pulumi.set(self, "private_ips", value)
150
+
134
151
  @property
135
152
  @pulumi.getter(name="privateNetwork")
136
153
  def private_network(self) -> Optional[pulumi.Input['MongoDbInstancePrivateNetworkArgs']]:
@@ -159,7 +176,8 @@ class MongoDbInstanceArgs:
159
176
  @pulumi.getter(name="publicNetwork")
160
177
  def public_network(self) -> Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']]:
161
178
  """
162
- Public network specs details.
179
+ Public network endpoint configuration (no arguments).
180
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
163
181
  """
164
182
  return pulumi.get(self, "public_network")
165
183
 
@@ -272,6 +290,7 @@ class _MongoDbInstanceState:
272
290
  node_number: Optional[pulumi.Input[int]] = None,
273
291
  node_type: Optional[pulumi.Input[str]] = None,
274
292
  password: Optional[pulumi.Input[str]] = None,
293
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]] = None,
275
294
  private_network: Optional[pulumi.Input['MongoDbInstancePrivateNetworkArgs']] = None,
276
295
  project_id: Optional[pulumi.Input[str]] = None,
277
296
  public_network: Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']] = None,
@@ -291,9 +310,11 @@ class _MongoDbInstanceState:
291
310
  :param pulumi.Input[int] node_number: Number of nodes in the instance
292
311
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
293
312
  :param pulumi.Input[str] password: Password of the user.
313
+ :param pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
294
314
  :param pulumi.Input['MongoDbInstancePrivateNetworkArgs'] private_network: Private Network endpoints of the Database Instance.
295
315
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
296
- :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network specs details.
316
+ :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
317
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
297
318
  :param pulumi.Input[str] region: The region you want to attach the resource to
298
319
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
299
320
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -314,6 +335,8 @@ class _MongoDbInstanceState:
314
335
  pulumi.set(__self__, "node_type", node_type)
315
336
  if password is not None:
316
337
  pulumi.set(__self__, "password", password)
338
+ if private_ips is not None:
339
+ pulumi.set(__self__, "private_ips", private_ips)
317
340
  if private_network is not None:
318
341
  pulumi.set(__self__, "private_network", private_network)
319
342
  if project_id is not None:
@@ -399,6 +422,18 @@ class _MongoDbInstanceState:
399
422
  def password(self, value: Optional[pulumi.Input[str]]):
400
423
  pulumi.set(self, "password", value)
401
424
 
425
+ @property
426
+ @pulumi.getter(name="privateIps")
427
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]]:
428
+ """
429
+ The private IPv4 address associated with the instance.
430
+ """
431
+ return pulumi.get(self, "private_ips")
432
+
433
+ @private_ips.setter
434
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]]):
435
+ pulumi.set(self, "private_ips", value)
436
+
402
437
  @property
403
438
  @pulumi.getter(name="privateNetwork")
404
439
  def private_network(self) -> Optional[pulumi.Input['MongoDbInstancePrivateNetworkArgs']]:
@@ -427,7 +462,8 @@ class _MongoDbInstanceState:
427
462
  @pulumi.getter(name="publicNetwork")
428
463
  def public_network(self) -> Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']]:
429
464
  """
430
- Public network specs details.
465
+ Public network endpoint configuration (no arguments).
466
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
431
467
  """
432
468
  return pulumi.get(self, "public_network")
433
469
 
@@ -558,6 +594,7 @@ class MongoDbInstance(pulumi.CustomResource):
558
594
  node_number: Optional[pulumi.Input[int]] = None,
559
595
  node_type: Optional[pulumi.Input[str]] = None,
560
596
  password: Optional[pulumi.Input[str]] = None,
597
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]]] = None,
561
598
  private_network: Optional[pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']]] = None,
562
599
  project_id: Optional[pulumi.Input[str]] = None,
563
600
  public_network: Optional[pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']]] = None,
@@ -614,6 +651,29 @@ class MongoDbInstance(pulumi.CustomResource):
614
651
  })
615
652
  ```
616
653
 
654
+ ### Private Network and Public Network
655
+
656
+ ```python
657
+ import pulumi
658
+ import pulumiverse_scaleway as scaleway
659
+
660
+ pn01 = scaleway.network.PrivateNetwork("pn01",
661
+ name="my_private_network",
662
+ region="fr-par")
663
+ main = scaleway.mongodb.Instance("main",
664
+ name="test-mongodb-basic1",
665
+ version="7.0.12",
666
+ node_type="MGDB-PLAY2-NANO",
667
+ node_number=1,
668
+ user_name="my_initial_user",
669
+ password="thiZ_is_v&ry_s3cret",
670
+ volume_size_in_gb=5,
671
+ private_network={
672
+ "pn_id": pn02["id"],
673
+ },
674
+ public_network={})
675
+ ```
676
+
617
677
  ### Restore From Snapshot
618
678
 
619
679
  ```python
@@ -643,9 +703,11 @@ class MongoDbInstance(pulumi.CustomResource):
643
703
  :param pulumi.Input[int] node_number: Number of nodes in the instance
644
704
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
645
705
  :param pulumi.Input[str] password: Password of the user.
706
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
646
707
  :param pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
647
708
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
648
- :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network specs details.
709
+ :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
710
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
649
711
  :param pulumi.Input[str] region: The region you want to attach the resource to
650
712
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
651
713
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -705,6 +767,29 @@ class MongoDbInstance(pulumi.CustomResource):
705
767
  })
706
768
  ```
707
769
 
770
+ ### Private Network and Public Network
771
+
772
+ ```python
773
+ import pulumi
774
+ import pulumiverse_scaleway as scaleway
775
+
776
+ pn01 = scaleway.network.PrivateNetwork("pn01",
777
+ name="my_private_network",
778
+ region="fr-par")
779
+ main = scaleway.mongodb.Instance("main",
780
+ name="test-mongodb-basic1",
781
+ version="7.0.12",
782
+ node_type="MGDB-PLAY2-NANO",
783
+ node_number=1,
784
+ user_name="my_initial_user",
785
+ password="thiZ_is_v&ry_s3cret",
786
+ volume_size_in_gb=5,
787
+ private_network={
788
+ "pn_id": pn02["id"],
789
+ },
790
+ public_network={})
791
+ ```
792
+
708
793
  ### Restore From Snapshot
709
794
 
710
795
  ```python
@@ -747,6 +832,7 @@ class MongoDbInstance(pulumi.CustomResource):
747
832
  node_number: Optional[pulumi.Input[int]] = None,
748
833
  node_type: Optional[pulumi.Input[str]] = None,
749
834
  password: Optional[pulumi.Input[str]] = None,
835
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]]] = None,
750
836
  private_network: Optional[pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']]] = None,
751
837
  project_id: Optional[pulumi.Input[str]] = None,
752
838
  public_network: Optional[pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']]] = None,
@@ -776,6 +862,7 @@ class MongoDbInstance(pulumi.CustomResource):
776
862
  raise TypeError("Missing required property 'node_type'")
777
863
  __props__.__dict__["node_type"] = node_type
778
864
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
865
+ __props__.__dict__["private_ips"] = private_ips
779
866
  __props__.__dict__["private_network"] = private_network
780
867
  __props__.__dict__["project_id"] = project_id
781
868
  __props__.__dict__["public_network"] = public_network
@@ -806,6 +893,7 @@ class MongoDbInstance(pulumi.CustomResource):
806
893
  node_number: Optional[pulumi.Input[int]] = None,
807
894
  node_type: Optional[pulumi.Input[str]] = None,
808
895
  password: Optional[pulumi.Input[str]] = None,
896
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]]] = None,
809
897
  private_network: Optional[pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']]] = None,
810
898
  project_id: Optional[pulumi.Input[str]] = None,
811
899
  public_network: Optional[pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']]] = None,
@@ -830,9 +918,11 @@ class MongoDbInstance(pulumi.CustomResource):
830
918
  :param pulumi.Input[int] node_number: Number of nodes in the instance
831
919
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
832
920
  :param pulumi.Input[str] password: Password of the user.
921
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
833
922
  :param pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
834
923
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
835
- :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network specs details.
924
+ :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
925
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
836
926
  :param pulumi.Input[str] region: The region you want to attach the resource to
837
927
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
838
928
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -852,6 +942,7 @@ class MongoDbInstance(pulumi.CustomResource):
852
942
  __props__.__dict__["node_number"] = node_number
853
943
  __props__.__dict__["node_type"] = node_type
854
944
  __props__.__dict__["password"] = password
945
+ __props__.__dict__["private_ips"] = private_ips
855
946
  __props__.__dict__["private_network"] = private_network
856
947
  __props__.__dict__["project_id"] = project_id
857
948
  __props__.__dict__["public_network"] = public_network
@@ -906,6 +997,14 @@ class MongoDbInstance(pulumi.CustomResource):
906
997
  """
907
998
  return pulumi.get(self, "password")
908
999
 
1000
+ @property
1001
+ @pulumi.getter(name="privateIps")
1002
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.MongoDbInstancePrivateIp']]:
1003
+ """
1004
+ The private IPv4 address associated with the instance.
1005
+ """
1006
+ return pulumi.get(self, "private_ips")
1007
+
909
1008
  @property
910
1009
  @pulumi.getter(name="privateNetwork")
911
1010
  def private_network(self) -> pulumi.Output[Optional['outputs.MongoDbInstancePrivateNetwork']]:
@@ -926,7 +1025,8 @@ class MongoDbInstance(pulumi.CustomResource):
926
1025
  @pulumi.getter(name="publicNetwork")
927
1026
  def public_network(self) -> pulumi.Output['outputs.MongoDbInstancePublicNetwork']:
928
1027
  """
929
- Public network specs details.
1028
+ Public network endpoint configuration (no arguments).
1029
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
930
1030
  """
931
1031
  return pulumi.get(self, "public_network")
932
1032
 
@@ -15,6 +15,8 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'InstancePrivateIpArgs',
19
+ 'InstancePrivateIpArgsDict',
18
20
  'InstancePrivateNetworkArgs',
19
21
  'InstancePrivateNetworkArgsDict',
20
22
  'InstancePublicNetworkArgs',
@@ -23,6 +25,58 @@ __all__ = [
23
25
 
24
26
  MYPY = False
25
27
 
28
+ if not MYPY:
29
+ class InstancePrivateIpArgsDict(TypedDict):
30
+ address: NotRequired[pulumi.Input[str]]
31
+ """
32
+ The private IPv4 address.
33
+ """
34
+ id: NotRequired[pulumi.Input[str]]
35
+ """
36
+ The ID of the endpoint.
37
+ """
38
+ elif False:
39
+ InstancePrivateIpArgsDict: TypeAlias = Mapping[str, Any]
40
+
41
+ @pulumi.input_type
42
+ class InstancePrivateIpArgs:
43
+ def __init__(__self__, *,
44
+ address: Optional[pulumi.Input[str]] = None,
45
+ id: Optional[pulumi.Input[str]] = None):
46
+ """
47
+ :param pulumi.Input[str] address: The private IPv4 address.
48
+ :param pulumi.Input[str] id: The ID of the endpoint.
49
+ """
50
+ if address is not None:
51
+ pulumi.set(__self__, "address", address)
52
+ if id is not None:
53
+ pulumi.set(__self__, "id", id)
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def address(self) -> Optional[pulumi.Input[str]]:
58
+ """
59
+ The private IPv4 address.
60
+ """
61
+ return pulumi.get(self, "address")
62
+
63
+ @address.setter
64
+ def address(self, value: Optional[pulumi.Input[str]]):
65
+ pulumi.set(self, "address", value)
66
+
67
+ @property
68
+ @pulumi.getter
69
+ def id(self) -> Optional[pulumi.Input[str]]:
70
+ """
71
+ The ID of the endpoint.
72
+ """
73
+ return pulumi.get(self, "id")
74
+
75
+ @id.setter
76
+ def id(self, value: Optional[pulumi.Input[str]]):
77
+ pulumi.set(self, "id", value)
78
+
79
+
26
80
  if not MYPY:
27
81
  class InstancePrivateNetworkArgsDict(TypedDict):
28
82
  pn_id: pulumi.Input[str]
@@ -27,7 +27,7 @@ class GetInstanceResult:
27
27
  """
28
28
  A collection of values returned by getInstance.
29
29
  """
30
- def __init__(__self__, created_at=None, id=None, instance_id=None, name=None, node_number=None, node_type=None, password=None, private_networks=None, project_id=None, public_networks=None, region=None, settings=None, snapshot_id=None, tags=None, updated_at=None, user_name=None, version=None, volume_size_in_gb=None, volume_type=None):
30
+ def __init__(__self__, created_at=None, id=None, instance_id=None, name=None, node_number=None, node_type=None, password=None, private_ips=None, private_networks=None, project_id=None, public_networks=None, region=None, settings=None, snapshot_id=None, tags=None, updated_at=None, user_name=None, version=None, volume_size_in_gb=None, volume_type=None):
31
31
  if created_at and not isinstance(created_at, str):
32
32
  raise TypeError("Expected argument 'created_at' to be a str")
33
33
  pulumi.set(__self__, "created_at", created_at)
@@ -49,6 +49,9 @@ class GetInstanceResult:
49
49
  if password and not isinstance(password, str):
50
50
  raise TypeError("Expected argument 'password' to be a str")
51
51
  pulumi.set(__self__, "password", password)
52
+ if private_ips and not isinstance(private_ips, list):
53
+ raise TypeError("Expected argument 'private_ips' to be a list")
54
+ pulumi.set(__self__, "private_ips", private_ips)
52
55
  if private_networks and not isinstance(private_networks, list):
53
56
  raise TypeError("Expected argument 'private_networks' to be a list")
54
57
  pulumi.set(__self__, "private_networks", private_networks)
@@ -136,6 +139,11 @@ class GetInstanceResult:
136
139
  def password(self) -> str:
137
140
  return pulumi.get(self, "password")
138
141
 
142
+ @property
143
+ @pulumi.getter(name="privateIps")
144
+ def private_ips(self) -> Sequence['outputs.GetInstancePrivateIpResult']:
145
+ return pulumi.get(self, "private_ips")
146
+
139
147
  @property
140
148
  @pulumi.getter(name="privateNetworks")
141
149
  def private_networks(self) -> Sequence['outputs.GetInstancePrivateNetworkResult']:
@@ -228,6 +236,7 @@ class AwaitableGetInstanceResult(GetInstanceResult):
228
236
  node_number=self.node_number,
229
237
  node_type=self.node_type,
230
238
  password=self.password,
239
+ private_ips=self.private_ips,
231
240
  private_networks=self.private_networks,
232
241
  project_id=self.project_id,
233
242
  public_networks=self.public_networks,
@@ -276,6 +285,7 @@ def get_instance(instance_id: Optional[str] = None,
276
285
  node_number=pulumi.get(__ret__, 'node_number'),
277
286
  node_type=pulumi.get(__ret__, 'node_type'),
278
287
  password=pulumi.get(__ret__, 'password'),
288
+ private_ips=pulumi.get(__ret__, 'private_ips'),
279
289
  private_networks=pulumi.get(__ret__, 'private_networks'),
280
290
  project_id=pulumi.get(__ret__, 'project_id'),
281
291
  public_networks=pulumi.get(__ret__, 'public_networks'),
@@ -321,6 +331,7 @@ def get_instance_output(instance_id: Optional[pulumi.Input[Optional[str]]] = Non
321
331
  node_number=pulumi.get(__response__, 'node_number'),
322
332
  node_type=pulumi.get(__response__, 'node_type'),
323
333
  password=pulumi.get(__response__, 'password'),
334
+ private_ips=pulumi.get(__response__, 'private_ips'),
324
335
  private_networks=pulumi.get(__response__, 'private_networks'),
325
336
  project_id=pulumi.get(__response__, 'project_id'),
326
337
  public_networks=pulumi.get(__response__, 'public_networks'),