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,435 @@
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__ = ['InstanceUserDataArgs', 'InstanceUserData']
18
+
19
+ @pulumi.input_type
20
+ class InstanceUserDataArgs:
21
+ def __init__(__self__, *,
22
+ key: pulumi.Input[str],
23
+ server_id: pulumi.Input[str],
24
+ value: pulumi.Input[str],
25
+ zone: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a InstanceUserData resource.
28
+ :param pulumi.Input[str] key: Key of the user data.
29
+ :param pulumi.Input[str] server_id: The ID of the server associated with.
30
+ :param pulumi.Input[str] value: Value associated with your key
31
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
32
+
33
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
34
+ You can define values using:
35
+ - string
36
+ - UTF-8 encoded file content using file
37
+ """
38
+ pulumi.set(__self__, "key", key)
39
+ pulumi.set(__self__, "server_id", server_id)
40
+ pulumi.set(__self__, "value", value)
41
+ if zone is not None:
42
+ pulumi.set(__self__, "zone", zone)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def key(self) -> pulumi.Input[str]:
47
+ """
48
+ Key of the user data.
49
+ """
50
+ return pulumi.get(self, "key")
51
+
52
+ @key.setter
53
+ def key(self, value: pulumi.Input[str]):
54
+ pulumi.set(self, "key", value)
55
+
56
+ @property
57
+ @pulumi.getter(name="serverId")
58
+ def server_id(self) -> pulumi.Input[str]:
59
+ """
60
+ The ID of the server associated with.
61
+ """
62
+ return pulumi.get(self, "server_id")
63
+
64
+ @server_id.setter
65
+ def server_id(self, value: pulumi.Input[str]):
66
+ pulumi.set(self, "server_id", value)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def value(self) -> pulumi.Input[str]:
71
+ """
72
+ Value associated with your key
73
+ """
74
+ return pulumi.get(self, "value")
75
+
76
+ @value.setter
77
+ def value(self, value: pulumi.Input[str]):
78
+ pulumi.set(self, "value", value)
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def zone(self) -> Optional[pulumi.Input[str]]:
83
+ """
84
+ `zone`) The zone in which the server should be created.
85
+
86
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
87
+ You can define values using:
88
+ - string
89
+ - UTF-8 encoded file content using file
90
+ """
91
+ return pulumi.get(self, "zone")
92
+
93
+ @zone.setter
94
+ def zone(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "zone", value)
96
+
97
+
98
+ @pulumi.input_type
99
+ class _InstanceUserDataState:
100
+ def __init__(__self__, *,
101
+ key: Optional[pulumi.Input[str]] = None,
102
+ server_id: Optional[pulumi.Input[str]] = None,
103
+ value: Optional[pulumi.Input[str]] = None,
104
+ zone: Optional[pulumi.Input[str]] = None):
105
+ """
106
+ Input properties used for looking up and filtering InstanceUserData resources.
107
+ :param pulumi.Input[str] key: Key of the user data.
108
+ :param pulumi.Input[str] server_id: The ID of the server associated with.
109
+ :param pulumi.Input[str] value: Value associated with your key
110
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
111
+
112
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
113
+ You can define values using:
114
+ - string
115
+ - UTF-8 encoded file content using file
116
+ """
117
+ if key is not None:
118
+ pulumi.set(__self__, "key", key)
119
+ if server_id is not None:
120
+ pulumi.set(__self__, "server_id", server_id)
121
+ if value is not None:
122
+ pulumi.set(__self__, "value", value)
123
+ if zone is not None:
124
+ pulumi.set(__self__, "zone", zone)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def key(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ Key of the user data.
131
+ """
132
+ return pulumi.get(self, "key")
133
+
134
+ @key.setter
135
+ def key(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "key", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="serverId")
140
+ def server_id(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ The ID of the server associated with.
143
+ """
144
+ return pulumi.get(self, "server_id")
145
+
146
+ @server_id.setter
147
+ def server_id(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "server_id", value)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def value(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ Value associated with your key
155
+ """
156
+ return pulumi.get(self, "value")
157
+
158
+ @value.setter
159
+ def value(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "value", value)
161
+
162
+ @property
163
+ @pulumi.getter
164
+ def zone(self) -> Optional[pulumi.Input[str]]:
165
+ """
166
+ `zone`) The zone in which the server should be created.
167
+
168
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
169
+ You can define values using:
170
+ - string
171
+ - UTF-8 encoded file content using file
172
+ """
173
+ return pulumi.get(self, "zone")
174
+
175
+ @zone.setter
176
+ def zone(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "zone", value)
178
+
179
+
180
+ class InstanceUserData(pulumi.CustomResource):
181
+ @overload
182
+ def __init__(__self__,
183
+ resource_name: str,
184
+ opts: Optional[pulumi.ResourceOptions] = None,
185
+ key: Optional[pulumi.Input[str]] = None,
186
+ server_id: Optional[pulumi.Input[str]] = None,
187
+ value: Optional[pulumi.Input[str]] = None,
188
+ zone: Optional[pulumi.Input[str]] = None,
189
+ __props__=None):
190
+ """
191
+ Creates and manages Scaleway compute Instance User Data values.
192
+
193
+ User data is a key value store API you can use to provide data from and to your server without authentication. It is the mechanism by which a user can pass information contained in a local file to an Instance at launch time.
194
+
195
+ The typical use case is to pass something like a shell script or a configuration file as user data.
196
+
197
+ For more information about [user_data](https://www.scaleway.com/en/developers/api/instance/#path-user-data-list-user-data) check our documentation guide [here](https://www.scaleway.com/en/docs/compute/instances/how-to/use-boot-modes/#how-to-use-cloud-init).
198
+
199
+ About cloud-init documentation please check this [link](https://cloudinit.readthedocs.io/en/latest/).
200
+
201
+ ## Example Usage
202
+
203
+ ### Basic
204
+
205
+ ```python
206
+ import pulumi
207
+ import pulumiverse_scaleway as scaleway
208
+
209
+ config = pulumi.Config()
210
+ user_data = config.get_object("userData")
211
+ if user_data is None:
212
+ user_data = {
213
+ "cloud-init": \"\"\"#cloud-config
214
+ apt-update: true
215
+ apt-upgrade: true
216
+ \"\"\",
217
+ "foo": "bar",
218
+ }
219
+ main_instance_server = scaleway.InstanceServer("main",
220
+ image="ubuntu_focal",
221
+ type="DEV1-S")
222
+ # User data with a single value
223
+ main = scaleway.InstanceUserData("main",
224
+ server_id=main_instance_server.id,
225
+ key="foo",
226
+ value="bar")
227
+ # User Data with many keys.
228
+ data = []
229
+ for range in [{"key": k, "value": v} for [k, v] in enumerate(user_data)]:
230
+ data.append(scaleway.InstanceUserData(f"data-{range['key']}",
231
+ server_id=main_instance_server.id,
232
+ key=range["key"],
233
+ value=range["value"]))
234
+ ```
235
+
236
+ ## Import
237
+
238
+ User data can be imported using the `{zone}/{key}/{server_id}`, e.g.
239
+
240
+ bash
241
+
242
+ ```sh
243
+ $ pulumi import scaleway:index/instanceUserData:InstanceUserData main fr-par-1/cloud-init/11111111-1111-1111-1111-111111111111
244
+ ```
245
+
246
+ :param str resource_name: The name of the resource.
247
+ :param pulumi.ResourceOptions opts: Options for the resource.
248
+ :param pulumi.Input[str] key: Key of the user data.
249
+ :param pulumi.Input[str] server_id: The ID of the server associated with.
250
+ :param pulumi.Input[str] value: Value associated with your key
251
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
252
+
253
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
254
+ You can define values using:
255
+ - string
256
+ - UTF-8 encoded file content using file
257
+ """
258
+ ...
259
+ @overload
260
+ def __init__(__self__,
261
+ resource_name: str,
262
+ args: InstanceUserDataArgs,
263
+ opts: Optional[pulumi.ResourceOptions] = None):
264
+ """
265
+ Creates and manages Scaleway compute Instance User Data values.
266
+
267
+ User data is a key value store API you can use to provide data from and to your server without authentication. It is the mechanism by which a user can pass information contained in a local file to an Instance at launch time.
268
+
269
+ The typical use case is to pass something like a shell script or a configuration file as user data.
270
+
271
+ For more information about [user_data](https://www.scaleway.com/en/developers/api/instance/#path-user-data-list-user-data) check our documentation guide [here](https://www.scaleway.com/en/docs/compute/instances/how-to/use-boot-modes/#how-to-use-cloud-init).
272
+
273
+ About cloud-init documentation please check this [link](https://cloudinit.readthedocs.io/en/latest/).
274
+
275
+ ## Example Usage
276
+
277
+ ### Basic
278
+
279
+ ```python
280
+ import pulumi
281
+ import pulumiverse_scaleway as scaleway
282
+
283
+ config = pulumi.Config()
284
+ user_data = config.get_object("userData")
285
+ if user_data is None:
286
+ user_data = {
287
+ "cloud-init": \"\"\"#cloud-config
288
+ apt-update: true
289
+ apt-upgrade: true
290
+ \"\"\",
291
+ "foo": "bar",
292
+ }
293
+ main_instance_server = scaleway.InstanceServer("main",
294
+ image="ubuntu_focal",
295
+ type="DEV1-S")
296
+ # User data with a single value
297
+ main = scaleway.InstanceUserData("main",
298
+ server_id=main_instance_server.id,
299
+ key="foo",
300
+ value="bar")
301
+ # User Data with many keys.
302
+ data = []
303
+ for range in [{"key": k, "value": v} for [k, v] in enumerate(user_data)]:
304
+ data.append(scaleway.InstanceUserData(f"data-{range['key']}",
305
+ server_id=main_instance_server.id,
306
+ key=range["key"],
307
+ value=range["value"]))
308
+ ```
309
+
310
+ ## Import
311
+
312
+ User data can be imported using the `{zone}/{key}/{server_id}`, e.g.
313
+
314
+ bash
315
+
316
+ ```sh
317
+ $ pulumi import scaleway:index/instanceUserData:InstanceUserData main fr-par-1/cloud-init/11111111-1111-1111-1111-111111111111
318
+ ```
319
+
320
+ :param str resource_name: The name of the resource.
321
+ :param InstanceUserDataArgs args: The arguments to use to populate this resource's properties.
322
+ :param pulumi.ResourceOptions opts: Options for the resource.
323
+ """
324
+ ...
325
+ def __init__(__self__, resource_name: str, *args, **kwargs):
326
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceUserDataArgs, pulumi.ResourceOptions, *args, **kwargs)
327
+ if resource_args is not None:
328
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
329
+ else:
330
+ __self__._internal_init(resource_name, *args, **kwargs)
331
+
332
+ def _internal_init(__self__,
333
+ resource_name: str,
334
+ opts: Optional[pulumi.ResourceOptions] = None,
335
+ key: Optional[pulumi.Input[str]] = None,
336
+ server_id: Optional[pulumi.Input[str]] = None,
337
+ value: Optional[pulumi.Input[str]] = None,
338
+ zone: Optional[pulumi.Input[str]] = None,
339
+ __props__=None):
340
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
341
+ if not isinstance(opts, pulumi.ResourceOptions):
342
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
343
+ if opts.id is None:
344
+ if __props__ is not None:
345
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
346
+ __props__ = InstanceUserDataArgs.__new__(InstanceUserDataArgs)
347
+
348
+ if key is None and not opts.urn:
349
+ raise TypeError("Missing required property 'key'")
350
+ __props__.__dict__["key"] = key
351
+ if server_id is None and not opts.urn:
352
+ raise TypeError("Missing required property 'server_id'")
353
+ __props__.__dict__["server_id"] = server_id
354
+ if value is None and not opts.urn:
355
+ raise TypeError("Missing required property 'value'")
356
+ __props__.__dict__["value"] = value
357
+ __props__.__dict__["zone"] = zone
358
+ super(InstanceUserData, __self__).__init__(
359
+ 'scaleway:index/instanceUserData:InstanceUserData',
360
+ resource_name,
361
+ __props__,
362
+ opts)
363
+
364
+ @staticmethod
365
+ def get(resource_name: str,
366
+ id: pulumi.Input[str],
367
+ opts: Optional[pulumi.ResourceOptions] = None,
368
+ key: Optional[pulumi.Input[str]] = None,
369
+ server_id: Optional[pulumi.Input[str]] = None,
370
+ value: Optional[pulumi.Input[str]] = None,
371
+ zone: Optional[pulumi.Input[str]] = None) -> 'InstanceUserData':
372
+ """
373
+ Get an existing InstanceUserData resource's state with the given name, id, and optional extra
374
+ properties used to qualify the lookup.
375
+
376
+ :param str resource_name: The unique name of the resulting resource.
377
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
378
+ :param pulumi.ResourceOptions opts: Options for the resource.
379
+ :param pulumi.Input[str] key: Key of the user data.
380
+ :param pulumi.Input[str] server_id: The ID of the server associated with.
381
+ :param pulumi.Input[str] value: Value associated with your key
382
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
383
+
384
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
385
+ You can define values using:
386
+ - string
387
+ - UTF-8 encoded file content using file
388
+ """
389
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
390
+
391
+ __props__ = _InstanceUserDataState.__new__(_InstanceUserDataState)
392
+
393
+ __props__.__dict__["key"] = key
394
+ __props__.__dict__["server_id"] = server_id
395
+ __props__.__dict__["value"] = value
396
+ __props__.__dict__["zone"] = zone
397
+ return InstanceUserData(resource_name, opts=opts, __props__=__props__)
398
+
399
+ @property
400
+ @pulumi.getter
401
+ def key(self) -> pulumi.Output[str]:
402
+ """
403
+ Key of the user data.
404
+ """
405
+ return pulumi.get(self, "key")
406
+
407
+ @property
408
+ @pulumi.getter(name="serverId")
409
+ def server_id(self) -> pulumi.Output[str]:
410
+ """
411
+ The ID of the server associated with.
412
+ """
413
+ return pulumi.get(self, "server_id")
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def value(self) -> pulumi.Output[str]:
418
+ """
419
+ Value associated with your key
420
+ """
421
+ return pulumi.get(self, "value")
422
+
423
+ @property
424
+ @pulumi.getter
425
+ def zone(self) -> pulumi.Output[str]:
426
+ """
427
+ `zone`) The zone in which the server should be created.
428
+
429
+ > **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
430
+ You can define values using:
431
+ - string
432
+ - UTF-8 encoded file content using file
433
+ """
434
+ return pulumi.get(self, "zone")
435
+