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,535 @@
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__ = ['InstanceVolumeArgs', 'InstanceVolume']
18
+
19
+ @pulumi.input_type
20
+ class InstanceVolumeArgs:
21
+ def __init__(__self__, *,
22
+ type: pulumi.Input[str],
23
+ from_snapshot_id: Optional[pulumi.Input[str]] = None,
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ project_id: Optional[pulumi.Input[str]] = None,
26
+ size_in_gb: Optional[pulumi.Input[int]] = 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 InstanceVolume resource.
31
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
32
+ :param pulumi.Input[str] from_snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
33
+ :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated.
34
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with.
35
+ :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_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: `zone`) The zone in which the volume should be created.
38
+ """
39
+ pulumi.set(__self__, "type", type)
40
+ if from_snapshot_id is not None:
41
+ pulumi.set(__self__, "from_snapshot_id", from_snapshot_id)
42
+ if name is not None:
43
+ pulumi.set(__self__, "name", name)
44
+ if project_id is not None:
45
+ pulumi.set(__self__, "project_id", project_id)
46
+ if size_in_gb is not None:
47
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
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 type(self) -> pulumi.Input[str]:
56
+ """
57
+ The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
58
+ """
59
+ return pulumi.get(self, "type")
60
+
61
+ @type.setter
62
+ def type(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "type", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="fromSnapshotId")
67
+ def from_snapshot_id(self) -> Optional[pulumi.Input[str]]:
68
+ """
69
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
70
+ """
71
+ return pulumi.get(self, "from_snapshot_id")
72
+
73
+ @from_snapshot_id.setter
74
+ def from_snapshot_id(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "from_snapshot_id", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def name(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The name of the volume. If not provided it will be randomly generated.
82
+ """
83
+ return pulumi.get(self, "name")
84
+
85
+ @name.setter
86
+ def name(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "name", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="projectId")
91
+ def project_id(self) -> Optional[pulumi.Input[str]]:
92
+ """
93
+ `project_id`) The ID of the project the volume is associated with.
94
+ """
95
+ return pulumi.get(self, "project_id")
96
+
97
+ @project_id.setter
98
+ def project_id(self, value: Optional[pulumi.Input[str]]):
99
+ pulumi.set(self, "project_id", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="sizeInGb")
103
+ def size_in_gb(self) -> Optional[pulumi.Input[int]]:
104
+ """
105
+ The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
106
+ """
107
+ return pulumi.get(self, "size_in_gb")
108
+
109
+ @size_in_gb.setter
110
+ def size_in_gb(self, value: Optional[pulumi.Input[int]]):
111
+ pulumi.set(self, "size_in_gb", 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
+ `zone`) 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 _InstanceVolumeState:
140
+ def __init__(__self__, *,
141
+ from_snapshot_id: Optional[pulumi.Input[str]] = None,
142
+ name: Optional[pulumi.Input[str]] = None,
143
+ organization_id: Optional[pulumi.Input[str]] = None,
144
+ project_id: Optional[pulumi.Input[str]] = None,
145
+ server_id: Optional[pulumi.Input[str]] = None,
146
+ size_in_gb: Optional[pulumi.Input[int]] = None,
147
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
148
+ type: Optional[pulumi.Input[str]] = None,
149
+ zone: Optional[pulumi.Input[str]] = None):
150
+ """
151
+ Input properties used for looking up and filtering InstanceVolume resources.
152
+ :param pulumi.Input[str] from_snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
153
+ :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated.
154
+ :param pulumi.Input[str] organization_id: The organization ID the volume is associated with.
155
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with.
156
+ :param pulumi.Input[str] server_id: The id of the associated server.
157
+ :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
158
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
159
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
160
+ :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
161
+ """
162
+ if from_snapshot_id is not None:
163
+ pulumi.set(__self__, "from_snapshot_id", from_snapshot_id)
164
+ if name is not None:
165
+ pulumi.set(__self__, "name", name)
166
+ if organization_id is not None:
167
+ pulumi.set(__self__, "organization_id", organization_id)
168
+ if project_id is not None:
169
+ pulumi.set(__self__, "project_id", project_id)
170
+ if server_id is not None:
171
+ pulumi.set(__self__, "server_id", server_id)
172
+ if size_in_gb is not None:
173
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
174
+ if tags is not None:
175
+ pulumi.set(__self__, "tags", tags)
176
+ if type is not None:
177
+ pulumi.set(__self__, "type", type)
178
+ if zone is not None:
179
+ pulumi.set(__self__, "zone", zone)
180
+
181
+ @property
182
+ @pulumi.getter(name="fromSnapshotId")
183
+ def from_snapshot_id(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
186
+ """
187
+ return pulumi.get(self, "from_snapshot_id")
188
+
189
+ @from_snapshot_id.setter
190
+ def from_snapshot_id(self, value: Optional[pulumi.Input[str]]):
191
+ pulumi.set(self, "from_snapshot_id", value)
192
+
193
+ @property
194
+ @pulumi.getter
195
+ def name(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ The name of the volume. If not provided it will be randomly generated.
198
+ """
199
+ return pulumi.get(self, "name")
200
+
201
+ @name.setter
202
+ def name(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "name", value)
204
+
205
+ @property
206
+ @pulumi.getter(name="organizationId")
207
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ The organization ID the volume is associated with.
210
+ """
211
+ return pulumi.get(self, "organization_id")
212
+
213
+ @organization_id.setter
214
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "organization_id", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="projectId")
219
+ def project_id(self) -> Optional[pulumi.Input[str]]:
220
+ """
221
+ `project_id`) The ID of the project the volume is associated with.
222
+ """
223
+ return pulumi.get(self, "project_id")
224
+
225
+ @project_id.setter
226
+ def project_id(self, value: Optional[pulumi.Input[str]]):
227
+ pulumi.set(self, "project_id", value)
228
+
229
+ @property
230
+ @pulumi.getter(name="serverId")
231
+ def server_id(self) -> Optional[pulumi.Input[str]]:
232
+ """
233
+ The id of the associated server.
234
+ """
235
+ return pulumi.get(self, "server_id")
236
+
237
+ @server_id.setter
238
+ def server_id(self, value: Optional[pulumi.Input[str]]):
239
+ pulumi.set(self, "server_id", value)
240
+
241
+ @property
242
+ @pulumi.getter(name="sizeInGb")
243
+ def size_in_gb(self) -> Optional[pulumi.Input[int]]:
244
+ """
245
+ The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
246
+ """
247
+ return pulumi.get(self, "size_in_gb")
248
+
249
+ @size_in_gb.setter
250
+ def size_in_gb(self, value: Optional[pulumi.Input[int]]):
251
+ pulumi.set(self, "size_in_gb", value)
252
+
253
+ @property
254
+ @pulumi.getter
255
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
256
+ """
257
+ A list of tags to apply to the volume.
258
+ """
259
+ return pulumi.get(self, "tags")
260
+
261
+ @tags.setter
262
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
263
+ pulumi.set(self, "tags", value)
264
+
265
+ @property
266
+ @pulumi.getter
267
+ def type(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
270
+ """
271
+ return pulumi.get(self, "type")
272
+
273
+ @type.setter
274
+ def type(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "type", value)
276
+
277
+ @property
278
+ @pulumi.getter
279
+ def zone(self) -> Optional[pulumi.Input[str]]:
280
+ """
281
+ `zone`) The zone in which the volume should be created.
282
+ """
283
+ return pulumi.get(self, "zone")
284
+
285
+ @zone.setter
286
+ def zone(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "zone", value)
288
+
289
+
290
+ class InstanceVolume(pulumi.CustomResource):
291
+ @overload
292
+ def __init__(__self__,
293
+ resource_name: str,
294
+ opts: Optional[pulumi.ResourceOptions] = None,
295
+ from_snapshot_id: Optional[pulumi.Input[str]] = None,
296
+ name: Optional[pulumi.Input[str]] = None,
297
+ project_id: Optional[pulumi.Input[str]] = None,
298
+ size_in_gb: Optional[pulumi.Input[int]] = None,
299
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
300
+ type: Optional[pulumi.Input[str]] = None,
301
+ zone: Optional[pulumi.Input[str]] = None,
302
+ __props__=None):
303
+ """
304
+ Creates and manages Scaleway compute Instance Volumes.
305
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-volumes-list-volumes).
306
+
307
+ ## Example Usage
308
+
309
+ ```python
310
+ import pulumi
311
+ import pulumiverse_scaleway as scaleway
312
+
313
+ server_volume = scaleway.InstanceVolume("server_volume",
314
+ type="l_ssd",
315
+ name="some-volume-name",
316
+ size_in_gb=20)
317
+ ```
318
+
319
+ ## Import
320
+
321
+ volumes can be imported using the `{zone}/{id}`, e.g.
322
+
323
+ bash
324
+
325
+ ```sh
326
+ $ pulumi import scaleway:index/instanceVolume:InstanceVolume server_volume fr-par-1/11111111-1111-1111-1111-111111111111
327
+ ```
328
+
329
+ :param str resource_name: The name of the resource.
330
+ :param pulumi.ResourceOptions opts: Options for the resource.
331
+ :param pulumi.Input[str] from_snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
332
+ :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated.
333
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with.
334
+ :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
335
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
336
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
337
+ :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
338
+ """
339
+ ...
340
+ @overload
341
+ def __init__(__self__,
342
+ resource_name: str,
343
+ args: InstanceVolumeArgs,
344
+ opts: Optional[pulumi.ResourceOptions] = None):
345
+ """
346
+ Creates and manages Scaleway compute Instance Volumes.
347
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/instance/#path-volumes-list-volumes).
348
+
349
+ ## Example Usage
350
+
351
+ ```python
352
+ import pulumi
353
+ import pulumiverse_scaleway as scaleway
354
+
355
+ server_volume = scaleway.InstanceVolume("server_volume",
356
+ type="l_ssd",
357
+ name="some-volume-name",
358
+ size_in_gb=20)
359
+ ```
360
+
361
+ ## Import
362
+
363
+ volumes can be imported using the `{zone}/{id}`, e.g.
364
+
365
+ bash
366
+
367
+ ```sh
368
+ $ pulumi import scaleway:index/instanceVolume:InstanceVolume server_volume fr-par-1/11111111-1111-1111-1111-111111111111
369
+ ```
370
+
371
+ :param str resource_name: The name of the resource.
372
+ :param InstanceVolumeArgs args: The arguments to use to populate this resource's properties.
373
+ :param pulumi.ResourceOptions opts: Options for the resource.
374
+ """
375
+ ...
376
+ def __init__(__self__, resource_name: str, *args, **kwargs):
377
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceVolumeArgs, pulumi.ResourceOptions, *args, **kwargs)
378
+ if resource_args is not None:
379
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
380
+ else:
381
+ __self__._internal_init(resource_name, *args, **kwargs)
382
+
383
+ def _internal_init(__self__,
384
+ resource_name: str,
385
+ opts: Optional[pulumi.ResourceOptions] = None,
386
+ from_snapshot_id: Optional[pulumi.Input[str]] = None,
387
+ name: Optional[pulumi.Input[str]] = None,
388
+ project_id: Optional[pulumi.Input[str]] = None,
389
+ size_in_gb: Optional[pulumi.Input[int]] = None,
390
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
391
+ type: Optional[pulumi.Input[str]] = None,
392
+ zone: Optional[pulumi.Input[str]] = None,
393
+ __props__=None):
394
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
395
+ if not isinstance(opts, pulumi.ResourceOptions):
396
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
397
+ if opts.id is None:
398
+ if __props__ is not None:
399
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
400
+ __props__ = InstanceVolumeArgs.__new__(InstanceVolumeArgs)
401
+
402
+ __props__.__dict__["from_snapshot_id"] = from_snapshot_id
403
+ __props__.__dict__["name"] = name
404
+ __props__.__dict__["project_id"] = project_id
405
+ __props__.__dict__["size_in_gb"] = size_in_gb
406
+ __props__.__dict__["tags"] = tags
407
+ if type is None and not opts.urn:
408
+ raise TypeError("Missing required property 'type'")
409
+ __props__.__dict__["type"] = type
410
+ __props__.__dict__["zone"] = zone
411
+ __props__.__dict__["organization_id"] = None
412
+ __props__.__dict__["server_id"] = None
413
+ super(InstanceVolume, __self__).__init__(
414
+ 'scaleway:index/instanceVolume:InstanceVolume',
415
+ resource_name,
416
+ __props__,
417
+ opts)
418
+
419
+ @staticmethod
420
+ def get(resource_name: str,
421
+ id: pulumi.Input[str],
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ from_snapshot_id: Optional[pulumi.Input[str]] = None,
424
+ name: Optional[pulumi.Input[str]] = None,
425
+ organization_id: Optional[pulumi.Input[str]] = None,
426
+ project_id: Optional[pulumi.Input[str]] = None,
427
+ server_id: Optional[pulumi.Input[str]] = None,
428
+ size_in_gb: Optional[pulumi.Input[int]] = None,
429
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
430
+ type: Optional[pulumi.Input[str]] = None,
431
+ zone: Optional[pulumi.Input[str]] = None) -> 'InstanceVolume':
432
+ """
433
+ Get an existing InstanceVolume resource's state with the given name, id, and optional extra
434
+ properties used to qualify the lookup.
435
+
436
+ :param str resource_name: The unique name of the resulting resource.
437
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
438
+ :param pulumi.ResourceOptions opts: Options for the resource.
439
+ :param pulumi.Input[str] from_snapshot_id: If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
440
+ :param pulumi.Input[str] name: The name of the volume. If not provided it will be randomly generated.
441
+ :param pulumi.Input[str] organization_id: The organization ID the volume is associated with.
442
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the volume is associated with.
443
+ :param pulumi.Input[str] server_id: The id of the associated server.
444
+ :param pulumi.Input[int] size_in_gb: The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
445
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
446
+ :param pulumi.Input[str] type: The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
447
+ :param pulumi.Input[str] zone: `zone`) The zone in which the volume should be created.
448
+ """
449
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
450
+
451
+ __props__ = _InstanceVolumeState.__new__(_InstanceVolumeState)
452
+
453
+ __props__.__dict__["from_snapshot_id"] = from_snapshot_id
454
+ __props__.__dict__["name"] = name
455
+ __props__.__dict__["organization_id"] = organization_id
456
+ __props__.__dict__["project_id"] = project_id
457
+ __props__.__dict__["server_id"] = server_id
458
+ __props__.__dict__["size_in_gb"] = size_in_gb
459
+ __props__.__dict__["tags"] = tags
460
+ __props__.__dict__["type"] = type
461
+ __props__.__dict__["zone"] = zone
462
+ return InstanceVolume(resource_name, opts=opts, __props__=__props__)
463
+
464
+ @property
465
+ @pulumi.getter(name="fromSnapshotId")
466
+ def from_snapshot_id(self) -> pulumi.Output[Optional[str]]:
467
+ """
468
+ If set, the new volume will be created from this snapshot. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
469
+ """
470
+ return pulumi.get(self, "from_snapshot_id")
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def name(self) -> pulumi.Output[str]:
475
+ """
476
+ The name of the volume. If not provided it will be randomly generated.
477
+ """
478
+ return pulumi.get(self, "name")
479
+
480
+ @property
481
+ @pulumi.getter(name="organizationId")
482
+ def organization_id(self) -> pulumi.Output[str]:
483
+ """
484
+ The organization ID the volume is associated with.
485
+ """
486
+ return pulumi.get(self, "organization_id")
487
+
488
+ @property
489
+ @pulumi.getter(name="projectId")
490
+ def project_id(self) -> pulumi.Output[str]:
491
+ """
492
+ `project_id`) 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="serverId")
498
+ def server_id(self) -> pulumi.Output[str]:
499
+ """
500
+ The id of the associated server.
501
+ """
502
+ return pulumi.get(self, "server_id")
503
+
504
+ @property
505
+ @pulumi.getter(name="sizeInGb")
506
+ def size_in_gb(self) -> pulumi.Output[Optional[int]]:
507
+ """
508
+ The size of the volume. Only one of `size_in_gb` and `from_snapshot_id` should be specified.
509
+ """
510
+ return pulumi.get(self, "size_in_gb")
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 type(self) -> pulumi.Output[str]:
523
+ """
524
+ The type of the volume. The possible values are: `b_ssd` (Block SSD), `l_ssd` (Local SSD), `scratch` (Local Scratch SSD).
525
+ """
526
+ return pulumi.get(self, "type")
527
+
528
+ @property
529
+ @pulumi.getter
530
+ def zone(self) -> pulumi.Output[str]:
531
+ """
532
+ `zone`) The zone in which the volume should be created.
533
+ """
534
+ return pulumi.get(self, "zone")
535
+