pulumiverse-scaleway 1.31.0a1752171288__py3-none-any.whl → 1.32.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 (40) hide show
  1. pulumiverse_scaleway/__init__.py +9 -0
  2. pulumiverse_scaleway/_inputs.py +142 -36
  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/block/_inputs.py +58 -6
  8. pulumiverse_scaleway/block/get_snapshot.py +12 -1
  9. pulumiverse_scaleway/block/outputs.py +60 -0
  10. pulumiverse_scaleway/block/snapshot.py +54 -7
  11. pulumiverse_scaleway/block/volume.py +14 -14
  12. pulumiverse_scaleway/block_snapshot.py +54 -7
  13. pulumiverse_scaleway/block_volume.py +14 -14
  14. pulumiverse_scaleway/domain/get_record.py +1 -12
  15. pulumiverse_scaleway/domain/record.py +0 -47
  16. pulumiverse_scaleway/domain_record.py +0 -47
  17. pulumiverse_scaleway/get_block_snapshot.py +12 -1
  18. pulumiverse_scaleway/get_domain_record.py +1 -12
  19. pulumiverse_scaleway/get_iam_user.py +2 -2
  20. pulumiverse_scaleway/get_lb_frontend.py +37 -4
  21. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  22. pulumiverse_scaleway/iam/get_user.py +2 -2
  23. pulumiverse_scaleway/key_manager_key.py +831 -0
  24. pulumiverse_scaleway/kubernetes/cluster.py +6 -6
  25. pulumiverse_scaleway/kubernetes_cluster.py +6 -6
  26. pulumiverse_scaleway/loadbalancer_frontend.py +105 -2
  27. pulumiverse_scaleway/loadbalancers/_inputs.py +12 -12
  28. pulumiverse_scaleway/loadbalancers/frontend.py +105 -2
  29. pulumiverse_scaleway/loadbalancers/get_frontend.py +37 -4
  30. pulumiverse_scaleway/loadbalancers/outputs.py +32 -10
  31. pulumiverse_scaleway/mongo_db_instance.py +28 -0
  32. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  33. pulumiverse_scaleway/mongodb/instance.py +28 -0
  34. pulumiverse_scaleway/network/acl.py +35 -37
  35. pulumiverse_scaleway/outputs.py +159 -26
  36. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  37. {pulumiverse_scaleway-1.31.0a1752171288.dist-info → pulumiverse_scaleway-1.32.0.dist-info}/METADATA +1 -1
  38. {pulumiverse_scaleway-1.31.0a1752171288.dist-info → pulumiverse_scaleway-1.32.0.dist-info}/RECORD +40 -39
  39. {pulumiverse_scaleway-1.31.0a1752171288.dist-info → pulumiverse_scaleway-1.32.0.dist-info}/WHEEL +0 -0
  40. {pulumiverse_scaleway-1.31.0a1752171288.dist-info → pulumiverse_scaleway-1.32.0.dist-info}/top_level.txt +0 -0
@@ -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
 
@@ -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'),
@@ -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