pulumiverse-scaleway 1.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

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