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 _BaremetalServerState:
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['BaremetalServerPrivateIpArgs']]]] = None,
350
351
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = 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 _BaremetalServerState:
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['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
384
386
  :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]] 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 _BaremetalServerState:
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 _BaremetalServerState:
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['BaremetalServerPrivateIpArgs']]]]:
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['BaremetalServerPrivateIpArgs']]]]):
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['BaremetalServerPrivateNetworkArgs']]]]:
@@ -799,127 +815,6 @@ class BaremetalServer(pulumi.CustomResource):
799
815
 
800
816
  ## Example Usage
801
817
 
802
- ### Basic
803
-
804
- ```python
805
- import pulumi
806
- import pulumi_scaleway as scaleway
807
- import pulumiverse_scaleway as scaleway
808
-
809
- main = scaleway.iam.get_ssh_key(name="main")
810
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
811
- name="EM-I220E-NVME")
812
- base = scaleway.elasticmetal.Server("base",
813
- zone="fr-par-2",
814
- offer=my_offer.offer_id,
815
- os="d17d6872-0412-45d9-a198-af82c34d3c5c",
816
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
817
- ```
818
-
819
- ### With option
820
-
821
- ```python
822
- import pulumi
823
- import pulumi_scaleway as scaleway
824
- import pulumiverse_scaleway as scaleway
825
-
826
- main = scaleway.iam.get_ssh_key(name="main")
827
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
828
- name="Ubuntu",
829
- version="22.04 LTS (Jammy Jellyfish)")
830
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
831
- name="EM-B112X-SSD")
832
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
833
- name="Private Network")
834
- remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
835
- name="Remote Access")
836
- base = scaleway.elasticmetal.Server("base",
837
- zone="fr-par-2",
838
- offer=my_offer.offer_id,
839
- os=my_os.os_id,
840
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
841
- options=[
842
- {
843
- "id": private_network.option_id,
844
- },
845
- {
846
- "id": remote_access.option_id,
847
- },
848
- ])
849
- ```
850
-
851
- ### With private network
852
-
853
- ```python
854
- import pulumi
855
- import pulumi_scaleway as scaleway
856
- import pulumiverse_scaleway as scaleway
857
-
858
- main = scaleway.iam.get_ssh_key(name="main")
859
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
860
- name="Ubuntu",
861
- version="22.04 LTS (Jammy Jellyfish)")
862
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
863
- name="EM-B112X-SSD")
864
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
865
- name="Private Network")
866
- pn = scaleway.network.PrivateNetwork("pn",
867
- region="fr-par",
868
- name="baremetal_private_network")
869
- base = scaleway.elasticmetal.Server("base",
870
- zone="fr-par-2",
871
- offer=my_offer.offer_id,
872
- os=my_os.os_id,
873
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
874
- options=[{
875
- "id": private_network.option_id,
876
- }],
877
- private_networks=[{
878
- "id": pn.id,
879
- }])
880
- ```
881
-
882
- ### With IPAM IP IDs
883
-
884
- ```python
885
- import pulumi
886
- import pulumi_scaleway as scaleway
887
- import pulumiverse_scaleway as scaleway
888
-
889
- vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
890
- pn01 = scaleway.network.PrivateNetwork("pn01",
891
- name="private_network_baremetal",
892
- ipv4_subnet={
893
- "subnet": "172.16.64.0/22",
894
- },
895
- vpc_id=vpc01.id)
896
- ip01 = scaleway.ipam.Ip("ip01",
897
- address="172.16.64.7",
898
- sources=[{
899
- "private_network_id": pn01.id,
900
- }])
901
- my_key = scaleway.iam.get_ssh_key(name="main")
902
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
903
- name="Ubuntu",
904
- version="22.04 LTS (Jammy Jellyfish)")
905
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
906
- name="EM-A115X-SSD")
907
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
908
- name="Private Network")
909
- base = scaleway.elasticmetal.Server("base",
910
- zone="fr-par-2",
911
- offer=my_offer.offer_id,
912
- os=my_os.os_id,
913
- ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
914
- options=[{
915
- "id": private_network.option_id,
916
- }],
917
- private_networks=[{
918
- "id": pn01.id,
919
- "ipam_ip_ids": [ip01.id],
920
- }])
921
- ```
922
-
923
818
  ### Without install config
924
819
 
925
820
  ```python
@@ -929,7 +824,7 @@ class BaremetalServer(pulumi.CustomResource):
929
824
 
930
825
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
931
826
  name="EM-B112X-SSD")
932
- base = scaleway.elasticmetal.Server("base",
827
+ my_server = scaleway.elasticmetal.Server("my_server",
933
828
  zone="fr-par-2",
934
829
  offer=my_offer.offer_id,
935
830
  install_config_afterward=True)
@@ -945,16 +840,18 @@ class BaremetalServer(pulumi.CustomResource):
945
840
  config = pulumi.Config()
946
841
  config_custom_partitioning = config.get("configCustomPartitioning")
947
842
  if config_custom_partitioning is None:
948
- 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\\":[]}}"
843
+ 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\\":[]}"
949
844
  my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
950
845
  name="Ubuntu",
951
846
  version="22.04 LTS (Jammy Jellyfish)")
952
- main = scaleway.iam.SshKey("main", name="main")
847
+ my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
848
+ name="my_ssh_key",
849
+ public_key="ssh XXXXXXXXXXX")
953
850
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
954
851
  name="EM-B220E-NVME",
955
852
  subscription_period="hourly")
956
- base = scaleway.elasticmetal.Server("base",
957
- name="%s",
853
+ my_server = scaleway.elasticmetal.Server("my_server",
854
+ name="my_super_server",
958
855
  zone="fr-par-1",
959
856
  description="test a description",
960
857
  offer=my_offer.offer_id,
@@ -965,7 +862,7 @@ class BaremetalServer(pulumi.CustomResource):
965
862
  "scaleway_baremetal_server",
966
863
  "minimal",
967
864
  ],
968
- ssh_key_ids=[main.id])
865
+ ssh_key_ids=[my_ssh_key.id])
969
866
  ```
970
867
 
971
868
  ### Migrate from hourly to monthly plan
@@ -983,7 +880,7 @@ class BaremetalServer(pulumi.CustomResource):
983
880
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
984
881
  name="EM-B220E-NVME",
985
882
  subscription_period="hourly")
986
- server01 = scaleway.elasticmetal.Server("server01",
883
+ my_server = scaleway.elasticmetal.Server("my_server",
987
884
  name="UpdateSubscriptionPeriod",
988
885
  offer=my_offer.offer_id,
989
886
  zone="%s",
@@ -1000,7 +897,7 @@ class BaremetalServer(pulumi.CustomResource):
1000
897
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1001
898
  name="EM-B220E-NVME",
1002
899
  subscription_period="monthly")
1003
- server01 = scaleway.elasticmetal.Server("server01",
900
+ my_server = scaleway.elasticmetal.Server("my_server",
1004
901
  name="UpdateSubscriptionPeriod",
1005
902
  offer=my_offer.offer_id,
1006
903
  zone="fr-par-1",
@@ -1058,127 +955,6 @@ class BaremetalServer(pulumi.CustomResource):
1058
955
 
1059
956
  ## Example Usage
1060
957
 
1061
- ### Basic
1062
-
1063
- ```python
1064
- import pulumi
1065
- import pulumi_scaleway as scaleway
1066
- import pulumiverse_scaleway as scaleway
1067
-
1068
- main = scaleway.iam.get_ssh_key(name="main")
1069
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1070
- name="EM-I220E-NVME")
1071
- base = scaleway.elasticmetal.Server("base",
1072
- zone="fr-par-2",
1073
- offer=my_offer.offer_id,
1074
- os="d17d6872-0412-45d9-a198-af82c34d3c5c",
1075
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
1076
- ```
1077
-
1078
- ### With option
1079
-
1080
- ```python
1081
- import pulumi
1082
- import pulumi_scaleway as scaleway
1083
- import pulumiverse_scaleway as scaleway
1084
-
1085
- main = scaleway.iam.get_ssh_key(name="main")
1086
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
1087
- name="Ubuntu",
1088
- version="22.04 LTS (Jammy Jellyfish)")
1089
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1090
- name="EM-B112X-SSD")
1091
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
1092
- name="Private Network")
1093
- remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
1094
- name="Remote Access")
1095
- base = scaleway.elasticmetal.Server("base",
1096
- zone="fr-par-2",
1097
- offer=my_offer.offer_id,
1098
- os=my_os.os_id,
1099
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1100
- options=[
1101
- {
1102
- "id": private_network.option_id,
1103
- },
1104
- {
1105
- "id": remote_access.option_id,
1106
- },
1107
- ])
1108
- ```
1109
-
1110
- ### With private network
1111
-
1112
- ```python
1113
- import pulumi
1114
- import pulumi_scaleway as scaleway
1115
- import pulumiverse_scaleway as scaleway
1116
-
1117
- main = scaleway.iam.get_ssh_key(name="main")
1118
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
1119
- name="Ubuntu",
1120
- version="22.04 LTS (Jammy Jellyfish)")
1121
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1122
- name="EM-B112X-SSD")
1123
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
1124
- name="Private Network")
1125
- pn = scaleway.network.PrivateNetwork("pn",
1126
- region="fr-par",
1127
- name="baremetal_private_network")
1128
- base = scaleway.elasticmetal.Server("base",
1129
- zone="fr-par-2",
1130
- offer=my_offer.offer_id,
1131
- os=my_os.os_id,
1132
- ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
1133
- options=[{
1134
- "id": private_network.option_id,
1135
- }],
1136
- private_networks=[{
1137
- "id": pn.id,
1138
- }])
1139
- ```
1140
-
1141
- ### With IPAM IP IDs
1142
-
1143
- ```python
1144
- import pulumi
1145
- import pulumi_scaleway as scaleway
1146
- import pulumiverse_scaleway as scaleway
1147
-
1148
- vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
1149
- pn01 = scaleway.network.PrivateNetwork("pn01",
1150
- name="private_network_baremetal",
1151
- ipv4_subnet={
1152
- "subnet": "172.16.64.0/22",
1153
- },
1154
- vpc_id=vpc01.id)
1155
- ip01 = scaleway.ipam.Ip("ip01",
1156
- address="172.16.64.7",
1157
- sources=[{
1158
- "private_network_id": pn01.id,
1159
- }])
1160
- my_key = scaleway.iam.get_ssh_key(name="main")
1161
- my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1162
- name="Ubuntu",
1163
- version="22.04 LTS (Jammy Jellyfish)")
1164
- my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1165
- name="EM-A115X-SSD")
1166
- private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
1167
- name="Private Network")
1168
- base = scaleway.elasticmetal.Server("base",
1169
- zone="fr-par-2",
1170
- offer=my_offer.offer_id,
1171
- os=my_os.os_id,
1172
- ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
1173
- options=[{
1174
- "id": private_network.option_id,
1175
- }],
1176
- private_networks=[{
1177
- "id": pn01.id,
1178
- "ipam_ip_ids": [ip01.id],
1179
- }])
1180
- ```
1181
-
1182
958
  ### Without install config
1183
959
 
1184
960
  ```python
@@ -1188,7 +964,7 @@ class BaremetalServer(pulumi.CustomResource):
1188
964
 
1189
965
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
1190
966
  name="EM-B112X-SSD")
1191
- base = scaleway.elasticmetal.Server("base",
967
+ my_server = scaleway.elasticmetal.Server("my_server",
1192
968
  zone="fr-par-2",
1193
969
  offer=my_offer.offer_id,
1194
970
  install_config_afterward=True)
@@ -1204,16 +980,18 @@ class BaremetalServer(pulumi.CustomResource):
1204
980
  config = pulumi.Config()
1205
981
  config_custom_partitioning = config.get("configCustomPartitioning")
1206
982
  if config_custom_partitioning is None:
1207
- 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\\":[]}}"
983
+ 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\\":[]}"
1208
984
  my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
1209
985
  name="Ubuntu",
1210
986
  version="22.04 LTS (Jammy Jellyfish)")
1211
- main = scaleway.iam.SshKey("main", name="main")
987
+ my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
988
+ name="my_ssh_key",
989
+ public_key="ssh XXXXXXXXXXX")
1212
990
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1213
991
  name="EM-B220E-NVME",
1214
992
  subscription_period="hourly")
1215
- base = scaleway.elasticmetal.Server("base",
1216
- name="%s",
993
+ my_server = scaleway.elasticmetal.Server("my_server",
994
+ name="my_super_server",
1217
995
  zone="fr-par-1",
1218
996
  description="test a description",
1219
997
  offer=my_offer.offer_id,
@@ -1224,7 +1002,7 @@ class BaremetalServer(pulumi.CustomResource):
1224
1002
  "scaleway_baremetal_server",
1225
1003
  "minimal",
1226
1004
  ],
1227
- ssh_key_ids=[main.id])
1005
+ ssh_key_ids=[my_ssh_key.id])
1228
1006
  ```
1229
1007
 
1230
1008
  ### Migrate from hourly to monthly plan
@@ -1242,7 +1020,7 @@ class BaremetalServer(pulumi.CustomResource):
1242
1020
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1243
1021
  name="EM-B220E-NVME",
1244
1022
  subscription_period="hourly")
1245
- server01 = scaleway.elasticmetal.Server("server01",
1023
+ my_server = scaleway.elasticmetal.Server("my_server",
1246
1024
  name="UpdateSubscriptionPeriod",
1247
1025
  offer=my_offer.offer_id,
1248
1026
  zone="%s",
@@ -1259,7 +1037,7 @@ class BaremetalServer(pulumi.CustomResource):
1259
1037
  my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1260
1038
  name="EM-B220E-NVME",
1261
1039
  subscription_period="monthly")
1262
- server01 = scaleway.elasticmetal.Server("server01",
1040
+ my_server = scaleway.elasticmetal.Server("my_server",
1263
1041
  name="UpdateSubscriptionPeriod",
1264
1042
  offer=my_offer.offer_id,
1265
1043
  zone="fr-par-1",
@@ -1349,6 +1127,7 @@ class BaremetalServer(pulumi.CustomResource):
1349
1127
  __props__.__dict__["offer_name"] = None
1350
1128
  __props__.__dict__["organization_id"] = None
1351
1129
  __props__.__dict__["os_name"] = None
1130
+ __props__.__dict__["private_ips"] = None
1352
1131
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password", "servicePassword"])
1353
1132
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1354
1133
  super(BaremetalServer, __self__).__init__(
@@ -1378,6 +1157,7 @@ class BaremetalServer(pulumi.CustomResource):
1378
1157
  os_name: Optional[pulumi.Input[str]] = None,
1379
1158
  partitioning: Optional[pulumi.Input[str]] = None,
1380
1159
  password: Optional[pulumi.Input[str]] = None,
1160
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
1381
1161
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1382
1162
  project_id: Optional[pulumi.Input[str]] = None,
1383
1163
  reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
@@ -1417,6 +1197,7 @@ class BaremetalServer(pulumi.CustomResource):
1417
1197
  :param pulumi.Input[str] os_name: The name of the os.
1418
1198
  :param pulumi.Input[str] partitioning: The partitioning schema in JSON format
1419
1199
  :param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
1200
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1420
1201
  :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]] 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/)
1421
1202
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1422
1203
  :param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
@@ -1449,6 +1230,7 @@ class BaremetalServer(pulumi.CustomResource):
1449
1230
  __props__.__dict__["os_name"] = os_name
1450
1231
  __props__.__dict__["partitioning"] = partitioning
1451
1232
  __props__.__dict__["password"] = password
1233
+ __props__.__dict__["private_ips"] = private_ips
1452
1234
  __props__.__dict__["private_networks"] = private_networks
1453
1235
  __props__.__dict__["project_id"] = project_id
1454
1236
  __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
@@ -1602,6 +1384,14 @@ class BaremetalServer(pulumi.CustomResource):
1602
1384
  """
1603
1385
  return pulumi.get(self, "password")
1604
1386
 
1387
+ @property
1388
+ @pulumi.getter(name="privateIps")
1389
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.BaremetalServerPrivateIp']]:
1390
+ """
1391
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1392
+ """
1393
+ return pulumi.get(self, "private_ips")
1394
+
1605
1395
  @property
1606
1396
  @pulumi.getter(name="privateNetworks")
1607
1397
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.BaremetalServerPrivateNetwork']]]: