pulumiverse-scaleway 1.23.0a1739624899__py3-none-any.whl → 1.23.0a1739864644__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 (78) hide show
  1. pulumiverse_scaleway/__init__.py +9 -0
  2. pulumiverse_scaleway/_inputs.py +323 -9
  3. pulumiverse_scaleway/_utilities.py +8 -4
  4. pulumiverse_scaleway/account_ssh_key.py +2 -2
  5. pulumiverse_scaleway/apple_silicon_server.py +124 -0
  6. pulumiverse_scaleway/block_snapshot.py +2 -2
  7. pulumiverse_scaleway/block_volume.py +58 -11
  8. pulumiverse_scaleway/cockpit_source.py +7 -7
  9. pulumiverse_scaleway/container.py +236 -23
  10. pulumiverse_scaleway/container_domain.py +2 -2
  11. pulumiverse_scaleway/database_instance.py +74 -21
  12. pulumiverse_scaleway/get_account_project.py +2 -2
  13. pulumiverse_scaleway/get_account_ssh_key.py +2 -2
  14. pulumiverse_scaleway/get_block_snapshot.py +2 -2
  15. pulumiverse_scaleway/get_block_volume.py +14 -3
  16. pulumiverse_scaleway/get_container.py +30 -4
  17. pulumiverse_scaleway/get_database_instance.py +12 -1
  18. pulumiverse_scaleway/get_instance_server.py +1 -15
  19. pulumiverse_scaleway/get_instance_volume.py +12 -1
  20. pulumiverse_scaleway/get_ipam_ip.py +2 -2
  21. pulumiverse_scaleway/get_ipam_ips.py +2 -2
  22. pulumiverse_scaleway/get_lb_acls.py +2 -2
  23. pulumiverse_scaleway/get_lb_backend.py +2 -2
  24. pulumiverse_scaleway/get_lb_backends.py +2 -2
  25. pulumiverse_scaleway/get_lb_frontend.py +2 -2
  26. pulumiverse_scaleway/get_lb_frontends.py +2 -2
  27. pulumiverse_scaleway/get_lb_ips.py +2 -2
  28. pulumiverse_scaleway/get_lb_route.py +2 -2
  29. pulumiverse_scaleway/get_lb_routes.py +2 -2
  30. pulumiverse_scaleway/get_lbs.py +2 -2
  31. pulumiverse_scaleway/get_loadbalancer.py +2 -2
  32. pulumiverse_scaleway/get_loadbalancer_certificate.py +2 -2
  33. pulumiverse_scaleway/get_loadbalancer_ip.py +2 -2
  34. pulumiverse_scaleway/get_object_bucket.py +2 -2
  35. pulumiverse_scaleway/get_object_bucket_policy.py +2 -2
  36. pulumiverse_scaleway/iam_policy.py +2 -2
  37. pulumiverse_scaleway/instance_ip.py +7 -21
  38. pulumiverse_scaleway/instance_server.py +4 -74
  39. pulumiverse_scaleway/instance_volume.py +47 -0
  40. pulumiverse_scaleway/iot_route.py +21 -21
  41. pulumiverse_scaleway/ipam_ip.py +2 -2
  42. pulumiverse_scaleway/ipam_ip_reverse_dns.py +2 -2
  43. pulumiverse_scaleway/loadbalancer.py +2 -2
  44. pulumiverse_scaleway/loadbalancer_acl.py +2 -2
  45. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  46. pulumiverse_scaleway/loadbalancer_frontend.py +2 -2
  47. pulumiverse_scaleway/loadbalancer_ip.py +2 -2
  48. pulumiverse_scaleway/loadbalancer_route.py +2 -2
  49. pulumiverse_scaleway/mnq_nats_account.py +2 -2
  50. pulumiverse_scaleway/mnq_nats_credentials.py +2 -2
  51. pulumiverse_scaleway/mnq_sns.py +2 -2
  52. pulumiverse_scaleway/mnq_sns_credentials.py +2 -2
  53. pulumiverse_scaleway/mnq_sns_topic.py +2 -2
  54. pulumiverse_scaleway/mnq_sns_topic_subscription.py +2 -2
  55. pulumiverse_scaleway/mnq_sqs.py +2 -2
  56. pulumiverse_scaleway/mnq_sqs_credentials.py +2 -2
  57. pulumiverse_scaleway/mnq_sqs_queue.py +2 -2
  58. pulumiverse_scaleway/mongo_db_instance.py +2 -2
  59. pulumiverse_scaleway/mongo_db_snapshot.py +2 -2
  60. pulumiverse_scaleway/object_bucket.py +11 -11
  61. pulumiverse_scaleway/object_bucket_acl.py +2 -2
  62. pulumiverse_scaleway/object_bucket_lock_configuration.py +4 -4
  63. pulumiverse_scaleway/object_bucket_policy.py +6 -6
  64. pulumiverse_scaleway/object_bucket_website_configuration.py +4 -4
  65. pulumiverse_scaleway/object_item.py +11 -11
  66. pulumiverse_scaleway/outputs.py +351 -6
  67. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  68. pulumiverse_scaleway/rdb_snapshot.py +608 -0
  69. pulumiverse_scaleway/sdb_database.py +2 -2
  70. pulumiverse_scaleway/secret_version.py +2 -2
  71. pulumiverse_scaleway/vpc.py +2 -2
  72. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +14 -0
  73. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +2 -2
  74. pulumiverse_scaleway/vpc_route.py +2 -2
  75. {pulumiverse_scaleway-1.23.0a1739624899.dist-info → pulumiverse_scaleway-1.23.0a1739864644.dist-info}/METADATA +1 -1
  76. {pulumiverse_scaleway-1.23.0a1739624899.dist-info → pulumiverse_scaleway-1.23.0a1739864644.dist-info}/RECORD +78 -77
  77. {pulumiverse_scaleway-1.23.0a1739624899.dist-info → pulumiverse_scaleway-1.23.0a1739864644.dist-info}/WHEEL +0 -0
  78. {pulumiverse_scaleway-1.23.0a1739624899.dist-info → pulumiverse_scaleway-1.23.0a1739864644.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,608 @@
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__ = ['RdbSnapshotArgs', 'RdbSnapshot']
18
+
19
+ @pulumi.input_type
20
+ class RdbSnapshotArgs:
21
+ def __init__(__self__, *,
22
+ instance_id: pulumi.Input[str],
23
+ expires_at: Optional[pulumi.Input[str]] = None,
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ region: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a RdbSnapshot resource.
28
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
29
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
30
+ :param pulumi.Input[str] name: The name of the snapshot.
31
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
32
+ """
33
+ pulumi.set(__self__, "instance_id", instance_id)
34
+ if expires_at is not None:
35
+ pulumi.set(__self__, "expires_at", expires_at)
36
+ if name is not None:
37
+ pulumi.set(__self__, "name", name)
38
+ if region is not None:
39
+ pulumi.set(__self__, "region", region)
40
+
41
+ @property
42
+ @pulumi.getter(name="instanceId")
43
+ def instance_id(self) -> pulumi.Input[str]:
44
+ """
45
+ The UUID of the database instance for which the snapshot is created.
46
+ """
47
+ return pulumi.get(self, "instance_id")
48
+
49
+ @instance_id.setter
50
+ def instance_id(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "instance_id", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="expiresAt")
55
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
56
+ """
57
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
58
+ """
59
+ return pulumi.get(self, "expires_at")
60
+
61
+ @expires_at.setter
62
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
63
+ pulumi.set(self, "expires_at", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def name(self) -> Optional[pulumi.Input[str]]:
68
+ """
69
+ The name of the snapshot.
70
+ """
71
+ return pulumi.get(self, "name")
72
+
73
+ @name.setter
74
+ def name(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "name", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def region(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
82
+ """
83
+ return pulumi.get(self, "region")
84
+
85
+ @region.setter
86
+ def region(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "region", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _RdbSnapshotState:
92
+ def __init__(__self__, *,
93
+ created_at: Optional[pulumi.Input[str]] = None,
94
+ expires_at: Optional[pulumi.Input[str]] = None,
95
+ instance_id: Optional[pulumi.Input[str]] = None,
96
+ name: Optional[pulumi.Input[str]] = None,
97
+ node_type: Optional[pulumi.Input[str]] = None,
98
+ region: Optional[pulumi.Input[str]] = None,
99
+ size: Optional[pulumi.Input[int]] = None,
100
+ status: Optional[pulumi.Input[str]] = None,
101
+ updated_at: Optional[pulumi.Input[str]] = None,
102
+ volume_type: Optional[pulumi.Input[str]] = None):
103
+ """
104
+ Input properties used for looking up and filtering RdbSnapshot resources.
105
+ :param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
106
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
107
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
108
+ :param pulumi.Input[str] name: The name of the snapshot.
109
+ :param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
110
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
111
+ :param pulumi.Input[int] size: The size of the snapshot in bytes.
112
+ :param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
113
+ :param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
114
+ :param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
115
+ """
116
+ if created_at is not None:
117
+ pulumi.set(__self__, "created_at", created_at)
118
+ if expires_at is not None:
119
+ pulumi.set(__self__, "expires_at", expires_at)
120
+ if instance_id is not None:
121
+ pulumi.set(__self__, "instance_id", instance_id)
122
+ if name is not None:
123
+ pulumi.set(__self__, "name", name)
124
+ if node_type is not None:
125
+ pulumi.set(__self__, "node_type", node_type)
126
+ if region is not None:
127
+ pulumi.set(__self__, "region", region)
128
+ if size is not None:
129
+ pulumi.set(__self__, "size", size)
130
+ if status is not None:
131
+ pulumi.set(__self__, "status", status)
132
+ if updated_at is not None:
133
+ pulumi.set(__self__, "updated_at", updated_at)
134
+ if volume_type is not None:
135
+ pulumi.set(__self__, "volume_type", volume_type)
136
+
137
+ @property
138
+ @pulumi.getter(name="createdAt")
139
+ def created_at(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The timestamp when the snapshot was created, in ISO 8601 format.
142
+ """
143
+ return pulumi.get(self, "created_at")
144
+
145
+ @created_at.setter
146
+ def created_at(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "created_at", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="expiresAt")
151
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
154
+ """
155
+ return pulumi.get(self, "expires_at")
156
+
157
+ @expires_at.setter
158
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "expires_at", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="instanceId")
163
+ def instance_id(self) -> Optional[pulumi.Input[str]]:
164
+ """
165
+ The UUID of the database instance for which the snapshot is created.
166
+ """
167
+ return pulumi.get(self, "instance_id")
168
+
169
+ @instance_id.setter
170
+ def instance_id(self, value: Optional[pulumi.Input[str]]):
171
+ pulumi.set(self, "instance_id", value)
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def name(self) -> Optional[pulumi.Input[str]]:
176
+ """
177
+ The name of the snapshot.
178
+ """
179
+ return pulumi.get(self, "name")
180
+
181
+ @name.setter
182
+ def name(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "name", value)
184
+
185
+ @property
186
+ @pulumi.getter(name="nodeType")
187
+ def node_type(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The type of the database instance for which the snapshot was created.
190
+ """
191
+ return pulumi.get(self, "node_type")
192
+
193
+ @node_type.setter
194
+ def node_type(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "node_type", value)
196
+
197
+ @property
198
+ @pulumi.getter
199
+ def region(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
202
+ """
203
+ return pulumi.get(self, "region")
204
+
205
+ @region.setter
206
+ def region(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "region", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def size(self) -> Optional[pulumi.Input[int]]:
212
+ """
213
+ The size of the snapshot in bytes.
214
+ """
215
+ return pulumi.get(self, "size")
216
+
217
+ @size.setter
218
+ def size(self, value: Optional[pulumi.Input[int]]):
219
+ pulumi.set(self, "size", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def status(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ The current status of the snapshot (e.g., `ready`, `creating`, `error`).
226
+ """
227
+ return pulumi.get(self, "status")
228
+
229
+ @status.setter
230
+ def status(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "status", value)
232
+
233
+ @property
234
+ @pulumi.getter(name="updatedAt")
235
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The timestamp when the snapshot was last updated, in ISO 8601 format.
238
+ """
239
+ return pulumi.get(self, "updated_at")
240
+
241
+ @updated_at.setter
242
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "updated_at", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="volumeType")
247
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The type of volume used by the snapshot.
250
+ """
251
+ return pulumi.get(self, "volume_type")
252
+
253
+ @volume_type.setter
254
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "volume_type", value)
256
+
257
+
258
+ class RdbSnapshot(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ expires_at: Optional[pulumi.Input[str]] = None,
264
+ instance_id: Optional[pulumi.Input[str]] = None,
265
+ name: Optional[pulumi.Input[str]] = None,
266
+ region: Optional[pulumi.Input[str]] = None,
267
+ __props__=None):
268
+ """
269
+ Creates and manages Scaleway RDB (Relational Database) Snapshots.
270
+ Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
271
+ For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
272
+
273
+ ## Example Usage
274
+
275
+ ### Example Basic Snapshot
276
+
277
+ ```python
278
+ import pulumi
279
+ import pulumiverse_scaleway as scaleway
280
+
281
+ main = scaleway.DatabaseInstance("main",
282
+ name="test-rdb-instance",
283
+ node_type="db-dev-s",
284
+ engine="PostgreSQL-15",
285
+ is_ha_cluster=False,
286
+ disable_backup=True,
287
+ user_name="my_initial_user",
288
+ password="thiZ_is_v&ry_s3cret",
289
+ tags=[
290
+ "terraform-test",
291
+ "scaleway_rdb_instance",
292
+ "minimal",
293
+ ],
294
+ volume_type="bssd",
295
+ volume_size_in_gb=10)
296
+ test = scaleway.RdbSnapshot("test",
297
+ name="initial-snapshot",
298
+ instance_id=main.id,
299
+ opts = pulumi.ResourceOptions(depends_on=[main]))
300
+ ```
301
+
302
+ ### Example with Expiration
303
+
304
+ ```python
305
+ import pulumi
306
+ import pulumiverse_scaleway as scaleway
307
+
308
+ snapshot_with_expiration = scaleway.RdbSnapshot("snapshot_with_expiration",
309
+ name="snapshot-with-expiration",
310
+ instance_id=main["id"],
311
+ expires_at="2025-01-31T00:00:00Z")
312
+ ```
313
+
314
+ ### Example with Multiple Snapshots
315
+
316
+ ```python
317
+ import pulumi
318
+ import pulumiverse_scaleway as scaleway
319
+
320
+ snapshot_a = scaleway.RdbSnapshot("snapshot_a",
321
+ name="snapshot_a",
322
+ instance_id=main["id"],
323
+ opts = pulumi.ResourceOptions(depends_on=[main]))
324
+ snapshot_b = scaleway.RdbSnapshot("snapshot_b",
325
+ name="snapshot_b",
326
+ instance_id=main["id"],
327
+ expires_at="2025-02-07T00:00:00Z",
328
+ opts = pulumi.ResourceOptions(depends_on=[main]))
329
+ ```
330
+
331
+ ## Limitations
332
+
333
+ - Snapshots are tied to the database instance and region where they are created.
334
+ - Expired snapshots are automatically deleted and cannot be restored.
335
+
336
+ ## Notes
337
+
338
+ - Ensure the `instance_id` corresponds to an existing database instance.
339
+ - Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
340
+
341
+ ## Import
342
+
343
+ RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
344
+
345
+ :param str resource_name: The name of the resource.
346
+ :param pulumi.ResourceOptions opts: Options for the resource.
347
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
348
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
349
+ :param pulumi.Input[str] name: The name of the snapshot.
350
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
351
+ """
352
+ ...
353
+ @overload
354
+ def __init__(__self__,
355
+ resource_name: str,
356
+ args: RdbSnapshotArgs,
357
+ opts: Optional[pulumi.ResourceOptions] = None):
358
+ """
359
+ Creates and manages Scaleway RDB (Relational Database) Snapshots.
360
+ Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
361
+ For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
362
+
363
+ ## Example Usage
364
+
365
+ ### Example Basic Snapshot
366
+
367
+ ```python
368
+ import pulumi
369
+ import pulumiverse_scaleway as scaleway
370
+
371
+ main = scaleway.DatabaseInstance("main",
372
+ name="test-rdb-instance",
373
+ node_type="db-dev-s",
374
+ engine="PostgreSQL-15",
375
+ is_ha_cluster=False,
376
+ disable_backup=True,
377
+ user_name="my_initial_user",
378
+ password="thiZ_is_v&ry_s3cret",
379
+ tags=[
380
+ "terraform-test",
381
+ "scaleway_rdb_instance",
382
+ "minimal",
383
+ ],
384
+ volume_type="bssd",
385
+ volume_size_in_gb=10)
386
+ test = scaleway.RdbSnapshot("test",
387
+ name="initial-snapshot",
388
+ instance_id=main.id,
389
+ opts = pulumi.ResourceOptions(depends_on=[main]))
390
+ ```
391
+
392
+ ### Example with Expiration
393
+
394
+ ```python
395
+ import pulumi
396
+ import pulumiverse_scaleway as scaleway
397
+
398
+ snapshot_with_expiration = scaleway.RdbSnapshot("snapshot_with_expiration",
399
+ name="snapshot-with-expiration",
400
+ instance_id=main["id"],
401
+ expires_at="2025-01-31T00:00:00Z")
402
+ ```
403
+
404
+ ### Example with Multiple Snapshots
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumiverse_scaleway as scaleway
409
+
410
+ snapshot_a = scaleway.RdbSnapshot("snapshot_a",
411
+ name="snapshot_a",
412
+ instance_id=main["id"],
413
+ opts = pulumi.ResourceOptions(depends_on=[main]))
414
+ snapshot_b = scaleway.RdbSnapshot("snapshot_b",
415
+ name="snapshot_b",
416
+ instance_id=main["id"],
417
+ expires_at="2025-02-07T00:00:00Z",
418
+ opts = pulumi.ResourceOptions(depends_on=[main]))
419
+ ```
420
+
421
+ ## Limitations
422
+
423
+ - Snapshots are tied to the database instance and region where they are created.
424
+ - Expired snapshots are automatically deleted and cannot be restored.
425
+
426
+ ## Notes
427
+
428
+ - Ensure the `instance_id` corresponds to an existing database instance.
429
+ - Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
430
+
431
+ ## Import
432
+
433
+ RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
434
+
435
+ :param str resource_name: The name of the resource.
436
+ :param RdbSnapshotArgs args: The arguments to use to populate this resource's properties.
437
+ :param pulumi.ResourceOptions opts: Options for the resource.
438
+ """
439
+ ...
440
+ def __init__(__self__, resource_name: str, *args, **kwargs):
441
+ resource_args, opts = _utilities.get_resource_args_opts(RdbSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
442
+ if resource_args is not None:
443
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
444
+ else:
445
+ __self__._internal_init(resource_name, *args, **kwargs)
446
+
447
+ def _internal_init(__self__,
448
+ resource_name: str,
449
+ opts: Optional[pulumi.ResourceOptions] = None,
450
+ expires_at: Optional[pulumi.Input[str]] = None,
451
+ instance_id: Optional[pulumi.Input[str]] = None,
452
+ name: Optional[pulumi.Input[str]] = None,
453
+ region: Optional[pulumi.Input[str]] = None,
454
+ __props__=None):
455
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
456
+ if not isinstance(opts, pulumi.ResourceOptions):
457
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
458
+ if opts.id is None:
459
+ if __props__ is not None:
460
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
461
+ __props__ = RdbSnapshotArgs.__new__(RdbSnapshotArgs)
462
+
463
+ __props__.__dict__["expires_at"] = expires_at
464
+ if instance_id is None and not opts.urn:
465
+ raise TypeError("Missing required property 'instance_id'")
466
+ __props__.__dict__["instance_id"] = instance_id
467
+ __props__.__dict__["name"] = name
468
+ __props__.__dict__["region"] = region
469
+ __props__.__dict__["created_at"] = None
470
+ __props__.__dict__["node_type"] = None
471
+ __props__.__dict__["size"] = None
472
+ __props__.__dict__["status"] = None
473
+ __props__.__dict__["updated_at"] = None
474
+ __props__.__dict__["volume_type"] = None
475
+ super(RdbSnapshot, __self__).__init__(
476
+ 'scaleway:index/rdbSnapshot:RdbSnapshot',
477
+ resource_name,
478
+ __props__,
479
+ opts)
480
+
481
+ @staticmethod
482
+ def get(resource_name: str,
483
+ id: pulumi.Input[str],
484
+ opts: Optional[pulumi.ResourceOptions] = None,
485
+ created_at: Optional[pulumi.Input[str]] = None,
486
+ expires_at: Optional[pulumi.Input[str]] = None,
487
+ instance_id: Optional[pulumi.Input[str]] = None,
488
+ name: Optional[pulumi.Input[str]] = None,
489
+ node_type: Optional[pulumi.Input[str]] = None,
490
+ region: Optional[pulumi.Input[str]] = None,
491
+ size: Optional[pulumi.Input[int]] = None,
492
+ status: Optional[pulumi.Input[str]] = None,
493
+ updated_at: Optional[pulumi.Input[str]] = None,
494
+ volume_type: Optional[pulumi.Input[str]] = None) -> 'RdbSnapshot':
495
+ """
496
+ Get an existing RdbSnapshot resource's state with the given name, id, and optional extra
497
+ properties used to qualify the lookup.
498
+
499
+ :param str resource_name: The unique name of the resulting resource.
500
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
501
+ :param pulumi.ResourceOptions opts: Options for the resource.
502
+ :param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
503
+ :param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
504
+ :param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
505
+ :param pulumi.Input[str] name: The name of the snapshot.
506
+ :param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
507
+ :param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
508
+ :param pulumi.Input[int] size: The size of the snapshot in bytes.
509
+ :param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
510
+ :param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
511
+ :param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
512
+ """
513
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
514
+
515
+ __props__ = _RdbSnapshotState.__new__(_RdbSnapshotState)
516
+
517
+ __props__.__dict__["created_at"] = created_at
518
+ __props__.__dict__["expires_at"] = expires_at
519
+ __props__.__dict__["instance_id"] = instance_id
520
+ __props__.__dict__["name"] = name
521
+ __props__.__dict__["node_type"] = node_type
522
+ __props__.__dict__["region"] = region
523
+ __props__.__dict__["size"] = size
524
+ __props__.__dict__["status"] = status
525
+ __props__.__dict__["updated_at"] = updated_at
526
+ __props__.__dict__["volume_type"] = volume_type
527
+ return RdbSnapshot(resource_name, opts=opts, __props__=__props__)
528
+
529
+ @property
530
+ @pulumi.getter(name="createdAt")
531
+ def created_at(self) -> pulumi.Output[str]:
532
+ """
533
+ The timestamp when the snapshot was created, in ISO 8601 format.
534
+ """
535
+ return pulumi.get(self, "created_at")
536
+
537
+ @property
538
+ @pulumi.getter(name="expiresAt")
539
+ def expires_at(self) -> pulumi.Output[str]:
540
+ """
541
+ Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
542
+ """
543
+ return pulumi.get(self, "expires_at")
544
+
545
+ @property
546
+ @pulumi.getter(name="instanceId")
547
+ def instance_id(self) -> pulumi.Output[str]:
548
+ """
549
+ The UUID of the database instance for which the snapshot is created.
550
+ """
551
+ return pulumi.get(self, "instance_id")
552
+
553
+ @property
554
+ @pulumi.getter
555
+ def name(self) -> pulumi.Output[str]:
556
+ """
557
+ The name of the snapshot.
558
+ """
559
+ return pulumi.get(self, "name")
560
+
561
+ @property
562
+ @pulumi.getter(name="nodeType")
563
+ def node_type(self) -> pulumi.Output[str]:
564
+ """
565
+ The type of the database instance for which the snapshot was created.
566
+ """
567
+ return pulumi.get(self, "node_type")
568
+
569
+ @property
570
+ @pulumi.getter
571
+ def region(self) -> pulumi.Output[str]:
572
+ """
573
+ The region where the snapshot is stored. Defaults to the region set in the provider configuration.
574
+ """
575
+ return pulumi.get(self, "region")
576
+
577
+ @property
578
+ @pulumi.getter
579
+ def size(self) -> pulumi.Output[int]:
580
+ """
581
+ The size of the snapshot in bytes.
582
+ """
583
+ return pulumi.get(self, "size")
584
+
585
+ @property
586
+ @pulumi.getter
587
+ def status(self) -> pulumi.Output[str]:
588
+ """
589
+ The current status of the snapshot (e.g., `ready`, `creating`, `error`).
590
+ """
591
+ return pulumi.get(self, "status")
592
+
593
+ @property
594
+ @pulumi.getter(name="updatedAt")
595
+ def updated_at(self) -> pulumi.Output[str]:
596
+ """
597
+ The timestamp when the snapshot was last updated, in ISO 8601 format.
598
+ """
599
+ return pulumi.get(self, "updated_at")
600
+
601
+ @property
602
+ @pulumi.getter(name="volumeType")
603
+ def volume_type(self) -> pulumi.Output[str]:
604
+ """
605
+ The type of volume used by the snapshot.
606
+ """
607
+ return pulumi.get(self, "volume_type")
608
+
@@ -230,7 +230,7 @@ class SdbDatabase(pulumi.CustomResource):
230
230
  """
231
231
  The `SdbDatabase` resource allows you to create and manage databases for Scaleway Serverless SQL Databases.
232
232
 
233
- Refer to the Serverless SQL Databases [documentation](https://www.scaleway.com/en/docs/serverless/sql-databases/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-databases/) for more information.
233
+ Refer to the Serverless SQL Databases [documentation](https://www.scaleway.com/en/docs/serverless-sql-databases/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-databases/) for more information.
234
234
 
235
235
  ## Example Usage
236
236
 
@@ -275,7 +275,7 @@ class SdbDatabase(pulumi.CustomResource):
275
275
  """
276
276
  The `SdbDatabase` resource allows you to create and manage databases for Scaleway Serverless SQL Databases.
277
277
 
278
- Refer to the Serverless SQL Databases [documentation](https://www.scaleway.com/en/docs/serverless/sql-databases/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-databases/) for more information.
278
+ Refer to the Serverless SQL Databases [documentation](https://www.scaleway.com/en/docs/serverless-sql-databases/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-databases/) for more information.
279
279
 
280
280
  ## Example Usage
281
281
 
@@ -235,7 +235,7 @@ class SecretVersion(pulumi.CustomResource):
235
235
  """
236
236
  The `SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager.
237
237
 
238
- Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
238
+ Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
239
239
 
240
240
  ## Example Usage
241
241
 
@@ -291,7 +291,7 @@ class SecretVersion(pulumi.CustomResource):
291
291
  """
292
292
  The `SecretVersion` resource allows you to create and manage secret versions in Scaleway Secret Manager.
293
293
 
294
- Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
294
+ Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
295
295
 
296
296
  ## Example Usage
297
297
 
@@ -269,7 +269,7 @@ class Vpc(pulumi.CustomResource):
269
269
  __props__=None):
270
270
  """
271
271
  Creates and manages Scaleway Virtual Private Clouds.
272
- For more information, see [the main documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/).
272
+ For more information, see [the main documentation](https://www.scaleway.com/en/docs/vpc/concepts/).
273
273
 
274
274
  ## Example Usage
275
275
 
@@ -329,7 +329,7 @@ class Vpc(pulumi.CustomResource):
329
329
  opts: Optional[pulumi.ResourceOptions] = None):
330
330
  """
331
331
  Creates and manages Scaleway Virtual Private Clouds.
332
- For more information, see [the main documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/).
332
+ For more information, see [the main documentation](https://www.scaleway.com/en/docs/vpc/concepts/).
333
333
 
334
334
  ## Example Usage
335
335