pulumiverse-scaleway 1.28.0a1747384911__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 (49) hide show
  1. pulumiverse_scaleway/__init__.py +0 -1
  2. pulumiverse_scaleway/_inputs.py +106 -0
  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 +20 -1
  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 +20 -1
  16. pulumiverse_scaleway/databases/instance.py +20 -1
  17. pulumiverse_scaleway/domain/get_zone.py +7 -1
  18. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  19. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  20. pulumiverse_scaleway/elasticmetal/server.py +20 -1
  21. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  22. pulumiverse_scaleway/get_domain_zone.py +7 -1
  23. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  24. pulumiverse_scaleway/iam/user.py +468 -14
  25. pulumiverse_scaleway/iam_user.py +468 -14
  26. pulumiverse_scaleway/instance/private_nic.py +20 -1
  27. pulumiverse_scaleway/instance/server.py +20 -1
  28. pulumiverse_scaleway/instance/snapshot.py +28 -7
  29. pulumiverse_scaleway/instance/volume.py +28 -7
  30. pulumiverse_scaleway/instance_private_nic.py +20 -1
  31. pulumiverse_scaleway/instance_server.py +20 -1
  32. pulumiverse_scaleway/instance_snapshot.py +28 -7
  33. pulumiverse_scaleway/instance_volume.py +28 -7
  34. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  35. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  36. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  37. pulumiverse_scaleway/mongodb/instance.py +107 -7
  38. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  39. pulumiverse_scaleway/network/gateway_network.py +20 -1
  40. pulumiverse_scaleway/observability/__init__.py +0 -1
  41. pulumiverse_scaleway/outputs.py +122 -0
  42. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  43. pulumiverse_scaleway/redis/cluster.py +20 -1
  44. pulumiverse_scaleway/redis_cluster.py +20 -1
  45. pulumiverse_scaleway/vpc_gateway_network.py +20 -1
  46. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  47. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +49 -44
  48. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  49. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -29,7 +29,10 @@ class InstanceVolumeArgs:
29
29
  zone: Optional[pulumi.Input[str]] = None):
30
30
  """
31
31
  The set of arguments for constructing a InstanceVolume resource.
32
- :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
32
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
33
+
34
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
35
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
33
36
  :param pulumi.Input[str] from_snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
34
37
  :param pulumi.Input[bool] migrate_to_sbs: If true, consider that this volume may have been migrated and no longer exists.
35
38
  :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated.
@@ -58,7 +61,10 @@ class InstanceVolumeArgs:
58
61
  @pulumi.getter
59
62
  def type(self) -> pulumi.Input[str]:
60
63
  """
61
- The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
64
+ The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
65
+
66
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
67
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
62
68
  """
63
69
  return pulumi.get(self, "type")
64
70
 
@@ -174,7 +180,10 @@ class _InstanceVolumeState:
174
180
  :param pulumi.Input[str] server_id: The id of the associated server.
175
181
  :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
176
182
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
177
- :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
183
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
184
+
185
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
186
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
178
187
  :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
179
188
  """
180
189
  if from_snapshot_id is not None:
@@ -298,7 +307,10 @@ class _InstanceVolumeState:
298
307
  @pulumi.getter
299
308
  def type(self) -> Optional[pulumi.Input[str]]:
300
309
  """
301
- The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
310
+ The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
311
+
312
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
313
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
302
314
  """
303
315
  return pulumi.get(self, "type")
304
316
 
@@ -372,7 +384,10 @@ class InstanceVolume(pulumi.CustomResource):
372
384
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with.
373
385
  :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
374
386
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
375
- :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
387
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
388
+
389
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
390
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
376
391
  :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
377
392
  """
378
393
  ...
@@ -487,7 +502,10 @@ class InstanceVolume(pulumi.CustomResource):
487
502
  :param pulumi.Input[str] server_id: The id of the associated server.
488
503
  :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
489
504
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
490
- :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
505
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
506
+
507
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
508
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
491
509
  :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
492
510
  """
493
511
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -574,7 +592,10 @@ class InstanceVolume(pulumi.CustomResource):
574
592
  @pulumi.getter
575
593
  def type(self) -> pulumi.Output[str]:
576
594
  """
577
- The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
595
+ The type of the volume. The possible values are: `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
596
+
597
+ > **Important:** Volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Volume` resource anymore. Please use the `block.Volume` resource instead.
598
+ If you want to migrate existing volumes, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
578
599
  """
579
600
  return pulumi.get(self, "type")
580
601
 
@@ -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'),