pulumiverse-scaleway 1.23.0a1736837529__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 +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -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 +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -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 +1641 -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/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,527 @@
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__ = ['BlockVolumeArgs', 'BlockVolume']
18
+
19
+ @pulumi.input_type
20
+ class BlockVolumeArgs:
21
+ def __init__(__self__, *,
22
+ iops: pulumi.Input[int],
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ project_id: Optional[pulumi.Input[str]] = None,
25
+ size_in_gb: Optional[pulumi.Input[int]] = None,
26
+ snapshot_id: Optional[pulumi.Input[str]] = None,
27
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ zone: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a BlockVolume resource.
31
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
32
+ :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
33
+ :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
34
+ :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
35
+ :param pulumi.Input[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.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
37
+ :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
38
+ """
39
+ pulumi.set(__self__, "iops", iops)
40
+ if name is not None:
41
+ pulumi.set(__self__, "name", name)
42
+ if project_id is not None:
43
+ pulumi.set(__self__, "project_id", project_id)
44
+ if size_in_gb is not None:
45
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
46
+ if snapshot_id is not None:
47
+ pulumi.set(__self__, "snapshot_id", snapshot_id)
48
+ if tags is not None:
49
+ pulumi.set(__self__, "tags", tags)
50
+ if zone is not None:
51
+ pulumi.set(__self__, "zone", zone)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def iops(self) -> pulumi.Input[int]:
56
+ """
57
+ The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
58
+ """
59
+ return pulumi.get(self, "iops")
60
+
61
+ @iops.setter
62
+ def iops(self, value: pulumi.Input[int]):
63
+ pulumi.set(self, "iops", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def name(self) -> Optional[pulumi.Input[str]]:
68
+ """
69
+ The name of the volume. If not provided, a name will be randomly generated.
70
+ """
71
+ return pulumi.get(self, "name")
72
+
73
+ @name.setter
74
+ def name(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "name", value)
76
+
77
+ @property
78
+ @pulumi.getter(name="projectId")
79
+ def project_id(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ ). The ID of the Project the volume is associated with.
82
+ """
83
+ return pulumi.get(self, "project_id")
84
+
85
+ @project_id.setter
86
+ def project_id(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "project_id", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="sizeInGb")
91
+ def size_in_gb(self) -> Optional[pulumi.Input[int]]:
92
+ """
93
+ The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
94
+ """
95
+ return pulumi.get(self, "size_in_gb")
96
+
97
+ @size_in_gb.setter
98
+ def size_in_gb(self, value: Optional[pulumi.Input[int]]):
99
+ pulumi.set(self, "size_in_gb", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="snapshotId")
103
+ def snapshot_id(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
106
+ """
107
+ return pulumi.get(self, "snapshot_id")
108
+
109
+ @snapshot_id.setter
110
+ def snapshot_id(self, value: Optional[pulumi.Input[str]]):
111
+ pulumi.set(self, "snapshot_id", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
116
+ """
117
+ A list of tags to apply to the volume.
118
+ """
119
+ return pulumi.get(self, "tags")
120
+
121
+ @tags.setter
122
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
123
+ pulumi.set(self, "tags", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def zone(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ ). The zone in which the volume should be created.
130
+ """
131
+ return pulumi.get(self, "zone")
132
+
133
+ @zone.setter
134
+ def zone(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "zone", value)
136
+
137
+
138
+ @pulumi.input_type
139
+ class _BlockVolumeState:
140
+ def __init__(__self__, *,
141
+ iops: Optional[pulumi.Input[int]] = None,
142
+ name: Optional[pulumi.Input[str]] = None,
143
+ project_id: Optional[pulumi.Input[str]] = None,
144
+ size_in_gb: Optional[pulumi.Input[int]] = None,
145
+ snapshot_id: Optional[pulumi.Input[str]] = None,
146
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
147
+ zone: Optional[pulumi.Input[str]] = None):
148
+ """
149
+ Input properties used for looking up and filtering BlockVolume resources.
150
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
151
+ :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
152
+ :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
153
+ :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
154
+ :param pulumi.Input[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.
155
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
156
+ :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
157
+ """
158
+ if iops is not None:
159
+ pulumi.set(__self__, "iops", iops)
160
+ if name is not None:
161
+ pulumi.set(__self__, "name", name)
162
+ if project_id is not None:
163
+ pulumi.set(__self__, "project_id", project_id)
164
+ if size_in_gb is not None:
165
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
166
+ if snapshot_id is not None:
167
+ pulumi.set(__self__, "snapshot_id", snapshot_id)
168
+ if tags is not None:
169
+ pulumi.set(__self__, "tags", tags)
170
+ if zone is not None:
171
+ pulumi.set(__self__, "zone", zone)
172
+
173
+ @property
174
+ @pulumi.getter
175
+ def iops(self) -> Optional[pulumi.Input[int]]:
176
+ """
177
+ The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
178
+ """
179
+ return pulumi.get(self, "iops")
180
+
181
+ @iops.setter
182
+ def iops(self, value: Optional[pulumi.Input[int]]):
183
+ pulumi.set(self, "iops", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def name(self) -> Optional[pulumi.Input[str]]:
188
+ """
189
+ The name of the volume. If not provided, a name will be randomly generated.
190
+ """
191
+ return pulumi.get(self, "name")
192
+
193
+ @name.setter
194
+ def name(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "name", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="projectId")
199
+ def project_id(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ ). The ID of the Project the volume is associated with.
202
+ """
203
+ return pulumi.get(self, "project_id")
204
+
205
+ @project_id.setter
206
+ def project_id(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "project_id", value)
208
+
209
+ @property
210
+ @pulumi.getter(name="sizeInGb")
211
+ def size_in_gb(self) -> Optional[pulumi.Input[int]]:
212
+ """
213
+ The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
214
+ """
215
+ return pulumi.get(self, "size_in_gb")
216
+
217
+ @size_in_gb.setter
218
+ def size_in_gb(self, value: Optional[pulumi.Input[int]]):
219
+ pulumi.set(self, "size_in_gb", value)
220
+
221
+ @property
222
+ @pulumi.getter(name="snapshotId")
223
+ def snapshot_id(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
226
+ """
227
+ return pulumi.get(self, "snapshot_id")
228
+
229
+ @snapshot_id.setter
230
+ def snapshot_id(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "snapshot_id", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
236
+ """
237
+ A list of tags to apply to the volume.
238
+ """
239
+ return pulumi.get(self, "tags")
240
+
241
+ @tags.setter
242
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
243
+ pulumi.set(self, "tags", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def zone(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ ). The zone in which the volume should be created.
250
+ """
251
+ return pulumi.get(self, "zone")
252
+
253
+ @zone.setter
254
+ def zone(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "zone", value)
256
+
257
+
258
+ class BlockVolume(pulumi.CustomResource):
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ opts: Optional[pulumi.ResourceOptions] = None,
263
+ iops: Optional[pulumi.Input[int]] = None,
264
+ name: Optional[pulumi.Input[str]] = None,
265
+ project_id: Optional[pulumi.Input[str]] = None,
266
+ size_in_gb: Optional[pulumi.Input[int]] = None,
267
+ snapshot_id: Optional[pulumi.Input[str]] = None,
268
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
269
+ zone: Optional[pulumi.Input[str]] = None,
270
+ __props__=None):
271
+ """
272
+ The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes.
273
+
274
+ Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
275
+
276
+ ## Example Usage
277
+
278
+ ### Create a Block Storage volume
279
+
280
+ The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops).
281
+
282
+ ```python
283
+ import pulumi
284
+ import pulumiverse_scaleway as scaleway
285
+
286
+ block_volume = scaleway.BlockVolume("block_volume",
287
+ iops=5000,
288
+ name="some-volume-name",
289
+ size_in_gb=20)
290
+ ```
291
+
292
+ ### With snapshot
293
+
294
+ ```python
295
+ import pulumi
296
+ import pulumiverse_scaleway as scaleway
297
+
298
+ base = scaleway.BlockVolume("base",
299
+ name="block-volume-base",
300
+ iops=5000,
301
+ size_in_gb=20)
302
+ main = scaleway.BlockSnapshot("main",
303
+ name="block-volume-from-snapshot",
304
+ volume_id=base.id)
305
+ main_block_volume = scaleway.BlockVolume("main",
306
+ name="block-volume-from-snapshot",
307
+ iops=5000,
308
+ snapshot_id=main.id)
309
+ ```
310
+
311
+ ## Import
312
+
313
+ This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format.
314
+
315
+ bash
316
+
317
+ ```sh
318
+ $ pulumi import scaleway:index/blockVolume:BlockVolume block_volume fr-par-1/11111111-1111-1111-1111-111111111111
319
+ ```
320
+
321
+ :param str resource_name: The name of the resource.
322
+ :param pulumi.ResourceOptions opts: Options for the resource.
323
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
324
+ :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
325
+ :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
326
+ :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
327
+ :param pulumi.Input[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.
328
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
329
+ :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
330
+ """
331
+ ...
332
+ @overload
333
+ def __init__(__self__,
334
+ resource_name: str,
335
+ args: BlockVolumeArgs,
336
+ opts: Optional[pulumi.ResourceOptions] = None):
337
+ """
338
+ The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes.
339
+
340
+ Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
341
+
342
+ ## Example Usage
343
+
344
+ ### Create a Block Storage volume
345
+
346
+ The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops).
347
+
348
+ ```python
349
+ import pulumi
350
+ import pulumiverse_scaleway as scaleway
351
+
352
+ block_volume = scaleway.BlockVolume("block_volume",
353
+ iops=5000,
354
+ name="some-volume-name",
355
+ size_in_gb=20)
356
+ ```
357
+
358
+ ### With snapshot
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumiverse_scaleway as scaleway
363
+
364
+ base = scaleway.BlockVolume("base",
365
+ name="block-volume-base",
366
+ iops=5000,
367
+ size_in_gb=20)
368
+ main = scaleway.BlockSnapshot("main",
369
+ name="block-volume-from-snapshot",
370
+ volume_id=base.id)
371
+ main_block_volume = scaleway.BlockVolume("main",
372
+ name="block-volume-from-snapshot",
373
+ iops=5000,
374
+ snapshot_id=main.id)
375
+ ```
376
+
377
+ ## Import
378
+
379
+ This section explains how to import a Block Storage volume using the zoned ID (`{zone}/{id}`) format.
380
+
381
+ bash
382
+
383
+ ```sh
384
+ $ pulumi import scaleway:index/blockVolume:BlockVolume block_volume fr-par-1/11111111-1111-1111-1111-111111111111
385
+ ```
386
+
387
+ :param str resource_name: The name of the resource.
388
+ :param BlockVolumeArgs args: The arguments to use to populate this resource's properties.
389
+ :param pulumi.ResourceOptions opts: Options for the resource.
390
+ """
391
+ ...
392
+ def __init__(__self__, resource_name: str, *args, **kwargs):
393
+ resource_args, opts = _utilities.get_resource_args_opts(BlockVolumeArgs, pulumi.ResourceOptions, *args, **kwargs)
394
+ if resource_args is not None:
395
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
396
+ else:
397
+ __self__._internal_init(resource_name, *args, **kwargs)
398
+
399
+ def _internal_init(__self__,
400
+ resource_name: str,
401
+ opts: Optional[pulumi.ResourceOptions] = None,
402
+ iops: Optional[pulumi.Input[int]] = None,
403
+ name: Optional[pulumi.Input[str]] = None,
404
+ project_id: Optional[pulumi.Input[str]] = None,
405
+ size_in_gb: Optional[pulumi.Input[int]] = None,
406
+ snapshot_id: Optional[pulumi.Input[str]] = None,
407
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
408
+ zone: Optional[pulumi.Input[str]] = None,
409
+ __props__=None):
410
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
411
+ if not isinstance(opts, pulumi.ResourceOptions):
412
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
413
+ if opts.id is None:
414
+ if __props__ is not None:
415
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
416
+ __props__ = BlockVolumeArgs.__new__(BlockVolumeArgs)
417
+
418
+ if iops is None and not opts.urn:
419
+ raise TypeError("Missing required property 'iops'")
420
+ __props__.__dict__["iops"] = iops
421
+ __props__.__dict__["name"] = name
422
+ __props__.__dict__["project_id"] = project_id
423
+ __props__.__dict__["size_in_gb"] = size_in_gb
424
+ __props__.__dict__["snapshot_id"] = snapshot_id
425
+ __props__.__dict__["tags"] = tags
426
+ __props__.__dict__["zone"] = zone
427
+ super(BlockVolume, __self__).__init__(
428
+ 'scaleway:index/blockVolume:BlockVolume',
429
+ resource_name,
430
+ __props__,
431
+ opts)
432
+
433
+ @staticmethod
434
+ def get(resource_name: str,
435
+ id: pulumi.Input[str],
436
+ opts: Optional[pulumi.ResourceOptions] = None,
437
+ iops: Optional[pulumi.Input[int]] = None,
438
+ name: Optional[pulumi.Input[str]] = None,
439
+ project_id: Optional[pulumi.Input[str]] = None,
440
+ size_in_gb: Optional[pulumi.Input[int]] = None,
441
+ snapshot_id: Optional[pulumi.Input[str]] = None,
442
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
443
+ zone: Optional[pulumi.Input[str]] = None) -> 'BlockVolume':
444
+ """
445
+ Get an existing BlockVolume resource's state with the given name, id, and optional extra
446
+ properties used to qualify the lookup.
447
+
448
+ :param str resource_name: The unique name of the resulting resource.
449
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
450
+ :param pulumi.ResourceOptions opts: Options for the resource.
451
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
452
+ :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
453
+ :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
454
+ :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
455
+ :param pulumi.Input[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.
456
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
457
+ :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
458
+ """
459
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
460
+
461
+ __props__ = _BlockVolumeState.__new__(_BlockVolumeState)
462
+
463
+ __props__.__dict__["iops"] = iops
464
+ __props__.__dict__["name"] = name
465
+ __props__.__dict__["project_id"] = project_id
466
+ __props__.__dict__["size_in_gb"] = size_in_gb
467
+ __props__.__dict__["snapshot_id"] = snapshot_id
468
+ __props__.__dict__["tags"] = tags
469
+ __props__.__dict__["zone"] = zone
470
+ return BlockVolume(resource_name, opts=opts, __props__=__props__)
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def iops(self) -> pulumi.Output[int]:
475
+ """
476
+ The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
477
+ """
478
+ return pulumi.get(self, "iops")
479
+
480
+ @property
481
+ @pulumi.getter
482
+ def name(self) -> pulumi.Output[str]:
483
+ """
484
+ The name of the volume. If not provided, a name will be randomly generated.
485
+ """
486
+ return pulumi.get(self, "name")
487
+
488
+ @property
489
+ @pulumi.getter(name="projectId")
490
+ def project_id(self) -> pulumi.Output[str]:
491
+ """
492
+ ). The ID of the Project the volume is associated with.
493
+ """
494
+ return pulumi.get(self, "project_id")
495
+
496
+ @property
497
+ @pulumi.getter(name="sizeInGb")
498
+ def size_in_gb(self) -> pulumi.Output[int]:
499
+ """
500
+ The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
501
+ """
502
+ return pulumi.get(self, "size_in_gb")
503
+
504
+ @property
505
+ @pulumi.getter(name="snapshotId")
506
+ def snapshot_id(self) -> pulumi.Output[Optional[str]]:
507
+ """
508
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb`, `snapshot_id` should be specified.
509
+ """
510
+ return pulumi.get(self, "snapshot_id")
511
+
512
+ @property
513
+ @pulumi.getter
514
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
515
+ """
516
+ A list of tags to apply to the volume.
517
+ """
518
+ return pulumi.get(self, "tags")
519
+
520
+ @property
521
+ @pulumi.getter
522
+ def zone(self) -> pulumi.Output[str]:
523
+ """
524
+ ). The zone in which the volume should be created.
525
+ """
526
+ return pulumi.get(self, "zone")
527
+