pulumiverse-scaleway 1.36.0a1761749977__py3-none-any.whl → 1.36.0a1761895416__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 (37) hide show
  1. pulumiverse_scaleway/_inputs.py +151 -3
  2. pulumiverse_scaleway/database_instance.py +71 -21
  3. pulumiverse_scaleway/database_user.py +6 -6
  4. pulumiverse_scaleway/databases/_inputs.py +97 -3
  5. pulumiverse_scaleway/databases/get_instance.py +12 -1
  6. pulumiverse_scaleway/databases/instance.py +71 -21
  7. pulumiverse_scaleway/databases/outputs.py +127 -2
  8. pulumiverse_scaleway/databases/user.py +6 -6
  9. pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
  10. pulumiverse_scaleway/file_filesystem.py +33 -33
  11. pulumiverse_scaleway/get_baremetal_offer.py +2 -0
  12. pulumiverse_scaleway/get_database_instance.py +12 -1
  13. pulumiverse_scaleway/get_instance_server.py +13 -83
  14. pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
  15. pulumiverse_scaleway/iam/__init__.py +1 -0
  16. pulumiverse_scaleway/iam/get_policy.py +293 -0
  17. pulumiverse_scaleway/iam/outputs.py +52 -0
  18. pulumiverse_scaleway/instance/_inputs.py +54 -0
  19. pulumiverse_scaleway/instance/get_server.py +13 -83
  20. pulumiverse_scaleway/instance/outputs.py +87 -75
  21. pulumiverse_scaleway/instance/server.py +95 -230
  22. pulumiverse_scaleway/instance_server.py +95 -230
  23. pulumiverse_scaleway/iot/device.py +0 -38
  24. pulumiverse_scaleway/iot/route.py +20 -20
  25. pulumiverse_scaleway/iot_device.py +0 -38
  26. pulumiverse_scaleway/iot_route.py +20 -20
  27. pulumiverse_scaleway/kubernetes/cluster.py +208 -4
  28. pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
  29. pulumiverse_scaleway/kubernetes_cluster.py +208 -4
  30. pulumiverse_scaleway/object/bucket_policy.py +0 -64
  31. pulumiverse_scaleway/object_bucket_policy.py +0 -64
  32. pulumiverse_scaleway/outputs.py +214 -77
  33. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  34. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/METADATA +1 -1
  35. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/RECORD +37 -36
  36. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/WHEEL +0 -0
  37. {pulumiverse_scaleway-1.36.0a1761749977.dist-info → pulumiverse_scaleway-1.36.0a1761895416.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ class ServerArgs:
28
28
  bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
29
29
  cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
30
30
  enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
31
- enable_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
31
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]] = None,
32
32
  image: Optional[pulumi.Input[_builtins.str]] = None,
33
33
  ip_id: Optional[pulumi.Input[_builtins.str]] = None,
34
34
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -67,8 +67,7 @@ class ServerArgs:
67
67
  :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
68
68
  :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
69
69
  :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
70
- :param pulumi.Input[_builtins.bool] enable_ipv6: Determines if IPv6 is enabled for the server.
71
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
70
+ :param pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]] filesystems: List of filesystems attached to the server.
72
71
  :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
73
72
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
74
73
 
@@ -119,11 +118,8 @@ class ServerArgs:
119
118
  pulumi.set(__self__, "cloud_init", cloud_init)
120
119
  if enable_dynamic_ip is not None:
121
120
  pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
122
- if enable_ipv6 is not None:
123
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
124
- pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
125
- if enable_ipv6 is not None:
126
- pulumi.set(__self__, "enable_ipv6", enable_ipv6)
121
+ if filesystems is not None:
122
+ pulumi.set(__self__, "filesystems", filesystems)
127
123
  if image is not None:
128
124
  pulumi.set(__self__, "image", image)
129
125
  if ip_id is not None:
@@ -257,18 +253,16 @@ class ServerArgs:
257
253
  pulumi.set(self, "enable_dynamic_ip", value)
258
254
 
259
255
  @_builtins.property
260
- @pulumi.getter(name="enableIpv6")
261
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
262
- def enable_ipv6(self) -> Optional[pulumi.Input[_builtins.bool]]:
256
+ @pulumi.getter
257
+ def filesystems(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]:
263
258
  """
264
- Determines if IPv6 is enabled for the server.
265
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
259
+ List of filesystems attached to the server.
266
260
  """
267
- return pulumi.get(self, "enable_ipv6")
261
+ return pulumi.get(self, "filesystems")
268
262
 
269
- @enable_ipv6.setter
270
- def enable_ipv6(self, value: Optional[pulumi.Input[_builtins.bool]]):
271
- pulumi.set(self, "enable_ipv6", value)
263
+ @filesystems.setter
264
+ def filesystems(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]):
265
+ pulumi.set(self, "filesystems", value)
272
266
 
273
267
  @_builtins.property
274
268
  @pulumi.getter
@@ -500,23 +494,18 @@ class _ServerState:
500
494
  bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
501
495
  cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
502
496
  enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
503
- enable_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
497
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]] = None,
504
498
  image: Optional[pulumi.Input[_builtins.str]] = None,
505
499
  ip_id: Optional[pulumi.Input[_builtins.str]] = None,
506
500
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
507
- ipv6_address: Optional[pulumi.Input[_builtins.str]] = None,
508
- ipv6_gateway: Optional[pulumi.Input[_builtins.str]] = None,
509
- ipv6_prefix_length: Optional[pulumi.Input[_builtins.int]] = None,
510
501
  name: Optional[pulumi.Input[_builtins.str]] = None,
511
502
  organization_id: Optional[pulumi.Input[_builtins.str]] = None,
512
503
  placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
513
504
  placement_group_policy_respected: Optional[pulumi.Input[_builtins.bool]] = None,
514
- private_ip: Optional[pulumi.Input[_builtins.str]] = None,
515
505
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
516
506
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
517
507
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
518
508
  protected: Optional[pulumi.Input[_builtins.bool]] = None,
519
- public_ip: Optional[pulumi.Input[_builtins.str]] = None,
520
509
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
521
510
  replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
522
511
  root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
@@ -541,8 +530,7 @@ class _ServerState:
541
530
  :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
542
531
  :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
543
532
  :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
544
- :param pulumi.Input[_builtins.bool] enable_ipv6: Determines if IPv6 is enabled for the server.
545
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
533
+ :param pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]] filesystems: List of filesystems attached to the server.
546
534
  :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
547
535
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
548
536
 
@@ -553,26 +541,18 @@ class _ServerState:
553
541
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
554
542
 
555
543
  > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
556
- :param pulumi.Input[_builtins.str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
557
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
558
- :param pulumi.Input[_builtins.str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
559
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
560
- :param pulumi.Input[_builtins.int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
561
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
562
544
  :param pulumi.Input[_builtins.str] name: The name of the server.
563
545
  :param pulumi.Input[_builtins.str] organization_id: The organization ID the server is associated with.
564
546
  :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
565
547
 
566
548
 
567
549
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
568
- :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
569
- :param pulumi.Input[_builtins.str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
550
+ :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
570
551
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
571
552
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
572
553
  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.
573
554
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
574
555
  :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
575
- :param pulumi.Input[_builtins.str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
576
556
  :param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
577
557
  :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
578
558
  :param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -608,32 +588,14 @@ class _ServerState:
608
588
  pulumi.set(__self__, "cloud_init", cloud_init)
609
589
  if enable_dynamic_ip is not None:
610
590
  pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
611
- if enable_ipv6 is not None:
612
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
613
- pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
614
- if enable_ipv6 is not None:
615
- pulumi.set(__self__, "enable_ipv6", enable_ipv6)
591
+ if filesystems is not None:
592
+ pulumi.set(__self__, "filesystems", filesystems)
616
593
  if image is not None:
617
594
  pulumi.set(__self__, "image", image)
618
595
  if ip_id is not None:
619
596
  pulumi.set(__self__, "ip_id", ip_id)
620
597
  if ip_ids is not None:
621
598
  pulumi.set(__self__, "ip_ids", ip_ids)
622
- if ipv6_address is not None:
623
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
624
- pulumi.log.warn("""ipv6_address is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
625
- if ipv6_address is not None:
626
- pulumi.set(__self__, "ipv6_address", ipv6_address)
627
- if ipv6_gateway is not None:
628
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
629
- pulumi.log.warn("""ipv6_gateway is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
630
- if ipv6_gateway is not None:
631
- pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
632
- if ipv6_prefix_length is not None:
633
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
634
- pulumi.log.warn("""ipv6_prefix_length is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
635
- if ipv6_prefix_length is not None:
636
- pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length)
637
599
  if name is not None:
638
600
  pulumi.set(__self__, "name", name)
639
601
  if organization_id is not None:
@@ -642,11 +604,6 @@ class _ServerState:
642
604
  pulumi.set(__self__, "placement_group_id", placement_group_id)
643
605
  if placement_group_policy_respected is not None:
644
606
  pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
645
- if private_ip is not None:
646
- warnings.warn("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""", DeprecationWarning)
647
- pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
648
- if private_ip is not None:
649
- pulumi.set(__self__, "private_ip", private_ip)
650
607
  if private_ips is not None:
651
608
  pulumi.set(__self__, "private_ips", private_ips)
652
609
  if private_networks is not None:
@@ -655,11 +612,6 @@ class _ServerState:
655
612
  pulumi.set(__self__, "project_id", project_id)
656
613
  if protected is not None:
657
614
  pulumi.set(__self__, "protected", protected)
658
- if public_ip is not None:
659
- warnings.warn("""Use public_ips instead""", DeprecationWarning)
660
- pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""")
661
- if public_ip is not None:
662
- pulumi.set(__self__, "public_ip", public_ip)
663
615
  if public_ips is not None:
664
616
  pulumi.set(__self__, "public_ips", public_ips)
665
617
  if replace_on_type_change is not None:
@@ -760,18 +712,16 @@ class _ServerState:
760
712
  pulumi.set(self, "enable_dynamic_ip", value)
761
713
 
762
714
  @_builtins.property
763
- @pulumi.getter(name="enableIpv6")
764
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
765
- def enable_ipv6(self) -> Optional[pulumi.Input[_builtins.bool]]:
715
+ @pulumi.getter
716
+ def filesystems(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]:
766
717
  """
767
- Determines if IPv6 is enabled for the server.
768
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
718
+ List of filesystems attached to the server.
769
719
  """
770
- return pulumi.get(self, "enable_ipv6")
720
+ return pulumi.get(self, "filesystems")
771
721
 
772
- @enable_ipv6.setter
773
- def enable_ipv6(self, value: Optional[pulumi.Input[_builtins.bool]]):
774
- pulumi.set(self, "enable_ipv6", value)
722
+ @filesystems.setter
723
+ def filesystems(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]):
724
+ pulumi.set(self, "filesystems", value)
775
725
 
776
726
  @_builtins.property
777
727
  @pulumi.getter
@@ -816,48 +766,6 @@ class _ServerState:
816
766
  def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
817
767
  pulumi.set(self, "ip_ids", value)
818
768
 
819
- @_builtins.property
820
- @pulumi.getter(name="ipv6Address")
821
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
822
- def ipv6_address(self) -> Optional[pulumi.Input[_builtins.str]]:
823
- """
824
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
825
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
826
- """
827
- return pulumi.get(self, "ipv6_address")
828
-
829
- @ipv6_address.setter
830
- def ipv6_address(self, value: Optional[pulumi.Input[_builtins.str]]):
831
- pulumi.set(self, "ipv6_address", value)
832
-
833
- @_builtins.property
834
- @pulumi.getter(name="ipv6Gateway")
835
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
836
- def ipv6_gateway(self) -> Optional[pulumi.Input[_builtins.str]]:
837
- """
838
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
839
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
840
- """
841
- return pulumi.get(self, "ipv6_gateway")
842
-
843
- @ipv6_gateway.setter
844
- def ipv6_gateway(self, value: Optional[pulumi.Input[_builtins.str]]):
845
- pulumi.set(self, "ipv6_gateway", value)
846
-
847
- @_builtins.property
848
- @pulumi.getter(name="ipv6PrefixLength")
849
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
850
- def ipv6_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]:
851
- """
852
- The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
853
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
854
- """
855
- return pulumi.get(self, "ipv6_prefix_length")
856
-
857
- @ipv6_prefix_length.setter
858
- def ipv6_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]):
859
- pulumi.set(self, "ipv6_prefix_length", value)
860
-
861
769
  @_builtins.property
862
770
  @pulumi.getter
863
771
  def name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -901,7 +809,7 @@ class _ServerState:
901
809
  @pulumi.getter(name="placementGroupPolicyRespected")
902
810
  def placement_group_policy_respected(self) -> Optional[pulumi.Input[_builtins.bool]]:
903
811
  """
904
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
812
+ (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
905
813
  """
906
814
  return pulumi.get(self, "placement_group_policy_respected")
907
815
 
@@ -909,19 +817,6 @@ class _ServerState:
909
817
  def placement_group_policy_respected(self, value: Optional[pulumi.Input[_builtins.bool]]):
910
818
  pulumi.set(self, "placement_group_policy_respected", value)
911
819
 
912
- @_builtins.property
913
- @pulumi.getter(name="privateIp")
914
- @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
915
- def private_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
916
- """
917
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
918
- """
919
- return pulumi.get(self, "private_ip")
920
-
921
- @private_ip.setter
922
- def private_ip(self, value: Optional[pulumi.Input[_builtins.str]]):
923
- pulumi.set(self, "private_ip", value)
924
-
925
820
  @_builtins.property
926
821
  @pulumi.getter(name="privateIps")
927
822
  def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
@@ -971,19 +866,6 @@ class _ServerState:
971
866
  def protected(self, value: Optional[pulumi.Input[_builtins.bool]]):
972
867
  pulumi.set(self, "protected", value)
973
868
 
974
- @_builtins.property
975
- @pulumi.getter(name="publicIp")
976
- @_utilities.deprecated("""Use public_ips instead""")
977
- def public_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
978
- """
979
- The public IP address of the server (Deprecated use `public_ips` instead).
980
- """
981
- return pulumi.get(self, "public_ip")
982
-
983
- @public_ip.setter
984
- def public_ip(self, value: Optional[pulumi.Input[_builtins.str]]):
985
- pulumi.set(self, "public_ip", value)
986
-
987
869
  @_builtins.property
988
870
  @pulumi.getter(name="publicIps")
989
871
  def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
@@ -1115,7 +997,7 @@ class Server(pulumi.CustomResource):
1115
997
  bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1116
998
  cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1117
999
  enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1118
- enable_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
1000
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1119
1001
  image: Optional[pulumi.Input[_builtins.str]] = None,
1120
1002
  ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1121
1003
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -1177,6 +1059,35 @@ class Server(pulumi.CustomResource):
1177
1059
  additional_volume_ids=[data.id])
1178
1060
  ```
1179
1061
 
1062
+ ### With filesystem
1063
+
1064
+ ```python
1065
+ import pulumi
1066
+ import pulumiverse_scaleway as scaleway
1067
+
1068
+ volume = scaleway.block.Volume("volume",
1069
+ iops=15000,
1070
+ size_in_gb=15)
1071
+ terraform_instance_filesystem = scaleway.FileFilesystem("terraform_instance_filesystem",
1072
+ name="filesystem-instance-terraform",
1073
+ size_in_gb=100)
1074
+ base = scaleway.instance.Server("base",
1075
+ type="POP2-HM-2C-16G",
1076
+ state="started",
1077
+ tags=[
1078
+ "terraform-test",
1079
+ "scaleway_instance_server",
1080
+ "state",
1081
+ ],
1082
+ root_volume={
1083
+ "volume_type": "sbs_volume",
1084
+ "volume_id": volume.id,
1085
+ },
1086
+ filesystems=[{
1087
+ "filesystem_id": terraform_instance_filesystem.id,
1088
+ }])
1089
+ ```
1090
+
1180
1091
  ### With a reserved IP
1181
1092
 
1182
1093
  ```python
@@ -1331,8 +1242,7 @@ class Server(pulumi.CustomResource):
1331
1242
  :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1332
1243
  :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
1333
1244
  :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1334
- :param pulumi.Input[_builtins.bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1335
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1245
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]] filesystems: List of filesystems attached to the server.
1336
1246
  :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1337
1247
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
1338
1248
 
@@ -1421,6 +1331,35 @@ class Server(pulumi.CustomResource):
1421
1331
  additional_volume_ids=[data.id])
1422
1332
  ```
1423
1333
 
1334
+ ### With filesystem
1335
+
1336
+ ```python
1337
+ import pulumi
1338
+ import pulumiverse_scaleway as scaleway
1339
+
1340
+ volume = scaleway.block.Volume("volume",
1341
+ iops=15000,
1342
+ size_in_gb=15)
1343
+ terraform_instance_filesystem = scaleway.FileFilesystem("terraform_instance_filesystem",
1344
+ name="filesystem-instance-terraform",
1345
+ size_in_gb=100)
1346
+ base = scaleway.instance.Server("base",
1347
+ type="POP2-HM-2C-16G",
1348
+ state="started",
1349
+ tags=[
1350
+ "terraform-test",
1351
+ "scaleway_instance_server",
1352
+ "state",
1353
+ ],
1354
+ root_volume={
1355
+ "volume_type": "sbs_volume",
1356
+ "volume_id": volume.id,
1357
+ },
1358
+ filesystems=[{
1359
+ "filesystem_id": terraform_instance_filesystem.id,
1360
+ }])
1361
+ ```
1362
+
1424
1363
  ### With a reserved IP
1425
1364
 
1426
1365
  ```python
@@ -1581,7 +1520,7 @@ class Server(pulumi.CustomResource):
1581
1520
  bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1582
1521
  cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1583
1522
  enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1584
- enable_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
1523
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1585
1524
  image: Optional[pulumi.Input[_builtins.str]] = None,
1586
1525
  ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1587
1526
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -1615,7 +1554,7 @@ class Server(pulumi.CustomResource):
1615
1554
  __props__.__dict__["bootscript_id"] = bootscript_id
1616
1555
  __props__.__dict__["cloud_init"] = cloud_init
1617
1556
  __props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
1618
- __props__.__dict__["enable_ipv6"] = enable_ipv6
1557
+ __props__.__dict__["filesystems"] = filesystems
1619
1558
  __props__.__dict__["image"] = image
1620
1559
  __props__.__dict__["ip_id"] = ip_id
1621
1560
  __props__.__dict__["ip_ids"] = ip_ids
@@ -1636,13 +1575,8 @@ class Server(pulumi.CustomResource):
1636
1575
  __props__.__dict__["type"] = type
1637
1576
  __props__.__dict__["user_data"] = user_data
1638
1577
  __props__.__dict__["zone"] = zone
1639
- __props__.__dict__["ipv6_address"] = None
1640
- __props__.__dict__["ipv6_gateway"] = None
1641
- __props__.__dict__["ipv6_prefix_length"] = None
1642
1578
  __props__.__dict__["organization_id"] = None
1643
1579
  __props__.__dict__["placement_group_policy_respected"] = None
1644
- __props__.__dict__["private_ip"] = None
1645
- __props__.__dict__["public_ip"] = None
1646
1580
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instanceServer:InstanceServer")])
1647
1581
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
1648
1582
  super(Server, __self__).__init__(
@@ -1661,23 +1595,18 @@ class Server(pulumi.CustomResource):
1661
1595
  bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1662
1596
  cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1663
1597
  enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1664
- enable_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
1598
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1665
1599
  image: Optional[pulumi.Input[_builtins.str]] = None,
1666
1600
  ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1667
1601
  ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1668
- ipv6_address: Optional[pulumi.Input[_builtins.str]] = None,
1669
- ipv6_gateway: Optional[pulumi.Input[_builtins.str]] = None,
1670
- ipv6_prefix_length: Optional[pulumi.Input[_builtins.int]] = None,
1671
1602
  name: Optional[pulumi.Input[_builtins.str]] = None,
1672
1603
  organization_id: Optional[pulumi.Input[_builtins.str]] = None,
1673
1604
  placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1674
1605
  placement_group_policy_respected: Optional[pulumi.Input[_builtins.bool]] = None,
1675
- private_ip: Optional[pulumi.Input[_builtins.str]] = None,
1676
1606
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1677
1607
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1678
1608
  project_id: Optional[pulumi.Input[_builtins.str]] = None,
1679
1609
  protected: Optional[pulumi.Input[_builtins.bool]] = None,
1680
- public_ip: Optional[pulumi.Input[_builtins.str]] = None,
1681
1610
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1682
1611
  replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
1683
1612
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
@@ -1707,8 +1636,7 @@ class Server(pulumi.CustomResource):
1707
1636
  :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1708
1637
  :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
1709
1638
  :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1710
- :param pulumi.Input[_builtins.bool] enable_ipv6: Determines if IPv6 is enabled for the server.
1711
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1639
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]] filesystems: List of filesystems attached to the server.
1712
1640
  :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1713
1641
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
1714
1642
 
@@ -1719,26 +1647,18 @@ class Server(pulumi.CustomResource):
1719
1647
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1720
1648
 
1721
1649
  > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
1722
- :param pulumi.Input[_builtins.str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1723
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1724
- :param pulumi.Input[_builtins.str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1725
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1726
- :param pulumi.Input[_builtins.int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1727
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1728
1650
  :param pulumi.Input[_builtins.str] name: The name of the server.
1729
1651
  :param pulumi.Input[_builtins.str] organization_id: The organization ID the server is associated with.
1730
1652
  :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
1731
1653
 
1732
1654
 
1733
1655
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1734
- :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1735
- :param pulumi.Input[_builtins.str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1656
+ :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
1736
1657
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1737
1658
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1738
1659
  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.
1739
1660
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
1740
1661
  :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
1741
- :param pulumi.Input[_builtins.str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
1742
1662
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1743
1663
  :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1744
1664
  :param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
@@ -1769,23 +1689,18 @@ class Server(pulumi.CustomResource):
1769
1689
  __props__.__dict__["bootscript_id"] = bootscript_id
1770
1690
  __props__.__dict__["cloud_init"] = cloud_init
1771
1691
  __props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
1772
- __props__.__dict__["enable_ipv6"] = enable_ipv6
1692
+ __props__.__dict__["filesystems"] = filesystems
1773
1693
  __props__.__dict__["image"] = image
1774
1694
  __props__.__dict__["ip_id"] = ip_id
1775
1695
  __props__.__dict__["ip_ids"] = ip_ids
1776
- __props__.__dict__["ipv6_address"] = ipv6_address
1777
- __props__.__dict__["ipv6_gateway"] = ipv6_gateway
1778
- __props__.__dict__["ipv6_prefix_length"] = ipv6_prefix_length
1779
1696
  __props__.__dict__["name"] = name
1780
1697
  __props__.__dict__["organization_id"] = organization_id
1781
1698
  __props__.__dict__["placement_group_id"] = placement_group_id
1782
1699
  __props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
1783
- __props__.__dict__["private_ip"] = private_ip
1784
1700
  __props__.__dict__["private_ips"] = private_ips
1785
1701
  __props__.__dict__["private_networks"] = private_networks
1786
1702
  __props__.__dict__["project_id"] = project_id
1787
1703
  __props__.__dict__["protected"] = protected
1788
- __props__.__dict__["public_ip"] = public_ip
1789
1704
  __props__.__dict__["public_ips"] = public_ips
1790
1705
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
1791
1706
  __props__.__dict__["root_volume"] = root_volume
@@ -1854,14 +1769,12 @@ class Server(pulumi.CustomResource):
1854
1769
  return pulumi.get(self, "enable_dynamic_ip")
1855
1770
 
1856
1771
  @_builtins.property
1857
- @pulumi.getter(name="enableIpv6")
1858
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1859
- def enable_ipv6(self) -> pulumi.Output[Optional[_builtins.bool]]:
1772
+ @pulumi.getter
1773
+ def filesystems(self) -> pulumi.Output[Sequence['outputs.ServerFilesystem']]:
1860
1774
  """
1861
- Determines if IPv6 is enabled for the server.
1862
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1775
+ List of filesystems attached to the server.
1863
1776
  """
1864
- return pulumi.get(self, "enable_ipv6")
1777
+ return pulumi.get(self, "filesystems")
1865
1778
 
1866
1779
  @_builtins.property
1867
1780
  @pulumi.getter
@@ -1894,36 +1807,6 @@ class Server(pulumi.CustomResource):
1894
1807
  """
1895
1808
  return pulumi.get(self, "ip_ids")
1896
1809
 
1897
- @_builtins.property
1898
- @pulumi.getter(name="ipv6Address")
1899
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1900
- def ipv6_address(self) -> pulumi.Output[_builtins.str]:
1901
- """
1902
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1903
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1904
- """
1905
- return pulumi.get(self, "ipv6_address")
1906
-
1907
- @_builtins.property
1908
- @pulumi.getter(name="ipv6Gateway")
1909
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1910
- def ipv6_gateway(self) -> pulumi.Output[_builtins.str]:
1911
- """
1912
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1913
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1914
- """
1915
- return pulumi.get(self, "ipv6_gateway")
1916
-
1917
- @_builtins.property
1918
- @pulumi.getter(name="ipv6PrefixLength")
1919
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1920
- def ipv6_prefix_length(self) -> pulumi.Output[_builtins.int]:
1921
- """
1922
- The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1923
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1924
- """
1925
- return pulumi.get(self, "ipv6_prefix_length")
1926
-
1927
1810
  @_builtins.property
1928
1811
  @pulumi.getter
1929
1812
  def name(self) -> pulumi.Output[_builtins.str]:
@@ -1955,19 +1838,10 @@ class Server(pulumi.CustomResource):
1955
1838
  @pulumi.getter(name="placementGroupPolicyRespected")
1956
1839
  def placement_group_policy_respected(self) -> pulumi.Output[_builtins.bool]:
1957
1840
  """
1958
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1841
+ (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
1959
1842
  """
1960
1843
  return pulumi.get(self, "placement_group_policy_respected")
1961
1844
 
1962
- @_builtins.property
1963
- @pulumi.getter(name="privateIp")
1964
- @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
1965
- def private_ip(self) -> pulumi.Output[_builtins.str]:
1966
- """
1967
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1968
- """
1969
- return pulumi.get(self, "private_ip")
1970
-
1971
1845
  @_builtins.property
1972
1846
  @pulumi.getter(name="privateIps")
1973
1847
  def private_ips(self) -> pulumi.Output[Sequence['outputs.ServerPrivateIp']]:
@@ -2001,15 +1875,6 @@ class Server(pulumi.CustomResource):
2001
1875
  """
2002
1876
  return pulumi.get(self, "protected")
2003
1877
 
2004
- @_builtins.property
2005
- @pulumi.getter(name="publicIp")
2006
- @_utilities.deprecated("""Use public_ips instead""")
2007
- def public_ip(self) -> pulumi.Output[_builtins.str]:
2008
- """
2009
- The public IP address of the server (Deprecated use `public_ips` instead).
2010
- """
2011
- return pulumi.get(self, "public_ip")
2012
-
2013
1878
  @_builtins.property
2014
1879
  @pulumi.getter(name="publicIps")
2015
1880
  def public_ips(self) -> pulumi.Output[Sequence['outputs.ServerPublicIp']]: