pulumiverse-scaleway 1.32.0a1753171981__py3-none-any.whl → 1.33.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. pulumiverse_scaleway/__init__.py +9 -0
  2. pulumiverse_scaleway/_inputs.py +185 -39
  3. pulumiverse_scaleway/apple_silicon_server.py +46 -8
  4. pulumiverse_scaleway/applesilicon/_inputs.py +18 -18
  5. pulumiverse_scaleway/applesilicon/outputs.py +12 -12
  6. pulumiverse_scaleway/applesilicon/server.py +46 -8
  7. pulumiverse_scaleway/baremetal_server.py +47 -0
  8. pulumiverse_scaleway/block/_inputs.py +58 -6
  9. pulumiverse_scaleway/block/get_snapshot.py +12 -1
  10. pulumiverse_scaleway/block/outputs.py +60 -0
  11. pulumiverse_scaleway/block/snapshot.py +54 -7
  12. pulumiverse_scaleway/block/volume.py +14 -14
  13. pulumiverse_scaleway/block_snapshot.py +54 -7
  14. pulumiverse_scaleway/block_volume.py +14 -14
  15. pulumiverse_scaleway/domain/get_record.py +1 -12
  16. pulumiverse_scaleway/domain/record.py +0 -47
  17. pulumiverse_scaleway/domain_record.py +0 -47
  18. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  19. pulumiverse_scaleway/elasticmetal/server.py +47 -0
  20. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  21. pulumiverse_scaleway/get_block_snapshot.py +12 -1
  22. pulumiverse_scaleway/get_domain_record.py +1 -12
  23. pulumiverse_scaleway/get_iam_user.py +2 -2
  24. pulumiverse_scaleway/get_lb_frontend.py +37 -4
  25. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  26. pulumiverse_scaleway/iam/get_user.py +2 -2
  27. pulumiverse_scaleway/key_manager_key.py +831 -0
  28. pulumiverse_scaleway/kubernetes/cluster.py +6 -6
  29. pulumiverse_scaleway/kubernetes_cluster.py +6 -6
  30. pulumiverse_scaleway/loadbalancer_frontend.py +105 -2
  31. pulumiverse_scaleway/loadbalancers/_inputs.py +12 -12
  32. pulumiverse_scaleway/loadbalancers/frontend.py +105 -2
  33. pulumiverse_scaleway/loadbalancers/get_frontend.py +37 -4
  34. pulumiverse_scaleway/loadbalancers/outputs.py +32 -10
  35. pulumiverse_scaleway/mongo_db_instance.py +28 -0
  36. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  37. pulumiverse_scaleway/mongodb/instance.py +28 -0
  38. pulumiverse_scaleway/network/acl.py +35 -37
  39. pulumiverse_scaleway/network/vpc.py +1 -1
  40. pulumiverse_scaleway/outputs.py +213 -30
  41. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  42. pulumiverse_scaleway/redis/_inputs.py +43 -3
  43. pulumiverse_scaleway/redis/outputs.py +54 -4
  44. pulumiverse_scaleway/vpc.py +1 -1
  45. {pulumiverse_scaleway-1.32.0a1753171981.dist-info → pulumiverse_scaleway-1.33.0.dist-info}/METADATA +1 -1
  46. {pulumiverse_scaleway-1.32.0a1753171981.dist-info → pulumiverse_scaleway-1.33.0.dist-info}/RECORD +48 -47
  47. {pulumiverse_scaleway-1.32.0a1753171981.dist-info → pulumiverse_scaleway-1.33.0.dist-info}/WHEEL +0 -0
  48. {pulumiverse_scaleway-1.32.0a1753171981.dist-info → pulumiverse_scaleway-1.33.0.dist-info}/top_level.txt +0 -0
@@ -80,27 +80,27 @@ if not MYPY:
80
80
  class ServerPrivateNetworkArgsDict(TypedDict):
81
81
  id: pulumi.Input[builtins.str]
82
82
  """
83
- The ID of the IP address resource.
83
+ The private network ID
84
84
  """
85
85
  created_at: NotRequired[pulumi.Input[builtins.str]]
86
86
  """
87
- The date and time of the creation of the Apple Silicon server.
87
+ The date and time the private network was created.
88
88
  """
89
89
  ipam_ip_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
90
90
  """
91
- List of IPAM IP IDs to attach to the server
91
+ A list of IPAM IP IDs to attach to the server.
92
92
  """
93
93
  status: NotRequired[pulumi.Input[builtins.str]]
94
94
  """
95
- The private network status
95
+ The current status of the private network.
96
96
  """
97
97
  updated_at: NotRequired[pulumi.Input[builtins.str]]
98
98
  """
99
- The date and time of the last update of the Apple Silicon server.
99
+ The date and time the private network was last updated.
100
100
  """
101
101
  vlan: NotRequired[pulumi.Input[builtins.int]]
102
102
  """
103
- The VLAN ID associated to the private network
103
+ The VLAN ID associated with the private network.
104
104
  """
105
105
  elif False:
106
106
  ServerPrivateNetworkArgsDict: TypeAlias = Mapping[str, Any]
@@ -115,12 +115,12 @@ class ServerPrivateNetworkArgs:
115
115
  updated_at: Optional[pulumi.Input[builtins.str]] = None,
116
116
  vlan: Optional[pulumi.Input[builtins.int]] = None):
117
117
  """
118
- :param pulumi.Input[builtins.str] id: The ID of the IP address resource.
119
- :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the Apple Silicon server.
120
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ipam_ip_ids: List of IPAM IP IDs to attach to the server
121
- :param pulumi.Input[builtins.str] status: The private network status
122
- :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the Apple Silicon server.
123
- :param pulumi.Input[builtins.int] vlan: The VLAN ID associated to the private network
118
+ :param pulumi.Input[builtins.str] id: The private network ID
119
+ :param pulumi.Input[builtins.str] created_at: The date and time the private network was created.
120
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] ipam_ip_ids: A list of IPAM IP IDs to attach to the server.
121
+ :param pulumi.Input[builtins.str] status: The current status of the private network.
122
+ :param pulumi.Input[builtins.str] updated_at: The date and time the private network was last updated.
123
+ :param pulumi.Input[builtins.int] vlan: The VLAN ID associated with the private network.
124
124
  """
125
125
  pulumi.set(__self__, "id", id)
126
126
  if created_at is not None:
@@ -138,7 +138,7 @@ class ServerPrivateNetworkArgs:
138
138
  @pulumi.getter
139
139
  def id(self) -> pulumi.Input[builtins.str]:
140
140
  """
141
- The ID of the IP address resource.
141
+ The private network ID
142
142
  """
143
143
  return pulumi.get(self, "id")
144
144
 
@@ -150,7 +150,7 @@ class ServerPrivateNetworkArgs:
150
150
  @pulumi.getter(name="createdAt")
151
151
  def created_at(self) -> Optional[pulumi.Input[builtins.str]]:
152
152
  """
153
- The date and time of the creation of the Apple Silicon server.
153
+ The date and time the private network was created.
154
154
  """
155
155
  return pulumi.get(self, "created_at")
156
156
 
@@ -162,7 +162,7 @@ class ServerPrivateNetworkArgs:
162
162
  @pulumi.getter(name="ipamIpIds")
163
163
  def ipam_ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
164
164
  """
165
- List of IPAM IP IDs to attach to the server
165
+ A list of IPAM IP IDs to attach to the server.
166
166
  """
167
167
  return pulumi.get(self, "ipam_ip_ids")
168
168
 
@@ -174,7 +174,7 @@ class ServerPrivateNetworkArgs:
174
174
  @pulumi.getter
175
175
  def status(self) -> Optional[pulumi.Input[builtins.str]]:
176
176
  """
177
- The private network status
177
+ The current status of the private network.
178
178
  """
179
179
  return pulumi.get(self, "status")
180
180
 
@@ -186,7 +186,7 @@ class ServerPrivateNetworkArgs:
186
186
  @pulumi.getter(name="updatedAt")
187
187
  def updated_at(self) -> Optional[pulumi.Input[builtins.str]]:
188
188
  """
189
- The date and time of the last update of the Apple Silicon server.
189
+ The date and time the private network was last updated.
190
190
  """
191
191
  return pulumi.get(self, "updated_at")
192
192
 
@@ -198,7 +198,7 @@ class ServerPrivateNetworkArgs:
198
198
  @pulumi.getter
199
199
  def vlan(self) -> Optional[pulumi.Input[builtins.int]]:
200
200
  """
201
- The VLAN ID associated to the private network
201
+ The VLAN ID associated with the private network.
202
202
  """
203
203
  return pulumi.get(self, "vlan")
204
204
 
@@ -82,12 +82,12 @@ class ServerPrivateNetwork(dict):
82
82
  updated_at: Optional[builtins.str] = None,
83
83
  vlan: Optional[builtins.int] = None):
84
84
  """
85
- :param builtins.str id: The ID of the IP address resource.
86
- :param builtins.str created_at: The date and time of the creation of the Apple Silicon server.
87
- :param Sequence[builtins.str] ipam_ip_ids: List of IPAM IP IDs to attach to the server
88
- :param builtins.str status: The private network status
89
- :param builtins.str updated_at: The date and time of the last update of the Apple Silicon server.
90
- :param builtins.int vlan: The VLAN ID associated to the private network
85
+ :param builtins.str id: The private network ID
86
+ :param builtins.str created_at: The date and time the private network was created.
87
+ :param Sequence[builtins.str] ipam_ip_ids: A list of IPAM IP IDs to attach to the server.
88
+ :param builtins.str status: The current status of the private network.
89
+ :param builtins.str updated_at: The date and time the private network was last updated.
90
+ :param builtins.int vlan: The VLAN ID associated with the private network.
91
91
  """
92
92
  pulumi.set(__self__, "id", id)
93
93
  if created_at is not None:
@@ -105,7 +105,7 @@ class ServerPrivateNetwork(dict):
105
105
  @pulumi.getter
106
106
  def id(self) -> builtins.str:
107
107
  """
108
- The ID of the IP address resource.
108
+ The private network ID
109
109
  """
110
110
  return pulumi.get(self, "id")
111
111
 
@@ -113,7 +113,7 @@ class ServerPrivateNetwork(dict):
113
113
  @pulumi.getter(name="createdAt")
114
114
  def created_at(self) -> Optional[builtins.str]:
115
115
  """
116
- The date and time of the creation of the Apple Silicon server.
116
+ The date and time the private network was created.
117
117
  """
118
118
  return pulumi.get(self, "created_at")
119
119
 
@@ -121,7 +121,7 @@ class ServerPrivateNetwork(dict):
121
121
  @pulumi.getter(name="ipamIpIds")
122
122
  def ipam_ip_ids(self) -> Optional[Sequence[builtins.str]]:
123
123
  """
124
- List of IPAM IP IDs to attach to the server
124
+ A list of IPAM IP IDs to attach to the server.
125
125
  """
126
126
  return pulumi.get(self, "ipam_ip_ids")
127
127
 
@@ -129,7 +129,7 @@ class ServerPrivateNetwork(dict):
129
129
  @pulumi.getter
130
130
  def status(self) -> Optional[builtins.str]:
131
131
  """
132
- The private network status
132
+ The current status of the private network.
133
133
  """
134
134
  return pulumi.get(self, "status")
135
135
 
@@ -137,7 +137,7 @@ class ServerPrivateNetwork(dict):
137
137
  @pulumi.getter(name="updatedAt")
138
138
  def updated_at(self) -> Optional[builtins.str]:
139
139
  """
140
- The date and time of the last update of the Apple Silicon server.
140
+ The date and time the private network was last updated.
141
141
  """
142
142
  return pulumi.get(self, "updated_at")
143
143
 
@@ -145,7 +145,7 @@ class ServerPrivateNetwork(dict):
145
145
  @pulumi.getter
146
146
  def vlan(self) -> Optional[builtins.int]:
147
147
  """
148
- The VLAN ID associated to the private network
148
+ The VLAN ID associated with the private network.
149
149
  """
150
150
  return pulumi.get(self, "vlan")
151
151
 
@@ -203,7 +203,7 @@ class _ServerState:
203
203
  """
204
204
  Input properties used for looking up and filtering Server resources.
205
205
  :param pulumi.Input[builtins.str] commitment: The commitment period of the server
206
- :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the Apple Silicon server.
206
+ :param pulumi.Input[builtins.str] created_at: The date and time the private network was created.
207
207
  :param pulumi.Input[builtins.str] deletable_at: The minimal date and time on which you can delete this server due to Apple licence
208
208
  :param pulumi.Input[builtins.bool] enable_vpc: : Enables the VPC option when set to true.
209
209
  :param pulumi.Input[builtins.str] ip: IPv4 address of the server (IPv4 address).
@@ -219,7 +219,7 @@ class _ServerState:
219
219
  :param pulumi.Input[builtins.str] type: The commercial type of the server. You find all the available types on
220
220
  the [pricing page](https://www.scaleway.com/en/pricing/apple-silicon/). Updates to this field will recreate a new
221
221
  resource.
222
- :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the Apple Silicon server.
222
+ :param pulumi.Input[builtins.str] updated_at: The date and time the private network was last updated.
223
223
  :param pulumi.Input[builtins.str] username: The username of the server
224
224
  :param pulumi.Input[builtins.str] vnc_url: URL of the VNC.
225
225
  :param pulumi.Input[builtins.str] vpc_status: The current status of the VPC option.
@@ -281,7 +281,7 @@ class _ServerState:
281
281
  @pulumi.getter(name="createdAt")
282
282
  def created_at(self) -> Optional[pulumi.Input[builtins.str]]:
283
283
  """
284
- The date and time of the creation of the Apple Silicon server.
284
+ The date and time the private network was created.
285
285
  """
286
286
  return pulumi.get(self, "created_at")
287
287
 
@@ -440,7 +440,7 @@ class _ServerState:
440
440
  @pulumi.getter(name="updatedAt")
441
441
  def updated_at(self) -> Optional[pulumi.Input[builtins.str]]:
442
442
  """
443
- The date and time of the last update of the Apple Silicon server.
443
+ The date and time the private network was last updated.
444
444
  """
445
445
  return pulumi.get(self, "updated_at")
446
446
 
@@ -531,6 +531,25 @@ class Server(pulumi.CustomResource):
531
531
  type="M1-M")
532
532
  ```
533
533
 
534
+ ### Enable VPC and attach private network
535
+
536
+ ```python
537
+ import pulumi
538
+ import pulumiverse_scaleway as scaleway
539
+
540
+ vpc_apple_silicon = scaleway.network.Vpc("vpc-apple-silicon", name="vpc-apple-silicon")
541
+ pn_apple_silicon = scaleway.network.PrivateNetwork("pn-apple-silicon",
542
+ name="pn-apple-silicon",
543
+ vpc_id=vpc_apple_silicon.id)
544
+ my_server = scaleway.applesilicon.Server("my-server",
545
+ name="TestAccServerEnableVPC",
546
+ type="M2-M",
547
+ enable_vpc=True,
548
+ private_networks=[{
549
+ "id": pn_apple_silicon.id,
550
+ }])
551
+ ```
552
+
534
553
  ## Import
535
554
 
536
555
  Instance servers can be imported using the `{zone}/{id}`, e.g.
@@ -580,6 +599,25 @@ class Server(pulumi.CustomResource):
580
599
  type="M1-M")
581
600
  ```
582
601
 
602
+ ### Enable VPC and attach private network
603
+
604
+ ```python
605
+ import pulumi
606
+ import pulumiverse_scaleway as scaleway
607
+
608
+ vpc_apple_silicon = scaleway.network.Vpc("vpc-apple-silicon", name="vpc-apple-silicon")
609
+ pn_apple_silicon = scaleway.network.PrivateNetwork("pn-apple-silicon",
610
+ name="pn-apple-silicon",
611
+ vpc_id=vpc_apple_silicon.id)
612
+ my_server = scaleway.applesilicon.Server("my-server",
613
+ name="TestAccServerEnableVPC",
614
+ type="M2-M",
615
+ enable_vpc=True,
616
+ private_networks=[{
617
+ "id": pn_apple_silicon.id,
618
+ }])
619
+ ```
620
+
583
621
  ## Import
584
622
 
585
623
  Instance servers can be imported using the `{zone}/{id}`, e.g.
@@ -685,7 +723,7 @@ class Server(pulumi.CustomResource):
685
723
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
686
724
  :param pulumi.ResourceOptions opts: Options for the resource.
687
725
  :param pulumi.Input[builtins.str] commitment: The commitment period of the server
688
- :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the Apple Silicon server.
726
+ :param pulumi.Input[builtins.str] created_at: The date and time the private network was created.
689
727
  :param pulumi.Input[builtins.str] deletable_at: The minimal date and time on which you can delete this server due to Apple licence
690
728
  :param pulumi.Input[builtins.bool] enable_vpc: : Enables the VPC option when set to true.
691
729
  :param pulumi.Input[builtins.str] ip: IPv4 address of the server (IPv4 address).
@@ -701,7 +739,7 @@ class Server(pulumi.CustomResource):
701
739
  :param pulumi.Input[builtins.str] type: The commercial type of the server. You find all the available types on
702
740
  the [pricing page](https://www.scaleway.com/en/pricing/apple-silicon/). Updates to this field will recreate a new
703
741
  resource.
704
- :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the Apple Silicon server.
742
+ :param pulumi.Input[builtins.str] updated_at: The date and time the private network was last updated.
705
743
  :param pulumi.Input[builtins.str] username: The username of the server
706
744
  :param pulumi.Input[builtins.str] vnc_url: URL of the VNC.
707
745
  :param pulumi.Input[builtins.str] vpc_status: The current status of the VPC option.
@@ -745,7 +783,7 @@ class Server(pulumi.CustomResource):
745
783
  @pulumi.getter(name="createdAt")
746
784
  def created_at(self) -> pulumi.Output[builtins.str]:
747
785
  """
748
- The date and time of the creation of the Apple Silicon server.
786
+ The date and time the private network was created.
749
787
  """
750
788
  return pulumi.get(self, "created_at")
751
789
 
@@ -852,7 +890,7 @@ class Server(pulumi.CustomResource):
852
890
  @pulumi.getter(name="updatedAt")
853
891
  def updated_at(self) -> pulumi.Output[builtins.str]:
854
892
  """
855
- The date and time of the last update of the Apple Silicon server.
893
+ The date and time the private network was last updated.
856
894
  """
857
895
  return pulumi.get(self, "updated_at")
858
896
 
@@ -34,6 +34,7 @@ class BaremetalServerArgs:
34
34
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]] = None,
35
35
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
36
36
  project_id: Optional[pulumi.Input[builtins.str]] = None,
37
+ protected: Optional[pulumi.Input[builtins.bool]] = None,
37
38
  reinstall_on_config_changes: Optional[pulumi.Input[builtins.bool]] = None,
38
39
  service_password: Optional[pulumi.Input[builtins.str]] = None,
39
40
  service_user: Optional[pulumi.Input[builtins.str]] = None,
@@ -61,6 +62,7 @@ class BaremetalServerArgs:
61
62
  :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
62
63
  :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/)
63
64
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
65
+ :param pulumi.Input[builtins.bool] protected: Set to true to activate server protection option.
64
66
  :param pulumi.Input[builtins.bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
65
67
  > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
66
68
  :param pulumi.Input[builtins.str] service_password: Password used for the service to install. May be required depending on used os.
@@ -93,6 +95,8 @@ class BaremetalServerArgs:
93
95
  pulumi.set(__self__, "private_networks", private_networks)
94
96
  if project_id is not None:
95
97
  pulumi.set(__self__, "project_id", project_id)
98
+ if protected is not None:
99
+ pulumi.set(__self__, "protected", protected)
96
100
  if reinstall_on_config_changes is not None:
97
101
  pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
98
102
  if service_password is not None:
@@ -258,6 +262,18 @@ class BaremetalServerArgs:
258
262
  def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
259
263
  pulumi.set(self, "project_id", value)
260
264
 
265
+ @property
266
+ @pulumi.getter
267
+ def protected(self) -> Optional[pulumi.Input[builtins.bool]]:
268
+ """
269
+ Set to true to activate server protection option.
270
+ """
271
+ return pulumi.get(self, "protected")
272
+
273
+ @protected.setter
274
+ def protected(self, value: Optional[pulumi.Input[builtins.bool]]):
275
+ pulumi.set(self, "protected", value)
276
+
261
277
  @property
262
278
  @pulumi.getter(name="reinstallOnConfigChanges")
263
279
  def reinstall_on_config_changes(self) -> Optional[pulumi.Input[builtins.bool]]:
@@ -367,6 +383,7 @@ class _BaremetalServerState:
367
383
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]]] = None,
368
384
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateNetworkArgs']]]] = None,
369
385
  project_id: Optional[pulumi.Input[builtins.str]] = None,
386
+ protected: Optional[pulumi.Input[builtins.bool]] = None,
370
387
  reinstall_on_config_changes: Optional[pulumi.Input[builtins.bool]] = None,
371
388
  service_password: Optional[pulumi.Input[builtins.str]] = None,
372
389
  service_user: Optional[pulumi.Input[builtins.str]] = None,
@@ -402,6 +419,7 @@ class _BaremetalServerState:
402
419
  :param pulumi.Input[Sequence[pulumi.Input['BaremetalServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
403
420
  :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/)
404
421
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
422
+ :param pulumi.Input[builtins.bool] protected: Set to true to activate server protection option.
405
423
  :param pulumi.Input[builtins.bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
406
424
  > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
407
425
  :param pulumi.Input[builtins.str] service_password: Password used for the service to install. May be required depending on used os.
@@ -451,6 +469,8 @@ class _BaremetalServerState:
451
469
  pulumi.set(__self__, "private_networks", private_networks)
452
470
  if project_id is not None:
453
471
  pulumi.set(__self__, "project_id", project_id)
472
+ if protected is not None:
473
+ pulumi.set(__self__, "protected", protected)
454
474
  if reinstall_on_config_changes is not None:
455
475
  pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
456
476
  if service_password is not None:
@@ -712,6 +732,18 @@ class _BaremetalServerState:
712
732
  def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
713
733
  pulumi.set(self, "project_id", value)
714
734
 
735
+ @property
736
+ @pulumi.getter
737
+ def protected(self) -> Optional[pulumi.Input[builtins.bool]]:
738
+ """
739
+ Set to true to activate server protection option.
740
+ """
741
+ return pulumi.get(self, "protected")
742
+
743
+ @protected.setter
744
+ def protected(self, value: Optional[pulumi.Input[builtins.bool]]):
745
+ pulumi.set(self, "protected", value)
746
+
715
747
  @property
716
748
  @pulumi.getter(name="reinstallOnConfigChanges")
717
749
  def reinstall_on_config_changes(self) -> Optional[pulumi.Input[builtins.bool]]:
@@ -821,6 +853,7 @@ class BaremetalServer(pulumi.CustomResource):
821
853
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
822
854
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
823
855
  project_id: Optional[pulumi.Input[builtins.str]] = None,
856
+ protected: Optional[pulumi.Input[builtins.bool]] = None,
824
857
  reinstall_on_config_changes: Optional[pulumi.Input[builtins.bool]] = None,
825
858
  service_password: Optional[pulumi.Input[builtins.str]] = None,
826
859
  service_user: Optional[pulumi.Input[builtins.str]] = None,
@@ -955,6 +988,7 @@ class BaremetalServer(pulumi.CustomResource):
955
988
  :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
956
989
  :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/)
957
990
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
991
+ :param pulumi.Input[builtins.bool] protected: Set to true to activate server protection option.
958
992
  :param pulumi.Input[builtins.bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
959
993
  > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
960
994
  :param pulumi.Input[builtins.str] service_password: Password used for the service to install. May be required depending on used os.
@@ -1103,6 +1137,7 @@ class BaremetalServer(pulumi.CustomResource):
1103
1137
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
1104
1138
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1105
1139
  project_id: Optional[pulumi.Input[builtins.str]] = None,
1140
+ protected: Optional[pulumi.Input[builtins.bool]] = None,
1106
1141
  reinstall_on_config_changes: Optional[pulumi.Input[builtins.bool]] = None,
1107
1142
  service_password: Optional[pulumi.Input[builtins.str]] = None,
1108
1143
  service_user: Optional[pulumi.Input[builtins.str]] = None,
@@ -1134,6 +1169,7 @@ class BaremetalServer(pulumi.CustomResource):
1134
1169
  __props__.__dict__["private_ips"] = private_ips
1135
1170
  __props__.__dict__["private_networks"] = private_networks
1136
1171
  __props__.__dict__["project_id"] = project_id
1172
+ __props__.__dict__["protected"] = protected
1137
1173
  __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
1138
1174
  __props__.__dict__["service_password"] = None if service_password is None else pulumi.Output.secret(service_password)
1139
1175
  __props__.__dict__["service_user"] = service_user
@@ -1181,6 +1217,7 @@ class BaremetalServer(pulumi.CustomResource):
1181
1217
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]]] = None,
1182
1218
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateNetworkArgs', 'BaremetalServerPrivateNetworkArgsDict']]]]] = None,
1183
1219
  project_id: Optional[pulumi.Input[builtins.str]] = None,
1220
+ protected: Optional[pulumi.Input[builtins.bool]] = None,
1184
1221
  reinstall_on_config_changes: Optional[pulumi.Input[builtins.bool]] = None,
1185
1222
  service_password: Optional[pulumi.Input[builtins.str]] = None,
1186
1223
  service_user: Optional[pulumi.Input[builtins.str]] = None,
@@ -1221,6 +1258,7 @@ class BaremetalServer(pulumi.CustomResource):
1221
1258
  :param pulumi.Input[Sequence[pulumi.Input[Union['BaremetalServerPrivateIpArgs', 'BaremetalServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1222
1259
  :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/)
1223
1260
  :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
1261
+ :param pulumi.Input[builtins.bool] protected: Set to true to activate server protection option.
1224
1262
  :param pulumi.Input[builtins.bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
1225
1263
  > **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
1226
1264
  :param pulumi.Input[builtins.str] service_password: Password used for the service to install. May be required depending on used os.
@@ -1254,6 +1292,7 @@ class BaremetalServer(pulumi.CustomResource):
1254
1292
  __props__.__dict__["private_ips"] = private_ips
1255
1293
  __props__.__dict__["private_networks"] = private_networks
1256
1294
  __props__.__dict__["project_id"] = project_id
1295
+ __props__.__dict__["protected"] = protected
1257
1296
  __props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
1258
1297
  __props__.__dict__["service_password"] = service_password
1259
1298
  __props__.__dict__["service_user"] = service_user
@@ -1429,6 +1468,14 @@ class BaremetalServer(pulumi.CustomResource):
1429
1468
  """
1430
1469
  return pulumi.get(self, "project_id")
1431
1470
 
1471
+ @property
1472
+ @pulumi.getter
1473
+ def protected(self) -> pulumi.Output[Optional[builtins.bool]]:
1474
+ """
1475
+ Set to true to activate server protection option.
1476
+ """
1477
+ return pulumi.get(self, "protected")
1478
+
1432
1479
  @property
1433
1480
  @pulumi.getter(name="reinstallOnConfigChanges")
1434
1481
  def reinstall_on_config_changes(self) -> pulumi.Output[Optional[builtins.bool]]:
@@ -16,21 +16,73 @@ else:
16
16
  from .. import _utilities
17
17
 
18
18
  __all__ = [
19
+ 'SnapshotExportArgs',
20
+ 'SnapshotExportArgsDict',
19
21
  'SnapshotImportArgs',
20
22
  'SnapshotImportArgsDict',
21
23
  ]
22
24
 
23
25
  MYPY = False
24
26
 
27
+ if not MYPY:
28
+ class SnapshotExportArgsDict(TypedDict):
29
+ bucket: pulumi.Input[builtins.str]
30
+ """
31
+ The name of the bucket where the QCOW file will be saved.
32
+ """
33
+ key: pulumi.Input[builtins.str]
34
+ """
35
+ The desired key (path) for the QCOW file within the bucket.
36
+ """
37
+ elif False:
38
+ SnapshotExportArgsDict: TypeAlias = Mapping[str, Any]
39
+
40
+ @pulumi.input_type
41
+ class SnapshotExportArgs:
42
+ def __init__(__self__, *,
43
+ bucket: pulumi.Input[builtins.str],
44
+ key: pulumi.Input[builtins.str]):
45
+ """
46
+ :param pulumi.Input[builtins.str] bucket: The name of the bucket where the QCOW file will be saved.
47
+ :param pulumi.Input[builtins.str] key: The desired key (path) for the QCOW file within the bucket.
48
+ """
49
+ pulumi.set(__self__, "bucket", bucket)
50
+ pulumi.set(__self__, "key", key)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def bucket(self) -> pulumi.Input[builtins.str]:
55
+ """
56
+ The name of the bucket where the QCOW file will be saved.
57
+ """
58
+ return pulumi.get(self, "bucket")
59
+
60
+ @bucket.setter
61
+ def bucket(self, value: pulumi.Input[builtins.str]):
62
+ pulumi.set(self, "bucket", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def key(self) -> pulumi.Input[builtins.str]:
67
+ """
68
+ The desired key (path) for the QCOW file within the bucket.
69
+ """
70
+ return pulumi.get(self, "key")
71
+
72
+ @key.setter
73
+ def key(self, value: pulumi.Input[builtins.str]):
74
+ pulumi.set(self, "key", value)
75
+
76
+
25
77
  if not MYPY:
26
78
  class SnapshotImportArgsDict(TypedDict):
27
79
  bucket: pulumi.Input[builtins.str]
28
80
  """
29
- Bucket containing qcow
81
+ The name of the bucket containing the QCOW file.
30
82
  """
31
83
  key: pulumi.Input[builtins.str]
32
84
  """
33
- Key of the qcow file in the specified bucket
85
+ The key of the QCOW file within the bucket.
34
86
  """
35
87
  elif False:
36
88
  SnapshotImportArgsDict: TypeAlias = Mapping[str, Any]
@@ -41,8 +93,8 @@ class SnapshotImportArgs:
41
93
  bucket: pulumi.Input[builtins.str],
42
94
  key: pulumi.Input[builtins.str]):
43
95
  """
44
- :param pulumi.Input[builtins.str] bucket: Bucket containing qcow
45
- :param pulumi.Input[builtins.str] key: Key of the qcow file in the specified bucket
96
+ :param pulumi.Input[builtins.str] bucket: The name of the bucket containing the QCOW file.
97
+ :param pulumi.Input[builtins.str] key: The key of the QCOW file within the bucket.
46
98
  """
47
99
  pulumi.set(__self__, "bucket", bucket)
48
100
  pulumi.set(__self__, "key", key)
@@ -51,7 +103,7 @@ class SnapshotImportArgs:
51
103
  @pulumi.getter
52
104
  def bucket(self) -> pulumi.Input[builtins.str]:
53
105
  """
54
- Bucket containing qcow
106
+ The name of the bucket containing the QCOW file.
55
107
  """
56
108
  return pulumi.get(self, "bucket")
57
109
 
@@ -63,7 +115,7 @@ class SnapshotImportArgs:
63
115
  @pulumi.getter
64
116
  def key(self) -> pulumi.Input[builtins.str]:
65
117
  """
66
- Key of the qcow file in the specified bucket
118
+ The key of the QCOW file within the bucket.
67
119
  """
68
120
  return pulumi.get(self, "key")
69
121
 
@@ -28,7 +28,10 @@ class GetSnapshotResult:
28
28
  """
29
29
  A collection of values returned by getSnapshot.
30
30
  """
31
- def __init__(__self__, id=None, imports=None, name=None, project_id=None, snapshot_id=None, tags=None, volume_id=None, zone=None):
31
+ def __init__(__self__, exports=None, id=None, imports=None, name=None, project_id=None, snapshot_id=None, tags=None, volume_id=None, zone=None):
32
+ if exports and not isinstance(exports, list):
33
+ raise TypeError("Expected argument 'exports' to be a list")
34
+ pulumi.set(__self__, "exports", exports)
32
35
  if id and not isinstance(id, str):
33
36
  raise TypeError("Expected argument 'id' to be a str")
34
37
  pulumi.set(__self__, "id", id)
@@ -54,6 +57,11 @@ class GetSnapshotResult:
54
57
  raise TypeError("Expected argument 'zone' to be a str")
55
58
  pulumi.set(__self__, "zone", zone)
56
59
 
60
+ @property
61
+ @pulumi.getter
62
+ def exports(self) -> Sequence['outputs.GetSnapshotExportResult']:
63
+ return pulumi.get(self, "exports")
64
+
57
65
  @property
58
66
  @pulumi.getter
59
67
  def id(self) -> builtins.str:
@@ -104,6 +112,7 @@ class AwaitableGetSnapshotResult(GetSnapshotResult):
104
112
  if False:
105
113
  yield self
106
114
  return GetSnapshotResult(
115
+ exports=self.exports,
107
116
  id=self.id,
108
117
  imports=self.imports,
109
118
  name=self.name,
@@ -142,6 +151,7 @@ def get_snapshot(name: Optional[builtins.str] = None,
142
151
  __ret__ = pulumi.runtime.invoke('scaleway:block/getSnapshot:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult).value
143
152
 
144
153
  return AwaitableGetSnapshotResult(
154
+ exports=pulumi.get(__ret__, 'exports'),
145
155
  id=pulumi.get(__ret__, 'id'),
146
156
  imports=pulumi.get(__ret__, 'imports'),
147
157
  name=pulumi.get(__ret__, 'name'),
@@ -177,6 +187,7 @@ def get_snapshot_output(name: Optional[pulumi.Input[Optional[builtins.str]]] = N
177
187
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
178
188
  __ret__ = pulumi.runtime.invoke_output('scaleway:block/getSnapshot:getSnapshot', __args__, opts=opts, typ=GetSnapshotResult)
179
189
  return __ret__.apply(lambda __response__: GetSnapshotResult(
190
+ exports=pulumi.get(__response__, 'exports'),
180
191
  id=pulumi.get(__response__, 'id'),
181
192
  imports=pulumi.get(__response__, 'imports'),
182
193
  name=pulumi.get(__response__, 'name'),