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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. pulumiverse_scaleway/__init__.py +16 -0
  2. pulumiverse_scaleway/_inputs.py +498 -6
  3. pulumiverse_scaleway/baremetal_server.py +48 -258
  4. pulumiverse_scaleway/database_instance.py +42 -21
  5. pulumiverse_scaleway/databases/_inputs.py +54 -0
  6. pulumiverse_scaleway/databases/get_instance.py +12 -1
  7. pulumiverse_scaleway/databases/instance.py +42 -21
  8. pulumiverse_scaleway/databases/outputs.py +62 -0
  9. pulumiverse_scaleway/databases/snapshot.py +2 -2
  10. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  11. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  12. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  13. pulumiverse_scaleway/elasticmetal/server.py +48 -258
  14. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  15. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  16. pulumiverse_scaleway/get_database_instance.py +12 -1
  17. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  18. pulumiverse_scaleway/get_instance_server.py +12 -1
  19. pulumiverse_scaleway/get_lb_route.py +12 -1
  20. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  21. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  22. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  23. pulumiverse_scaleway/inference/__init__.py +2 -0
  24. pulumiverse_scaleway/inference/_inputs.py +128 -0
  25. pulumiverse_scaleway/inference/deployment.py +70 -55
  26. pulumiverse_scaleway/inference/get_model.py +299 -0
  27. pulumiverse_scaleway/inference/model.py +683 -0
  28. pulumiverse_scaleway/inference/outputs.py +184 -0
  29. pulumiverse_scaleway/inference_deployment.py +70 -55
  30. pulumiverse_scaleway/instance/_inputs.py +108 -0
  31. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  32. pulumiverse_scaleway/instance/get_server.py +12 -1
  33. pulumiverse_scaleway/instance/outputs.py +124 -0
  34. pulumiverse_scaleway/instance/private_nic.py +30 -0
  35. pulumiverse_scaleway/instance/server.py +28 -0
  36. pulumiverse_scaleway/instance_private_nic.py +30 -0
  37. pulumiverse_scaleway/instance_server.py +28 -0
  38. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  39. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  40. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  41. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  42. pulumiverse_scaleway/loadbalancer.py +28 -0
  43. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  44. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  45. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  46. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  47. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  48. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  49. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  50. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  51. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  52. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  53. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  54. pulumiverse_scaleway/network/_inputs.py +54 -0
  55. pulumiverse_scaleway/network/gateway_network.py +28 -0
  56. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  57. pulumiverse_scaleway/network/outputs.py +62 -0
  58. pulumiverse_scaleway/network/route.py +90 -2
  59. pulumiverse_scaleway/observability/get_plan.py +2 -38
  60. pulumiverse_scaleway/outputs.py +574 -5
  61. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  62. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  63. pulumiverse_scaleway/redis/_inputs.py +60 -6
  64. pulumiverse_scaleway/redis/cluster.py +28 -0
  65. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  66. pulumiverse_scaleway/redis/outputs.py +66 -4
  67. pulumiverse_scaleway/redis_cluster.py +28 -0
  68. pulumiverse_scaleway/vpc_gateway_network.py +28 -0
  69. pulumiverse_scaleway/vpc_route.py +90 -2
  70. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
  71. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
  72. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
  73. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -347,6 +347,7 @@ class _ServerState:
347
347
  os_name: Optional[pulumi.Input[str]] = None,
348
348
  partitioning: Optional[pulumi.Input[str]] = None,
349
349
  password: Optional[pulumi.Input[str]] = None,
350
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
350
351
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
351
352
  project_id: Optional[pulumi.Input[str]] = None,
352
353
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -381,6 +382,7 @@ class _ServerState:
381
382
  :param pulumi.Input[str] os_name: The name of the os.
382
383
  :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
383
384
  :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
385
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
384
386
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
385
387
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
386
388
  :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
@@ -426,6 +428,8 @@ class _ServerState:
426
428
  pulumi.set(__self__, "partitioning", partitioning)
427
429
  if password is not None:
428
430
  pulumi.set(__self__, "password", password)
