pulumiverse-scaleway 1.28.0a1747119212__py3-none-any.whl → 1.29.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 -1
- pulumiverse_scaleway/_inputs.py +604 -6
- pulumiverse_scaleway/account/__init__.py +2 -0
- pulumiverse_scaleway/account/get_projects.py +235 -0
- pulumiverse_scaleway/account/outputs.py +95 -0
- pulumiverse_scaleway/baremetal_server.py +67 -258
- pulumiverse_scaleway/block/__init__.py +2 -0
- pulumiverse_scaleway/block/_inputs.py +73 -0
- pulumiverse_scaleway/block/get_snapshot.py +13 -1
- pulumiverse_scaleway/block/outputs.py +79 -0
- pulumiverse_scaleway/block/snapshot.py +62 -14
- pulumiverse_scaleway/block_snapshot.py +62 -14
- pulumiverse_scaleway/container.py +2 -2
- pulumiverse_scaleway/containers/container.py +2 -2
- pulumiverse_scaleway/database_instance.py +61 -21
- pulumiverse_scaleway/databases/_inputs.py +54 -0
- pulumiverse_scaleway/databases/get_instance.py +12 -1
- pulumiverse_scaleway/databases/instance.py +61 -21
- pulumiverse_scaleway/databases/outputs.py +62 -0
- pulumiverse_scaleway/databases/snapshot.py +2 -2
- pulumiverse_scaleway/domain/get_zone.py +7 -1
- pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
- pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
- pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
- pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
- pulumiverse_scaleway/elasticmetal/server.py +67 -258
- pulumiverse_scaleway/get_baremetal_server.py +12 -1
- pulumiverse_scaleway/get_block_snapshot.py +13 -1
- pulumiverse_scaleway/get_cockpit_plan.py +2 -38
- pulumiverse_scaleway/get_database_instance.py +12 -1
- pulumiverse_scaleway/get_domain_zone.py +7 -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_mongo_db_instance.py +12 -1
- pulumiverse_scaleway/get_redis_cluster.py +12 -1
- pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
- pulumiverse_scaleway/iam/user.py +468 -14
- pulumiverse_scaleway/iam_user.py +468 -14
- 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 +49 -0
- pulumiverse_scaleway/instance/server.py +47 -0
- pulumiverse_scaleway/instance/snapshot.py +28 -7
- pulumiverse_scaleway/instance/volume.py +28 -7
- pulumiverse_scaleway/instance_private_nic.py +49 -0
- pulumiverse_scaleway/instance_server.py +47 -0
- pulumiverse_scaleway/instance_snapshot.py +28 -7
- pulumiverse_scaleway/instance_volume.py +28 -7
- 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/mongo_db_instance.py +107 -7
- pulumiverse_scaleway/mongodb/_inputs.py +54 -0
- pulumiverse_scaleway/mongodb/get_instance.py +12 -1
- pulumiverse_scaleway/mongodb/instance.py +107 -7
- pulumiverse_scaleway/mongodb/outputs.py +62 -0
- pulumiverse_scaleway/network/_inputs.py +54 -0
- pulumiverse_scaleway/network/gateway_network.py +47 -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/__init__.py +0 -1
- pulumiverse_scaleway/observability/get_plan.py +2 -38
- pulumiverse_scaleway/outputs.py +718 -27
- 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 +47 -0
- pulumiverse_scaleway/redis/get_cluster.py +12 -1
- pulumiverse_scaleway/redis/outputs.py +66 -4
- pulumiverse_scaleway/redis_cluster.py +47 -0
- pulumiverse_scaleway/vpc_gateway_network.py +47 -0
- pulumiverse_scaleway/vpc_route.py +90 -2
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
- {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -30,6 +30,7 @@ class BaremetalServerArgs:
|
|
30
30
|
os: Optional[pulumi.Input[str]] = None,
|
31
31
|
partitioning: Optional[pulumi.Input[str]] = None,
|
32
32
|
password: Optional[pulumi.Input[str]] = None,
|
33
|
+
private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]] = None,
|
33
34
|
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
|
34
35
|
project_id: Optional[pulumi.Input[str]] = None,
|
35
36
|
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
@@ -56,6 +57,7 @@ class BaremetalServerArgs:
|
|
56
57
|
> **Important:** Updates to `os` will reinstall the server.
|
57
58
|
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
58
59
|
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
60
|
+
:param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
|
59
61
|
: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/)
|
60
62
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
61
63
|
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
@@ -84,6 +86,8 @@ class BaremetalServerArgs:
|
|
84
86
|
pulumi.set(__self__, "partitioning", partitioning)
|
85
87
|
if password is not None:
|
86
88
|
pulumi.set(__self__, "password", password)
|
89
|
+
if private_ips is not None:
|
90
|
+
pulumi.set(__self__, "private_ips", private_ips)
|
87
91
|
if private_networks is not None:
|
88
92
|
pulumi.set(__self__, "private_networks", private_networks)
|
89
93
|
if project_id is not None:
|
@@ -217,6 +221,18 @@ class BaremetalServerArgs:
|
|
217
221
|
def password(self, value: Optional[pulumi.Input[str]]):
|
218
222
|
pulumi.set(self, "password", value)
|
219
223
|
|
224
|
+
@property
|
225
|
+
@pulumi.getter(name="privateIps")
|
226
|
+
def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]:
|
227
|
+
"""
|
228
|
+
The list of private IPv4 and IPv6 addresses associated with the resource.
|
229
|
+
"""
|
230
|
+
return pulumi.get(self, "private_ips")
|
231
|
+
|
232
|
+
@private_ips.setter
|
233
|
+
def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]):
|
234
|
+
pulumi.set(self, "private_ips", value)
|
235
|
+
|
220
236
|
@property
|
221
237
|
@pulumi.getter(name="privateNetworks")
|
222
238
|
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]:
|
@@ -347,6 +363,7 @@ class _BaremetalServerState:
|
|
347
363
|
os_name: Optional[pulumi.Input[str]] = None,
|
348
364
|
partitioning: Optional[pulumi.Input[str]] = None,
|
349
365
|
password: Optional[pulumi.Input[str]] = None,
|
366
|
+
private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]] = None,
|
350
367
|
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
|
351
368
|
project_id: Optional[pulumi.Input[str]] = None,
|
352
369
|
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
@@ -381,6 +398,7 @@ class _BaremetalServerState:
|
|
381
398
|
:param pulumi.Input[str] os_name: The name of the os.
|
382
399
|
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
383
400
|
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
401
|
+
:param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
|
384
402
|
: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
403
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
386
404
|
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
@@ -426,6 +444,8 @@ class _BaremetalServerState:
|
|
426
444
|
pulumi.set(__self__, "partitioning", partitioning)
|
427
445
|
if password is not None:
|
428
446
|
pulumi.set(__self__, "password", password)
|
447
|
+
if private_ips is not None:
|
448
|
+
pulumi.set(__self__, "private_ips", private_ips)
|
429
449
|
if private_networks is not None:
|
430
450
|
pulumi.set(__self__, "private_networks", private_networks)
|
431
451
|
if project_id is not None:
|
@@ -655,6 +675,18 @@ class _BaremetalServerState:
|
|
655
675
|
def password(self, value: Optional[pulumi.Input[str]]):
|
656
676
|
pulumi.set(self, "password", value)
|
657
677
|
|
678
|
+
@property
|
679
|
+
@pulumi.getter(name="privateIps")
|
680
|
+
def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]:
|
681
|
+
"""
|
682
|
+
The list of private IPv4 and IPv6 addresses associated with the resource.
|
683
|
+
"""
|
684
|
+
return pulumi.get(self, "private_ips")
|
685
|
+
|
686
|
+
@private_ips.setter
|
687
|
+
def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]]):
|
688
|
+
pulumi.set(self, "private_ips", value)
|
689
|
+
|
658
690
|
@property
|
659
691
|
@pulumi.getter(name="privateNetworks")
|
660
692
|
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]]:
|
@@ -784,6 +816,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
784
816
|
os: Optional[pulumi.Input[str]] = None,
|
785
817
|
partitioning: Optional[pulumi.Input[str]] = None,
|
786
818
|
password: Optional[pulumi.Input[str]] = None,
|
819
|
+
private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
|
787
820
|
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
|
788
821
|
project_id: Optional[pulumi.Input[str]] = None,
|
789
822
|
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
@@ -799,127 +832,6 @@ class BaremetalServer(pulumi.CustomResource):
|
|
799
832
|
|
800
833
|
## Example Usage
|
801
834
|
|
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
835
|
### Without install config
|
924
836
|
|
925
837
|
```python
|
@@ -929,7 +841,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
929
841
|
|
930
842
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
931
843
|
name="EM-B112X-SSD")
|
932
|
-
|
844
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
933
845
|
zone="fr-par-2",
|
934
846
|
offer=my_offer.offer_id,
|
935
847
|
install_config_afterward=True)
|
@@ -945,16 +857,18 @@ class BaremetalServer(pulumi.CustomResource):
|
|
945
857
|
config = pulumi.Config()
|
946
858
|
config_custom_partitioning = config.get("configCustomPartitioning")
|
947
859
|
if config_custom_partitioning is None:
|
948
|
-
config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"
|
860
|
+
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
861
|
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
950
862
|
name="Ubuntu",
|
951
863
|
version="22.04 LTS (Jammy Jellyfish)")
|
952
|
-
|
864
|
+
my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
|
865
|
+
name="my_ssh_key",
|
866
|
+
public_key="ssh XXXXXXXXXXX")
|
953
867
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
954
868
|
name="EM-B220E-NVME",
|
955
869
|
subscription_period="hourly")
|
956
|
-
|
957
|
-
name="
|
870
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
871
|
+
name="my_super_server",
|
958
872
|
zone="fr-par-1",
|
959
873
|
description="test a description",
|
960
874
|
offer=my_offer.offer_id,
|
@@ -965,7 +879,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
965
879
|
"scaleway_baremetal_server",
|
966
880
|
"minimal",
|
967
881
|
],
|
968
|
-
ssh_key_ids=[
|
882
|
+
ssh_key_ids=[my_ssh_key.id])
|
969
883
|
```
|
970
884
|
|
971
885
|
### Migrate from hourly to monthly plan
|
@@ -983,7 +897,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
983
897
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
984
898
|
name="EM-B220E-NVME",
|
985
899
|
subscription_period="hourly")
|
986
|
-
|
900
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
987
901
|
name="UpdateSubscriptionPeriod",
|
988
902
|
offer=my_offer.offer_id,
|
989
903
|
zone="%s",
|
@@ -1000,7 +914,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1000
914
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1001
915
|
name="EM-B220E-NVME",
|
1002
916
|
subscription_period="monthly")
|
1003
|
-
|
917
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
1004
918
|
name="UpdateSubscriptionPeriod",
|
1005
919
|
offer=my_offer.offer_id,
|
1006
920
|
zone="fr-par-1",
|
@@ -1036,6 +950,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1036
950
|
> **Important:** Updates to `os` will reinstall the server.
|
1037
951
|
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
1038
952
|
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
953
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
|
1039
954
|
: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/)
|
1040
955
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
1041
956
|
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
@@ -1058,127 +973,6 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1058
973
|
|
1059
974
|
## Example Usage
|
1060
975
|
|
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
976
|
### Without install config
|
1183
977
|
|
1184
978
|
```python
|
@@ -1188,7 +982,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1188
982
|
|
1189
983
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
1190
984
|
name="EM-B112X-SSD")
|
1191
|
-
|
985
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
1192
986
|
zone="fr-par-2",
|
1193
987
|
offer=my_offer.offer_id,
|
1194
988
|
install_config_afterward=True)
|
@@ -1204,16 +998,18 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1204
998
|
config = pulumi.Config()
|
1205
999
|
config_custom_partitioning = config.get("configCustomPartitioning")
|
1206
1000
|
if config_custom_partitioning is None:
|
1207
|
-
config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"
|
1001
|
+
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
1002
|
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
1209
1003
|
name="Ubuntu",
|
1210
1004
|
version="22.04 LTS (Jammy Jellyfish)")
|
1211
|
-
|
1005
|
+
my_ssh_key = scaleway.iam.SshKey("my_ssh_key",
|
1006
|
+
name="my_ssh_key",
|
1007
|
+
public_key="ssh XXXXXXXXXXX")
|
1212
1008
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1213
1009
|
name="EM-B220E-NVME",
|
1214
1010
|
subscription_period="hourly")
|
1215
|
-
|
1216
|
-
name="
|
1011
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
1012
|
+
name="my_super_server",
|
1217
1013
|
zone="fr-par-1",
|
1218
1014
|
description="test a description",
|
1219
1015
|
offer=my_offer.offer_id,
|
@@ -1224,7 +1020,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1224
1020
|
"scaleway_baremetal_server",
|
1225
1021
|
"minimal",
|
1226
1022
|
],
|
1227
|
-
ssh_key_ids=[
|
1023
|
+
ssh_key_ids=[my_ssh_key.id])
|
1228
1024
|
```
|
1229
1025
|
|
1230
1026
|
### Migrate from hourly to monthly plan
|
@@ -1242,7 +1038,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1242
1038
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1243
1039
|
name="EM-B220E-NVME",
|
1244
1040
|
subscription_period="hourly")
|
1245
|
-
|
1041
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
1246
1042
|
name="UpdateSubscriptionPeriod",
|
1247
1043
|
offer=my_offer.offer_id,
|
1248
1044
|
zone="%s",
|
@@ -1259,7 +1055,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1259
1055
|
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1260
1056
|
name="EM-B220E-NVME",
|
1261
1057
|
subscription_period="monthly")
|
1262
|
-
|
1058
|
+
my_server = scaleway.elasticmetal.Server("my_server",
|
1263
1059
|
name="UpdateSubscriptionPeriod",
|
1264
1060
|
offer=my_offer.offer_id,
|
1265
1061
|
zone="fr-par-1",
|
@@ -1302,6 +1098,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1302
1098
|
os: Optional[pulumi.Input[str]] = None,
|
1303
1099
|
partitioning: Optional[pulumi.Input[str]] = None,
|
1304
1100
|
password: Optional[pulumi.Input[str]] = None,
|
1101
|
+
private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
|
1305
1102
|
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
|
1306
1103
|
project_id: Optional[pulumi.Input[str]] = None,
|
1307
1104
|
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
@@ -1332,6 +1129,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1332
1129
|
__props__.__dict__["os"] = os
|
1333
1130
|
__props__.__dict__["partitioning"] = partitioning
|
1334
1131
|
__props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
|
1132
|
+
__props__.__dict__["private_ips"] = private_ips
|
1335
1133
|
__props__.__dict__["private_networks"] = private_networks
|
1336
1134
|
__props__.__dict__["project_id"] = project_id
|
1337
1135
|
__props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
|
@@ -1378,6 +1176,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1378
1176
|
os_name: Optional[pulumi.Input[str]] = None,
|
1379
1177
|
partitioning: Optional[pulumi.Input[str]] = None,
|
1380
1178
|
password: Optional[pulumi.Input[str]] = None,
|
1179
|
+
private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
|
1381
1180
|
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
|
1382
1181
|
project_id: Optional[pulumi.Input[str]] = None,
|
1383
1182
|
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
@@ -1417,6 +1216,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1417
1216
|
:param pulumi.Input[str] os_name: The name of the os.
|
1418
1217
|
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
1419
1218
|
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
1219
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
|
1420
1220
|
: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
1221
|
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
1422
1222
|
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
@@ -1449,6 +1249,7 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1449
1249
|
__props__.__dict__["os_name"] = os_name
|
1450
1250
|
__props__.__dict__["partitioning"] = partitioning
|
1451
1251
|
__props__.__dict__["password"] = password
|
1252
|
+
__props__.__dict__["private_ips"] = private_ips
|
1452
1253
|
__props__.__dict__["private_networks"] = private_networks
|
1453
1254
|
__props__.__dict__["project_id"] = project_id
|
1454
1255
|
__props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
|
@@ -1602,6 +1403,14 @@ class BaremetalServer(pulumi.CustomResource):
|
|
1602
1403
|
"""
|
1603
1404
|
return pulumi.get(self, "password")
|
1604
1405
|
|
1406
|
+
@property
|
1407
|
+
@pulumi.getter(name="privateIps")
|
1408
|
+
def private_ips(self) -> pulumi.Output[Sequence['outputs.BaremetalServerPrivateIp']]:
|
1409
|
+
"""
|
1410
|
+
The list of private IPv4 and IPv6 addresses associated with the resource.
|
1411
|
+
"""
|
1412
|
+
return pulumi.get(self, "private_ips")
|
1413
|
+
|
1605
1414
|
@property
|
1606
1415
|
@pulumi.getter(name="privateNetworks")
|
1607
1416
|
def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.BaremetalServerPrivateNetwork']]]:
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
|
17
|
+
__all__ = [
|
18
|
+
'SnapshotImportArgs',
|
19
|
+
'SnapshotImportArgsDict',
|
20
|
+
]
|
21
|
+
|
22
|
+
MYPY = False
|
23
|
+
|
24
|
+
if not MYPY:
|
25
|
+
class SnapshotImportArgsDict(TypedDict):
|
26
|
+
bucket: pulumi.Input[str]
|
27
|
+
"""
|
28
|
+
Bucket containing qcow
|
29
|
+
"""
|
30
|
+
key: pulumi.Input[str]
|
31
|
+
"""
|
32
|
+
Key of the qcow file in the specified bucket
|
33
|
+
"""
|
34
|
+
elif False:
|
35
|
+
SnapshotImportArgsDict: TypeAlias = Mapping[str, Any]
|
36
|
+
|
37
|
+
@pulumi.input_type
|
38
|
+
class SnapshotImportArgs:
|
39
|
+
def __init__(__self__, *,
|
40
|
+
bucket: pulumi.Input[str],
|
41
|
+
key: pulumi.Input[str]):
|
42
|
+
"""
|
43
|
+
:param pulumi.Input[str] bucket: Bucket containing qcow
|
44
|
+
:param pulumi.Input[str] key: Key of the qcow file in the specified bucket
|
45
|
+
"""
|
46
|
+
pulumi.set(__self__, "bucket", bucket)
|
47
|
+
pulumi.set(__self__, "key", key)
|
48
|
+
|
49
|
+
@property
|
50
|
+
@pulumi.getter
|
51
|
+
def bucket(self) -> pulumi.Input[str]:
|
52
|
+
"""
|
53
|
+
Bucket containing qcow
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "bucket")
|
56
|
+
|
57
|
+
@bucket.setter
|
58
|
+
def bucket(self, value: pulumi.Input[str]):
|
59
|
+
pulumi.set(self, "bucket", value)
|
60
|
+
|
61
|
+
@property
|
62
|
+
@pulumi.getter
|
63
|
+
def key(self) -> pulumi.Input[str]:
|
64
|
+
"""
|
65
|
+
Key of the qcow file in the specified bucket
|
66
|
+
"""
|
67
|
+
return pulumi.get(self, "key")
|
68
|
+
|
69
|
+
@key.setter
|
70
|
+
def key(self, value: pulumi.Input[str]):
|
71
|
+
pulumi.set(self, "key", value)
|
72
|
+
|
73
|
+
|