pulumiverse-scaleway 1.16.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.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,391 @@
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__ = ['BlockSnapshotArgs', 'BlockSnapshot']
18
+
19
+ @pulumi.input_type
20
+ class BlockSnapshotArgs:
21
+ def __init__(__self__, *,
22
+ volume_id: pulumi.Input[str],
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ project_id: Optional[pulumi.Input[str]] = None,
25
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
+ zone: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a BlockSnapshot resource.
29
+ :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from.
30
+ :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated.
31
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with.
32
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot.
33
+ :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created.
34
+ """
35
+ pulumi.set(__self__, "volume_id", volume_id)
36
+ if name is not None:
37
+ pulumi.set(__self__, "name", name)
38
+ if project_id is not None:
39
+ pulumi.set(__self__, "project_id", project_id)
40
+ if tags is not None:
41
+ pulumi.set(__self__, "tags", tags)
42
+ if zone is not None:
43
+ pulumi.set(__self__, "zone", zone)
44
+
45
+ @property
46
+ @pulumi.getter(name="volumeId")
47
+ def volume_id(self) -> pulumi.Input[str]:
48
+ """
49
+ The ID of the volume to take a snapshot from.
50
+ """
51
+ return pulumi.get(self, "volume_id")
52
+
53
+ @volume_id.setter
54
+ def volume_id(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "volume_id", value)
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def name(self) -> Optional[pulumi.Input[str]]:
60
+ """
61
+ The name of the snapshot. If not provided it will be randomly generated.
62
+ """
63
+ return pulumi.get(self, "name")
64
+
65
+ @name.setter
66
+ def name(self, value: Optional[pulumi.Input[str]]):
67
+ pulumi.set(self, "name", value)
68
+
69
+ @property
70
+ @pulumi.getter(name="projectId")
71
+ def project_id(self) -> Optional[pulumi.Input[str]]:
72
+ """
73
+ `project_id`) The ID of the project the snapshot is associated with.
74
+ """
75
+ return pulumi.get(self, "project_id")
76
+
77
+ @project_id.setter
78
+ def project_id(self, value: Optional[pulumi.Input[str]]):
79
+ pulumi.set(self, "project_id", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
84
+ """
85
+ A list of tags to apply to the snapshot.
86
+ """
87
+ return pulumi.get(self, "tags")
88
+
89
+ @tags.setter
90
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
91
+ pulumi.set(self, "tags", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def zone(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ `zone`) The zone in which the snapshot should be created.
98
+ """
99
+ return pulumi.get(self, "zone")
100
+
101
+ @zone.setter
102
+ def zone(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "zone", value)
104
+
105
+
106
+ @pulumi.input_type
107
+ class _BlockSnapshotState:
108
+ def __init__(__self__, *,
109
+ name: Optional[pulumi.Input[str]] = None,
110
+ project_id: Optional[pulumi.Input[str]] = None,
111
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
112
+ volume_id: Optional[pulumi.Input[str]] = None,
113
+ zone: Optional[pulumi.Input[str]] = None):
114
+ """
115
+ Input properties used for looking up and filtering BlockSnapshot resources.
116
+ :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated.
117
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with.
118
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot.
119
+ :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from.
120
+ :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created.
121
+ """
122
+ if name is not None:
123
+ pulumi.set(__self__, "name", name)
124
+ if project_id is not None:
125
+ pulumi.set(__self__, "project_id", project_id)
126
+ if tags is not None:
127
+ pulumi.set(__self__, "tags", tags)
128
+ if volume_id is not None:
129
+ pulumi.set(__self__, "volume_id", volume_id)
130
+ if zone is not None:
131
+ pulumi.set(__self__, "zone", zone)
132
+
133
+ @property
134
+ @pulumi.getter
135
+ def name(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ The name of the snapshot. If not provided it will be randomly generated.
138
+ """
139
+ return pulumi.get(self, "name")
140
+
141
+ @name.setter
142
+ def name(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "name", value)
144
+
145
+ @property
146
+ @pulumi.getter(name="projectId")
147
+ def project_id(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ `project_id`) The ID of the project the snapshot is associated with.
150
+ """
151
+ return pulumi.get(self, "project_id")
152
+
153
+ @project_id.setter
154
+ def project_id(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "project_id", value)
156
+
157
+ @property
158
+ @pulumi.getter
159
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
160
+ """
161
+ A list of tags to apply to the snapshot.
162
+ """
163
+ return pulumi.get(self, "tags")
164
+
165
+ @tags.setter
166
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
167
+ pulumi.set(self, "tags", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="volumeId")
171
+ def volume_id(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ The ID of the volume to take a snapshot from.
174
+ """
175
+ return pulumi.get(self, "volume_id")
176
+
177
+ @volume_id.setter
178
+ def volume_id(self, value: Optional[pulumi.Input[str]]):
179
+ pulumi.set(self, "volume_id", value)
180
+
181
+ @property
182
+ @pulumi.getter
183
+ def zone(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ `zone`) The zone in which the snapshot should be created.
186
+ """
187
+ return pulumi.get(self, "zone")
188
+
189
+ @zone.setter
190
+ def zone(self, value: Optional[pulumi.Input[str]]):
191
+ pulumi.set(self, "zone", value)
192
+
193
+
194
+ class BlockSnapshot(pulumi.CustomResource):
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ opts: Optional[pulumi.ResourceOptions] = None,
199
+ name: Optional[pulumi.Input[str]] = None,
200
+ project_id: Optional[pulumi.Input[str]] = None,
201
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
202
+ volume_id: Optional[pulumi.Input[str]] = None,
203
+ zone: Optional[pulumi.Input[str]] = None,
204
+ __props__=None):
205
+ """
206
+ Creates and manages Scaleway Block Snapshots.
207
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/).
208
+
209
+ ## Example Usage
210
+
211
+ ```python
212
+ import pulumi
213
+ import pulumiverse_scaleway as scaleway
214
+
215
+ block_volume = scaleway.BlockVolume("block_volume",
216
+ iops=5000,
217
+ name="some-volume-name",
218
+ size_in_gb=20)
219
+ block_snapshot = scaleway.BlockSnapshot("block_snapshot",
220
+ name="some-snapshot-name",
221
+ volume_id=block_volume.id)
222
+ ```
223
+
224
+ ## Import
225
+
226
+ Block Snapshots can be imported using the `{zone}/{id}`, e.g.
227
+
228
+ bash
229
+
230
+ ```sh
231
+ $ pulumi import scaleway:index/blockSnapshot:BlockSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111
232
+ ```
233
+
234
+ :param str resource_name: The name of the resource.
235
+ :param pulumi.ResourceOptions opts: Options for the resource.
236
+ :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated.
237
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with.
238
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot.
239
+ :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from.
240
+ :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created.
241
+ """
242
+ ...
243
+ @overload
244
+ def __init__(__self__,
245
+ resource_name: str,
246
+ args: BlockSnapshotArgs,
247
+ opts: Optional[pulumi.ResourceOptions] = None):
248
+ """
249
+ Creates and manages Scaleway Block Snapshots.
250
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/block/).
251
+
252
+ ## Example Usage
253
+
254
+ ```python
255
+ import pulumi
256
+ import pulumiverse_scaleway as scaleway
257
+
258
+ block_volume = scaleway.BlockVolume("block_volume",
259
+ iops=5000,
260
+ name="some-volume-name",
261
+ size_in_gb=20)
262
+ block_snapshot = scaleway.BlockSnapshot("block_snapshot",
263
+ name="some-snapshot-name",
264
+ volume_id=block_volume.id)
265
+ ```
266
+
267
+ ## Import
268
+
269
+ Block Snapshots can be imported using the `{zone}/{id}`, e.g.
270
+
271
+ bash
272
+
273
+ ```sh
274
+ $ pulumi import scaleway:index/blockSnapshot:BlockSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111
275
+ ```
276
+
277
+ :param str resource_name: The name of the resource.
278
+ :param BlockSnapshotArgs args: The arguments to use to populate this resource's properties.
279
+ :param pulumi.ResourceOptions opts: Options for the resource.
280
+ """
281
+ ...
282
+ def __init__(__self__, resource_name: str, *args, **kwargs):
283
+ resource_args, opts = _utilities.get_resource_args_opts(BlockSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
284
+ if resource_args is not None:
285
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
286
+ else:
287
+ __self__._internal_init(resource_name, *args, **kwargs)
288
+
289
+ def _internal_init(__self__,
290
+ resource_name: str,
291
+ opts: Optional[pulumi.ResourceOptions] = None,
292
+ name: Optional[pulumi.Input[str]] = None,
293
+ project_id: Optional[pulumi.Input[str]] = None,
294
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
295
+ volume_id: Optional[pulumi.Input[str]] = None,
296
+ zone: Optional[pulumi.Input[str]] = None,
297
+ __props__=None):
298
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
299
+ if not isinstance(opts, pulumi.ResourceOptions):
300
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
301
+ if opts.id is None:
302
+ if __props__ is not None:
303
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
304
+ __props__ = BlockSnapshotArgs.__new__(BlockSnapshotArgs)
305
+
306
+ __props__.__dict__["name"] = name
307
+ __props__.__dict__["project_id"] = project_id
308
+ __props__.__dict__["tags"] = tags
309
+ if volume_id is None and not opts.urn:
310
+ raise TypeError("Missing required property 'volume_id'")
311
+ __props__.__dict__["volume_id"] = volume_id
312
+ __props__.__dict__["zone"] = zone
313
+ super(BlockSnapshot, __self__).__init__(
314
+ 'scaleway:index/blockSnapshot:BlockSnapshot',
315
+ resource_name,
316
+ __props__,
317
+ opts)
318
+
319
+ @staticmethod
320
+ def get(resource_name: str,
321
+ id: pulumi.Input[str],
322
+ opts: Optional[pulumi.ResourceOptions] = None,
323
+ name: Optional[pulumi.Input[str]] = None,
324
+ project_id: Optional[pulumi.Input[str]] = None,
325
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
326
+ volume_id: Optional[pulumi.Input[str]] = None,
327
+ zone: Optional[pulumi.Input[str]] = None) -> 'BlockSnapshot':
328
+ """
329
+ Get an existing BlockSnapshot resource's state with the given name, id, and optional extra
330
+ properties used to qualify the lookup.
331
+
332
+ :param str resource_name: The unique name of the resulting resource.
333
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
334
+ :param pulumi.ResourceOptions opts: Options for the resource.
335
+ :param pulumi.Input[str] name: The name of the snapshot. If not provided it will be randomly generated.
336
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the snapshot is associated with.
337
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the snapshot.
338
+ :param pulumi.Input[str] volume_id: The ID of the volume to take a snapshot from.
339
+ :param pulumi.Input[str] zone: `zone`) The zone in which the snapshot should be created.
340
+ """
341
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
342
+
343
+ __props__ = _BlockSnapshotState.__new__(_BlockSnapshotState)
344
+
345
+ __props__.__dict__["name"] = name
346
+ __props__.__dict__["project_id"] = project_id
347
+ __props__.__dict__["tags"] = tags
348
+ __props__.__dict__["volume_id"] = volume_id
349
+ __props__.__dict__["zone"] = zone
350
+ return BlockSnapshot(resource_name, opts=opts, __props__=__props__)
351
+
352
+ @property
353
+ @pulumi.getter
354
+ def name(self) -> pulumi.Output[str]:
355
+ """
356
+ The name of the snapshot. If not provided it will be randomly generated.
357
+ """
358
+ return pulumi.get(self, "name")
359
+
360
+ @property
361
+ @pulumi.getter(name="projectId")
362
+ def project_id(self) -> pulumi.Output[str]:
363
+ """
364
+ `project_id`) The ID of the project the snapshot is associated with.
365
+ """
366
+ return pulumi.get(self, "project_id")
367
+
368
+ @property
369
+ @pulumi.getter
370
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
371
+ """
372
+ A list of tags to apply to the snapshot.
373
+ """
374
+ return pulumi.get(self, "tags")
375
+
376
+ @property
377
+ @pulumi.getter(name="volumeId")
378
+ def volume_id(self) -> pulumi.Output[str]:
379
+ """
380
+ The ID of the volume to take a snapshot from.
381
+ """
382
+ return pulumi.get(self, "volume_id")
383
+
384
+ @property
385
+ @pulumi.getter
386
+ def zone(self) -> pulumi.Output[str]:
387
+ """
388
+ `zone`) The zone in which the snapshot should be created.
389
+ """
390
+ return pulumi.get(self, "zone")
391
+