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.
- pulumiverse_scaleway/__init__.py +16 -0
- pulumiverse_scaleway/_inputs.py +498 -6
- pulumiverse_scaleway/baremetal_server.py +48 -258
- pulumiverse_scaleway/database_instance.py +42 -21
- pulumiverse_scaleway/databases/_inputs.py +54 -0
- pulumiverse_scaleway/databases/get_instance.py +12 -1
- pulumiverse_scaleway/databases/instance.py +42 -21
- pulumiverse_scaleway/databases/outputs.py +62 -0
- pulumiverse_scaleway/databases/snapshot.py +2 -2
- pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
- pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
- pulumiverse_scaleway/elasticmetal/server.py +48 -258
- pulumiverse_scaleway/get_baremetal_server.py +12 -1
- pulumiverse_scaleway/get_cockpit_plan.py +2 -38
- pulumiverse_scaleway/get_database_instance.py +12 -1
- pulumiverse_scaleway/get_instance_private_nic.py +13 -1
- pulumiverse_scaleway/get_instance_server.py +12 -1
- pulumiverse_scaleway/get_lb_route.py +12 -1
- pulumiverse_scaleway/get_loadbalancer.py +12 -1
- pulumiverse_scaleway/get_redis_cluster.py +12 -1
- pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
- pulumiverse_scaleway/inference/__init__.py +2 -0
- pulumiverse_scaleway/inference/_inputs.py +128 -0
- pulumiverse_scaleway/inference/deployment.py +70 -55
- pulumiverse_scaleway/inference/get_model.py +299 -0
- pulumiverse_scaleway/inference/model.py +683 -0
- pulumiverse_scaleway/inference/outputs.py +184 -0
- pulumiverse_scaleway/inference_deployment.py +70 -55
- pulumiverse_scaleway/instance/_inputs.py +108 -0
- pulumiverse_scaleway/instance/get_private_nic.py +13 -1
- pulumiverse_scaleway/instance/get_server.py +12 -1
- pulumiverse_scaleway/instance/outputs.py +124 -0
- pulumiverse_scaleway/instance/private_nic.py +30 -0
- pulumiverse_scaleway/instance/server.py +28 -0
- pulumiverse_scaleway/instance_private_nic.py +30 -0
- pulumiverse_scaleway/instance_server.py +28 -0
- pulumiverse_scaleway/kubernetes/__init__.py +1 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
- pulumiverse_scaleway/kubernetes/acl.py +446 -0
- pulumiverse_scaleway/kubernetes/outputs.py +195 -1
- pulumiverse_scaleway/loadbalancer.py +28 -0
- pulumiverse_scaleway/loadbalancer_route.py +138 -14
- pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
- pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
- pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
- pulumiverse_scaleway/loadbalancers/route.py +138 -14
- pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
- pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
- pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
- pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
- pulumiverse_scaleway/network/_inputs.py +54 -0
- pulumiverse_scaleway/network/gateway_network.py +28 -0
- pulumiverse_scaleway/network/get_gateway_network.py +12 -1
- pulumiverse_scaleway/network/outputs.py +62 -0
- pulumiverse_scaleway/network/route.py +90 -2
- pulumiverse_scaleway/observability/get_plan.py +2 -38
- pulumiverse_scaleway/outputs.py +574 -5
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +2 -2
- pulumiverse_scaleway/redis/_inputs.py +60 -6
- pulumiverse_scaleway/redis/cluster.py +28 -0
- pulumiverse_scaleway/redis/get_cluster.py +12 -1
- pulumiverse_scaleway/redis/outputs.py +66 -4
- pulumiverse_scaleway/redis_cluster.py +28 -0
- pulumiverse_scaleway/vpc_gateway_network.py +28 -0
- pulumiverse_scaleway/vpc_route.py +90 -2
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
- {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
- {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
|
-
|
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\\":\\"
|
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
|
-
|
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
|
-
|
957
|
-
name="
|
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=[
|
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
|
-
|
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
|
-
|
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
|
-
|
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\\":\\"
|
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
|
-
|
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
|
-
|
1216
|
-
name="
|
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=[
|
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
|
-
|
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
|
-
|
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']]]:
|