pulumiverse-scaleway 1.33.0a1755026511__py3-none-any.whl → 1.34.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 (52) hide show
  1. pulumiverse_scaleway/__init__.py +8 -0
  2. pulumiverse_scaleway/_inputs.py +235 -34
  3. pulumiverse_scaleway/cockpit.py +14 -0
  4. pulumiverse_scaleway/container_namespace.py +16 -7
  5. pulumiverse_scaleway/containers/namespace.py +16 -7
  6. pulumiverse_scaleway/database_user.py +83 -11
  7. pulumiverse_scaleway/databases/user.py +83 -11
  8. pulumiverse_scaleway/elasticmetal/outputs.py +4 -0
  9. pulumiverse_scaleway/function_namespace.py +16 -7
  10. pulumiverse_scaleway/functions/namespace.py +16 -7
  11. pulumiverse_scaleway/get_mongo_db_instance.py +34 -1
  12. pulumiverse_scaleway/hosting/_inputs.py +42 -0
  13. pulumiverse_scaleway/hosting/outputs.py +84 -0
  14. pulumiverse_scaleway/instance/_inputs.py +107 -13
  15. pulumiverse_scaleway/instance/outputs.py +187 -10
  16. pulumiverse_scaleway/instance/security_group_rules.py +16 -16
  17. pulumiverse_scaleway/instance/snapshot.py +26 -27
  18. pulumiverse_scaleway/instance_security_group_rules.py +16 -16
  19. pulumiverse_scaleway/instance_snapshot.py +26 -27
  20. pulumiverse_scaleway/loadbalancer_backend.py +39 -0
  21. pulumiverse_scaleway/loadbalancers/backend.py +39 -0
  22. pulumiverse_scaleway/loadbalancers/outputs.py +16 -0
  23. pulumiverse_scaleway/mnq/_inputs.py +52 -0
  24. pulumiverse_scaleway/mnq/outputs.py +47 -0
  25. pulumiverse_scaleway/mnq/sqs_queue.py +159 -0
  26. pulumiverse_scaleway/mnq_sqs_queue.py +159 -0
  27. pulumiverse_scaleway/mongo_db_instance.py +171 -23
  28. pulumiverse_scaleway/mongo_db_snapshot.py +2 -2
  29. pulumiverse_scaleway/mongodb/__init__.py +1 -0
  30. pulumiverse_scaleway/mongodb/_inputs.py +73 -0
  31. pulumiverse_scaleway/mongodb/get_instance.py +34 -1
  32. pulumiverse_scaleway/mongodb/instance.py +171 -23
  33. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  34. pulumiverse_scaleway/mongodb/snapshot.py +2 -2
  35. pulumiverse_scaleway/mongodb/user.py +508 -0
  36. pulumiverse_scaleway/network/outputs.py +4 -0
  37. pulumiverse_scaleway/object/_inputs.py +14 -0
  38. pulumiverse_scaleway/object/bucket.py +13 -0
  39. pulumiverse_scaleway/object/outputs.py +30 -0
  40. pulumiverse_scaleway/object_bucket.py +13 -0
  41. pulumiverse_scaleway/observability/__init__.py +1 -0
  42. pulumiverse_scaleway/observability/cockpit.py +14 -0
  43. pulumiverse_scaleway/observability/get_sources.py +376 -0
  44. pulumiverse_scaleway/observability/outputs.py +140 -0
  45. pulumiverse_scaleway/outputs.py +387 -26
  46. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  47. pulumiverse_scaleway/secret.py +8 -0
  48. pulumiverse_scaleway/secrets/secret.py +8 -0
  49. {pulumiverse_scaleway-1.33.0a1755026511.dist-info → pulumiverse_scaleway-1.34.0.dist-info}/METADATA +1 -1
  50. {pulumiverse_scaleway-1.33.0a1755026511.dist-info → pulumiverse_scaleway-1.34.0.dist-info}/RECORD +52 -50
  51. {pulumiverse_scaleway-1.33.0a1755026511.dist-info → pulumiverse_scaleway-1.34.0.dist-info}/WHEEL +0 -0
  52. {pulumiverse_scaleway-1.33.0a1755026511.dist-info → pulumiverse_scaleway-1.34.0.dist-info}/top_level.txt +0 -0
@@ -36,6 +36,7 @@ __all__ = [
36
36
  'GetServerPublicIpResult',
37
37
  'GetServerRootVolumeResult',
38
38
  'GetServersServerResult',
39
+ 'GetServersServerPrivateIpResult',
39
40
  'GetServersServerPublicIpResult',
40
41
  'GetSnapshotImportResult',
41
42
  ]
@@ -769,34 +770,111 @@ class ServerPrivateNetwork(dict):
769
770
 
770
771
  @pulumi.output_type
771
772
  class ServerPublicIp(dict):
773
+ @staticmethod
774
+ def __key_warning(key: str):
775
+ suggest = None
776
+ if key == "provisioningMode":
777
+ suggest = "provisioning_mode"
778
+
779
+ if suggest:
780
+ pulumi.log.warn(f"Key '{key}' not found in ServerPublicIp. Access the value via the '{suggest}' property getter instead.")
781
+
782
+ def __getitem__(self, key: str) -> Any:
783
+ ServerPublicIp.__key_warning(key)
784
+ return super().__getitem__(key)
785
+
786
+ def get(self, key: str, default = None) -> Any:
787
+ ServerPublicIp.__key_warning(key)
788
+ return super().get(key, default)
789
+
772
790
  def __init__(__self__, *,
773
791
  address: Optional[builtins.str] = None,
774
- id: Optional[builtins.str] = None):
792
+ dynamic: Optional[builtins.bool] = None,
793
+ family: Optional[builtins.str] = None,
794
+ gateway: Optional[builtins.str] = None,
795
+ id: Optional[builtins.str] = None,
796
+ netmask: Optional[builtins.str] = None,
797
+ provisioning_mode: Optional[builtins.str] = None):
775
798
  """
776
- :param builtins.str address: The address of the IP
777
- :param builtins.str id: The ID of the IP
799
+ :param builtins.str address: The address of the IP.
800
+ :param builtins.bool dynamic: Whether the IP is dynamic.
801
+ :param builtins.str family: The IP address' family.
802
+ :param builtins.str gateway: The IP of the Gateway associated with the IP.
803
+ :param builtins.str id: The ID of the IP.
804
+ :param builtins.str netmask: The CIDR netmask of the IP.
805
+ :param builtins.str provisioning_mode: The provisioning mode of the IP
778
806
  """
779
807
  if address is not None:
780
808
  pulumi.set(__self__, "address", address)
809
+ if dynamic is not None:
810
+ pulumi.set(__self__, "dynamic", dynamic)
811
+ if family is not None:
812
+ pulumi.set(__self__, "family", family)
813
+ if gateway is not None:
814
+ pulumi.set(__self__, "gateway", gateway)
781
815
  if id is not None:
782
816
  pulumi.set(__self__, "id", id)
817
+ if netmask is not None:
818
+ pulumi.set(__self__, "netmask", netmask)
819
+ if provisioning_mode is not None:
820
+ pulumi.set(__self__, "provisioning_mode", provisioning_mode)
783
821
 
784
822
  @property
785
823
  @pulumi.getter
786
824
  def address(self) -> Optional[builtins.str]:
787
825
  """
788
- The address of the IP
826
+ The address of the IP.
789
827
  """
790
828
  return pulumi.get(self, "address")
791
829
 
830
+ @property
831
+ @pulumi.getter
832
+ def dynamic(self) -> Optional[builtins.bool]:
833
+ """
834
+ Whether the IP is dynamic.
835
+ """
836
+ return pulumi.get(self, "dynamic")
837
+
838
+ @property
839
+ @pulumi.getter
840
+ def family(self) -> Optional[builtins.str]:
841
+ """
842
+ The IP address' family.
843
+ """
844
+ return pulumi.get(self, "family")
845
+
846
+ @property
847
+ @pulumi.getter
848
+ def gateway(self) -> Optional[builtins.str]:
849
+ """
850
+ The IP of the Gateway associated with the IP.
851
+ """
852
+ return pulumi.get(self, "gateway")
853
+
792
854
  @property
793
855
  @pulumi.getter
794
856
  def id(self) -> Optional[builtins.str]:
795
857
  """
796
- The ID of the IP
858
+ The ID of the IP.
797
859
  """
798
860
  return pulumi.get(self, "id")
799
861
 
862
+ @property
863
+ @pulumi.getter
864
+ def netmask(self) -> Optional[builtins.str]:
865
+ """
866
+ The CIDR netmask of the IP.
867
+ """
868
+ return pulumi.get(self, "netmask")
869
+
870
+ @property
871
+ @pulumi.getter(name="provisioningMode")
872
+ def provisioning_mode(self) -> Optional[builtins.str]:
873
+ """
874
+ The provisioning mode of the IP
875
+ """
876
+ return pulumi.get(self, "provisioning_mode")
877
+
800
878
 
801
879
  @pulumi.output_type
802
880
  class ServerRootVolume(dict):
@@ -932,8 +1010,6 @@ class SnapshotImport(dict):
932
1010
  """
933
1011
  :param builtins.str bucket: Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
934
1012
  :param builtins.str key: Key of the object to import
935
-
936
- > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
937
1013
  """
938
1014
  pulumi.set(__self__, "bucket", bucket)
939
1015
  pulumi.set(__self__, "key", key)
@@ -951,8 +1027,6 @@ class SnapshotImport(dict):
951
1027
  def key(self) -> builtins.str:
952
1028
  """
953
1029
  Key of the object to import
954
-
955
- > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
956
1030
  """
957
1031
  return pulumi.get(self, "key")
958
1032
 
@@ -1235,13 +1309,28 @@ class GetServerPrivateNetworkResult(dict):
1235
1309
  class GetServerPublicIpResult(dict):
1236
1310
  def __init__(__self__, *,
1237
1311
  address: builtins.str,
1238
- id: builtins.str):
1312
+ dynamic: builtins.bool,
1313
+ family: builtins.str,
1314
+ gateway: builtins.str,
1315
+ id: builtins.str,
1316
+ netmask: builtins.str,
1317
+ provisioning_mode: builtins.str):
1239
1318
  """
1240
1319
  :param builtins.str address: The address of the IP
1320
+ :param builtins.bool dynamic: Whether the IP is dynamic
1321
+ :param builtins.str family: IP address family (inet or inet6)
1322
+ :param builtins.str gateway: Gateway's IP address
1241
1323
  :param builtins.str id: The ID of the IP
1324
+ :param builtins.str netmask: CIDR netmask
1325
+ :param builtins.str provisioning_mode: Provisioning mode of the IP address
1242
1326
  """
1243
1327
  pulumi.set(__self__, "address", address)
1328
+ pulumi.set(__self__, "dynamic", dynamic)
1329
+ pulumi.set(__self__, "family", family)
1330
+ pulumi.set(__self__, "gateway", gateway)
1244
1331
  pulumi.set(__self__, "id", id)
1332
+ pulumi.set(__self__, "netmask", netmask)
1333
+ pulumi.set(__self__, "provisioning_mode", provisioning_mode)
1245
1334
 
1246
1335
  @property
1247
1336
  @pulumi.getter
@@ -1251,6 +1340,30 @@ class GetServerPublicIpResult(dict):
1251
1340
  """
1252
1341
  return pulumi.get(self, "address")
1253
1342
 
1343
+ @property
1344
+ @pulumi.getter
1345
+ def dynamic(self) -> builtins.bool:
1346
+ """
1347
+ Whether the IP is dynamic
1348
+ """
1349
+ return pulumi.get(self, "dynamic")
1350
+
1351
+ @property
1352
+ @pulumi.getter
1353
+ def family(self) -> builtins.str:
1354
+ """
1355
+ IP address family (inet or inet6)
1356
+ """
1357
+ return pulumi.get(self, "family")
1358
+
1359
+ @property
1360
+ @pulumi.getter
1361
+ def gateway(self) -> builtins.str:
1362
+ """
1363
+ Gateway's IP address
1364
+ """
1365
+ return pulumi.get(self, "gateway")
1366
+
1254
1367
  @property
1255
1368
  @pulumi.getter
1256
1369
  def id(self) -> builtins.str:
@@ -1259,6 +1372,22 @@ class GetServerPublicIpResult(dict):
1259
1372
  """
