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
@@ -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
 
@@ -23,6 +25,7 @@ class PrivateNicArgs:
23
25
  server_id: pulumi.Input[str],
24
26
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
25
27
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]] = None,
26
29
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
30
  zone: Optional[pulumi.Input[str]] = None):
28
31
  """
@@ -31,6 +34,7 @@ class PrivateNicArgs:
31
34
  :param pulumi.Input[str] server_id: The ID of the server associated with.
32
35
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
33
36
  :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.
37
+ :param pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
34
38
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
35
39
  :param pulumi.Input[str] zone: `zone`) The zone in which the server must be created.
36
40
  """
@@ -40,6 +44,8 @@ class PrivateNicArgs:
40
44
  pulumi.set(__self__, "ip_ids", ip_ids)
41
45
  if ipam_ip_ids is not None:
42
46
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
47
+ if private_ips is not None:
48
+ pulumi.set(__self__, "private_ips", private_ips)
43
49
  if tags is not None:
44
50
  pulumi.set(__self__, "tags", tags)
45
51
  if zone is not None:
@@ -93,6 +99,18 @@ class PrivateNicArgs:
93
99
  def ipam_ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
94
100
  pulumi.set(self, "ipam_ip_ids", value)
95
101
 
102
+ @property
103
+ @pulumi.getter(name="privateIps")
104
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]:
105
+ """
106
+ The list of private IPv4 and IPv6 addresses associated with the resource.
107
+ """
108
+ return pulumi.get(self, "private_ips")
109
+
110
+ @private_ips.setter
111
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]):
112
+ pulumi.set(self, "private_ips", value)
113
+
96
114
  @property
97
115
  @pulumi.getter
98
116
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -124,6 +142,7 @@ class _PrivateNicState:
124
142
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
125
143
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
126
144
  mac_address: Optional[pulumi.Input[str]] = None,
145
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]] = None,
127
146
  private_network_id: Optional[pulumi.Input[str]] = None,
128
147
  server_id: Optional[pulumi.Input[str]] = None,
129
148
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -133,6 +152,7 @@ class _PrivateNicState:
133
152
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
134
153
  :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
154
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
155
+ :param pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
136
156
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
137
157
  :param pulumi.Input[str] server_id: The ID of the server associated with.
138
158
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -144,6 +164,8 @@ class _PrivateNicState:
144
164
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
145
165
  if mac_address is not None:
146
166
  pulumi.set(__self__, "mac_address", mac_address)
167
+ if private_ips is not None:
168
+ pulumi.set(__self__, "private_ips", private_ips)
147
169
  if private_network_id is not None:
148
170
  pulumi.set(__self__, "private_network_id", private_network_id)
149
171
  if server_id is not None:
@@ -189,6 +211,18 @@ class _PrivateNicState:
189
211
  def mac_address(self, value: Optional[pulumi.Input[str]]):
190
212
  pulumi.set(self, "mac_address", value)
191
213
 
214
+ @property
215
+ @pulumi.getter(name="privateIps")
216
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]:
217
+ """
218
+ The list of private IPv4 and IPv6 addresses associated with the resource.
219
+ """
220
+ return pulumi.get(self, "private_ips")
221
+
222
+ @private_ips.setter
223
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateNicPrivateIpArgs']]]]):
224
+ pulumi.set(self, "private_ips", value)
225
+
192
226
  @property
193
227
  @pulumi.getter(name="privateNetworkId")
194
228
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -245,6 +279,7 @@ class PrivateNic(pulumi.CustomResource):
245
279
  opts: Optional[pulumi.ResourceOptions] = None,
246
280
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
247
281
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
282
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]]] = None,
248
283
  private_network_id: Optional[pulumi.Input[str]] = None,
249
284
  server_id: Optional[pulumi.Input[str]] = None,
250
285
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -327,6 +362,7 @@ class PrivateNic(pulumi.CustomResource):
327
362
  :param pulumi.ResourceOptions opts: Options for the resource.
328
363
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
329
364
  :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.
365
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
330
366
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
331
367
  :param pulumi.Input[str] server_id: The ID of the server associated with.
332
368
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -428,6 +464,7 @@ class PrivateNic(pulumi.CustomResource):
428
464
  opts: Optional[pulumi.ResourceOptions] = None,
429
465
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
430
466
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
467
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]]] = None,
431
468
  private_network_id: Optional[pulumi.Input[str]] = None,
432
469
  server_id: Optional[pulumi.Input[str]] = None,
433
470
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -443,6 +480,7 @@ class PrivateNic(pulumi.CustomResource):
443
480
 
444
481
  __props__.__dict__["ip_ids"] = ip_ids
445
482
  __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids
483
+ __props__.__dict__["private_ips"] = private_ips
446
484
  if private_network_id is None and not opts.urn:
447
485
  raise TypeError("Missing required property 'private_network_id'")
448
486
  __props__.__dict__["private_network_id"] = private_network_id
@@ -467,6 +505,7 @@ class PrivateNic(pulumi.CustomResource):
467
505
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
468
506
  ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
469
507
  mac_address: Optional[pulumi.Input[str]] = None,
508
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]]] = None,
470
509
  private_network_id: Optional[pulumi.Input[str]] = None,
471
510
  server_id: Optional[pulumi.Input[str]] = None,
472
511
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -481,6 +520,7 @@ class PrivateNic(pulumi.CustomResource):
481
520
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only
482
521
  :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
522
  :param pulumi.Input[str] mac_address: The MAC address of the private NIC.
523
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateNicPrivateIpArgs', 'PrivateNicPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
484
524
  :param pulumi.Input[str] private_network_id: The ID of the private network attached to.
485
525
  :param pulumi.Input[str] server_id: The ID of the server associated with.
486
526
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC.
@@ -493,6 +533,7 @@ class PrivateNic(pulumi.CustomResource):
493
533
  __props__.__dict__["ip_ids"] = ip_ids
494
534
  __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids
495
535
  __props__.__dict__["mac_address"] = mac_address
536
+ __props__.__dict__["private_ips"] = private_ips
496
537
  __props__.__dict__["private_network_id"] = private_network_id
497
538
  __props__.__dict__["server_id"] = server_id
498
539
  __props__.__dict__["tags"] = tags
