pulumiverse-scaleway 1.27.1__py3-none-any.whl → 1.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. pulumiverse_scaleway/__init__.py +16 -0
  2. pulumiverse_scaleway/_inputs.py +498 -6
  3. pulumiverse_scaleway/baremetal_server.py +48 -258
  4. pulumiverse_scaleway/database_instance.py +42 -21
  5. pulumiverse_scaleway/databases/_inputs.py +54 -0
  6. pulumiverse_scaleway/databases/get_instance.py +12 -1
  7. pulumiverse_scaleway/databases/instance.py +42 -21
  8. pulumiverse_scaleway/databases/outputs.py +62 -0
  9. pulumiverse_scaleway/databases/snapshot.py +2 -2
  10. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  11. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  12. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  13. pulumiverse_scaleway/elasticmetal/server.py +48 -258
  14. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  15. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  16. pulumiverse_scaleway/get_database_instance.py +12 -1
  17. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  18. pulumiverse_scaleway/get_instance_server.py +12 -1
  19. pulumiverse_scaleway/get_lb_route.py +12 -1
  20. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  21. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  22. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  23. pulumiverse_scaleway/inference/__init__.py +2 -0
  24. pulumiverse_scaleway/inference/_inputs.py +128 -0
  25. pulumiverse_scaleway/inference/deployment.py +70 -55
  26. pulumiverse_scaleway/inference/get_model.py +299 -0
  27. pulumiverse_scaleway/inference/model.py +683 -0
  28. pulumiverse_scaleway/inference/outputs.py +184 -0
  29. pulumiverse_scaleway/inference_deployment.py +70 -55
  30. pulumiverse_scaleway/instance/_inputs.py +108 -0
  31. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  32. pulumiverse_scaleway/instance/get_server.py +12 -1
  33. pulumiverse_scaleway/instance/outputs.py +124 -0
  34. pulumiverse_scaleway/instance/private_nic.py +30 -0
  35. pulumiverse_scaleway/instance/server.py +28 -0
  36. pulumiverse_scaleway/instance_private_nic.py +30 -0
  37. pulumiverse_scaleway/instance_server.py +28 -0
  38. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  39. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  40. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  41. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  42. pulumiverse_scaleway/loadbalancer.py +28 -0
  43. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  44. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  45. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  46. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  47. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  48. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  49. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  50. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  51. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  52. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  53. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  54. pulumiverse_scaleway/network/_inputs.py +54 -0
  55. pulumiverse_scaleway/network/gateway_network.py +28 -0
  56. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  57. pulumiverse_scaleway/network/outputs.py +62 -0
  58. pulumiverse_scaleway/network/route.py +90 -2
  59. pulumiverse_scaleway/observability/get_plan.py +2 -38
  60. pulumiverse_scaleway/outputs.py +574 -5
  61. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  62. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  63. pulumiverse_scaleway/redis/_inputs.py +60 -6
  64. pulumiverse_scaleway/redis/cluster.py +28 -0
  65. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  66. pulumiverse_scaleway/redis/outputs.py +66 -4
  67. pulumiverse_scaleway/redis_cluster.py +28 -0
  68. pulumiverse_scaleway/vpc_gateway_network.py +28 -0
  69. pulumiverse_scaleway/vpc_route.py +90 -2
  70. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
  71. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
  72. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
  73. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -13,6 +13,7 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
16
17
 
17
18
  __all__ = [
18
19
  'GetPrivateNicResult',
@@ -26,7 +27,7 @@ class GetPrivateNicResult:
26
27
  """
27
28
  A collection of values returned by getPrivateNic.
28
29
  """
29
- def __init__(__self__, id=None, ip_ids=None, ipam_ip_ids=None, mac_address=None, private_network_id=None, private_nic_id=None, server_id=None, tags=None, zone=None):
30
+ def __init__(__self__, id=None, ip_ids=None, ipam_ip_ids=None, mac_address=None, private_ips=None, private_network_id=None, private_nic_id=None, server_id=None, tags=None, zone=None):
30
31
  if id and not isinstance(id, str):
31
32
  raise TypeError("Expected argument 'id' to be a str")
32
33
  pulumi.set(__self__, "id", id)
@@ -39,6 +40,9 @@ class GetPrivateNicResult:
39
40
  if mac_address and not isinstance(mac_address, str):
40
41
  raise TypeError("Expected argument 'mac_address' to be a str")
41
42
  pulumi.set(__self__, "mac_address", mac_address)
43
+ if private_ips and not isinstance(private_ips, list):
44
+ raise TypeError("Expected argument 'private_ips' to be a list")
45
+ pulumi.set(__self__, "private_ips", private_ips)
42
46
  if private_network_id and not isinstance(private_network_id, str):
43
47
  raise TypeError("Expected argument 'private_network_id' to be a str")
44
48
  pulumi.set(__self__, "private_network_id", private_network_id)
@@ -78,6 +82,11 @@ class GetPrivateNicResult:
78
82
  def mac_address(self) -> str:
79
83
  return pulumi.get(self, "mac_address")
80
84
 
85
+ @property
86
+ @pulumi.getter(name="privateIps")
87
+ def private_ips(self) -> Sequence['outputs.GetPrivateNicPrivateIpResult']:
88
+ return pulumi.get(self, "private_ips")
89
+
81
90
  @property
82
91
  @pulumi.getter(name="privateNetworkId")
83
92
  def private_network_id(self) -> Optional[str]:
@@ -114,6 +123,7 @@ class AwaitableGetPrivateNicResult(GetPrivateNicResult):
114
123
  ip_ids=self.ip_ids,
115
124
  ipam_ip_ids=self.ipam_ip_ids,
116
125
  mac_address=self.mac_address,
126
+ private_ips=self.private_ips,
117
127
  private_network_id=self.private_network_id,
118
128
  private_nic_id=self.private_nic_id,
119
129
  server_id=self.server_id,
@@ -168,6 +178,7 @@ def get_private_nic(private_network_id: Optional[str] = None,
168
178
  ip_ids=pulumi.get(__ret__, 'ip_ids'),
169
179
  ipam_ip_ids=pulumi.get(__ret__, 'ipam_ip_ids'),
170
180
  mac_address=pulumi.get(__ret__, 'mac_address'),
181
+ private_ips=pulumi.get(__ret__, 'private_ips'),
171
182
  private_network_id=pulumi.get(__ret__, 'private_network_id'),
172
183
  private_nic_id=pulumi.get(__ret__, 'private_nic_id'),
173
184
  server_id=pulumi.get(__ret__, 'server_id'),
@@ -219,6 +230,7 @@ def get_private_nic_output(private_network_id: Optional[pulumi.Input[Optional[st
219
230
  ip_ids=pulumi.get(__response__, 'ip_ids'),
220
231
  ipam_ip_ids=pulumi.get(__response__, 'ipam_ip_ids'),
221
232
  mac_address=pulumi.get(__response__, 'mac_address'),
233
+ private_ips=pulumi.get(__response__, 'private_ips'),
222
234
  private_network_id=pulumi.get(__response__, 'private_network_id'),
223
235
  private_nic_id=pulumi.get(__response__, 'private_nic_id'),
224
236
  server_id=pulumi.get(__response__, 'server_id'),
@@ -27,7 +27,7 @@ class GetServerResult:
27
27
  """
28
28
  A collection of values returned by getServer.
29
29
  """
30
- def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_networks=None, project_id=None, protected=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
30
+ def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_ips=None, private_networks=None, project_id=None, protected=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
31
31
  if additional_volume_ids and not isinstance(additional_volume_ids, list):
32
32
  raise TypeError("Expected argument 'additional_volume_ids' to be a list")
33
33
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
@@ -82,6 +82,9 @@ class GetServerResult:
82
82
  if private_ip and not isinstance(private_ip, str):
83
83
  raise TypeError("Expected argument 'private_ip' to be a str")
84
84
  pulumi.set(__self__, "private_ip", private_ip)
85
+ if private_ips and not isinstance(private_ips, list):
86
+ raise TypeError("Expected argument 'private_ips' to be a list")
87
+ pulumi.set(__self__, "private_ips", private_ips)
85
88
  if private_networks and not isinstance(private_networks, list):
86
89
  raise TypeError("Expected argument 'private_networks' to be a list")
87
90
  pulumi.set(__self__, "private_networks", private_networks)
@@ -255,6 +258,11 @@ class GetServerResult:
255
258
  """
256
259
  return pulumi.get(self, "private_ip")
257
260
 
261
+ @property
262
+ @pulumi.getter(name="privateIps")
263
+ def private_ips(self) -> Sequence['outputs.GetServerPrivateIpResult']:
264
+ return pulumi.get(self, "private_ips")
265
+
258
266
  @property
259
267
  @pulumi.getter(name="privateNetworks")
260
268
  def private_networks(self) -> Sequence['outputs.GetServerPrivateNetworkResult']:
@@ -372,6 +380,7 @@ class AwaitableGetServerResult(GetServerResult):
372
380
  placement_group_id=self.placement_group_id,
373
381
  placement_group_policy_respected=self.placement_group_policy_respected,
374
382
  private_ip=self.private_ip,
383
+ private_ips=self.private_ips,
375
384
  private_networks=self.private_networks,
376
385
  project_id=self.project_id,
377
386
  protected=self.protected,
@@ -429,6 +438,7 @@ def get_server(name: Optional[str] = None,
429
438
  placement_group_id=pulumi.get(__ret__, 'placement_group_id'),
430
439
  placement_group_policy_respected=pulumi.get(__ret__, 'placement_group_policy_respected'),
431
440
  private_ip=pulumi.get(__ret__, 'private_ip'),
441
+ private_ips=pulumi.get(__ret__, 'private_ips'),
432
442
  private_networks=pulumi.get(__ret__, 'private_networks'),
433
443
  project_id=pulumi.get(__ret__, 'project_id'),
434
444
  protected=pulumi.get(__ret__, 'protected'),
@@ -483,6 +493,7 @@ def get_server_output(name: Optional[pulumi.Input[Optional[str]]] = None,
483
493
  placement_group_id=pulumi.get(__response__, 'placement_group_id'),
484
494
  placement_group_policy_respected=pulumi.get(__response__, 'placement_group_policy_respected'),
485
495
  private_ip=pulumi.get(__response__, 'private_ip'),
496
+ private_ips=pulumi.get(__response__, 'private_ips'),
486
497
  private_networks=pulumi.get(__response__, 'private_networks'),
487
498
  project_id=pulumi.get(__response__, 'project_id'),
488
499
  protected=pulumi.get(__response__, 'protected'),
@@ -17,16 +17,20 @@ from . import outputs
17
17
 
18
18
  __all__ = [
19
19
  'ImageAdditionalVolume',
20
+ 'PrivateNicPrivateIp',
20
21
  'SecurityGroupInboundRule',
21
22
  'SecurityGroupOutboundRule',
22
23
  'SecurityGroupRulesInboundRule',
23
24
  'SecurityGroupRulesOutboundRule',
25
+ 'ServerPrivateIp',
24
26
  'ServerPrivateNetwork',
25
27
  'ServerPublicIp',
26
28
  'ServerRootVolume',
27
29
  'SnapshotImport',
30
+ 'GetPrivateNicPrivateIpResult',
28
31
  'GetSecurityGroupInboundRuleResult',
29
32
  'GetSecurityGroupOutboundRuleResult',
33
+ 'GetServerPrivateIpResult',
30
34
  'GetServerPrivateNetworkResult',
31
35
  'GetServerPublicIpResult',
32
36
  'GetServerRootVolumeResult',
@@ -221,6 +225,37 @@ class ImageAdditionalVolume(dict):
221
225
  return pulumi.get(self, "zone")
222
226
 
223
227
 
228
+ @pulumi.output_type
229
+ class PrivateNicPrivateIp(dict):
230
+ def __init__(__self__, *,
231
+ address: Optional[str] = None,
232
+ id: Optional[str] = None):
233
+ """
234
+ :param str address: The private IP address.
235
+ :param str id: The ID of the IP address resource.
236
+ """
237
+ if address is not None:
238
+ pulumi.set(__self__, "address", address)
239
+ if id is not None:
240
+ pulumi.set(__self__, "id", id)
241
+
242
+ @property
243
+ @pulumi.getter
244
+ def address(self) -> Optional[str]:
245
+ """
246
+ The private IP address.
247
+ """
248
+ return pulumi.get(self, "address")
249
+
250
+ @property
251
+ @pulumi.getter
252
+ def id(self) -> Optional[str]:
253
+ """
254
+ The ID of the IP address resource.
255
+ """
256
+ return pulumi.get(self, "id")
257
+
258
+
224
259
  @pulumi.output_type
225
260
  class SecurityGroupInboundRule(dict):
226
261
  @staticmethod
@@ -613,6 +648,37 @@ class SecurityGroupRulesOutboundRule(dict):
613
648
  return pulumi.get(self, "protocol")
614
649
 
615
650
 
651
+ @pulumi.output_type
652
+ class ServerPrivateIp(dict):
653
+ def __init__(__self__, *,
654
+ address: Optional[str] = None,
655
+ id: Optional[str] = None):
656
+ """
657
+ :param str address: The private IP address.
658
+ :param str id: The ID of the IP address resource.
659
+ """
660
+ if address is not None:
661
+ pulumi.set(__self__, "address", address)
662
+ if id is not None:
663
+ pulumi.set(__self__, "id", id)
664
+
665
+ @property
666
+ @pulumi.getter
667
+ def address(self) -> Optional[str]:
668
+ """
669
+ The private IP address.
670
+ """
671
+ return pulumi.get(self, "address")
672
+
673
+ @property
674
+ @pulumi.getter
675
+ def id(self) -> Optional[str]:
676
+ """
677
+ The ID of the IP address resource.
678
+ """
679
+ return pulumi.get(self, "id")
680
+
681
+
616
682
  @pulumi.output_type
617
683
  class ServerPrivateNetwork(dict):
618
684
  @staticmethod
@@ -890,6 +956,35 @@ class SnapshotImport(dict):
890
956
  return pulumi.get(self, "key")
891
957
 
892
958
 
959
+ @pulumi.output_type
960
+ class GetPrivateNicPrivateIpResult(dict):
961
+ def __init__(__self__, *,
962
+ address: str,
963
+ id: str):
964
+ """
965
+ :param str address: The private IP address
966
+ :param str id: The ID of the IP address resource
967
+ """
968
+ pulumi.set(__self__, "address", address)
969
+ pulumi.set(__self__, "id", id)
970
+
971
+ @property
972
+ @pulumi.getter
973
+ def address(self) -> str:
974
+ """
975
+ The private IP address
976
+ """
977
+ return pulumi.get(self, "address")
978
+
979
+ @property
980
+ @pulumi.getter
981
+ def id(self) -> str:
982
+ """
983
+ The ID of the IP address resource
984
+ """
985
+ return pulumi.get(self, "id")
986
+
987
+
893
988
  @pulumi.output_type
894
989
  class GetSecurityGroupInboundRuleResult(dict):
895
990
  def __init__(__self__, *,
@@ -1044,6 +1139,35 @@ class GetSecurityGroupOutboundRuleResult(dict):
1044
1139
  return pulumi.get(self, "protocol")
1045
1140
 
1046
1141
 
1142
+ @pulumi.output_type
1143
+ class GetServerPrivateIpResult(dict):
1144
+ def __init__(__self__, *,
1145
+ address: str,
1146
+ id: str):
1147
+ """
1148
+ :param str address: The address of the IP
1149
+ :param str id: The ID of the IP
1150
+ """
1151
+ pulumi.set(__self__, "address", address)
1152
+ pulumi.set(__self__, "id", id)
1153
+
1154
+ @property
1155
+ @pulumi.getter
1156
+ def address(self) -> str:
1157
+ """
1158
+ The address of the IP
1159
+ """
1160
+ return pulumi.get(self, "address")
1161
+
1162
+ @property
1163
+ @pulumi.getter
1164
+ def id(self) -> str:
1165
+ """
1166
+ The ID of the IP
1167
+ """
1168
+ return pulumi.get(self, "id")
1169
+
1170
+
1047
1171
  @pulumi.output_type
1048
1172
  class GetServerPrivateNetworkResult(dict):
1049
1173
  def __init__(__self__, *,
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['PrivateNicArgs', 'PrivateNic']
18
20
 
@@ -124,6 +126,7 @@ class _PrivateNicState:
124
126
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
125
127
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
126
128
  mac_address: Optional[pulumi.Input[str]] = None,
129
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]] = None,
127
130
  private_network_id: Optional[pulumi.Input[str]] = None,
128
131
  server_id: Optional[pulumi.Input[str]] = None,
129
132
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -133,6 +136,7 @@ class _PrivateNicState:
133
136
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
134
137
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.
135
138
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
139
+ :param pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
136
140
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
137
141
  :param pulumi.Input[str] server_id: The ID of the server associated with.
138
142
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -144,6 +148,8 @@ class _PrivateNicState:
144
148
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
145
149
  if mac_address is not None:
146
150
  pulumi.set(__self__, "mac_address", mac_address)
151
+ if private_ips is not None:
152
+ pulumi.set(__self__, "private_ips", private_ips)
147
153
  if private_network_id is not None:
148
154
  pulumi.set(__self__, "private_network_id", private_network_id)
149
155
  if server_id is not None:
@@ -189,6 +195,18 @@ class _PrivateNicState:
189
195
  def mac_address(self, value: Optional[pulumi.Input[str]]):
190
196
  pulumi.set(self, "mac_address", value)
191
197
 
198
+ @property
199
+ @pulumi.getter(name="privateIps")
200
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]:
201
+ """
202
+ The list of private IPv4 and IPv6 addresses associated with the resource.
203
+ """
204
+ return pulumi.get(self, "private_ips")
205
+
206
+ @private_ips.setter
207
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]):
208
+ pulumi.set(self, "private_ips", value)
209
+
192
210
  @property
193
211
  @pulumi.getter(name="privateNetworkId")
194
212
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -452,6 +470,7 @@ class PrivateNic(pulumi.CustomResource):
452
470
  __props__.__dict__["tags"] = tags
453
471
  __props__.__dict__["zone"] = zone
454
472
  __props__.__dict__["mac_address"] = None
473
+ __props__.__dict__["private_ips"] = None
455
474
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instancePrivateNic:InstancePrivateNic")])
456
475
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
457
476
  super(PrivateNic, __self__).__init__(
@@ -467,6 +486,7 @@ class PrivateNic(pulumi.CustomResource):
467
486
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
468
487
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
469
488
  mac_address: Optional[pulumi.Input[str]] = None,
489
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]]] = None,
470
490
  private_network_id: Optional[pulumi.Input[str]] = None,
471
491
  server_id: Optional[pulumi.Input[str]] = None,
472
492
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -481,6 +501,7 @@ class PrivateNic(pulumi.CustomResource):
481
501
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
482
502
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.
483
503
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
504
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
484
505
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
485
506
  :param pulumi.Input[str] server_id: The ID of the server associated with.
486
507
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -493,6 +514,7 @@ class PrivateNic(pulumi.CustomResource):
493
514
  __props__.__dict__["ip_ids"] = ip_ids
494
515
  __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids
495
516
  __props__.__dict__["mac_address"] = mac_address
517
+ __props__.__dict__["private_ips"] = private_ips
496
518
  __props__.__dict__["private_network_id"] = private_network_id
497
519
  __props__.__dict__["server_id"] = server_id
498
520
  __props__.__dict__["tags"] = tags
@@ -523,6 +545,14 @@ class PrivateNic(pulumi.CustomResource):
523
545
  """
524
546
  return pulumi.get(self, "mac_address")
525
547
 
548
+ @property
549
+ @pulumi.getter(name="privateIps")
550
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.PrivateNicPrivateIp']]:
551
+ """
552
+ The list of private IPv4 and IPv6 addresses associated with the resource.
553
+ """
554
+ return pulumi.get(self, "private_ips")
555
+
526
556
  @property
527
557
  @pulumi.getter(name="privateNetworkId")
528
558
  def private_network_id(self) -> pulumi.Output[str]:
@@ -475,6 +475,7 @@ class _ServerState:
475
475
  placement_group_id: Optional[pulumi.Input[str]] = None,
476
476
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
477
477
  private_ip: Optional[pulumi.Input[str]] = None,
478
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
478
479
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
479
480
  project_id: Optional[pulumi.Input[str]] = None,
480
481
  protected: Optional[pulumi.Input[bool]] = None,
@@ -526,6 +527,7 @@ class _ServerState:
526
527
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
527
528
  :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
528
529
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
530
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
529
531
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
530
532
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
531
533
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -603,6 +605,8 @@ class _ServerState:
603
605
  pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
604
606
  if private_ip is not None:
605
607
  pulumi.set(__self__, "private_ip", private_ip)
608
+ if private_ips is not None:
609
+ pulumi.set(__self__, "private_ips", private_ips)
606
610
  if private_networks is not None:
607
611
  pulumi.set(__self__, "private_networks", private_networks)
608
612
  if project_id is not None:
@@ -862,6 +866,18 @@ class _ServerState:
862
866
  def private_ip(self, value: Optional[pulumi.Input[str]]):
863
867
  pulumi.set(self, "private_ip", value)
864
868
 
869
+ @property
870
+ @pulumi.getter(name="privateIps")
871
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
872
+ """
873
+ The list of private IPv4 and IPv6 addresses associated with the resource.
874
+ """
875
+ return pulumi.get(self, "private_ips")
876
+
877
+ @private_ips.setter
878
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
879
+ pulumi.set(self, "private_ips", value)
880
+
865
881
  @property
866
882
  @pulumi.getter(name="privateNetworks")
867
883
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
@@ -1559,6 +1575,7 @@ class Server(pulumi.CustomResource):
1559
1575
  __props__.__dict__["organization_id"] = None
1560
1576
  __props__.__dict__["placement_group_policy_respected"] = None
1561
1577
  __props__.__dict__["private_ip"] = None
1578
+ __props__.__dict__["private_ips"] = None
1562
1579
  __props__.__dict__["public_ip"] = None
1563
1580
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instanceServer:InstanceServer")])
1564
1581
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
@@ -1589,6 +1606,7 @@ class Server(pulumi.CustomResource):
1589
1606
  placement_group_id: Optional[pulumi.Input[str]] = None,
1590
1607
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
1591
1608
  private_ip: Optional[pulumi.Input[str]] = None,
1609
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1592
1610
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1593
1611
  project_id: Optional[pulumi.Input[str]] = None,
1594
1612
  protected: Optional[pulumi.Input[bool]] = None,
@@ -1645,6 +1663,7 @@ class Server(pulumi.CustomResource):
1645
1663
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1646
1664
  :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1647
1665
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1666
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1648
1667
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1649
1668
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1650
1669
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -1691,6 +1710,7 @@ class Server(pulumi.CustomResource):
1691
1710
  __props__.__dict__["placement_group_id"] = placement_group_id
1692
1711
  __props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
1693
1712
  __props__.__dict__["private_ip"] = private_ip
1713
+ __props__.__dict__["private_ips"] = private_ips
1694
1714
  __props__.__dict__["private_networks"] = private_networks
1695
1715
  __props__.__dict__["project_id"] = project_id
1696
1716
  __props__.__dict__["protected"] = protected
@@ -1867,6 +1887,14 @@ class Server(pulumi.CustomResource):
1867
1887
  """
1868
1888
  return pulumi.get(self, "private_ip")
1869
1889
 
1890
+ @property
1891
+ @pulumi.getter(name="privateIps")
1892
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.ServerPrivateIp']]:
1893
+ """
1894
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1895
+ """
1896
+ return pulumi.get(self, "private_ips")
1897
+
1870
1898
  @property
1871
1899
  @pulumi.getter(name="privateNetworks")
1872
1900
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]:
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['InstancePrivateNicArgs', 'InstancePrivateNic']
18
20
 
@@ -124,6 +126,7 @@ class _InstancePrivateNicState:
124
126
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
125
127
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
126
128
  mac_address: Optional[pulumi.Input[str]] = None,
129
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePrivateNicPrivateIpArgs']]]] = None,
127
130
  private_network_id: Optional[pulumi.Input[str]] = None,
128
131
  server_id: Optional[pulumi.Input[str]] = None,
129
132
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -133,6 +136,7 @@ class _InstancePrivateNicState:
133
136
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
134
137
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.
135
138
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
139
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePrivateNicPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
136
140
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
137
141
  :param pulumi.Input[str] server_id: The ID of the server associated with.
138
142
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -144,6 +148,8 @@ class _InstancePrivateNicState:
144
148
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
145
149
  if mac_address is not None:
146
150
  pulumi.set(__self__, "mac_address", mac_address)
151
+ if private_ips is not None:
152
+ pulumi.set(__self__, "private_ips", private_ips)
147
153
  if private_network_id is not None:
148
154
  pulumi.set(__self__, "private_network_id", private_network_id)
149
155
  if server_id is not None:
@@ -189,6 +195,18 @@ class _InstancePrivateNicState:
189
195
  def mac_address(self, value: Optional[pulumi.Input[str]]):
190
196
  pulumi.set(self, "mac_address", value)
191
197
 
198
+ @property
199
+ @pulumi.getter(name="privateIps")
200
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePrivateNicPrivateIpArgs']]]]:
201
+ """
202
+ The list of private IPv4 and IPv6 addresses associated with the resource.
203
+ """
204
+ return pulumi.get(self, "private_ips")
205
+
206
+ @private_ips.setter
207
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePrivateNicPrivateIpArgs']]]]):
208
+ pulumi.set(self, "private_ips", value)
209
+
192
210
  @property
193
211
  @pulumi.getter(name="privateNetworkId")
194
212
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -458,6 +476,7 @@ class InstancePrivateNic(pulumi.CustomResource):
458
476
  __props__.__dict__["tags"] = tags
459
477
  __props__.__dict__["zone"] = zone
460
478
  __props__.__dict__["mac_address"] = None
479
+ __props__.__dict__["private_ips"] = None
461
480
  super(InstancePrivateNic, __self__).__init__(
462
481
  'scaleway:index/instancePrivateNic:InstancePrivateNic',
463
482
  resource_name,
@@ -471,6 +490,7 @@ class InstancePrivateNic(pulumi.CustomResource):
471
490
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
472
491
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
473
492
  mac_address: Optional[pulumi.Input[str]] = None,
493
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateNicPrivateIpArgs', 'InstancePrivateNicPrivateIpArgsDict']]]]] = None,
474
494
  private_network_id: Optional[pulumi.Input[str]] = None,
475
495
  server_id: Optional[pulumi.Input[str]] = None,
476
496
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -485,6 +505,7 @@ class InstancePrivateNic(pulumi.CustomResource):
485
505
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
486
506
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.
487
507
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
508
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePrivateNicPrivateIpArgs', 'InstancePrivateNicPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
488
509
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
489
510
  :param pulumi.Input[str] server_id: The ID of the server associated with.
490
511
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -497,6 +518,7 @@ class InstancePrivateNic(pulumi.CustomResource):
497
518
  __props__.__dict__["ip_ids"] = ip_ids
498
519
  __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids
499
520
  __props__.__dict__["mac_address"] = mac_address
521
+ __props__.__dict__["private_ips"] = private_ips
500
522
  __props__.__dict__["private_network_id"] = private_network_id
501
523
  __props__.__dict__["server_id"] = server_id
502
524
  __props__.__dict__["tags"] = tags
@@ -527,6 +549,14 @@ class InstancePrivateNic(pulumi.CustomResource):
527
549
  """
528
550
  return pulumi.get(self, "mac_address")
529
551
 
552
+ @property
553
+ @pulumi.getter(name="privateIps")
554
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.InstancePrivateNicPrivateIp']]:
555
+ """
556
+ The list of private IPv4 and IPv6 addresses associated with the resource.
557
+ """
558
+ return pulumi.get(self, "private_ips")
559
+
530
560
  @property
531
561
  @pulumi.getter(name="privateNetworkId")
532
562
  def private_network_id(self) -> pulumi.Output[str]:
@@ -475,6 +475,7 @@ class _InstanceServerState:
475
475
  placement_group_id: Optional[pulumi.Input[str]] = None,
476
476
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
477
477
  private_ip: Optional[pulumi.Input[str]] = None,
478
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateIpArgs']]]] = None,
478
479
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]]] = None,
479
480
  project_id: Optional[pulumi.Input[str]] = None,
480
481
  protected: Optional[pulumi.Input[bool]] = None,
@@ -526,6 +527,7 @@ class _InstanceServerState:
526
527
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
527
528
  :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
528
529
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
530
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
529
531
  :param pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
530
532
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
531
533
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -603,6 +605,8 @@ class _InstanceServerState:
603
605
  pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
604
606
  if private_ip is not None:
605
607
  pulumi.set(__self__, "private_ip", private_ip)
608
+ if private_ips is not None:
609
+ pulumi.set(__self__, "private_ips", private_ips)
606
610
  if private_networks is not None:
607
611
  pulumi.set(__self__, "private_networks", private_networks)
608
612
  if project_id is not None:
@@ -862,6 +866,18 @@ class _InstanceServerState:
862
866
  def private_ip(self, value: Optional[pulumi.Input[str]]):
863
867
  pulumi.set(self, "private_ip", value)
864
868
 
869
+ @property
870
+ @pulumi.getter(name="privateIps")
871
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateIpArgs']]]]:
872
+ """
873
+ The list of private IPv4 and IPv6 addresses associated with the resource.
874
+ """
875
+ return pulumi.get(self, "private_ips")
876
+
877
+ @private_ips.setter
878
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateIpArgs']]]]):
879
+ pulumi.set(self, "private_ips", value)
880
+
865
881
  @property
866
882
  @pulumi.getter(name="privateNetworks")
867
883
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceServerPrivateNetworkArgs']]]]:
@@ -1565,6 +1581,7 @@ class InstanceServer(pulumi.CustomResource):
1565
1581
  __props__.__dict__["organization_id"] = None
1566
1582
  __props__.__dict__["placement_group_policy_respected"] = None
1567
1583
  __props__.__dict__["private_ip"] = None
1584
+ __props__.__dict__["private_ips"] = None
1568
1585
  __props__.__dict__["public_ip"] = None
1569
1586
  super(InstanceServer, __self__).__init__(
1570
1587
  'scaleway:index/instanceServer:InstanceServer',
@@ -1593,6 +1610,7 @@ class InstanceServer(pulumi.CustomResource):
1593
1610
  placement_group_id: Optional[pulumi.Input[str]] = None,
1594
1611
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
1595
1612
  private_ip: Optional[pulumi.Input[str]] = None,
1613
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateIpArgs', 'InstanceServerPrivateIpArgsDict']]]]] = None,
1596
1614
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]]] = None,
1597
1615
  project_id: Optional[pulumi.Input[str]] = None,
1598
1616
  protected: Optional[pulumi.Input[bool]] = None,
@@ -1649,6 +1667,7 @@ class InstanceServer(pulumi.CustomResource):
1649
1667
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1650
1668
  :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1651
1669
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1670
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateIpArgs', 'InstanceServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1652
1671
  :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceServerPrivateNetworkArgs', 'InstanceServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1653
1672
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1654
1673
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -1695,6 +1714,7 @@ class InstanceServer(pulumi.CustomResource):
1695
1714
  __props__.__dict__["placement_group_id"] = placement_group_id
1696
1715
  __props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
1697
1716
  __props__.__dict__["private_ip"] = private_ip
1717
+ __props__.__dict__["private_ips"] = private_ips
1698
1718
  __props__.__dict__["private_networks"] = private_networks
1699
1719
  __props__.__dict__["project_id"] = project_id
1700
1720
  __props__.__dict__["protected"] = protected
@@ -1871,6 +1891,14 @@ class InstanceServer(pulumi.CustomResource):
1871
1891
  """
1872
1892
  return pulumi.get(self, "private_ip")
1873
1893
 
1894
+ @property
1895
+ @pulumi.getter(name="privateIps")
1896
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.InstanceServerPrivateIp']]:
1897
+ """
1898
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1899
+ """
1900
+ return pulumi.get(self, "private_ips")
1901
+
1874
1902
  @property
1875
1903
  @pulumi.getter(name="privateNetworks")
1876
1904
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceServerPrivateNetwork']]]: