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
@@ -25,6 +25,7 @@ class InstanceArgs:
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['InstancePrivateIpArgs']]]] = None,
28
29
  private_network: Optional[pulumi.Input['InstancePrivateNetworkArgs']] = None,
29
30
  project_id: Optional[pulumi.Input[str]] = None,
30
31
  public_network: Optional[pulumi.Input['InstancePublicNetworkArgs']] = None,
@@ -42,9 +43,11 @@ class InstanceArgs:
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['InstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
45
47
  :param pulumi.Input['InstancePrivateNetworkArgs'] 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['InstancePublicNetworkArgs'] public_network: Public network specs details.
49
+ :param pulumi.Input['InstancePublicNetworkArgs'] 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 InstanceArgs:
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 InstanceArgs:
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['InstancePrivateIpArgs']]]]:
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['InstancePrivateIpArgs']]]]):
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['InstancePrivateNetworkArgs']]:
@@ -159,7 +176,8 @@ class InstanceArgs:
159
176
  @pulumi.getter(name="publicNetwork")
160
177
  def public_network(self) -> Optional[pulumi.Input['InstancePublicNetworkArgs']]:
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 _InstanceState:
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['InstancePrivateIpArgs']]]] = None,
275
294
  private_network: Optional[pulumi.Input['InstancePrivateNetworkArgs']] = None,
276
295
  project_id: Optional[pulumi.Input[str]] = None,
277
296
  public_network: Optional[pulumi.Input['InstancePublicNetworkArgs']] = None,
@@ -291,9 +310,11 @@ class _InstanceState:
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['InstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
294
314
  :param pulumi.Input['InstancePrivateNetworkArgs'] 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['InstancePublicNetworkArgs'] public_network: Public network specs details.
316
+ :param pulumi.Input['InstancePublicNetworkArgs'] 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 _InstanceState:
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 _InstanceState:
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['InstancePrivateIpArgs']]]]:
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['InstancePrivateIpArgs']]]]):
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['InstancePrivateNetworkArgs']]:
@@ -427,7 +462,8 @@ class _InstanceState:
427
462
  @pulumi.getter(name="publicNetwork")
428
463
  def public_network(self) -> Optional[pulumi.Input['InstancePublicNetworkArgs']]:
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
 
@@ -553,6 +589,7 @@ class Instance(pulumi.CustomResource):
553
589
  node_number: Optional[pulumi.Input[int]] = None,
554
590
  node_type: Optional[pulumi.Input[str]] = None,
555
591
  password: Optional[pulumi.Input[str]] = None,
592
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
556
593
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
557
594
  project_id: Optional[pulumi.Input[str]] = None,
558
595
  public_network: Optional[pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']]] = None,
@@ -609,6 +646,29 @@ class Instance(pulumi.CustomResource):
609
646
  })
610
647
  ```
611
648
 
649
+ ### Private Network and Public Network
650
+
651
+ ```python
652
+ import pulumi
653
+ import pulumiverse_scaleway as scaleway
654
+
655
+ pn01 = scaleway.network.PrivateNetwork("pn01",
656
+ name="my_private_network",
657
+ region="fr-par")
658
+ main = scaleway.mongodb.Instance("main",
659
+ name="test-mongodb-basic1",
660
+ version="7.0.12",
661
+ node_type="MGDB-PLAY2-NANO",
662
+ node_number=1,
663
+ user_name="my_initial_user",
664
+ password="thiZ_is_v&ry_s3cret",
665
+ volume_size_in_gb=5,
666
+ private_network={
667
+ "pn_id": pn02["id"],
668
+ },
669
+ public_network={})
670
+ ```
671
+
612
672
  ### Restore From Snapshot
613
673
 
614
674
  ```python
@@ -638,9 +698,11 @@ class Instance(pulumi.CustomResource):
638
698
  :param pulumi.Input[int] node_number: Number of nodes in the instance
639
699
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
640
700
  :param pulumi.Input[str] password: Password of the user.
701
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
641
702
  :param pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
642
703
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
643
- :param pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']] public_network: Public network specs details.
704
+ :param pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
705
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
644
706
  :param pulumi.Input[str] region: The region you want to attach the resource to
645
707
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
646
708
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -700,6 +762,29 @@ class Instance(pulumi.CustomResource):
700
762
  })
701
763
  ```
702
764
 
765
+ ### Private Network and Public Network
766
+
767
+ ```python
768
+ import pulumi
769
+ import pulumiverse_scaleway as scaleway
770
+
771
+ pn01 = scaleway.network.PrivateNetwork("pn01",
772
+ name="my_private_network",
773
+ region="fr-par")
774
+ main = scaleway.mongodb.Instance("main",
775
+ name="test-mongodb-basic1",
776
+ version="7.0.12",
777
+ node_type="MGDB-PLAY2-NANO",
778
+ node_number=1,
779
+ user_name="my_initial_user",
780
+ password="thiZ_is_v&ry_s3cret",
781
+ volume_size_in_gb=5,
782
+ private_network={
783
+ "pn_id": pn02["id"],
784
+ },
785
+ public_network={})
786
+ ```
787
+
703
788
  ### Restore From Snapshot
704
789
 
705
790
  ```python
@@ -742,6 +827,7 @@ class Instance(pulumi.CustomResource):
742
827
  node_number: Optional[pulumi.Input[int]] = None,
743
828
  node_type: Optional[pulumi.Input[str]] = None,
744
829
  password: Optional[pulumi.Input[str]] = None,
830
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
745
831
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
746
832
  project_id: Optional[pulumi.Input[str]] = None,
747
833
  public_network: Optional[pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']]] = None,
@@ -770,6 +856,7 @@ class Instance(pulumi.CustomResource):
770
856
  raise TypeError("Missing required property 'node_type'")
771
857
  __props__.__dict__["node_type"] = node_type
772
858
  __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
859
+ __props__.__dict__["private_ips"] = private_ips
773
860
  __props__.__dict__["private_network"] = private_network
774
861
  __props__.__dict__["project_id"] = project_id
775
862
  __props__.__dict__["public_network"] = public_network
@@ -802,6 +889,7 @@ class Instance(pulumi.CustomResource):
802
889
  node_number: Optional[pulumi.Input[int]] = None,
803
890
  node_type: Optional[pulumi.Input[str]] = None,
804
891
  password: Optional[pulumi.Input[str]] = None,
892
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]]] = None,
805
893
  private_network: Optional[pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']]] = None,
806
894
  project_id: Optional[pulumi.Input[str]] = None,
807
895
  public_network: Optional[pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']]] = None,
@@ -826,9 +914,11 @@ class Instance(pulumi.CustomResource):
826
914
  :param pulumi.Input[int] node_number: Number of nodes in the instance
827
915
  :param pulumi.Input[str] node_type: The type of MongoDB® intance to create.
828
916
  :param pulumi.Input[str] password: Password of the user.
917
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateIpArgs', 'InstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
829
918
  :param pulumi.Input[Union['InstancePrivateNetworkArgs', 'InstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
830
919
  :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
831
- :param pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']] public_network: Public network specs details.
920
+ :param pulumi.Input[Union['InstancePublicNetworkArgs', 'InstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
921
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
832
922
  :param pulumi.Input[str] region: The region you want to attach the resource to
833
923
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] settings: Map of settings to define for the instance.
834
924
  :param pulumi.Input[str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
@@ -848,6 +938,7 @@ class Instance(pulumi.CustomResource):
848
938
  __props__.__dict__["node_number"] = node_number
849
939
  __props__.__dict__["node_type"] = node_type
850
940
  __props__.__dict__["password"] = password
941
+ __props__.__dict__["private_ips"] = private_ips
851
942
  __props__.__dict__["private_network"] = private_network
852
943
  __props__.__dict__["project_id"] = project_id
853
944
  __props__.__dict__["public_network"] = public_network
@@ -902,6 +993,14 @@ class Instance(pulumi.CustomResource):
902
993
  """
903
994
  return pulumi.get(self, "password")
904
995
 
996
+ @property
997
+ @pulumi.getter(name="privateIps")
998
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.InstancePrivateIp']]:
999
+ """
1000
+ The private IPv4 address associated with the instance.
1001
+ """
1002
+ return pulumi.get(self, "private_ips")
1003
+
905
1004
  @property
906
1005
  @pulumi.getter(name="privateNetwork")
907
1006
  def private_network(self) -> pulumi.Output[Optional['outputs.InstancePrivateNetwork']]:
@@ -922,7 +1021,8 @@ class Instance(pulumi.CustomResource):
922
1021
  @pulumi.getter(name="publicNetwork")
923
1022
  def public_network(self) -> pulumi.Output['outputs.InstancePublicNetwork']:
924
1023
  """
925
- Public network specs details.
1024
+ Public network endpoint configuration (no arguments).
1025
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
926
1026
  """
927
1027
  return pulumi.get(self, "public_network")
928
1028
 
@@ -15,12 +15,45 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'InstancePrivateIp',
18
19
  'InstancePrivateNetwork',
19
20
  'InstancePublicNetwork',
21
+ 'GetInstancePrivateIpResult',
20
22
  'GetInstancePrivateNetworkResult',
21
23
  'GetInstancePublicNetworkResult',
22
24
  ]
23
25
 
26
+ @pulumi.output_type
27
+ class InstancePrivateIp(dict):
28
+ def __init__(__self__, *,
29
+ address: Optional[str] = None,
30
+ id: Optional[str] = None):
31
+ """
32
+ :param str address: The private IPv4 address.
33
+ :param str id: The ID of the endpoint.
34
+ """
35
+ if address is not None:
36
+ pulumi.set(__self__, "address", address)
37
+ if id is not None:
38
+ pulumi.set(__self__, "id", id)
39
+
40
+ @property
41
+ @pulumi.getter
42
+ def address(self) -> Optional[str]:
43
+ """
44
+ The private IPv4 address.
45
+ """
46
+ return pulumi.get(self, "address")
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def id(self) -> Optional[str]:
51
+ """
52
+ The ID of the endpoint.
53
+ """
54
+ return pulumi.get(self, "id")
55
+
56
+
24
57
  @pulumi.output_type
25
58
  class InstancePrivateNetwork(dict):
26
59
  @staticmethod
@@ -166,6 +199,35 @@ class InstancePublicNetwork(dict):
166
199
  return pulumi.get(self, "port")
167
200
 
168
201
 
202
+ @pulumi.output_type
203
+ class GetInstancePrivateIpResult(dict):
204
+ def __init__(__self__, *,
205
+ address: str,
206
+ id: str):
207
+ """
208
+ :param str address: The private IPv4 address
209
+ :param str id: The ID of the MongoDB® Instance.
210
+ """
211
+ pulumi.set(__self__, "address", address)
212
+ pulumi.set(__self__, "id", id)
213
+
214
+ @property
215
+ @pulumi.getter
216
+ def address(self) -> str:
217
+ """
218
+ The private IPv4 address
219
+ """
220
+ return pulumi.get(self, "address")
221
+
222
+ @property
223
+ @pulumi.getter
224
+ def id(self) -> str:
225
+ """
226
+ The ID of the MongoDB® Instance.
227
+ """
228
+ return pulumi.get(self, "id")
229
+
230
+
169
231
  @pulumi.output_type
170
232
  class GetInstancePrivateNetworkResult(dict):
171
233
  def __init__(__self__, *,
@@ -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]]
@@ -28,6 +28,7 @@ class GatewayNetworkArgs:
28
28
  enable_dhcp: Optional[pulumi.Input[bool]] = None,
29
29
  enable_masquerade: Optional[pulumi.Input[bool]] = None,
30
30
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
31
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]] = None,
31
32
  static_address: Optional[pulumi.Input[str]] = None,
32
33
  zone: Optional[pulumi.Input[str]] = None):
33
34
  """
@@ -39,6 +40,7 @@ class GatewayNetworkArgs:
39
40
  :param pulumi.Input[bool] enable_dhcp: Please use `ipam_config`. Whether a DHCP configuration should be enabled on this GatewayNetwork. Requires a DHCP ID.
40
41
  :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
41
42
  :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.
43
+ :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
42
44
  :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.
43
45
  :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
44
46
 
@@ -67,6 +69,8 @@ class GatewayNetworkArgs:
67
69
  pulumi.set(__self__, "enable_masquerade", enable_masquerade)
68
70
  if ipam_configs is not None:
69
71
  pulumi.set(__self__, "ipam_configs", ipam_configs)
72
+ if private_ips is not None:
73
+ pulumi.set(__self__, "private_ips", private_ips)
70
74
  if static_address is not None:
71
75
  warnings.warn("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""", DeprecationWarning)
72
76
  pulumi.log.warn("""static_address is deprecated: Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
@@ -162,6 +166,18 @@ class GatewayNetworkArgs:
162
166
  def ipam_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]]):
163
167
  pulumi.set(self, "ipam_configs", value)
164
168
 
169
+ @property
170
+ @pulumi.getter(name="privateIps")
171
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]:
172
+ """
173
+ The private IPv4 address associated with the resource.
174
+ """
175
+ return pulumi.get(self, "private_ips")
176
+
177
+ @private_ips.setter
178
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]):
179
+ pulumi.set(self, "private_ips", value)
180
+
165
181
  @property
166
182
  @pulumi.getter(name="staticAddress")
167
183
  @_utilities.deprecated("""Please use ipam_config. For more information, please refer to the dedicated guide: https://github.com/scaleway/terraform-provider-scaleway/blob/master/docs/guides/migration_guide_vpcgw_v2.md""")
@@ -203,6 +219,7 @@ class _GatewayNetworkState:
203
219
  gateway_id: Optional[pulumi.Input[str]] = None,
204
220
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkIpamConfigArgs']]]] = None,
205
221
  mac_address: Optional[pulumi.Input[str]] = None,
222
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]] = None,
206
223
  private_network_id: Optional[pulumi.Input[str]] = None,
207
224
  static_address: Optional[pulumi.Input[str]] = None,
208
225
  status: Optional[pulumi.Input[str]] = None,
@@ -218,6 +235,7 @@ class _GatewayNetworkState:
218
235
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
219
236
  :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
237
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
238
+ :param pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
221
239
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
222
240
  :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
241
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -253,6 +271,8 @@ class _GatewayNetworkState:
253
271
  pulumi.set(__self__, "ipam_configs", ipam_configs)
254
272
  if mac_address is not None:
255
273
  pulumi.set(__self__, "mac_address", mac_address)
274
+ if private_ips is not None:
275
+ pulumi.set(__self__, "private_ips", private_ips)
256
276
  if private_network_id is not None:
257
277
  pulumi.set(__self__, "private_network_id", private_network_id)
258
278
  if static_address is not None:
@@ -366,6 +386,18 @@ class _GatewayNetworkState:
366
386
  def mac_address(self, value: Optional[pulumi.Input[str]]):
367
387
  pulumi.set(self, "mac_address", value)
368
388
 
389
+ @property
390
+ @pulumi.getter(name="privateIps")
391
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]:
392
+ """
393
+ The private IPv4 address associated with the resource.
394
+ """
395
+ return pulumi.get(self, "private_ips")
396
+
397
+ @private_ips.setter
398
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayNetworkPrivateIpArgs']]]]):
399
+ pulumi.set(self, "private_ips", value)
400
+
369
401
  @property
370
402
  @pulumi.getter(name="privateNetworkId")
371
403
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -443,6 +475,7 @@ class GatewayNetwork(pulumi.CustomResource):
443
475
  enable_masquerade: Optional[pulumi.Input[bool]] = None,
444
476
  gateway_id: Optional[pulumi.Input[str]] = None,
445
477
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
478
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]]] = None,
446
479
  private_network_id: Optional[pulumi.Input[str]] = None,
447
480
  static_address: Optional[pulumi.Input[str]] = None,
448
481
  zone: Optional[pulumi.Input[str]] = None,
@@ -529,6 +562,7 @@ class GatewayNetwork(pulumi.CustomResource):
529
562
  :param pulumi.Input[bool] enable_masquerade: Whether masquerade (dynamic NAT) should be enabled on this GatewayNetwork.
530
563
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
531
564
  :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.
565
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
532
566
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
533
567
  :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.
534
568
  :param pulumi.Input[str] zone: `zone`) The zone in which the gateway network should be created.
@@ -638,6 +672,7 @@ class GatewayNetwork(pulumi.CustomResource):
638
672
  enable_masquerade: Optional[pulumi.Input[bool]] = None,
639
673
  gateway_id: Optional[pulumi.Input[str]] = None,
640
674
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
675
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]]] = None,
641
676
  private_network_id: Optional[pulumi.Input[str]] = None,
642
677
  static_address: Optional[pulumi.Input[str]] = None,
643
678
  zone: Optional[pulumi.Input[str]] = None,
@@ -658,6 +693,7 @@ class GatewayNetwork(pulumi.CustomResource):
658
693
  raise TypeError("Missing required property 'gateway_id'")
659
694
  __props__.__dict__["gateway_id"] = gateway_id
660
695
  __props__.__dict__["ipam_configs"] = ipam_configs
696
+ __props__.__dict__["private_ips"] = private_ips
661
697
  if private_network_id is None and not opts.urn:
662
698
  raise TypeError("Missing required property 'private_network_id'")
663
699
  __props__.__dict__["private_network_id"] = private_network_id
@@ -687,6 +723,7 @@ class GatewayNetwork(pulumi.CustomResource):
687
723
  gateway_id: Optional[pulumi.Input[str]] = None,
688
724
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkIpamConfigArgs', 'GatewayNetworkIpamConfigArgsDict']]]]] = None,
689
725
  mac_address: Optional[pulumi.Input[str]] = None,
726
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]]] = None,
690
727
  private_network_id: Optional[pulumi.Input[str]] = None,
691
728
  static_address: Optional[pulumi.Input[str]] = None,
692
729
  status: Optional[pulumi.Input[str]] = None,
@@ -707,6 +744,7 @@ class GatewayNetwork(pulumi.CustomResource):
707
744
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
708
745
  :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
746
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
747
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GatewayNetworkPrivateIpArgs', 'GatewayNetworkPrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
710
748
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
711
749
  :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
750
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -729,6 +767,7 @@ class GatewayNetwork(pulumi.CustomResource):
729
767
  __props__.__dict__["gateway_id"] = gateway_id
730
768
  __props__.__dict__["ipam_configs"] = ipam_configs
731
769
  __props__.__dict__["mac_address"] = mac_address
770
+ __props__.__dict__["private_ips"] = private_ips
732
771
  __props__.__dict__["private_network_id"] = private_network_id
733
772
  __props__.__dict__["static_address"] = static_address
734
773
  __props__.__dict__["status"] = status
@@ -803,6 +842,14 @@ class GatewayNetwork(pulumi.CustomResource):
803
842
  """
804
843
  return pulumi.get(self, "mac_address")
805
844
 
845
+ @property
846
+ @pulumi.getter(name="privateIps")
847
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.GatewayNetworkPrivateIp']]:
848
+ """
849
+ The private IPv4 address associated with the resource.
850
+ """
851
+ return pulumi.get(self, "private_ips")
852
+
806
853
  @property
807
854
  @pulumi.getter(name="privateNetworkId")
808
855
  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'),