@@ -523,6 +564,14 @@ class PrivateNic(pulumi.CustomResource):
523
564
  """
524
565
  return pulumi.get(self, "mac_address")
525
566
 
567
+ @property
568
+ @pulumi.getter(name="privateIps")
569
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.PrivateNicPrivateIp']]:
570
+ """
571
+ The list of private IPv4 and IPv6 addresses associated with the resource.
572
+ """
573
+ return pulumi.get(self, "private_ips")
574
+
526
575
  @property
527
576
  @pulumi.getter(name="privateNetworkId")
528
577
  def private_network_id(self) -> pulumi.Output[str]:
@@ -33,6 +33,7 @@ class ServerArgs:
33
33
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
34
  name: Optional[pulumi.Input[str]] = None,
35
35
  placement_group_id: Optional[pulumi.Input[str]] = None,
36
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
36
37
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
37
38
  project_id: Optional[pulumi.Input[str]] = None,
38
39
  protected: Optional[pulumi.Input[bool]] = None,
@@ -79,6 +80,7 @@ class ServerArgs:
79
80
 
80
81
 
81
82
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
83
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
82
84
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
83
85
  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.
84
86
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -126,6 +128,8 @@ class ServerArgs:
126
128
  pulumi.set(__self__, "name", name)
127
129
  if placement_group_id is not None:
128
130
  pulumi.set(__self__, "placement_group_id", placement_group_id)
131
+ if private_ips is not None:
132
+ pulumi.set(__self__, "private_ips", private_ips)
129
133
  if private_networks is not None:
130
134
  pulumi.set(__self__, "private_networks", private_networks)
131
135
  if project_id is not None:
@@ -316,6 +320,18 @@ class ServerArgs:
316
320
  def placement_group_id(self, value: Optional[pulumi.Input[str]]):
317
321
  pulumi.set(self, "placement_group_id", value)
318
322
 
323
+ @property
324
+ @pulumi.getter(name="privateIps")
325
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
326
+ """
327
+ The list of private IPv4 and IPv6 addresses associated with the resource.
328
+ """
329
+ return pulumi.get(self, "private_ips")
330
+
331
+ @private_ips.setter
332
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
333
+ pulumi.set(self, "private_ips", value)
334
+
319
335
  @property
320
336
  @pulumi.getter(name="privateNetworks")
321
337
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
@@ -475,6 +491,7 @@ class _ServerState:
475
491
  placement_group_id: Optional[pulumi.Input[str]] = None,
476
492
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
477
493
  private_ip: Optional[pulumi.Input[str]] = None,
494
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
478
495
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
479
496
  project_id: Optional[pulumi.Input[str]] = None,
480
497
  protected: Optional[pulumi.Input[bool]] = None,
@@ -526,6 +543,7 @@ class _ServerState:
526
543
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
527
544
  :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
545
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
546
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
529
547
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
530
548
  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
549
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -603,6 +621,8 @@ class _ServerState:
603
621
  pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
604
622
  if private_ip is not None:
605
623
  pulumi.set(__self__, "private_ip", private_ip)
624
+ if private_ips is not None:
625
+ pulumi.set(__self__, "private_ips", private_ips)
606
626
  if private_networks is not None:
607
627
  pulumi.set(__self__, "private_networks", private_networks)
608
628
  if project_id is not None:
@@ -862,6 +882,18 @@ class _ServerState:
862
882
  def private_ip(self, value: Optional[pulumi.Input[str]]):
863
883
  pulumi.set(self, "private_ip", value)
864
884
 
885
+ @property
886
+ @pulumi.getter(name="privateIps")
887
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
888
+ """
889
+ The list of private IPv4 and IPv6 addresses associated with the resource.
890
+ """
891
+ return pulumi.get(self, "private_ips")
892
+
893
+ @private_ips.setter
894
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
895
+ pulumi.set(self, "private_ips", value)
896
+
865
897
  @property
866
898
  @pulumi.getter(name="privateNetworks")
867
899
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
@@ -1047,6 +1079,7 @@ class Server(pulumi.CustomResource):
1047
1079
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1048
1080
  name: Optional[pulumi.Input[str]] = None,
1049
1081
  placement_group_id: Optional[pulumi.Input[str]] = None,
1082
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1050
1083
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1051
1084
  project_id: Optional[pulumi.Input[str]] = None,
1052
1085
  protected: Optional[pulumi.Input[bool]] = None,
@@ -1270,6 +1303,7 @@ class Server(pulumi.CustomResource):
1270
1303
 
1271
1304
 
1272
1305
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1306
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1273
1307
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1274
1308
  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.
1275
1309
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -1507,6 +1541,7 @@ class Server(pulumi.CustomResource):
1507
1541
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1508
1542
  name: Optional[pulumi.Input[str]] = None,
1509
1543
  placement_group_id: Optional[pulumi.Input[str]] = None,
1544
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1510
1545
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1511
1546
  project_id: Optional[pulumi.Input[str]] = None,
1512
1547
  protected: Optional[pulumi.Input[bool]] = None,
@@ -1539,6 +1574,7 @@ class Server(pulumi.CustomResource):
1539
1574
  __props__.__dict__["ip_ids"] = ip_ids
1540
1575
  __props__.__dict__["name"] = name
1541
1576
  __props__.__dict__["placement_group_id"] = placement_group_id
1577
+ __props__.__dict__["private_ips"] = private_ips
1542
1578
  __props__.__dict__["private_networks"] = private_networks
1543
1579
  __props__.__dict__["project_id"] = project_id
1544
1580
  __props__.__dict__["protected"] = protected
@@ -1589,6 +1625,7 @@ class Server(pulumi.CustomResource):
1589
1625
  placement_group_id: Optional[pulumi.Input[str]] = None,
1590
1626
  placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
1591
1627
  private_ip: Optional[pulumi.Input[str]] = None,
1628
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1592
1629
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1593
1630
  project_id: Optional[pulumi.Input[str]] = None,
1594
1631
  protected: Optional[pulumi.Input[bool]] = None,
@@ -1645,6 +1682,7 @@ class Server(pulumi.CustomResource):
1645
1682
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1646
1683
  :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
1684
  :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1685
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1648
1686
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1649
1687
  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
1688
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
@@ -1691,6 +1729,7 @@ class Server(pulumi.CustomResource):
1691
1729
  __props__.__dict__["placement_group_id"] = placement_group_id
1692
1730
  __props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
1693
1731
  __props__.__dict__["private_ip"] = private_ip
1732
+ __props__.__dict__["private_ips"] = private_ips
1694
1733
  __props__.__dict__["private_networks"] = private_networks
1695
1734
  __props__.__dict__["project_id"] = project_id
1696
1735
  __props__.__dict__["protected"] = protected
@@ -1867,6 +1906,14 @@ class Server(pulumi.CustomResource):
1867
1906
  """
1868
1907
  return pulumi.get(self, "private_ip")
1869
1908
 
1909
+ @property
1910
+ @pulumi.getter(name="privateIps")
1911
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.ServerPrivateIp']]:
1912
+ """
1913
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1914
+ """
1915
+ return pulumi.get(self, "private_ips")
1916
+
1870
1917
  @property
1871
1918
  @pulumi.getter(name="privateNetworks")
1872
1919
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]: