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
@@ -16,12 +16,72 @@ else:
16
16
  from .. import _utilities
17
17
 
18
18
  __all__ = [
19
+ 'SnapshotExport',
19
20
  'SnapshotImport',
21
+ 'GetSnapshotExportResult',
20
22
  'GetSnapshotImportResult',
21
23
  ]
22
24
 
25
+ @pulumi.output_type
26
+ class SnapshotExport(dict):
27
+ def __init__(__self__, *,
28
+ bucket: builtins.str,
29
+ key: builtins.str):
30
+ """
31
+ :param builtins.str bucket: The name of the bucket where the QCOW file will be saved.
32
+ :param builtins.str key: The desired key (path) for the QCOW file within the bucket.
33
+ """
34
+ pulumi.set(__self__, "bucket", bucket)
35
+ pulumi.set(__self__, "key", key)
36
+
37
+ @property
38
+ @pulumi.getter
39
+ def bucket(self) -> builtins.str:
40
+ """
41
+ The name of the bucket where the QCOW file will be saved.
42
+ """
43
+ return pulumi.get(self, "bucket")
44
+
45
+ @property
46
+ @pulumi.getter
47
+ def key(self) -> builtins.str:
48
+ """
49
+ The desired key (path) for the QCOW file within the bucket.
50
+ """
51
+ return pulumi.get(self, "key")
52
+
53
+
23
54
  @pulumi.output_type
24
55
  class SnapshotImport(dict):
56
+ def __init__(__self__, *,
57
+ bucket: builtins.str,
58
+ key: builtins.str):
59
+ """
60
+ :param builtins.str bucket: The name of the bucket containing the QCOW file.
61
+ :param builtins.str key: The key of the QCOW file within the bucket.
62
+ """
63
+ pulumi.set(__self__, "bucket", bucket)
64
+ pulumi.set(__self__, "key", key)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def bucket(self) -> builtins.str:
69
+ """
70
+ The name of the bucket containing the QCOW file.
71
+ """
72
+ return pulumi.get(self, "bucket")
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def key(self) -> builtins.str:
77
+ """
78
+ The key of the QCOW file within the bucket.
79
+ """
80
+ return pulumi.get(self, "key")
81
+
82
+
83
+ @pulumi.output_type
84
+ class GetSnapshotExportResult(dict):
25
85
  def __init__(__self__, *,
26
86
  bucket: builtins.str,
27
87
  key: builtins.str):
@@ -22,6 +22,7 @@ __all__ = ['SnapshotArgs', 'Snapshot']
22
22
  @pulumi.input_type
23
23
  class SnapshotArgs:
24
24
  def __init__(__self__, *,
25
+ export: Optional[pulumi.Input['SnapshotExportArgs']] = None,
25
26
  import_: Optional[pulumi.Input['SnapshotImportArgs']] = None,
26
27
  name: Optional[pulumi.Input[builtins.str]] = None,
27
28
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -30,13 +31,16 @@ class SnapshotArgs:
30
31
  zone: Optional[pulumi.Input[builtins.str]] = None):
31
32
  """
32
33
  The set of arguments for constructing a Snapshot resource.
33
- :param pulumi.Input['SnapshotImportArgs'] import_: Import snapshot from a qcow
34
+ :param pulumi.Input['SnapshotExportArgs'] export: Use this block to export the volume as a QCOW file to Object Storage.
35
+ :param pulumi.Input['SnapshotImportArgs'] import_: Use this block to import a QCOW image from Object Storage to create a volume.
34
36
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
35
37
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
36
38
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
37
39
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
38
40
  :param pulumi.Input[builtins.str] zone: ). The zone in which the snapshot should be created.
39
41
  """
42
+ if export is not None:
43
+ pulumi.set(__self__, "export", export)
40
44
  if import_ is not None:
41
45
  pulumi.set(__self__, "import_", import_)
42
46
  if name is not None:
@@ -50,11 +54,23 @@ class SnapshotArgs:
50
54
  if zone is not None:
51
55
  pulumi.set(__self__, "zone", zone)
52
56
 
57
+ @property
58
+ @pulumi.getter
59
+ def export(self) -> Optional[pulumi.Input['SnapshotExportArgs']]:
60
+ """
61
+ Use this block to export the volume as a QCOW file to Object Storage.
62
+ """
63
+ return pulumi.get(self, "export")
64
+
65
+ @export.setter
66
+ def export(self, value: Optional[pulumi.Input['SnapshotExportArgs']]):
67
+ pulumi.set(self, "export", value)
68
+
53
69
  @property
54
70
  @pulumi.getter(name="import")
55
71
  def import_(self) -> Optional[pulumi.Input['SnapshotImportArgs']]:
56
72
  """
57
- Import snapshot from a qcow
73
+ Use this block to import a QCOW image from Object Storage to create a volume.
58
74
  """
59
75
  return pulumi.get(self, "import_")
60
76
 
@@ -126,6 +142,7 @@ class SnapshotArgs:
126
142
  @pulumi.input_type
127
143
  class _SnapshotState:
128
144
  def __init__(__self__, *,
145
+ export: Optional[pulumi.Input['SnapshotExportArgs']] = None,
129
146
  import_: Optional[pulumi.Input['SnapshotImportArgs']] = None,
130
147
  name: Optional[pulumi.Input[builtins.str]] = None,
131
148
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -134,13 +151,16 @@ class _SnapshotState:
134
151
  zone: Optional[pulumi.Input[builtins.str]] = None):
135
152
  """
136
153
  Input properties used for looking up and filtering Snapshot resources.
137
- :param pulumi.Input['SnapshotImportArgs'] import_: Import snapshot from a qcow
154
+ :param pulumi.Input['SnapshotExportArgs'] export: Use this block to export the volume as a QCOW file to Object Storage.
155
+ :param pulumi.Input['SnapshotImportArgs'] import_: Use this block to import a QCOW image from Object Storage to create a volume.
138
156
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
139
157
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
140
158
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
141
159
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
142
160
  :param pulumi.Input[builtins.str] zone: ). The zone in which the snapshot should be created.
143
161
  """
162
+ if export is not None:
163
+ pulumi.set(__self__, "export", export)
144
164
  if import_ is not None:
145
165
  pulumi.set(__self__, "import_", import_)
146
166
  if name is not None:
@@ -154,11 +174,23 @@ class _SnapshotState:
154
174
  if zone is not None:
155
175
  pulumi.set(__self__, "zone", zone)
156
176
 
177
+ @property
178
+ @pulumi.getter
179
+ def export(self) -> Optional[pulumi.Input['SnapshotExportArgs']]:
180
+ """
181
+ Use this block to export the volume as a QCOW file to Object Storage.
182
+ """
183
+ return pulumi.get(self, "export")
184
+
185
+ @export.setter
186
+ def export(self, value: Optional[pulumi.Input['SnapshotExportArgs']]):
187
+ pulumi.set(self, "export", value)
188
+
157
189
  @property
158
190
  @pulumi.getter(name="import")
159
191
  def import_(self) -> Optional[pulumi.Input['SnapshotImportArgs']]:
160
192
  """
161
- Import snapshot from a qcow
193
+ Use this block to import a QCOW image from Object Storage to create a volume.
162
194
  """
163
195
  return pulumi.get(self, "import_")
164
196
 
@@ -233,6 +265,7 @@ class Snapshot(pulumi.CustomResource):
233
265
  def __init__(__self__,
234
266
  resource_name: str,
235
267
  opts: Optional[pulumi.ResourceOptions] = None,
268
+ export: Optional[pulumi.Input[Union['SnapshotExportArgs', 'SnapshotExportArgsDict']]] = None,
236
269
  import_: Optional[pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']]] = None,
237
270
  name: Optional[pulumi.Input[builtins.str]] = None,
238
271
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -276,7 +309,8 @@ class Snapshot(pulumi.CustomResource):
276
309
 
277
310
  :param str resource_name: The name of the resource.
278
311
  :param pulumi.ResourceOptions opts: Options for the resource.
279
- :param pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']] import_: Import snapshot from a qcow
312
+ :param pulumi.Input[Union['SnapshotExportArgs', 'SnapshotExportArgsDict']] export: Use this block to export the volume as a QCOW file to Object Storage.
313
+ :param pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']] import_: Use this block to import a QCOW image from Object Storage to create a volume.
280
314
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
281
315
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
282
316
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
@@ -338,6 +372,7 @@ class Snapshot(pulumi.CustomResource):
338
372
  def _internal_init(__self__,
339
373
  resource_name: str,
340
374
  opts: Optional[pulumi.ResourceOptions] = None,
375
+ export: Optional[pulumi.Input[Union['SnapshotExportArgs', 'SnapshotExportArgsDict']]] = None,
341
376
  import_: Optional[pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']]] = None,
342
377
  name: Optional[pulumi.Input[builtins.str]] = None,
343
378
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -353,6 +388,7 @@ class Snapshot(pulumi.CustomResource):
353
388
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
354
389
  __props__ = SnapshotArgs.__new__(SnapshotArgs)
355
390
 
391
+ __props__.__dict__["export"] = export
356
392
  __props__.__dict__["import_"] = import_
357
393
  __props__.__dict__["name"] = name
358
394
  __props__.__dict__["project_id"] = project_id
@@ -371,6 +407,7 @@ class Snapshot(pulumi.CustomResource):
371
407
  def get(resource_name: str,
372
408
  id: pulumi.Input[str],
373
409
  opts: Optional[pulumi.ResourceOptions] = None,
410
+ export: Optional[pulumi.Input[Union['SnapshotExportArgs', 'SnapshotExportArgsDict']]] = None,
374
411
  import_: Optional[pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']]] = None,
375
412
  name: Optional[pulumi.Input[builtins.str]] = None,
376
413
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -384,7 +421,8 @@ class Snapshot(pulumi.CustomResource):
384
421
  :param str resource_name: The unique name of the resulting resource.
385
422
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
386
423
  :param pulumi.ResourceOptions opts: Options for the resource.
387
- :param pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']] import_: Import snapshot from a qcow
424
+ :param pulumi.Input[Union['SnapshotExportArgs', 'SnapshotExportArgsDict']] export: Use this block to export the volume as a QCOW file to Object Storage.
425
+ :param pulumi.Input[Union['SnapshotImportArgs', 'SnapshotImportArgsDict']] import_: Use this block to import a QCOW image from Object Storage to create a volume.
388
426
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
389
427
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
390
428
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
@@ -395,6 +433,7 @@ class Snapshot(pulumi.CustomResource):
395
433
 
396
434
  __props__ = _SnapshotState.__new__(_SnapshotState)
397
435
 
436
+ __props__.__dict__["export"] = export
398
437
  __props__.__dict__["import_"] = import_
399
438
  __props__.__dict__["name"] = name
400
439
  __props__.__dict__["project_id"] = project_id
@@ -403,11 +442,19 @@ class Snapshot(pulumi.CustomResource):
403
442
  __props__.__dict__["zone"] = zone
404
443
  return Snapshot(resource_name, opts=opts, __props__=__props__)
405
444
 
445
+ @property
446
+ @pulumi.getter
447
+ def export(self) -> pulumi.Output[Optional['outputs.SnapshotExport']]:
448
+ """
449
+ Use this block to export the volume as a QCOW file to Object Storage.
450
+ """
451
+ return pulumi.get(self, "export")
452
+
406
453
  @property
407
454
  @pulumi.getter(name="import")
408
455
  def import_(self) -> pulumi.Output[Optional['outputs.SnapshotImport']]:
409
456
  """
410
- Import snapshot from a qcow
457
+ Use this block to import a QCOW image from Object Storage to create a volume.
411
458
  """
412
459
  return pulumi.get(self, "import_")
413
460
 
@@ -34,8 +34,8 @@ class VolumeArgs:
34
34
  :param pulumi.Input[builtins.str] instance_volume_id: The instance volume to create the block volume from
35
35
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
36
36
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
37
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
38
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
37
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
38
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
39
39
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
40
40
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
41
41
  """
@@ -107,7 +107,7 @@ class VolumeArgs:
107
107
  @pulumi.getter(name="sizeInGb")
108
108
  def size_in_gb(self) -> Optional[pulumi.Input[builtins.int]]:
109
109
  """
110
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
110
+ The size of the volume in gigabytes.
111
111
  """
112
112
  return pulumi.get(self, "size_in_gb")
113
113
 
@@ -119,7 +119,7 @@ class VolumeArgs:
119
119
  @pulumi.getter(name="snapshotId")
120
120
  def snapshot_id(self) -> Optional[pulumi.Input[builtins.str]]:
121
121
  """
122
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
122
+ If set, the new volume will be created from this snapshot.
123
123
  """
124
124
  return pulumi.get(self, "snapshot_id")
125
125
 
@@ -169,8 +169,8 @@ class _VolumeState:
169
169
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
170
170
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
171
171
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
172
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
173
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
172
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
173
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
174
174
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
175
175
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
176
176
  """
@@ -243,7 +243,7 @@ class _VolumeState:
243
243
  @pulumi.getter(name="sizeInGb")
244
244
  def size_in_gb(self) -> Optional[pulumi.Input[builtins.int]]:
245
245
  """
246
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
246
+ The size of the volume in gigabytes.
247
247
  """
248
248
  return pulumi.get(self, "size_in_gb")
249
249
 
@@ -255,7 +255,7 @@ class _VolumeState:
255
255
  @pulumi.getter(name="snapshotId")
256
256
  def snapshot_id(self) -> Optional[pulumi.Input[builtins.str]]:
257
257
  """
258
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
258
+ If set, the new volume will be created from this snapshot.
259
259
  """
260
260
  return pulumi.get(self, "snapshot_id")
261
261
 
@@ -359,8 +359,8 @@ class Volume(pulumi.CustomResource):
359
359
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
360
360
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
361
361
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
362
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
363
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
362
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
363
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
364
364
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
365
365
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
366
366
  """
@@ -493,8 +493,8 @@ class Volume(pulumi.CustomResource):
493
493
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
494
494
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
495
495
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
496
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
497
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
496
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
497
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
498
498
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
499
499
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
500
500
  """
@@ -548,7 +548,7 @@ class Volume(pulumi.CustomResource):
548
548
  @pulumi.getter(name="sizeInGb")
549
549
  def size_in_gb(self) -> pulumi.Output[builtins.int]:
550
550
  """
551
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
551
+ The size of the volume in gigabytes.
552
552
  """
553
553
  return pulumi.get(self, "size_in_gb")
554
554
 
@@ -556,7 +556,7 @@ class Volume(pulumi.CustomResource):
556
556
  @pulumi.getter(name="snapshotId")
557
557
  def snapshot_id(self) -> pulumi.Output[Optional[builtins.str]]:
558
558
  """
559
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
559
+ If set, the new volume will be created from this snapshot.
560
560
  """
561
561
  return pulumi.get(self, "snapshot_id")
562
562
 
@@ -22,6 +22,7 @@ __all__ = ['BlockSnapshotArgs', 'BlockSnapshot']
22
22
  @pulumi.input_type
23
23
  class BlockSnapshotArgs:
24
24
  def __init__(__self__, *,
25
+ export: Optional[pulumi.Input['BlockSnapshotExportArgs']] = None,
25
26
  import_: Optional[pulumi.Input['BlockSnapshotImportArgs']] = None,
26
27
  name: Optional[pulumi.Input[builtins.str]] = None,
27
28
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -30,13 +31,16 @@ class BlockSnapshotArgs:
30
31
  zone: Optional[pulumi.Input[builtins.str]] = None):
31
32
  """
32
33
  The set of arguments for constructing a BlockSnapshot resource.
33
- :param pulumi.Input['BlockSnapshotImportArgs'] import_: Import snapshot from a qcow
34
+ :param pulumi.Input['BlockSnapshotExportArgs'] export: Use this block to export the volume as a QCOW file to Object Storage.
35
+ :param pulumi.Input['BlockSnapshotImportArgs'] import_: Use this block to import a QCOW image from Object Storage to create a volume.
34
36
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
35
37
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
36
38
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
37
39
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
38
40
  :param pulumi.Input[builtins.str] zone: ). The zone in which the snapshot should be created.
39
41
  """
42
+ if export is not None:
43
+ pulumi.set(__self__, "export", export)
40
44
  if import_ is not None:
41
45
  pulumi.set(__self__, "import_", import_)
42
46
  if name is not None:
@@ -50,11 +54,23 @@ class BlockSnapshotArgs:
50
54
  if zone is not None:
51
55
  pulumi.set(__self__, "zone", zone)
52
56
 
57
+ @property
58
+ @pulumi.getter
59
+ def export(self) -> Optional[pulumi.Input['BlockSnapshotExportArgs']]:
60
+ """
61
+ Use this block to export the volume as a QCOW file to Object Storage.
62
+ """
63
+ return pulumi.get(self, "export")
64
+
65
+ @export.setter
66
+ def export(self, value: Optional[pulumi.Input['BlockSnapshotExportArgs']]):
67
+ pulumi.set(self, "export", value)
68
+
53
69
  @property
54
70
  @pulumi.getter(name="import")
55
71
  def import_(self) -> Optional[pulumi.Input['BlockSnapshotImportArgs']]:
56
72
  """
57
- Import snapshot from a qcow
73
+ Use this block to import a QCOW image from Object Storage to create a volume.
58
74
  """
59
75
  return pulumi.get(self, "import_")
60
76
 
@@ -126,6 +142,7 @@ class BlockSnapshotArgs:
126
142
  @pulumi.input_type
127
143
  class _BlockSnapshotState:
128
144
  def __init__(__self__, *,
145
+ export: Optional[pulumi.Input['BlockSnapshotExportArgs']] = None,
129
146
  import_: Optional[pulumi.Input['BlockSnapshotImportArgs']] = None,
130
147
  name: Optional[pulumi.Input[builtins.str]] = None,
131
148
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -134,13 +151,16 @@ class _BlockSnapshotState:
134
151
  zone: Optional[pulumi.Input[builtins.str]] = None):
135
152
  """
136
153
  Input properties used for looking up and filtering BlockSnapshot resources.
137
- :param pulumi.Input['BlockSnapshotImportArgs'] import_: Import snapshot from a qcow
154
+ :param pulumi.Input['BlockSnapshotExportArgs'] export: Use this block to export the volume as a QCOW file to Object Storage.
155
+ :param pulumi.Input['BlockSnapshotImportArgs'] import_: Use this block to import a QCOW image from Object Storage to create a volume.
138
156
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
139
157
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
140
158
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
141
159
  :param pulumi.Input[builtins.str] volume_id: The ID of the volume to take a snapshot from.
142
160
  :param pulumi.Input[builtins.str] zone: ). The zone in which the snapshot should be created.
143
161
  """
162
+ if export is not None:
163
+ pulumi.set(__self__, "export", export)
144
164
  if import_ is not None:
145
165
  pulumi.set(__self__, "import_", import_)
146
166
  if name is not None:
@@ -154,11 +174,23 @@ class _BlockSnapshotState:
154
174
  if zone is not None:
155
175
  pulumi.set(__self__, "zone", zone)
156
176
 
177
+ @property
178
+ @pulumi.getter
179
+ def export(self) -> Optional[pulumi.Input['BlockSnapshotExportArgs']]:
180
+ """
181
+ Use this block to export the volume as a QCOW file to Object Storage.
182
+ """
183
+ return pulumi.get(self, "export")
184
+
185
+ @export.setter
186
+ def export(self, value: Optional[pulumi.Input['BlockSnapshotExportArgs']]):
187
+ pulumi.set(self, "export", value)
188
+
157
189
  @property
158
190
  @pulumi.getter(name="import")
159
191
  def import_(self) -> Optional[pulumi.Input['BlockSnapshotImportArgs']]:
160
192
  """
161
- Import snapshot from a qcow
193
+ Use this block to import a QCOW image from Object Storage to create a volume.
162
194
  """
163
195
  return pulumi.get(self, "import_")
164
196
 
@@ -238,6 +270,7 @@ class BlockSnapshot(pulumi.CustomResource):
238
270
  def __init__(__self__,
239
271
  resource_name: str,
240
272
  opts: Optional[pulumi.ResourceOptions] = None,
273
+ export: Optional[pulumi.Input[Union['BlockSnapshotExportArgs', 'BlockSnapshotExportArgsDict']]] = None,
241
274
  import_: Optional[pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']]] = None,
242
275
  name: Optional[pulumi.Input[builtins.str]] = None,
243
276
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -281,7 +314,8 @@ class BlockSnapshot(pulumi.CustomResource):
281
314
 
282
315
  :param str resource_name: The name of the resource.
283
316
  :param pulumi.ResourceOptions opts: Options for the resource.
284
- :param pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']] import_: Import snapshot from a qcow
317
+ :param pulumi.Input[Union['BlockSnapshotExportArgs', 'BlockSnapshotExportArgsDict']] export: Use this block to export the volume as a QCOW file to Object Storage.
318
+ :param pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']] import_: Use this block to import a QCOW image from Object Storage to create a volume.
285
319
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
286
320
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
287
321
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
@@ -343,6 +377,7 @@ class BlockSnapshot(pulumi.CustomResource):
343
377
  def _internal_init(__self__,
344
378
  resource_name: str,
345
379
  opts: Optional[pulumi.ResourceOptions] = None,
380
+ export: Optional[pulumi.Input[Union['BlockSnapshotExportArgs', 'BlockSnapshotExportArgsDict']]] = None,
346
381
  import_: Optional[pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']]] = None,
347
382
  name: Optional[pulumi.Input[builtins.str]] = None,
348
383
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -359,6 +394,7 @@ class BlockSnapshot(pulumi.CustomResource):
359
394
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
360
395
  __props__ = BlockSnapshotArgs.__new__(BlockSnapshotArgs)
361
396
 
397
+ __props__.__dict__["export"] = export
362
398
  __props__.__dict__["import_"] = import_
363
399
  __props__.__dict__["name"] = name
364
400
  __props__.__dict__["project_id"] = project_id
@@ -375,6 +411,7 @@ class BlockSnapshot(pulumi.CustomResource):
375
411
  def get(resource_name: str,
376
412
  id: pulumi.Input[str],
377
413
  opts: Optional[pulumi.ResourceOptions] = None,
414
+ export: Optional[pulumi.Input[Union['BlockSnapshotExportArgs', 'BlockSnapshotExportArgsDict']]] = None,
378
415
  import_: Optional[pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']]] = None,
379
416
  name: Optional[pulumi.Input[builtins.str]] = None,
380
417
  project_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -388,7 +425,8 @@ class BlockSnapshot(pulumi.CustomResource):
388
425
  :param str resource_name: The unique name of the resulting resource.
389
426
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
390
427
  :param pulumi.ResourceOptions opts: Options for the resource.
391
- :param pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']] import_: Import snapshot from a qcow
428
+ :param pulumi.Input[Union['BlockSnapshotExportArgs', 'BlockSnapshotExportArgsDict']] export: Use this block to export the volume as a QCOW file to Object Storage.
429
+ :param pulumi.Input[Union['BlockSnapshotImportArgs', 'BlockSnapshotImportArgsDict']] import_: Use this block to import a QCOW image from Object Storage to create a volume.
392
430
  :param pulumi.Input[builtins.str] name: The name of the snapshot. If not provided, a name will be randomly generated.
393
431
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Scaleway Project the snapshot is associated with.
394
432
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the snapshot.
@@ -399,6 +437,7 @@ class BlockSnapshot(pulumi.CustomResource):
399
437
 
400
438
  __props__ = _BlockSnapshotState.__new__(_BlockSnapshotState)
401
439
 
440
+ __props__.__dict__["export"] = export
402
441
  __props__.__dict__["import_"] = import_
403
442
  __props__.__dict__["name"] = name
404
443
  __props__.__dict__["project_id"] = project_id
@@ -407,11 +446,19 @@ class BlockSnapshot(pulumi.CustomResource):
407
446
  __props__.__dict__["zone"] = zone
408
447
  return BlockSnapshot(resource_name, opts=opts, __props__=__props__)
409
448
 
449
+ @property
450
+ @pulumi.getter
451
+ def export(self) -> pulumi.Output[Optional['outputs.BlockSnapshotExport']]:
452
+ """
453
+ Use this block to export the volume as a QCOW file to Object Storage.
454
+ """
455
+ return pulumi.get(self, "export")
456
+
410
457
  @property
411
458
  @pulumi.getter(name="import")
412
459
  def import_(self) -> pulumi.Output[Optional['outputs.BlockSnapshotImport']]:
413
460
  """
414
- Import snapshot from a qcow
461
+ Use this block to import a QCOW image from Object Storage to create a volume.
415
462
  """
416
463
  return pulumi.get(self, "import_")
417
464
 
@@ -34,8 +34,8 @@ class BlockVolumeArgs:
34
34
  :param pulumi.Input[builtins.str] instance_volume_id: The instance volume to create the block volume from
35
35
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
36
36
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
37
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
38
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
37
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
38
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
39
39
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
40
40
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
41
41
  """
@@ -107,7 +107,7 @@ class BlockVolumeArgs:
107
107
  @pulumi.getter(name="sizeInGb")
108
108
  def size_in_gb(self) -> Optional[pulumi.Input[builtins.int]]:
109
109
  """
110
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
110
+ The size of the volume in gigabytes.
111
111
  """
112
112
  return pulumi.get(self, "size_in_gb")
113
113
 
@@ -119,7 +119,7 @@ class BlockVolumeArgs:
119
119
  @pulumi.getter(name="snapshotId")
120
120
  def snapshot_id(self) -> Optional[pulumi.Input[builtins.str]]:
121
121
  """
122
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
122
+ If set, the new volume will be created from this snapshot.
123
123
  """
124
124
  return pulumi.get(self, "snapshot_id")
125
125
 
@@ -169,8 +169,8 @@ class _BlockVolumeState:
169
169
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
170
170
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
171
171
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
172
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
173
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
172
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
173
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
174
174
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
175
175
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
176
176
  """
@@ -243,7 +243,7 @@ class _BlockVolumeState:
243
243
  @pulumi.getter(name="sizeInGb")
244
244
  def size_in_gb(self) -> Optional[pulumi.Input[builtins.int]]:
245
245
  """
246
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
246
+ The size of the volume in gigabytes.
247
247
  """
248
248
  return pulumi.get(self, "size_in_gb")
249
249
 
@@ -255,7 +255,7 @@ class _BlockVolumeState:
255
255
  @pulumi.getter(name="snapshotId")
256
256
  def snapshot_id(self) -> Optional[pulumi.Input[builtins.str]]:
257
257
  """
258
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
258
+ If set, the new volume will be created from this snapshot.
259
259
  """
260
260
  return pulumi.get(self, "snapshot_id")
261
261
 
@@ -364,8 +364,8 @@ class BlockVolume(pulumi.CustomResource):
364
364
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
365
365
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
366
366
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
367
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
368
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
367
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
368
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
369
369
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
370
370
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
371
371
  """
@@ -497,8 +497,8 @@ class BlockVolume(pulumi.CustomResource):
497
497
  :param pulumi.Input[builtins.int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
498
498
  :param pulumi.Input[builtins.str] name: The name of the volume. If not provided, a name will be randomly generated.
499
499
  :param pulumi.Input[builtins.str] project_id: ). The ID of the Project the volume is associated with.
500
- :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
501
- :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
500
+ :param pulumi.Input[builtins.int] size_in_gb: The size of the volume in gigabytes.
501
+ :param pulumi.Input[builtins.str] snapshot_id: If set, the new volume will be created from this snapshot.
502
502
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of tags to apply to the volume.
503
503
  :param pulumi.Input[builtins.str] zone: ). The zone in which the volume should be created.
504
504
  """
@@ -552,7 +552,7 @@ class BlockVolume(pulumi.CustomResource):
552
552
  @pulumi.getter(name="sizeInGb")
553
553
  def size_in_gb(self) -> pulumi.Output[builtins.int]:
554
554
  """
555
- The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
555
+ The size of the volume in gigabytes.
556
556
  """
557
557
  return pulumi.get(self, "size_in_gb")
558
558
 
@@ -560,7 +560,7 @@ class BlockVolume(pulumi.CustomResource):
560
560
  @pulumi.getter(name="snapshotId")
561
561
  def snapshot_id(self) -> pulumi.Output[Optional[builtins.str]]:
562
562
  """
563
- If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
563
+ If set, the new volume will be created from this snapshot.
564
564
  """
565
565
  return pulumi.get(self, "snapshot_id")
566
566