1260
1373
  return pulumi.get(self, "id")
1261
1374
 
1375
+ @property
1376
+ @pulumi.getter
1377
+ def netmask(self) -> builtins.str:
1378
+ """
1379
+ CIDR netmask
1380
+ """
1381
+ return pulumi.get(self, "netmask")
1382
+
1383
+ @property
1384
+ @pulumi.getter(name="provisioningMode")
1385
+ def provisioning_mode(self) -> builtins.str:
1386
+ """
1387
+ Provisioning mode of the IP address
1388
+ """
1389
+ return pulumi.get(self, "provisioning_mode")
1390
+
1262
1391
 
1263
1392
  @pulumi.output_type
1264
1393
  class GetServerRootVolumeResult(dict):
@@ -1361,6 +1490,7 @@ class GetServersServerResult(dict):
1361
1490
  placement_group_id: builtins.str,
1362
1491
  placement_group_policy_respected: builtins.bool,
1363
1492
  private_ip: builtins.str,
1493
+ private_ips: Sequence['outputs.GetServersServerPrivateIpResult'],
1364
1494
  project_id: builtins.str,
1365
1495
  public_ip: builtins.str,
1366
1496
  public_ips: Sequence['outputs.GetServersServerPublicIpResult'],
@@ -1371,6 +1501,7 @@ class GetServersServerResult(dict):
1371
1501
  zone: builtins.str):
1372
1502
  """
1373
1503
  :param builtins.str boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1504
+ :param builtins.str bootscript_id: UUID of the bootscript
1374
1505
  :param builtins.bool enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1375
1506
  :param builtins.bool enable_ipv6: Determines if IPv6 is enabled for the server.
1376
1507
  :param builtins.str id: The ID of the IP
@@ -1381,7 +1512,9 @@ class GetServersServerResult(dict):
1381
1512
  :param builtins.str name: The server name used as filter. Servers with a name like it are listed.
1382
1513
  :param builtins.str organization_id: The organization ID the server is associated with.
1383
1514
  :param builtins.str placement_group_id: The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
1515
+ :param builtins.bool placement_group_policy_respected: Whether the placement group policy respected or not
1384
1516
  :param builtins.str private_ip: The Scaleway internal IP address of the server.
1517
+ :param Sequence['GetServersServerPrivateIpArgs'] private_ips: The list of private IPv4 and IPv6 addresses associated with the server.
1385
1518
  :param builtins.str project_id: The ID of the project the server is associated with.
1386
1519
  :param builtins.str public_ip: The public IP address of the server.
1387
1520
  :param Sequence['GetServersServerPublicIpArgs'] public_ips: The list of public IPs of the server
@@ -1405,6 +1538,7 @@ class GetServersServerResult(dict):
1405
1538
  pulumi.set(__self__, "placement_group_id", placement_group_id)
1406
1539
  pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
1407
1540
  pulumi.set(__self__, "private_ip", private_ip)
1541
+ pulumi.set(__self__, "private_ips", private_ips)
1408
1542
  pulumi.set(__self__, "project_id", project_id)
1409
1543
  pulumi.set(__self__, "public_ip", public_ip)
1410
1544
  pulumi.set(__self__, "public_ips", public_ips)
@@ -1426,6 +1560,9 @@ class GetServersServerResult(dict):
1426
1560
  @pulumi.getter(name="bootscriptId")
1427
1561
  @_utilities.deprecated("""bootscript are not supported""")
1428
1562
  def bootscript_id(self) -> builtins.str:
1563
+ """
1564
+ UUID of the bootscript
1565
+ """
1429
1566
  return pulumi.get(self, "bootscript_id")
1430
1567
 
1431
1568
  @property
@@ -1511,6 +1648,9 @@ class GetServersServerResult(dict):
1511
1648
  @property
1512
1649
  @pulumi.getter(name="placementGroupPolicyRespected")
1513
1650
  def placement_group_policy_respected(self) -> builtins.bool:
1651
+ """
1652
+ Whether the placement group policy respected or not
1653
+ """
1514
1654
  return pulumi.get(self, "placement_group_policy_respected")
1515
1655
 
1516
1656
  @property
@@ -1521,6 +1661,14 @@ class GetServersServerResult(dict):
1521
1661
  """
1522
1662
  return pulumi.get(self, "private_ip")
1523
1663
 
1664
+ @property
1665
+ @pulumi.getter(name="privateIps")
1666
+ def private_ips(self) -> Sequence['outputs.GetServersServerPrivateIpResult']:
1667
+ """
1668
+ The list of private IPv4 and IPv6 addresses associated with the server.
1669
+ """
1670
+ return pulumi.get(self, "private_ips")
1671
+
1524
1672
  @property
1525
1673
  @pulumi.getter(name="projectId")
1526
1674
  def project_id(self) -> builtins.str:
@@ -1587,6 +1735,35 @@ class GetServersServerResult(dict):
1587
1735
  return pulumi.get(self, "zone")
1588
1736
 
1589
1737
 
1738
+ @pulumi.output_type
1739
+ class GetServersServerPrivateIpResult(dict):
1740
+ def __init__(__self__, *,
1741
+ address: builtins.str,
1742
+ id: builtins.str):
1743
+ """
1744
+ :param builtins.str address: The address of the IP
1745
+ :param builtins.str id: The ID of the IP
1746
+ """
1747
+ pulumi.set(__self__, "address", address)
1748
+ pulumi.set(__self__, "id", id)
1749
+
1750
+ @property
1751
+ @pulumi.getter
1752
+ def address(self) -> builtins.str:
1753
+ """
1754
+ The address of the IP
1755
+ """
1756
+ return pulumi.get(self, "address")
1757
+
1758
+ @property
1759
+ @pulumi.getter
1760
+ def id(self) -> builtins.str:
1761
+ """
1762
+ The ID of the IP
1763
+ """
1764
+ return pulumi.get(self, "id")
1765
+
1766
+
1590
1767
  @pulumi.output_type
1591
1768
  class GetServersServerPublicIpResult(dict):
1592
1769
  def __init__(__self__, *,
@@ -181,14 +181,14 @@ class SecurityGroupRules(pulumi.CustomResource):
181
181
  inbound_default_policy="drop",
182
182
  outbound_default_policy="accept")
183
183
  trusted = [
184
- "1.2.3.4",
185
- "4.5.6.7",
186
- "7.8.9.10",
184
+ "1.2.3.4/32",
185
+ "4.5.6.7/32",
186
+ "7.8.9.10/24",
187
187
  ]
188
188
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
189
189
  inbound_rules=[{
190
190
  "action": "accept",
191
- "ip": entry["value"],
191
+ "ip_range": entry["value"],
192
192
  "port": 80,
193
193
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
194
194
  security_group_id=main.id)
@@ -208,22 +208,22 @@ class SecurityGroupRules(pulumi.CustomResource):
208
208
  outbound_default_policy="accept")
209
209
  trusted = [
210
210
  {
211
- "ip": "1.2.3.4",
211
+ "ipRange": "1.2.3.4/32",
212
212
  "port": "80",
213
213
  },
214
214
  {
215
- "ip": "5.6.7.8",
215
+ "ipRange": "5.6.7.8/32",
216
216
  "port": "81",
217
217
  },
218
218
  {
219
- "ip": "9.10.11.12",
219
+ "ipRange": "9.10.11.12/32",
220
220
  "port": "81",
221
221
  },
222
222
  ]
223
223
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
224
224
  inbound_rules=[{
225
225
  "action": "accept",
226
- "ip": entry["value"]["ip"],
226
+ "ip_range": entry["value"]["ipRange"],
227
227
  "port": entry["value"]["port"],
228
228
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
229
229
  security_group_id=main.id)
@@ -292,14 +292,14 @@ class SecurityGroupRules(pulumi.CustomResource):
292
292
  inbound_default_policy="drop",
293
293
  outbound_default_policy="accept")
294
294
  trusted = [
295
- "1.2.3.4",
296
- "4.5.6.7",
297
- "7.8.9.10",
295
+ "1.2.3.4/32",
296
+ "4.5.6.7/32",
297
+ "7.8.9.10/24",
298
298
  ]
299
299
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
300
300
  inbound_rules=[{
301
301
  "action": "accept",
302
- "ip": entry["value"],
302
+ "ip_range": entry["value"],
303
303
  "port": 80,
304
304
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
305
305
  security_group_id=main.id)
@@ -319,22 +319,22 @@ class SecurityGroupRules(pulumi.CustomResource):
319
319
  outbound_default_policy="accept")
320
320
  trusted = [
321
321
  {
322
- "ip": "1.2.3.4",
322
+ "ipRange": "1.2.3.4/32",
323
323
  "port": "80",
324
324
  },
325
325
  {
326
- "ip": "5.6.7.8",
326
+ "ipRange": "5.6.7.8/32",
327
327
  "port": "81",
328
328
  },
329
329
  {
330
- "ip": "9.10.11.12",
330
+ "ipRange": "9.10.11.12/32",
331
331
  "port": "81",
332
332
  },
333
333
  ]
334
334
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
335
335
  inbound_rules=[{
336
336
  "action": "accept",
337
- "ip": entry["value"]["ip"],
337
+ "ip_range": entry["value"]["ipRange"],
338
338
  "port": entry["value"]["port"],
339
339
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
340
340
  security_group_id=main.id)
@@ -36,11 +36,12 @@ class SnapshotArgs:
36
36
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the snapshot is
37
37
  associated with.
38
38
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
39
- :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
39
+ :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
40
40
  Updates to this field will recreate a new resource.
41
41
 
42
42
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
43
43
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
44
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
44
45
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
45
46
  :param pulumi.Input[builtins.str] zone: `zone`) The zone in which
46
47
  the snapshot should be created.
@@ -113,11 +114,12 @@ class SnapshotArgs:
113
114
  @pulumi.getter
114
115
  def type(self) -> Optional[pulumi.Input[builtins.str]]:
115
116
  """
116
- The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
117
+ The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
117
118
  Updates to this field will recreate a new resource.
118
119
 
119
120
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
120
121
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
122
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
121
123
  """
122
124
  return pulumi.get(self, "type")
123
125
 
@@ -174,11 +176,12 @@ class _SnapshotState:
174
176
  associated with.
175
177
  :param pulumi.Input[builtins.int] size_in_gb: (Optional) The size of the snapshot.
176
178
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
177
- :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
179
+ :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
178
180
  Updates to this field will recreate a new resource.
179
181
 
180
182
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
181
183
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
184
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
182
185
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
183
186
  :param pulumi.Input[builtins.str] zone: `zone`) The zone in which
184
187
  the snapshot should be created.
@@ -293,11 +296,12 @@ class _SnapshotState:
293
296
  @pulumi.getter
294
297
  def type(self) -> Optional[pulumi.Input[builtins.str]]:
295
298
  """
296
- The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
299
+ The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
297
300
  Updates to this field will recreate a new resource.
298
301
 
299
302
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
300
303
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
304
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
301
305
  """
302
306
  return pulumi.get(self, "type")
303
307
 
@@ -378,10 +382,8 @@ class Snapshot(pulumi.CustomResource):
378
382
  "volume_type": "l_ssd",
379
383
  },
380
384
  additional_volume_ids=[main.id])
381
- main_snapshot = scaleway.instance.Snapshot("main",
382
- volume_id=main.id,
383
- type="unified",
384
- opts = pulumi.ResourceOptions(depends_on=[main_server]))
385
+ main_snapshot = scaleway.instance.Snapshot("main", volume_id=main.id,
386
+ opts = pulumi.ResourceOptions(depends_on=[main_server]))
385
387
  ```
386
388
 
387
389
  ### Example importing a local qcow2 file
@@ -395,12 +397,10 @@ class Snapshot(pulumi.CustomResource):
395
397
  bucket=bucket.name,
396
398
  key="server.qcow2",
397
399
  file="myqcow.qcow2")
398
- snapshot = scaleway.instance.Snapshot("snapshot",
399
- type="unified",
400
- import_={
401
- "bucket": qcow.bucket,
402
- "key": qcow.key,
403
- })
400
+ snapshot = scaleway.instance.Snapshot("snapshot", import_={
401
+ "bucket": qcow.bucket,
402
+ "key": qcow.key,
403
+ })
404
404
  ```
405
405
 
406
406
  ## Import
@@ -420,11 +420,12 @@ class Snapshot(pulumi.CustomResource):
420
420
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the snapshot is
421
421
  associated with.
422
422
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
423
- :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
423
+ :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
424
424
  Updates to this field will recreate a new resource.
425
425
 
426
426
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
427
427
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
428
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
428
429
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
429
430
  :param pulumi.Input[builtins.str] zone: `zone`) The zone in which
430
431
  the snapshot should be created.
@@ -468,10 +469,8 @@ class Snapshot(pulumi.CustomResource):
468
469
  "volume_type": "l_ssd",
469
470
  },
470
471
  additional_volume_ids=[main.id])
471
- main_snapshot = scaleway.instance.Snapshot("main",
472
- volume_id=main.id,
473
- type="unified",
474
- opts = pulumi.ResourceOptions(depends_on=[main_server]))
472
+ main_snapshot = scaleway.instance.Snapshot("main", volume_id=main.id,
473
+ opts = pulumi.ResourceOptions(depends_on=[main_server]))
475
474
  ```
476
475
 
477
476
  ### Example importing a local qcow2 file
@@ -485,12 +484,10 @@ class Snapshot(pulumi.CustomResource):
485
484
  bucket=bucket.name,
486
485
  key="server.qcow2",
487
486
  file="myqcow.qcow2")
488
- snapshot = scaleway.instance.Snapshot("snapshot",
489
- type="unified",
490
- import_={
491
- "bucket": qcow.bucket,
492
- "key": qcow.key,
493
- })
487
+ snapshot = scaleway.instance.Snapshot("snapshot", import_={
488
+ "bucket": qcow.bucket,
489
+ "key": qcow.key,
490
+ })
494
491
  ```
495
492
 
496
493
  ## Import
@@ -581,11 +578,12 @@ class Snapshot(pulumi.CustomResource):
581
578
  associated with.
582
579
  :param pulumi.Input[builtins.int] size_in_gb: (Optional) The size of the snapshot.
583
580
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
584
- :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
581
+ :param pulumi.Input[builtins.str] type: The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
585
582
  Updates to this field will recreate a new resource.
586
583
 
587
584
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
588
585
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
586
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
589
587
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
590
588
  :param pulumi.Input[builtins.str] zone: `zone`) The zone in which
591
589
  the snapshot should be created.
@@ -667,11 +665,12 @@ class Snapshot(pulumi.CustomResource):
667
665
  @pulumi.getter
668
666
  def type(self) -> pulumi.Output[builtins.str]:
669
667
  """
670
- The snapshot's volume type. The possible values are: `l_ssd` (Local SSD) and `unified`.
668
+ The snapshot's volume type. The possible values are: `l_ssd` (Local SSD).
671
669
  Updates to this field will recreate a new resource.
672
670
 
673
671
  > **Important:** Snapshots of volumes with type `b_ssd` (Block SSD) are deprecated and cannot be managed using the `instance.Snapshot` resource anymore. Please use the `block.Snapshot` resource instead.
674
672
  If you want to migrate existing snapshots, you can visit [this page](https://www.scaleway.com/en/docs/instances/how-to/migrate-volumes-snapshots-to-sbs/) for more information.
673
+ > **Important:** Snapshots of volumes with type `unified` (can be used with both Block and Local SSD) are deprecated since the migration to SBS.
675
674
  """
676
675
  return pulumi.get(self, "type")
677
676
 
@@ -186,14 +186,14 @@ class InstanceSecurityGroupRules(pulumi.CustomResource):
186
186
  inbound_default_policy="drop",
187
187
  outbound_default_policy="accept")
188
188
  trusted = [
189
- "1.2.3.4",
190
- "4.5.6.7",
191
- "7.8.9.10",
189
+ "1.2.3.4/32",
190
+ "4.5.6.7/32",
191
+ "7.8.9.10/24",
192
192
  ]
193
193
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
194
194
  inbound_rules=[{
195
195
  "action": "accept",
196
- "ip": entry["value"],
196
+ "ip_range": entry["value"],
197
197
  "port": 80,
198
198
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
199
199
  security_group_id=main.id)
@@ -213,22 +213,22 @@ class InstanceSecurityGroupRules(pulumi.CustomResource):
213
213
  outbound_default_policy="accept")
214
214
  trusted = [
215
215
  {
216
- "ip": "1.2.3.4",
216
+ "ipRange": "1.2.3.4/32",
217
217
  "port": "80",
218
218
  },
219
219
  {
220
- "ip": "5.6.7.8",
220
+ "ipRange": "5.6.7.8/32",
221
221
  "port": "81",
222
222
  },
223
223
  {
224
- "ip": "9.10.11.12",
224
+ "ipRange": "9.10.11.12/32",
225
225
  "port": "81",
226
226
  },
227
227
  ]
228
228
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
229
229
  inbound_rules=[{
230
230
  "action": "accept",
231
- "ip": entry["value"]["ip"],
231
+ "ip_range": entry["value"]["ipRange"],
232
232
  "port": entry["value"]["port"],
233
233
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
234
234
  security_group_id=main.id)
@@ -297,14 +297,14 @@ class InstanceSecurityGroupRules(pulumi.CustomResource):
297
297
  inbound_default_policy="drop",
298
298
  outbound_default_policy="accept")
299
299
  trusted = [
300
- "1.2.3.4",
301
- "4.5.6.7",
302
- "7.8.9.10",
300
+ "1.2.3.4/32",
301
+ "4.5.6.7/32",
302
+ "7.8.9.10/24",
303
303
  ]
304
304
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
305
305
  inbound_rules=[{
306
306
  "action": "accept",
307
- "ip": entry["value"],
307
+ "ip_range": entry["value"],
308
308
  "port": 80,
309
309
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
310
310
  security_group_id=main.id)
@@ -324,22 +324,22 @@ class InstanceSecurityGroupRules(pulumi.CustomResource):
324
324
  outbound_default_policy="accept")
325
325
  trusted = [
326
326
  {
327
- "ip": "1.2.3.4",
327
+ "ipRange": "1.2.3.4/32",
328
328
  "port": "80",
329
329
  },
330
330
  {
331
- "ip": "5.6.7.8",
331
+ "ipRange": "5.6.7.8/32",
332
332
  "port": "81",
333
333
  },
334
334
  {
335
- "ip": "9.10.11.12",
335
+ "ipRange": "9.10.11.12/32",
336
336
  "port": "81",
337
337
  },
338
338
  ]
339
339
  main_security_group_rules = scaleway.instance.SecurityGroupRules("main",
340
340
  inbound_rules=[{
341
341
  "action": "accept",
342
- "ip": entry["value"]["ip"],
342
+ "ip_range": entry["value"]["ipRange"],
343
343
  "port": entry["value"]["port"],
344
344
  } for entry in [{"key": k, "value": v} for k, v in trusted]],
345
345
  security_group_id=main.id)