pulumiverse-scaleway 1.27.0a1744704297__py3-none-any.whl → 1.27.0a1745249933__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. pulumiverse_scaleway/_inputs.py +113 -0
  2. pulumiverse_scaleway/baremetal_server.py +82 -0
  3. pulumiverse_scaleway/cockpit.py +7 -0
  4. pulumiverse_scaleway/edge_services_cache_stage.py +104 -10
  5. pulumiverse_scaleway/edge_services_dns_stage.py +21 -21
  6. pulumiverse_scaleway/edge_services_pipeline.py +44 -2
  7. pulumiverse_scaleway/edge_services_tls_stage.py +111 -17
  8. pulumiverse_scaleway/elasticmetal/__init__.py +1 -0
  9. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +177 -0
  10. pulumiverse_scaleway/elasticmetal/server.py +82 -0
  11. pulumiverse_scaleway/get_cockpit_plan.py +1 -0
  12. pulumiverse_scaleway/get_instance_server.py +12 -1
  13. pulumiverse_scaleway/hosting/hosting.py +2 -2
  14. pulumiverse_scaleway/instance/get_server.py +12 -1
  15. pulumiverse_scaleway/instance/outputs.py +0 -11
  16. pulumiverse_scaleway/instance/server.py +54 -7
  17. pulumiverse_scaleway/instance_server.py +54 -7
  18. pulumiverse_scaleway/job/_inputs.py +113 -0
  19. pulumiverse_scaleway/job/definition.py +107 -0
  20. pulumiverse_scaleway/job/outputs.py +88 -0
  21. pulumiverse_scaleway/job_definition.py +107 -0
  22. pulumiverse_scaleway/observability/cockpit.py +7 -0
  23. pulumiverse_scaleway/observability/get_plan.py +1 -0
  24. pulumiverse_scaleway/outputs.py +88 -11
  25. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  26. pulumiverse_scaleway/webhosting.py +2 -2
  27. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/METADATA +1 -1
  28. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/RECORD +30 -29
  29. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/WHEEL +1 -1
  30. {pulumiverse_scaleway-1.27.0a1744704297.dist-info → pulumiverse_scaleway-1.27.0a1745249933.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,177 @@
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
+ 'GetEasyPartitioningResult',
19
+ 'AwaitableGetEasyPartitioningResult',
20
+ 'get_easy_partitioning',
21
+ 'get_easy_partitioning_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetEasyPartitioningResult:
26
+ """
27
+ A collection of values returned by getEasyPartitioning.
28
+ """
29
+ def __init__(__self__, ext4_mountpoint=None, extra_partition=None, id=None, json_partition=None, offer_id=None, os_id=None, swap=None):
30
+ if ext4_mountpoint and not isinstance(ext4_mountpoint, str):
31
+ raise TypeError("Expected argument 'ext4_mountpoint' to be a str")
32
+ pulumi.set(__self__, "ext4_mountpoint", ext4_mountpoint)
33
+ if extra_partition and not isinstance(extra_partition, bool):
34
+ raise TypeError("Expected argument 'extra_partition' to be a bool")
35
+ pulumi.set(__self__, "extra_partition", extra_partition)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
39
+ if json_partition and not isinstance(json_partition, str):
40
+ raise TypeError("Expected argument 'json_partition' to be a str")
41
+ pulumi.set(__self__, "json_partition", json_partition)
42
+ if offer_id and not isinstance(offer_id, str):
43
+ raise TypeError("Expected argument 'offer_id' to be a str")
44
+ pulumi.set(__self__, "offer_id", offer_id)
45
+ if os_id and not isinstance(os_id, str):
46
+ raise TypeError("Expected argument 'os_id' to be a str")
47
+ pulumi.set(__self__, "os_id", os_id)
48
+ if swap and not isinstance(swap, bool):
49
+ raise TypeError("Expected argument 'swap' to be a bool")
50
+ pulumi.set(__self__, "swap", swap)
51
+
52
+ @property
53
+ @pulumi.getter(name="ext4Mountpoint")
54
+ def ext4_mountpoint(self) -> Optional[str]:
55
+ return pulumi.get(self, "ext4_mountpoint")
56
+
57
+ @property
58
+ @pulumi.getter(name="extraPartition")
59
+ def extra_partition(self) -> Optional[bool]:
60
+ return pulumi.get(self, "extra_partition")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def id(self) -> str:
65
+ """
66
+ The provider-assigned unique ID for this managed resource.
67
+ """
68
+ return pulumi.get(self, "id")
69
+
70
+ @property
71
+ @pulumi.getter(name="jsonPartition")
72
+ def json_partition(self) -> str:
73
+ """
74
+ — A validated partitioning schema in JSON format that can be directly used for BareMetal server deployment.
75
+ """
76
+ return pulumi.get(self, "json_partition")
77
+
78
+ @property
79
+ @pulumi.getter(name="offerId")
80
+ def offer_id(self) -> str:
81
+ return pulumi.get(self, "offer_id")
82
+
83
+ @property
84
+ @pulumi.getter(name="osId")
85
+ def os_id(self) -> str:
86
+ return pulumi.get(self, "os_id")
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def swap(self) -> Optional[bool]:
91
+ return pulumi.get(self, "swap")
92
+
93
+
94
+ class AwaitableGetEasyPartitioningResult(GetEasyPartitioningResult):
95
+ # pylint: disable=using-constant-test
96
+ def __await__(self):
97
+ if False:
98
+ yield self
99
+ return GetEasyPartitioningResult(
100
+ ext4_mountpoint=self.ext4_mountpoint,
101
+ extra_partition=self.extra_partition,
102
+ id=self.id,
103
+ json_partition=self.json_partition,
104
+ offer_id=self.offer_id,
105
+ os_id=self.os_id,
106
+ swap=self.swap)
107
+
108
+
109
+ def get_easy_partitioning(ext4_mountpoint: Optional[str] = None,
110
+ extra_partition: Optional[bool] = None,
111
+ offer_id: Optional[str] = None,
112
+ os_id: Optional[str] = None,
113
+ swap: Optional[bool] = None,
114
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEasyPartitioningResult:
115
+ """
116
+ The scaleway_easy_partitioning data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
117
+
118
+ This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
119
+
120
+
121
+ :param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
122
+ :param bool extra_partition: Whether to add an extra ext4 data partition.
123
+ :param str offer_id: The UUID of the BareMetal offer.
124
+ :param str os_id: The UUID of the OS image.
125
+ :param bool swap: Whether to include a swap partition.
126
+ """
127
+ __args__ = dict()
128
+ __args__['ext4Mountpoint'] = ext4_mountpoint
129
+ __args__['extraPartition'] = extra_partition
130
+ __args__['offerId'] = offer_id
131
+ __args__['osId'] = os_id
132
+ __args__['swap'] = swap
133
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
134
+ __ret__ = pulumi.runtime.invoke('scaleway:elasticmetal/getEasyPartitioning:getEasyPartitioning', __args__, opts=opts, typ=GetEasyPartitioningResult).value
135
+
136
+ return AwaitableGetEasyPartitioningResult(
137
+ ext4_mountpoint=pulumi.get(__ret__, 'ext4_mountpoint'),
138
+ extra_partition=pulumi.get(__ret__, 'extra_partition'),
139
+ id=pulumi.get(__ret__, 'id'),
140
+ json_partition=pulumi.get(__ret__, 'json_partition'),
141
+ offer_id=pulumi.get(__ret__, 'offer_id'),
142
+ os_id=pulumi.get(__ret__, 'os_id'),
143
+ swap=pulumi.get(__ret__, 'swap'))
144
+ def get_easy_partitioning_output(ext4_mountpoint: Optional[pulumi.Input[Optional[str]]] = None,
145
+ extra_partition: Optional[pulumi.Input[Optional[bool]]] = None,
146
+ offer_id: Optional[pulumi.Input[str]] = None,
147
+ os_id: Optional[pulumi.Input[str]] = None,
148
+ swap: Optional[pulumi.Input[Optional[bool]]] = None,
149
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEasyPartitioningResult]:
150
+ """
151
+ The scaleway_easy_partitioning data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
152
+
153
+ This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
154
+
155
+
156
+ :param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
157
+ :param bool extra_partition: Whether to add an extra ext4 data partition.
158
+ :param str offer_id: The UUID of the BareMetal offer.
159
+ :param str os_id: The UUID of the OS image.
160
+ :param bool swap: Whether to include a swap partition.
161
+ """
162
+ __args__ = dict()
163
+ __args__['ext4Mountpoint'] = ext4_mountpoint
164
+ __args__['extraPartition'] = extra_partition
165
+ __args__['offerId'] = offer_id
166
+ __args__['osId'] = os_id
167
+ __args__['swap'] = swap
168
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
169
+ __ret__ = pulumi.runtime.invoke_output('scaleway:elasticmetal/getEasyPartitioning:getEasyPartitioning', __args__, opts=opts, typ=GetEasyPartitioningResult)
170
+ return __ret__.apply(lambda __response__: GetEasyPartitioningResult(
171
+ ext4_mountpoint=pulumi.get(__response__, 'ext4_mountpoint'),
172
+ extra_partition=pulumi.get(__response__, 'extra_partition'),
173
+ id=pulumi.get(__response__, 'id'),
174
+ json_partition=pulumi.get(__response__, 'json_partition'),
175
+ offer_id=pulumi.get(__response__, 'offer_id'),
176
+ os_id=pulumi.get(__response__, 'os_id'),
177
+ swap=pulumi.get(__response__, 'swap')))
@@ -963,6 +963,47 @@ class Server(pulumi.CustomResource):
963
963
  ssh_key_ids=[main.id])
964
964
  ```
965
965
 
966
+ ### Migrate from hourly to monthly plan
967
+
968
+ To migrate from an hourly to a monthly subscription for a Scaleway Baremetal server, it is important to understand that the migration can only be done by using the data source.
969
+ You cannot directly modify the subscription_period of an existing elasticmetal_get_offer resource. Instead, you must define the monthly offer using the data source and then update the server configuration accordingly.
970
+
971
+ ### Hourly Plan Example
972
+
973
+ ```python
974
+ import pulumi
975
+ import pulumi_scaleway as scaleway
976
+ import pulumiverse_scaleway as scaleway
977
+
978
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
979
+ name="EM-B220E-NVME",
980
+ subscription_period="hourly")
981
+ server01 = scaleway.elasticmetal.Server("server01",
982
+ name="UpdateSubscriptionPeriod",
983
+ offer=my_offer.offer_id,
984
+ zone="%s",
985
+ install_config_afterward=True)
986
+ ```
987
+
988
+ ### Monthly Plan Example
989
+
990
+ ```python
991
+ import pulumi
992
+ import pulumi_scaleway as scaleway
993
+ import pulumiverse_scaleway as scaleway
994
+
995
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
996
+ name="EM-B220E-NVME",
997
+ subscription_period="monthly")
998
+ server01 = scaleway.elasticmetal.Server("server01",
999
+ name="UpdateSubscriptionPeriod",
1000
+ offer=my_offer.offer_id,
1001
+ zone="fr-par-1",
1002
+ install_config_afterward=True)
1003
+ ```
1004
+
1005
+ **Important** Once you migrate to a monthly subscription, you cannot downgrade back to an hourly plan. Ensure that the monthly plan meets your needs before making the switch.
1006
+
966
1007
  ## Import
967
1008
 
968
1009
  Baremetal servers can be imported using the `{zone}/{id}`, e.g.
@@ -1181,6 +1222,47 @@ class Server(pulumi.CustomResource):
1181
1222
  ssh_key_ids=[main.id])
1182
1223
  ```
1183
1224
 
1225
+ ### Migrate from hourly to monthly plan
1226
+
1227
+ To migrate from an hourly to a monthly subscription for a Scaleway Baremetal server, it is important to understand that the migration can only be done by using the data source.
1228
+ You cannot directly modify the subscription_period of an existing elasticmetal_get_offer resource. Instead, you must define the monthly offer using the data source and then update the server configuration accordingly.
1229
+
1230
+ ### Hourly Plan Example
1231
+
1232
+ ```python
1233
+ import pulumi
1234
+ import pulumi_scaleway as scaleway
1235
+ import pulumiverse_scaleway as scaleway
1236
+
1237
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1238
+ name="EM-B220E-NVME",
1239
+ subscription_period="hourly")
1240
+ server01 = scaleway.elasticmetal.Server("server01",
1241
+ name="UpdateSubscriptionPeriod",
1242
+ offer=my_offer.offer_id,
1243
+ zone="%s",
1244
+ install_config_afterward=True)
1245
+ ```
1246
+
1247
+ ### Monthly Plan Example
1248
+
1249
+ ```python
1250
+ import pulumi
1251
+ import pulumi_scaleway as scaleway
1252
+ import pulumiverse_scaleway as scaleway
1253
+
1254
+ my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
1255
+ name="EM-B220E-NVME",
1256
+ subscription_period="monthly")
1257
+ server01 = scaleway.elasticmetal.Server("server01",
1258
+ name="UpdateSubscriptionPeriod",
1259
+ offer=my_offer.offer_id,
1260
+ zone="fr-par-1",
1261
+ install_config_afterward=True)
1262
+ ```
1263
+
1264
+ **Important** Once you migrate to a monthly subscription, you cannot downgrade back to an hourly plan. Ensure that the monthly plan meets your needs before making the switch.
1265
+
1184
1266
  ## Import
1185
1267
 
1186
1268
  Baremetal servers can be imported using the `{zone}/{id}`, e.g.
@@ -46,6 +46,7 @@ class GetCockpitPlanResult:
46
46
 
47
47
  @property
48
48
  @pulumi.getter
49
+ @_utilities.deprecated("""The 'plan' attribute is deprecated and no longer has any effect. Future updates will remove this attribute entirely.""")
49
50
  def name(self) -> str:
50
51
  return pulumi.get(self, "name")
51
52
 
@@ -29,7 +29,7 @@ class GetInstanceServerResult:
29
29
  """
30
30
  A collection of values returned by getInstanceServer.
31
31
  """
32
- def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_networks=None, project_id=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
32
+ def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_networks=None, project_id=None, protected=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
33
33
  if additional_volume_ids and not isinstance(additional_volume_ids, list):
34
34
  raise TypeError("Expected argument 'additional_volume_ids' to be a list")
35
35
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
@@ -90,6 +90,9 @@ class GetInstanceServerResult:
90
90
  if project_id and not isinstance(project_id, str):
91
91
  raise TypeError("Expected argument 'project_id' to be a str")
92
92
  pulumi.set(__self__, "project_id", project_id)
93
+ if protected and not isinstance(protected, bool):
94
+ raise TypeError("Expected argument 'protected' to be a bool")
95
+ pulumi.set(__self__, "protected", protected)
93
96
  if public_ip and not isinstance(public_ip, str):
94
97
  raise TypeError("Expected argument 'public_ip' to be a str")
95
98
  pulumi.set(__self__, "public_ip", public_ip)
@@ -264,6 +267,11 @@ class GetInstanceServerResult:
264
267
  def project_id(self) -> Optional[str]:
265
268
  return pulumi.get(self, "project_id")
266
269
 
270
+ @property
271
+ @pulumi.getter
272
+ def protected(self) -> bool:
273
+ return pulumi.get(self, "protected")
274
+
267
275
  @property
268
276
  @pulumi.getter(name="publicIp")
269
277
  def public_ip(self) -> str:
@@ -368,6 +376,7 @@ class AwaitableGetInstanceServerResult(GetInstanceServerResult):
368
376
  private_ip=self.private_ip,
369
377
  private_networks=self.private_networks,
370
378
  project_id=self.project_id,
379
+ protected=self.protected,
371
380
  public_ip=self.public_ip,
372
381
  public_ips=self.public_ips,
373
382
  replace_on_type_change=self.replace_on_type_change,
@@ -425,6 +434,7 @@ def get_instance_server(name: Optional[str] = None,
425
434
  private_ip=pulumi.get(__ret__, 'private_ip'),
426
435
  private_networks=pulumi.get(__ret__, 'private_networks'),
427
436
  project_id=pulumi.get(__ret__, 'project_id'),
437
+ protected=pulumi.get(__ret__, 'protected'),
428
438
  public_ip=pulumi.get(__ret__, 'public_ip'),
429
439
  public_ips=pulumi.get(__ret__, 'public_ips'),
430
440
  replace_on_type_change=pulumi.get(__ret__, 'replace_on_type_change'),
@@ -479,6 +489,7 @@ def get_instance_server_output(name: Optional[pulumi.Input[Optional[str]]] = Non
479
489
  private_ip=pulumi.get(__response__, 'private_ip'),
480
490
  private_networks=pulumi.get(__response__, 'private_networks'),
481
491
  project_id=pulumi.get(__response__, 'project_id'),
492
+ protected=pulumi.get(__response__, 'protected'),
482
493
  public_ip=pulumi.get(__response__, 'public_ip'),
483
494
  public_ips=pulumi.get(__response__, 'public_ips'),
484
495
  replace_on_type_change=pulumi.get(__response__, 'replace_on_type_change'),
@@ -482,7 +482,7 @@ class Hosting(pulumi.CustomResource):
482
482
  __props__=None):
483
483
  """
484
484
  Creates and manages Scaleway Web Hostings.
485
- For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/webhosting/).
485
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/webhosting/hosting-api/).
486
486
 
487
487
  ## Example Usage
488
488
 
@@ -532,7 +532,7 @@ class Hosting(pulumi.CustomResource):
532
532
  opts: Optional[pulumi.ResourceOptions] = None):
533
533
  """
534
534
  Creates and manages Scaleway Web Hostings.
535
- For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/webhosting/).
535
+ For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/webhosting/hosting-api/).
536
536
 
537
537
  ## Example Usage
538
538
 
@@ -27,7 +27,7 @@ class GetServerResult:
27
27
  """
28
28
  A collection of values returned by getServer.
29
29
  """
30
- def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_networks=None, project_id=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
30
+ def __init__(__self__, additional_volume_ids=None, boot_type=None, bootscript_id=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, id=None, image=None, ip_id=None, ip_ids=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, private_networks=None, project_id=None, protected=None, public_ip=None, public_ips=None, replace_on_type_change=None, root_volumes=None, security_group_id=None, server_id=None, state=None, tags=None, type=None, user_data=None, zone=None):
31
31
  if additional_volume_ids and not isinstance(additional_volume_ids, list):
32
32
  raise TypeError("Expected argument 'additional_volume_ids' to be a list")
33
33
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
@@ -88,6 +88,9 @@ class GetServerResult:
88
88
  if project_id and not isinstance(project_id, str):
89
89
  raise TypeError("Expected argument 'project_id' to be a str")
90
90
  pulumi.set(__self__, "project_id", project_id)
91
+ if protected and not isinstance(protected, bool):
92
+ raise TypeError("Expected argument 'protected' to be a bool")
93
+ pulumi.set(__self__, "protected", protected)
91
94
  if public_ip and not isinstance(public_ip, str):
92
95
  raise TypeError("Expected argument 'public_ip' to be a str")
93
96
  pulumi.set(__self__, "public_ip", public_ip)
@@ -262,6 +265,11 @@ class GetServerResult:
262
265
  def project_id(self) -> Optional[str]:
263
266
  return pulumi.get(self, "project_id")
264
267
 
268
+ @property
269
+ @pulumi.getter
270
+ def protected(self) -> bool:
271
+ return pulumi.get(self, "protected")
272
+
265
273
  @property
266
274
  @pulumi.getter(name="publicIp")
267
275
  def public_ip(self) -> str:
@@ -366,6 +374,7 @@ class AwaitableGetServerResult(GetServerResult):
366
374
  private_ip=self.private_ip,
367
375
  private_networks=self.private_networks,
368
376
  project_id=self.project_id,
377
+ protected=self.protected,
369
378
  public_ip=self.public_ip,
370
379
  public_ips=self.public_ips,
371
380
  replace_on_type_change=self.replace_on_type_change,
@@ -422,6 +431,7 @@ def get_server(name: Optional[str] = None,
422
431
  private_ip=pulumi.get(__ret__, 'private_ip'),
423
432
  private_networks=pulumi.get(__ret__, 'private_networks'),
424
433
  project_id=pulumi.get(__ret__, 'project_id'),
434
+ protected=pulumi.get(__ret__, 'protected'),
425
435
  public_ip=pulumi.get(__ret__, 'public_ip'),
426
436
  public_ips=pulumi.get(__ret__, 'public_ips'),
427
437
  replace_on_type_change=pulumi.get(__ret__, 'replace_on_type_change'),
@@ -475,6 +485,7 @@ def get_server_output(name: Optional[pulumi.Input[Optional[str]]] = None,
475
485
  private_ip=pulumi.get(__response__, 'private_ip'),
476
486
  private_networks=pulumi.get(__response__, 'private_networks'),
477
487
  project_id=pulumi.get(__response__, 'project_id'),
488
+ protected=pulumi.get(__response__, 'protected'),
478
489
  public_ip=pulumi.get(__response__, 'public_ip'),
479
490
  public_ips=pulumi.get(__response__, 'public_ips'),
480
491
  replace_on_type_change=pulumi.get(__response__, 'replace_on_type_change'),
@@ -1239,7 +1239,6 @@ class GetServersServerResult(dict):
1239
1239
  project_id: str,
1240
1240
  public_ip: str,
1241
1241
  public_ips: Sequence['outputs.GetServersServerPublicIpResult'],
1242
- routed_ip_enabled: bool,
1243
1242
  security_group_id: str,
1244
1243
  state: str,
1245
1244
  tags: Sequence[str],
@@ -1261,7 +1260,6 @@ class GetServersServerResult(dict):
1261
1260
  :param str project_id: The ID of the project the server is associated with.
1262
1261
  :param str public_ip: The public IP address of the server.
1263
1262
  :param Sequence['GetServersServerPublicIpArgs'] public_ips: The list of public IPs of the server
1264
- :param bool routed_ip_enabled: True if the server support routed ip only.
1265
1263
  :param str security_group_id: The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
1266
1264
  :param str state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1267
1265
  :param Sequence[str] tags: List of tags used as filter. Servers with these exact tags are listed.
@@ -1285,7 +1283,6 @@ class GetServersServerResult(dict):
1285
1283
  pulumi.set(__self__, "project_id", project_id)
1286
1284
  pulumi.set(__self__, "public_ip", public_ip)
1287
1285
  pulumi.set(__self__, "public_ips", public_ips)
1288
- pulumi.set(__self__, "routed_ip_enabled", routed_ip_enabled)
1289
1286
  pulumi.set(__self__, "security_group_id", security_group_id)
1290
1287
  pulumi.set(__self__, "state", state)
1291
1288
  pulumi.set(__self__, "tags", tags)
@@ -1424,14 +1421,6 @@ class GetServersServerResult(dict):
1424
1421
  """
1425
1422
  return pulumi.get(self, "public_ips")
1426
1423
 
1427
- @property
1428
- @pulumi.getter(name="routedIpEnabled")
1429
- def routed_ip_enabled(self) -> bool:
1430
- """
1431
- True if the server support routed ip only.
1432
- """
1433
- return pulumi.get(self, "routed_ip_enabled")
1434
-
1435
1424
  @property
1436
1425
  @pulumi.getter(name="securityGroupId")
1437
1426
  def security_group_id(self) -> str: