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