431
+ if private_ips is not None:
432
+ pulumi.set(__self__, "private_ips", private_ips)
429
433
  if private_networks is not None:
430
434
  pulumi.set(__self__, "private_networks", private_networks)
431
435
  if project_id is not None:
@@ -655,6 +659,18 @@ class _ServerState:
655
659
  def password(self, value: Optional[pulumi.Input[str]]):
656
660
  pulumi.set(self, "password", value)
657
661
 
662
+ @property
663
+ @pulumi.getter(name="privateIps")
664
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
665
+ """
666
+ The list of private IPv4 and IPv6 addresses associated with the resource.
667
+ """
668
+ return pulumi.get(self, "private_ips")
669
+
670
+ @private_ips.setter
671
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
672
+ pulumi.set(self, "private_ips", value)
673
+
658
674
  @property
659
675
  @pulumi.getter(name="privateNetworks")
660
676
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
@@ -794,127 +810,6 @@ class Server(pulumi.CustomResource):
794
810
 
795
811
  ## Example Usage
796
812
 
797
- ### Basic
798
-
799
- ```python
800
- import pulumi
801
- import pulumi_scaleway as scaleway
802
- import pulumiverse_scaleway as scaleway
803
-
804
- main = scaleway.iam.get_ssh_key(name="main")
805
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
806
- name="EM-I220E-NVME")
807
- base = scaleway.elasticmetal.Server("base",
808
- zone="fr-par-2",
809
- offer=my_offer.offer_id,
810
- os="d17d6872-0412-45d9-a198-af82c34d3c5c",
811
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
812
- ```
813
-
814
- ### With option
815
-
816
- ```python
817
- import pulumi
818
- import pulumi_scaleway as scaleway
819
- import pulumiverse_scaleway as scaleway
820
-
821
- main = scaleway.iam.get_ssh_key(name="main")
822
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
823
- name="Ubuntu",
824
- version="22.04 LTS (Jammy Jellyfish)")
825
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
826
- name="EM-B112X-SSD")
827
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
828
- name="Private Network")
829
- remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
830
- name="Remote Access")
831
- base = scaleway.elasticmetal.Server("base",
832
- zone="fr-par-2",
833
- offer=my_offer.offer_id,
834
- os=my_os.os_id,
835
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
836
- options=[
837
- {
838
- "id": private_network.option_id,
839
- },
840
- {
841
- "id": remote_access.option_id,
842
- },
843
- ])
844
- ```
845
-
846
- ### With private network
847
-
848
- ```python
849
- import pulumi
850
- import pulumi_scaleway as scaleway
851
- import pulumiverse_scaleway as scaleway
852
-
853
- main = scaleway.iam.get_ssh_key(name="main")
854
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
855
- name="Ubuntu",
856
- version="22.04 LTS (Jammy Jellyfish)")
857
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
858
- name="EM-B112X-SSD")
859
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
860
- name="Private Network")
861
- pn = scaleway.network.PrivateNetwork("pn",
862
- region="fr-par",
863
- name="baremetal_private_network")
864
- base = scaleway.elasticmetal.Server("base",
865
- zone="fr-par-2",
866
- offer=my_offer.offer_id,
867
- os=my_os.os_id,
868
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
869
- options=[{
870
- "id": private_network.option_id,
871
- }],
872
- private_networks=[{
873
- "id": pn.id,
874
- }])
875
- ```
876
-
877
- ### With IPAM IP IDs
878
-
879
- ```python
880
- import pulumi
881
- import pulumi_scaleway as scaleway
882
- import pulumiverse_scaleway as scaleway
883
-
884
- vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
885
- pn01 = scaleway.network.PrivateNetwork("pn01",
886
- name="private_network_baremetal",
887
- ipv4_subnet={
888
- "subnet": "172.16.64.0/22",
889
- },
890
- vpc_id=vpc01.id)
891
- ip01 = scaleway.ipam.Ip("ip01",
892
- address="172.16.64.7",
893
- sources=[{
894
- "private_network_id": pn01.id,
895
- }])
896
- my_key = scaleway.iam.get_ssh_key(name="main")
897
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
898
- name="Ubuntu",
899
- version="22.04 LTS (Jammy Jellyfish)")
900
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
901
- name="EM-A115X-SSD")
902
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
903
- name="Private Network")
904
- base = scaleway.elasticmetal.Server("base",
905
- zone="fr-par-2",
906
- offer=my_offer.offer_id,
907
- os=my_os.os_id,
908
- ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
909
- options=[{
910
- "id": private_network.option_id,
911
- }],
912
- private_networks=[{
913
- "id": pn01.id,
914
- "ipam_ip_ids": [ip01.id],
915
- }])
916
- ```
917
-
918
813
  ### Without install config
919
814
 
920
815
  ```python
@@ -924,7 +819,7 @@ class Server(pulumi.CustomResource):
924
819
 
925
820
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
926
821
  name="EM-B112X-SSD")
927
- base = scaleway.elasticmetal.Server("base",
822
+ my_server = scaleway.elasticmetal.Server("my_server",
928
823
  zone="fr-par-2",
929
824
  offer=my_offer.offer_id,
930
825
  install_config_afterward=True)
@@ -940,16 +835,18 @@ class Server(pulumi.CustomResource):
940
835
  config = pulumi.Config()
941
836
  config_custom_partitioning = config.get("configCustomPartitioning")
942
837
  if config_custom_partitioning is None:
943
- config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
838
+ config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1018839433216,\\"useAllAvailableSpace\\":false}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"boot\\",\\"number\\":1,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"data\\",\\"number\\":2,\\"size\\":1018839433216,\\"useAllAvailableSpace\\":false}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/nvme0n1p2\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/nvme0n1p3\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"},{\\"device\\":\\"/dev/nvme1n1p2\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/data\\"}],\\"raids\\":[]}"
944
839
  my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
945
840
  name="Ubuntu",
946
841
  version="22.04 LTS (Jammy Jellyfish)")
947
- main = scaleway.iam.SshKey("main", name="main")
842
+ my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
843
+ name="my_ssh_key",
844
+ public_key="ssh XXXXXXXXXXX")
948
845
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
949
846
  name="EM-B220E-NVME",
950
847
  subscription_period="hourly")
951
- base = scaleway.elasticmetal.Server("base",
952
- name="%s",
848
+ my_server = scaleway.elasticmetal.Server("my_server",
849
+ name="my_super_server",
953
850
  zone="fr-par-1",
954
851
  description="test a description",
955
852
  offer=my_offer.offer_id,
@@ -960,7 +857,7 @@ class Server(pulumi.CustomResource):
960
857
  "scaleway_baremetal_server",
961
858
  "minimal",
962
859
  ],
963
- ssh_key_ids=[main.id])
860
+ ssh_key_ids=[my_ssh_key.id])
964
861
  ```
965
862
 
966
863
  ### Migrate from hourly to monthly plan
@@ -978,7 +875,7 @@ class Server(pulumi.CustomResource):
978
875
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
979
876
  name="EM-B220E-NVME",
980
877
  subscription_period="hourly")
981
- server01 = scaleway.elasticmetal.Server("server01",
878
+ my_server = scaleway.elasticmetal.Server("my_server",
982
879
  name="UpdateSubscriptionPeriod",
983
880
  offer=my_offer.offer_id,
984
881
  zone="%s",
@@ -995,7 +892,7 @@ class Server(pulumi.CustomResource):
995
892
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
996
893
  name="EM-B220E-NVME",
997
894
  subscription_period="monthly")
998
- server01 = scaleway.elasticmetal.Server("server01",
895
+ my_server = scaleway.elasticmetal.Server("my_server",
999
896
  name="UpdateSubscriptionPeriod",
1000
897
  offer=my_offer.offer_id,
1001
898
  zone="fr-par-1",
@@ -1053,127 +950,6 @@ class Server(pulumi.CustomResource):
1053
950
 
1054
951
  ## Example Usage
1055
952
 
1056
- ### Basic
1057
-
1058
- ```python
1059
- import pulumi
1060
- import pulumi_scaleway as scaleway
1061
- import pulumiverse_scaleway as scaleway
1062
-
1063
- main = scaleway.iam.get_ssh_key(name="main")
1064
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1065
- name="EM-I220E-NVME")
1066
- base = scaleway.elasticmetal.Server("base",
1067
- zone="fr-par-2",
1068
- offer=my_offer.offer_id,
1069
- os="d17d6872-0412-45d9-a198-af82c34d3c5c",
1070
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
1071
- ```
1072
-
1073
- ### With option
1074
-
1075
- ```python
1076
- import pulumi
1077
- import pulumi_scaleway as scaleway
1078
- import pulumiverse_scaleway as scaleway
1079
-
1080
- main = scaleway.iam.get_ssh_key(name="main")
1081
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
1082
- name="Ubuntu",
1083
- version="22.04 LTS (Jammy Jellyfish)")
1084
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1085
- name="EM-B112X-SSD")
1086
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
1087
- name="Private Network")
1088
- remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
1089
- name="Remote Access")
1090
- base = scaleway.elasticmetal.Server("base",
1091
- zone="fr-par-2",
1092
- offer=my_offer.offer_id,
1093
- os=my_os.os_id,
1094
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1095
- options=[
1096
- {
1097
- "id": private_network.option_id,
1098
- },
1099
- {
1100
- "id": remote_access.option_id,
1101
- },
1102
- ])
1103
- ```
1104
-
1105
- ### With private network
1106
-
1107
- ```python
1108
- import pulumi
1109
- import pulumi_scaleway as scaleway
1110
- import pulumiverse_scaleway as scaleway
1111
-
1112
- main = scaleway.iam.get_ssh_key(name="main")
1113
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
1114
- name="Ubuntu",
1115
- version="22.04 LTS (Jammy Jellyfish)")
1116
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1117
- name="EM-B112X-SSD")
1118
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
1119
- name="Private Network")
1120
- pn = scaleway.network.PrivateNetwork("pn",
1121
- region="fr-par",
1122
- name="baremetal_private_network")
1123
- base = scaleway.elasticmetal.Server("base",
1124
- zone="fr-par-2",
1125
- offer=my_offer.offer_id,
1126
- os=my_os.os_id,
1127
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1128
- options=[{
1129
- "id": private_network.option_id,
1130
- }],
1131
- private_networks=[{
1132
- "id": pn.id,
1133
- }])
1134
- ```
1135
-
1136
- ### With IPAM IP IDs
1137
-
1138
- ```python
1139
- import pulumi
1140
- import pulumi_scaleway as scaleway
1141
- import pulumiverse_scaleway as scaleway
1142
-
1143
- vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
1144
- pn01 = scaleway.network.PrivateNetwork("pn01",
1145
- name="private_network_baremetal",
1146
- ipv4_subnet={
1147
- "subnet": "172.16.64.0/22",
1148
- },
1149
- vpc_id=vpc01.id)
1150
- ip01 = scaleway.ipam.Ip("ip01",
1151
- address="172.16.64.7",
1152
- sources=[{
1153
- "private_network_id": pn01.id,
1154
- }])
1155
- my_key = scaleway.iam.get_ssh_key(name="main")
1156
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1157
- name="Ubuntu",
1158
- version="22.04 LTS (Jammy Jellyfish)")
1159
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1160
- name="EM-A115X-SSD")
1161
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
1162
- name="Private Network")
1163
- base = scaleway.elasticmetal.Server("base",
1164
- zone="fr-par-2",
1165
- offer=my_offer.offer_id,
1166
- os=my_os.os_id,
1167
- ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
1168
- options=[{
1169
- "id": private_network.option_id,
1170
- }],
1171
- private_networks=[{
1172
- "id": pn01.id,
1173
- "ipam_ip_ids": [ip01.id],
1174
- }])
1175
- ```
1176
-
1177
953
  ### Without install config
1178
954
 
1179
955
  ```python
@@ -1183,7 +959,7 @@ class Server(pulumi.CustomResource):
1183
959
 
1184
960
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1185
961
  name="EM-B112X-SSD")
1186
- base = scaleway.elasticmetal.Server("base",
962
+ my_server = scaleway.elasticmetal.Server("my_server",
1187
963
  zone="fr-par-2",
1188
964
  offer=my_offer.offer_id,
1189
965
  install_config_afterward=True)
@@ -1199,16 +975,18 @@ class Server(pulumi.CustomResource):
1199
975
  config = pulumi.Config()
1200
976
  config_custom_partitioning = config.get("configCustomPartitioning")
1201
977
  if config_custom_partitioning is None:
1202
- config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
978
+ config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1018839433216,\\"useAllAvailableSpace\\":false}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"boot\\",\\"number\\":1,\\"size\\":536870912,\\"useAllAvailableSpace\\":false},{\\"label\\":\\"data\\",\\"number\\":2,\\"size\\":1018839433216,\\"useAllAvailableSpace\\":false}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/nvme0n1p2\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/nvme0n1p3\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"},{\\"device\\":\\"/dev/nvme1n1p2\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/data\\"}],\\"raids\\":[]}"
1203
979
  my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1204
980
  name="Ubuntu",
1205
981
  version="22.04 LTS (Jammy Jellyfish)")
1206
- main = scaleway.iam.SshKey("main", name="main")
982
+ my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
983
+ name="my_ssh_key",
984
+ public_key="ssh XXXXXXXXXXX")
1207
985
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1208
986
  name="EM-B220E-NVME",
1209
987
  subscription_period="hourly")
1210
- base = scaleway.elasticmetal.Server("base",
1211
- name="%s",
988
+ my_server = scaleway.elasticmetal.Server("my_server",
989
+ name="my_super_server",
1212
990
  zone="fr-par-1",
1213
991
  description="test a description",
1214
992
  offer=my_offer.offer_id,
@@ -1219,7 +997,7 @@ class Server(pulumi.CustomResource):
1219
997
  "scaleway_baremetal_server",
1220
998
  "minimal",
1221
999
  ],
1222
- ssh_key_ids=[main.id])
1000
+ ssh_key_ids=[my_ssh_key.id])
1223
1001
  ```
1224
1002
 
1225
1003
  ### Migrate from hourly to monthly plan
@@ -1237,7 +1015,7 @@ class Server(pulumi.CustomResource):
1237
1015
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1238
1016
  name="EM-B220E-NVME",
1239
1017
  subscription_period="hourly")
1240
- server01 = scaleway.elasticmetal.Server("server01",
1018
+ my_server = scaleway.elasticmetal.Server("my_server",
1241
1019
  name="UpdateSubscriptionPeriod",
1242
1020
  offer=my_offer.offer_id,
1243
1021
  zone="%s",
@@ -1254,7 +1032,7 @@ class Server(pulumi.CustomResource):
1254
1032
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1255
1033
  name="EM-B220E-NVME",
1256
1034
  subscription_period="monthly")
1257
- server01 = scaleway.elasticmetal.Server("server01",
1035
+ my_server = scaleway.elasticmetal.Server("my_server",
1258
1036
  name="UpdateSubscriptionPeriod",
1259
1037
  offer=my_offer.offer_id,
1260
1038
  zone="fr-par-1",
@@ -1343,6 +1121,7 @@ class Server(pulumi.CustomResource):
1343
1121
  __props__.__dict__["offer_name"] = None
1344
1122
  __props__.__dict__["organization_id"] = None
1345
1123
  __props__.__dict__["os_name"] = None
1124
+ __props__.__dict__["private_ips"] = None
1346
1125
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/baremetalServer:BaremetalServer")])
1347
1126
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
1348
1127
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password", "servicePassword"])
@@ -1374,6 +1153,7 @@ class Server(pulumi.CustomResource):
1374
1153
  os_name: Optional[pulumi.Input[str]] = None,
1375
1154
  partitioning: Optional[pulumi.Input[str]] = None,
1376
1155
  password: Optional[pulumi.Input[str]] = None,
1156
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1377
1157
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1378
1158
  project_id: Optional[pulumi.Input[str]] = None,
1379
1159
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -1413,6 +1193,7 @@ class Server(pulumi.CustomResource):
1413
1193
  :param pulumi.Input[str] os_name: The name of the os.
1414
1194
  :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
1415
1195
  :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
1196
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1416
1197
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
1417
1198
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1418
1199
  :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
@@ -1445,6 +1226,7 @@ class Server(pulumi.CustomResource):
1445
1226
  __props__.__dict__["os_name"] = os_name
1446
1227
  __props__.__dict__["partitioning"] = partitioning
1447
1228
  __props__.__dict__["password"] = password
1229
+ __props__.__dict__["private_ips"] = private_ips
1448
1230
  __props__.__dict__["private_networks"] = private_networks
1449
1231
  __props__.__dict__["project_id"] = project_id
1450
1232
  __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
@@ -1598,6 +1380,14 @@ class Server(pulumi.CustomResource):
1598
1380
  """
1599
1381
  return pulumi.get(self, "password")
1600
1382
 
1383
+ @property
1384
+ @pulumi.getter(name="privateIps")
1385
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.ServerPrivateIp']]:
1386
+ """
1387
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1388
+ """
1389
+ return pulumi.get(self, "private_ips")
1390
+
1601
1391
  @property
1602
1392
  @pulumi.getter(name="privateNetworks")
1603
1393
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]:
@@ -29,7 +29,7 @@ class GetBaremetalServerResult:
29
29
  """
30
30
  A collection of values returned by getBaremetalServer.
31
31
  """
32
- def __init__(__self__, description=None, domain=None, hostname=None, id=None, install_config_afterward=None, ips=None, ipv4s=None, ipv6s=None, name=None, offer=None, offer_id=None, offer_name=None, options=None, organization_id=None, os=None, os_name=None, partitioning=None, password=None, private_networks=None, project_id=None, reinstall_on_config_changes=None, server_id=None, service_password=None, service_user=None, ssh_key_ids=None, tags=None, user=None, zone=None):
32
+ def __init__(__self__, description=None, domain=None, hostname=None, id=None, install_config_afterward=None, ips=None, ipv4s=None, ipv6s=None, name=None, offer=None, offer_id=None, offer_name=None, options=None, organization_id=None, os=None, os_name=None, partitioning=None, password=None, private_ips=None, private_networks=None, project_id=None, reinstall_on_config_changes=None, server_id=None, service_password=None, service_user=None, ssh_key_ids=None, tags=None, user=None, zone=None):
33
33
  if description and not isinstance(description, str):
34
34
  raise TypeError("Expected argument 'description' to be a str")
35
35
  pulumi.set(__self__, "description", description)
@@ -84,6 +84,9 @@ class GetBaremetalServerResult:
84
84
  if password and not isinstance(password, str):
85
85
  raise TypeError("Expected argument 'password' to be a str")
86
86
  pulumi.set(__self__, "password", password)
87
+ if private_ips and not isinstance(private_ips, list):
88
+ raise TypeError("Expected argument 'private_ips' to be a list")
89
+ pulumi.set(__self__, "private_ips", private_ips)
87
90
  if private_networks and not isinstance(private_networks, list):
88
91
  raise TypeError("Expected argument 'private_networks' to be a list")
89
92
  pulumi.set(__self__, "private_networks", private_networks)
@@ -208,6 +211,11 @@ class GetBaremetalServerResult:
208
211
  def password(self) -> str:
209
212
  return pulumi.get(self, "password")
210
213
 
214
+ @property
215
+ @pulumi.getter(name="privateIps")
216
+ def private_ips(self) -> Sequence['outputs.GetBaremetalServerPrivateIpResult']:
217
+ return pulumi.get(self, "private_ips")
218
+
211
219
  @property
212
220
  @pulumi.getter(name="privateNetworks")
213
221
  def private_networks(self) -> Sequence['outputs.GetBaremetalServerPrivateNetworkResult']:
@@ -283,6 +291,7 @@ class AwaitableGetBaremetalServerResult(GetBaremetalServerResult):
283
291
  os_name=self.os_name,
284
292
  partitioning=self.partitioning,
285
293
  password=self.password,
294
+ private_ips=self.private_ips,
286
295
  private_networks=self.private_networks,
287
296
  project_id=self.project_id,
288
297
  reinstall_on_config_changes=self.reinstall_on_config_changes,
@@ -350,6 +359,7 @@ def get_baremetal_server(name: Optional[str] = None,
350
359
  os_name=pulumi.get(__ret__, 'os_name'),
351
360
  partitioning=pulumi.get(__ret__, 'partitioning'),
352
361
  password=pulumi.get(__ret__, 'password'),
362
+ private_ips=pulumi.get(__ret__, 'private_ips'),
353
363
  private_networks=pulumi.get(__ret__, 'private_networks'),
354
364
  project_id=pulumi.get(__ret__, 'project_id'),
355
365
  reinstall_on_config_changes=pulumi.get(__ret__, 'reinstall_on_config_changes'),
@@ -414,6 +424,7 @@ def get_baremetal_server_output(name: Optional[pulumi.Input[Optional[str]]] = No
414
424
  os_name=pulumi.get(__response__, 'os_name'),
415
425
  partitioning=pulumi.get(__response__, 'partitioning'),
416
426
  password=pulumi.get(__response__, 'password'),
427
+ private_ips=pulumi.get(__response__, 'private_ips'),
417
428
  private_networks=pulumi.get(__response__, 'private_networks'),
418
429
  project_id=pulumi.get(__response__, 'project_id'),
419
430
  reinstall_on_config_changes=pulumi.get(__response__, 'reinstall_on_config_changes'),
@@ -64,25 +64,7 @@ class AwaitableGetCockpitPlanResult(GetCockpitPlanResult):
64
64
  def get_cockpit_plan(name: Optional[str] = None,
65
65
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCockpitPlanResult:
66
66
  """
67
- The `observability_get_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `observability.Cockpit`.
68
-
69
- Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console.
70
-
71
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
72
-
73
- ## Fetch and associate a pricing plan to a Cockpit
74
-
75
- The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project.
76
-
77
- ```python
78
- import pulumi
79
- import pulumi_scaleway as scaleway
80
- import pulumiverse_scaleway as scaleway
81
-
82
- premium = scaleway.observability.get_plan(name="premium")
83
- main = scaleway.observability.Cockpit("main", plan=premium.id)
84
- ```
85
-
67
+ Use this data source to access information about an existing resource.
86
68
 
87
69
  :param str name: Name of the pricing plan you want to retrieve information about.
88
70
  """
@@ -98,25 +80,7 @@ def get_cockpit_plan(name: Optional[str] = None,
98
80
  def get_cockpit_plan_output(name: Optional[pulumi.Input[str]] = None,
99
81
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCockpitPlanResult]:
100
82
  """
101
- The `observability_get_plan` data source is used to fetch details about a specific Scaleway Cockpit pricing plan. This information can then be used to configure resources like `observability.Cockpit`.
102
-
103
- Find out more about [pricing plans](https://console.scaleway.com/cockpit/plans) in the Scaleway console.
104
-
105
- Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
106
-
107
- ## Fetch and associate a pricing plan to a Cockpit
108
-
109
- The following command shows how to fetch information about the `premium` pricing plan and how to associate it with the Cockpit of your Scaleway default Project.
110
-
111
- ```python
112
- import pulumi
113
- import pulumi_scaleway as scaleway
114
- import pulumiverse_scaleway as scaleway
115
-
116
- premium = scaleway.observability.get_plan(name="premium")
117
- main = scaleway.observability.Cockpit("main", plan=premium.id)
118
- ```
119
-
83
+ Use this data source to access information about an existing resource.
120
84
 
121
85
  :param str name: Name of the pricing plan you want to retrieve information about.
122
86
  """
@@ -29,7 +29,7 @@ class GetDatabaseInstanceResult:
29
29
  """
30
30
  A collection of values returned by getDatabaseInstance.
31
31
  """
32
- def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, user_name=None, volume_size_in_gb=None, volume_type=None):
32
+ def __init__(__self__, backup_same_region=None, backup_schedule_frequency=None, backup_schedule_retention=None, certificate=None, disable_backup=None, encryption_at_rest=None, endpoint_ip=None, endpoint_port=None, engine=None, id=None, init_settings=None, instance_id=None, is_ha_cluster=None, load_balancers=None, logs_policies=None, name=None, node_type=None, organization_id=None, password=None, private_ips=None, private_networks=None, project_id=None, read_replicas=None, region=None, settings=None, snapshot_id=None, tags=None, user_name=None, volume_size_in_gb=None, volume_type=None):
33
33
  if backup_same_region and not isinstance(backup_same_region, bool):
34
34
  raise TypeError("Expected argument 'backup_same_region' to be a bool")
35
35
  pulumi.set(__self__, "backup_same_region", backup_same_region)
@@ -87,6 +87,9 @@ class GetDatabaseInstanceResult:
87
87
  if password and not isinstance(password, str):
88
88
  raise TypeError("Expected argument 'password' to be a str")
89
89
  pulumi.set(__self__, "password", password)
90
+ if private_ips and not isinstance(private_ips, list):
91
+ raise TypeError("Expected argument 'private_ips' to be a list")
92
+ pulumi.set(__self__, "private_ips", private_ips)
90
93
  if private_networks and not isinstance(private_networks, list):
91
94
  raise TypeError("Expected argument 'private_networks' to be a list")
92
95
  pulumi.set(__self__, "private_networks", private_networks)
@@ -216,6 +219,11 @@ class GetDatabaseInstanceResult:
216
219
  def password(self) -> str:
217
220
  return pulumi.get(self, "password")
218
221
 
222
+ @property
223
+ @pulumi.getter(name="privateIps")
224
+ def private_ips(self) -> Sequence['outputs.GetDatabaseInstancePrivateIpResult']:
225
+ return pulumi.get(self, "private_ips")
226
+
219
227
  @property
220
228
  @pulumi.getter(name="privateNetworks")
221
229
  def private_networks(self) -> Sequence['outputs.GetDatabaseInstancePrivateNetworkResult']:
@@ -292,6 +300,7 @@ class AwaitableGetDatabaseInstanceResult(GetDatabaseInstanceResult):
292
300
  node_type=self.node_type,
293
301
  organization_id=self.organization_id,
294
302
  password=self.password,
303
+ private_ips=self.private_ips,
295
304
  private_networks=self.private_networks,
296
305
  project_id=self.project_id,
297
306
  read_replicas=self.read_replicas,
@@ -351,6 +360,7 @@ def get_database_instance(instance_id: Optional[str] = None,
351
360
  node_type=pulumi.get(__ret__, 'node_type'),
352
361
  organization_id=pulumi.get(__ret__, 'organization_id'),
353
362
  password=pulumi.get(__ret__, 'password'),
363
+ private_ips=pulumi.get(__ret__, 'private_ips'),
354
364
  private_networks=pulumi.get(__ret__, 'private_networks'),
355
365
  project_id=pulumi.get(__ret__, 'project_id'),
356
366
  read_replicas=pulumi.get(__ret__, 'read_replicas'),
@@ -407,6 +417,7 @@ def get_database_instance_output(instance_id: Optional[pulumi.Input[Optional[str
407
417
  node_type=pulumi.get(__response__, 'node_type'),
408
418
  organization_id=pulumi.get(__response__, 'organization_id'),
409
419
  password=pulumi.get(__response__, 'password'),
420
+ private_ips=pulumi.get(__response__, 'private_ips'),
410
421
  private_networks=pulumi.get(__response__, 'private_networks'),
411
422
  project_id=pulumi.get(__response__, 'project_id'),
412
423
  read_replicas=pulumi.get(__response__, 'read_replicas'),