pulumiverse-scaleway 1.34.0a1756881875__py3-none-any.whl → 1.34.0a1757663268__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.
- pulumiverse_scaleway/__init__.py +8 -0
- pulumiverse_scaleway/_inputs.py +235 -34
- pulumiverse_scaleway/cockpit.py +14 -0
- pulumiverse_scaleway/container_namespace.py +16 -7
- pulumiverse_scaleway/containers/namespace.py +16 -7
- pulumiverse_scaleway/database_user.py +83 -11
- pulumiverse_scaleway/databases/user.py +83 -11
- pulumiverse_scaleway/elasticmetal/outputs.py +4 -0
- pulumiverse_scaleway/function_namespace.py +16 -7
- pulumiverse_scaleway/functions/namespace.py +16 -7
- pulumiverse_scaleway/get_mongo_db_instance.py +34 -1
- pulumiverse_scaleway/hosting/_inputs.py +42 -0
- pulumiverse_scaleway/hosting/outputs.py +84 -0
- pulumiverse_scaleway/instance/_inputs.py +107 -13
- pulumiverse_scaleway/instance/outputs.py +187 -10
- pulumiverse_scaleway/instance/security_group_rules.py +16 -16
- pulumiverse_scaleway/instance/snapshot.py +26 -27
- pulumiverse_scaleway/instance_security_group_rules.py +16 -16
- pulumiverse_scaleway/instance_snapshot.py +26 -27
- pulumiverse_scaleway/loadbalancer_backend.py +39 -0
- pulumiverse_scaleway/loadbalancers/backend.py +39 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +16 -0
- pulumiverse_scaleway/mnq/_inputs.py +52 -0
- pulumiverse_scaleway/mnq/outputs.py +47 -0
- pulumiverse_scaleway/mnq/sqs_queue.py +159 -0
- pulumiverse_scaleway/mnq_sqs_queue.py +159 -0
- pulumiverse_scaleway/mongo_db_instance.py +171 -23
- pulumiverse_scaleway/mongo_db_snapshot.py +2 -2
- pulumiverse_scaleway/mongodb/__init__.py +1 -0
- pulumiverse_scaleway/mongodb/_inputs.py +73 -0
- pulumiverse_scaleway/mongodb/get_instance.py +34 -1
- pulumiverse_scaleway/mongodb/instance.py +171 -23
- pulumiverse_scaleway/mongodb/outputs.py +62 -0
- pulumiverse_scaleway/mongodb/snapshot.py +2 -2
- pulumiverse_scaleway/mongodb/user.py +508 -0
- pulumiverse_scaleway/network/outputs.py +4 -0
- pulumiverse_scaleway/object/_inputs.py +14 -0
- pulumiverse_scaleway/object/bucket.py +13 -0
- pulumiverse_scaleway/object/outputs.py +30 -0
- pulumiverse_scaleway/object_bucket.py +13 -0
- pulumiverse_scaleway/observability/__init__.py +1 -0
- pulumiverse_scaleway/observability/cockpit.py +14 -0
- pulumiverse_scaleway/observability/get_sources.py +376 -0
- pulumiverse_scaleway/observability/outputs.py +140 -0
- pulumiverse_scaleway/outputs.py +387 -26
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/secret.py +8 -0
- pulumiverse_scaleway/secrets/secret.py +8 -0
- {pulumiverse_scaleway-1.34.0a1756881875.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/METADATA +1 -1
- {pulumiverse_scaleway-1.34.0a1756881875.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/RECORD +52 -50
- {pulumiverse_scaleway-1.34.0a1756881875.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/WHEEL +0 -0
- {pulumiverse_scaleway-1.34.0a1756881875.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,7 @@ __all__ = [
|
|
19
19
|
'InstancePrivateIp',
|
20
20
|
'InstancePrivateNetwork',
|
21
21
|
'InstancePublicNetwork',
|
22
|
+
'UserRole',
|
22
23
|
'GetInstancePrivateIpResult',
|
23
24
|
'GetInstancePrivateNetworkResult',
|
24
25
|
'GetInstancePublicNetworkResult',
|
@@ -200,6 +201,67 @@ class InstancePublicNetwork(dict):
|
|
200
201
|
return pulumi.get(self, "port")
|
201
202
|
|
202
203
|
|
204
|
+
@pulumi.output_type
|
205
|
+
class UserRole(dict):
|
206
|
+
@staticmethod
|
207
|
+
def __key_warning(key: str):
|
208
|
+
suggest = None
|
209
|
+
if key == "anyDatabase":
|
210
|
+
suggest = "any_database"
|
211
|
+
elif key == "databaseName":
|
212
|
+
suggest = "database_name"
|
213
|
+
|
214
|
+
if suggest:
|
215
|
+
pulumi.log.warn(f"Key '{key}' not found in UserRole. Access the value via the '{suggest}' property getter instead.")
|
216
|
+
|
217
|
+
def __getitem__(self, key: str) -> Any:
|
218
|
+
UserRole.__key_warning(key)
|
219
|
+
return super().__getitem__(key)
|
220
|
+
|
221
|
+
def get(self, key: str, default = None) -> Any:
|
222
|
+
UserRole.__key_warning(key)
|
223
|
+
return super().get(key, default)
|
224
|
+
|
225
|
+
def __init__(__self__, *,
|
226
|
+
role: builtins.str,
|
227
|
+
any_database: Optional[builtins.bool] = None,
|
228
|
+
database_name: Optional[builtins.str] = None):
|
229
|
+
"""
|
230
|
+
:param builtins.str role: The role name. Valid values are `read`, `read_write`, `db_admin`, `sync`.
|
231
|
+
:param builtins.bool any_database: Apply the role to all databases. Cannot be used with `database_name`.
|
232
|
+
:param builtins.str database_name: The database name for the role. Cannot be used with `any_database`.
|
233
|
+
"""
|
234
|
+
pulumi.set(__self__, "role", role)
|
235
|
+
if any_database is not None:
|
236
|
+
pulumi.set(__self__, "any_database", any_database)
|
237
|
+
if database_name is not None:
|
238
|
+
pulumi.set(__self__, "database_name", database_name)
|
239
|
+
|
240
|
+
@property
|
241
|
+
@pulumi.getter
|
242
|
+
def role(self) -> builtins.str:
|
243
|
+
"""
|
244
|
+
The role name. Valid values are `read`, `read_write`, `db_admin`, `sync`.
|
245
|
+
"""
|
246
|
+
return pulumi.get(self, "role")
|
247
|
+
|
248
|
+
@property
|
249
|
+
@pulumi.getter(name="anyDatabase")
|
250
|
+
def any_database(self) -> Optional[builtins.bool]:
|
251
|
+
"""
|
252
|
+
Apply the role to all databases. Cannot be used with `database_name`.
|
253
|
+
"""
|
254
|
+
return pulumi.get(self, "any_database")
|
255
|
+
|
256
|
+
@property
|
257
|
+
@pulumi.getter(name="databaseName")
|
258
|
+
def database_name(self) -> Optional[builtins.str]:
|
259
|
+
"""
|
260
|
+
The database name for the role. Cannot be used with `any_database`.
|
261
|
+
"""
|
262
|
+
return pulumi.get(self, "database_name")
|
263
|
+
|
264
|
+
|
203
265
|
@pulumi.output_type
|
204
266
|
class GetInstancePrivateIpResult(dict):
|
205
267
|
def __init__(__self__, *,
|
@@ -297,7 +297,7 @@ class Snapshot(pulumi.CustomResource):
|
|
297
297
|
bash
|
298
298
|
|
299
299
|
```sh
|
300
|
-
$ pulumi import scaleway:mongodb/snapshot:Snapshot main fr-par
|
300
|
+
$ pulumi import scaleway:mongodb/snapshot:Snapshot main fr-par/11111111-1111-1111-1111-111111111111
|
301
301
|
```
|
302
302
|
|
303
303
|
:param str resource_name: The name of the resource.
|
@@ -338,7 +338,7 @@ class Snapshot(pulumi.CustomResource):
|
|
338
338
|
bash
|
339
339
|
|
340
340
|
```sh
|
341
|
-
$ pulumi import scaleway:mongodb/snapshot:Snapshot main fr-par
|
341
|
+
$ pulumi import scaleway:mongodb/snapshot:Snapshot main fr-par/11111111-1111-1111-1111-111111111111
|
342
342
|
```
|
343
343
|
|
344
344
|
:param str resource_name: The name of the resource.
|
@@ -0,0 +1,508 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import builtins
|
6
|
+
import copy
|
7
|
+
import warnings
|
8
|
+
import sys
|
9
|
+
import pulumi
|
10
|
+
import pulumi.runtime
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
12
|
+
if sys.version_info >= (3, 11):
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
14
|
+
else:
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
16
|
+
from .. import _utilities
|
17
|
+
from . import outputs
|
18
|
+
from ._inputs import *
|
19
|
+
|
20
|
+
__all__ = ['UserArgs', 'User']
|
21
|
+
|
22
|
+
@pulumi.input_type
|
23
|
+
class UserArgs:
|
24
|
+
def __init__(__self__, *,
|
25
|
+
instance_id: pulumi.Input[builtins.str],
|
26
|
+
password: pulumi.Input[builtins.str],
|
27
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
28
|
+
region: Optional[pulumi.Input[builtins.str]] = None,
|
29
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]] = None):
|
30
|
+
"""
|
31
|
+
The set of arguments for constructing a User resource.
|
32
|
+
:param pulumi.Input[builtins.str] instance_id: The ID of the MongoDB® instance.
|
33
|
+
:param pulumi.Input[builtins.str] password: The password of the MongoDB® user.
|
34
|
+
:param pulumi.Input[builtins.str] name: The name of the MongoDB® user.
|
35
|
+
:param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® user should be created.
|
36
|
+
:param pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]] roles: List of roles assigned to the user. Each role block supports:
|
37
|
+
"""
|
38
|
+
pulumi.set(__self__, "instance_id", instance_id)
|
39
|
+
pulumi.set(__self__, "password", password)
|
40
|
+
if name is not None:
|
41
|
+
pulumi.set(__self__, "name", name)
|
42
|
+
if region is not None:
|
43
|
+
pulumi.set(__self__, "region", region)
|
44
|
+
if roles is not None:
|
45
|
+
pulumi.set(__self__, "roles", roles)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter(name="instanceId")
|
49
|
+
def instance_id(self) -> pulumi.Input[builtins.str]:
|
50
|
+
"""
|
51
|
+
The ID of the MongoDB® instance.
|
52
|
+
"""
|
53
|
+
return pulumi.get(self, "instance_id")
|
54
|
+
|
55
|
+
@instance_id.setter
|
56
|
+
def instance_id(self, value: pulumi.Input[builtins.str]):
|
57
|
+
pulumi.set(self, "instance_id", value)
|
58
|
+
|
59
|
+
@property
|
60
|
+
@pulumi.getter
|
61
|
+
def password(self) -> pulumi.Input[builtins.str]:
|
62
|
+
"""
|
63
|
+
The password of the MongoDB® user.
|
64
|
+
"""
|
65
|
+
return pulumi.get(self, "password")
|
66
|
+
|
67
|
+
@password.setter
|
68
|
+
def password(self, value: pulumi.Input[builtins.str]):
|
69
|
+
pulumi.set(self, "password", value)
|
70
|
+
|
71
|
+
@property
|
72
|
+
@pulumi.getter
|
73
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
74
|
+
"""
|
75
|
+
The name of the MongoDB® user.
|
76
|
+
"""
|
77
|
+
return pulumi.get(self, "name")
|
78
|
+
|
79
|
+
@name.setter
|
80
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
81
|
+
pulumi.set(self, "name", value)
|
82
|
+
|
83
|
+
@property
|
84
|
+
@pulumi.getter
|
85
|
+
def region(self) -> Optional[pulumi.Input[builtins.str]]:
|
86
|
+
"""
|
87
|
+
`region`) The region in which the MongoDB® user should be created.
|
88
|
+
"""
|
89
|
+
return pulumi.get(self, "region")
|
90
|
+
|
91
|
+
@region.setter
|
92
|
+
def region(self, value: Optional[pulumi.Input[builtins.str]]):
|
93
|
+
pulumi.set(self, "region", value)
|
94
|
+
|
95
|
+
@property
|
96
|
+
@pulumi.getter
|
97
|
+
def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]]:
|
98
|
+
"""
|
99
|
+
List of roles assigned to the user. Each role block supports:
|
100
|
+
"""
|
101
|
+
return pulumi.get(self, "roles")
|
102
|
+
|
103
|
+
@roles.setter
|
104
|
+
def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]]):
|
105
|
+
pulumi.set(self, "roles", value)
|
106
|
+
|
107
|
+
|
108
|
+
@pulumi.input_type
|
109
|
+
class _UserState:
|
110
|
+
def __init__(__self__, *,
|
111
|
+
instance_id: Optional[pulumi.Input[builtins.str]] = None,
|
112
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
113
|
+
password: Optional[pulumi.Input[builtins.str]] = None,
|
114
|
+
region: Optional[pulumi.Input[builtins.str]] = None,
|
115
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]] = None):
|
116
|
+
"""
|
117
|
+
Input properties used for looking up and filtering User resources.
|
118
|
+
:param pulumi.Input[builtins.str] instance_id: The ID of the MongoDB® instance.
|
119
|
+
:param pulumi.Input[builtins.str] name: The name of the MongoDB® user.
|
120
|
+
:param pulumi.Input[builtins.str] password: The password of the MongoDB® user.
|
121
|
+
:param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® user should be created.
|
122
|
+
:param pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]] roles: List of roles assigned to the user. Each role block supports:
|
123
|
+
"""
|
124
|
+
if instance_id is not None:
|
125
|
+
pulumi.set(__self__, "instance_id", instance_id)
|
126
|
+
if name is not None:
|
127
|
+
pulumi.set(__self__, "name", name)
|
128
|
+
if password is not None:
|
129
|
+
pulumi.set(__self__, "password", password)
|
130
|
+
if region is not None:
|
131
|
+
pulumi.set(__self__, "region", region)
|
132
|
+
if roles is not None:
|
133
|
+
pulumi.set(__self__, "roles", roles)
|
134
|
+
|
135
|
+
@property
|
136
|
+
@pulumi.getter(name="instanceId")
|
137
|
+
def instance_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
138
|
+
"""
|
139
|
+
The ID of the MongoDB® instance.
|
140
|
+
"""
|
141
|
+
return pulumi.get(self, "instance_id")
|
142
|
+
|
143
|
+
@instance_id.setter
|
144
|
+
def instance_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
145
|
+
pulumi.set(self, "instance_id", value)
|
146
|
+
|
147
|
+
@property
|
148
|
+
@pulumi.getter
|
149
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
150
|
+
"""
|
151
|
+
The name of the MongoDB® user.
|
152
|
+
"""
|
153
|
+
return pulumi.get(self, "name")
|
154
|
+
|
155
|
+
@name.setter
|
156
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
157
|
+
pulumi.set(self, "name", value)
|
158
|
+
|
159
|
+
@property
|
160
|
+
@pulumi.getter
|
161
|
+
def password(self) -> Optional[pulumi.Input[builtins.str]]:
|
162
|
+
"""
|
163
|
+
The password of the MongoDB® user.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "password")
|
166
|
+
|
167
|
+
@password.setter
|
168
|
+
def password(self, value: Optional[pulumi.Input[builtins.str]]):
|
169
|
+
pulumi.set(self, "password", value)
|
170
|
+
|
171
|
+
@property
|
172
|
+
@pulumi.getter
|
173
|
+
def region(self) -> Optional[pulumi.Input[builtins.str]]:
|
174
|
+
"""
|
175
|
+
`region`) The region in which the MongoDB® user should be created.
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "region")
|
178
|
+
|
179
|
+
@region.setter
|
180
|
+
def region(self, value: Optional[pulumi.Input[builtins.str]]):
|
181
|
+
pulumi.set(self, "region", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter
|
185
|
+
def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]]:
|
186
|
+
"""
|
187
|
+
List of roles assigned to the user. Each role block supports:
|
188
|
+
"""
|
189
|
+
return pulumi.get(self, "roles")
|
190
|
+
|
191
|
+
@roles.setter
|
192
|
+
def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserRoleArgs']]]]):
|
193
|
+
pulumi.set(self, "roles", value)
|
194
|
+
|
195
|
+
|
196
|
+
@pulumi.type_token("scaleway:mongodb/user:User")
|
197
|
+
class User(pulumi.CustomResource):
|
198
|
+
@overload
|
199
|
+
def __init__(__self__,
|
200
|
+
resource_name: str,
|
201
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
202
|
+
instance_id: Optional[pulumi.Input[builtins.str]] = None,
|
203
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
204
|
+
password: Optional[pulumi.Input[builtins.str]] = None,
|
205
|
+
region: Optional[pulumi.Input[builtins.str]] = None,
|
206
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserRoleArgs', 'UserRoleArgsDict']]]]] = None,
|
207
|
+
__props__=None):
|
208
|
+
"""
|
209
|
+
Creates and manages Scaleway MongoDB® users.
|
210
|
+
For more information refer to the [product documentation](https://www.scaleway.com/en/docs/managed-mongodb-databases/).
|
211
|
+
|
212
|
+
## Example Usage
|
213
|
+
|
214
|
+
### Basic
|
215
|
+
|
216
|
+
```python
|
217
|
+
import pulumi
|
218
|
+
import pulumiverse_scaleway as scaleway
|
219
|
+
|
220
|
+
main = scaleway.mongodb.Instance("main",
|
221
|
+
name="test-mongodb-user",
|
222
|
+
version="7.0.12",
|
223
|
+
node_type="MGDB-PLAY2-NANO",
|
224
|
+
node_number=1,
|
225
|
+
user_name="initial_user",
|
226
|
+
password="initial_password123",
|
227
|
+
volume_size_in_gb=5)
|
228
|
+
main_user = scaleway.mongodb.User("main",
|
229
|
+
instance_id=main.id,
|
230
|
+
name="my_user",
|
231
|
+
password="my_password123",
|
232
|
+
roles=[{
|
233
|
+
"role": "read_write",
|
234
|
+
"database_name": "my_database",
|
235
|
+
}])
|
236
|
+
```
|
237
|
+
|
238
|
+
### With Multiple Users
|
239
|
+
|
240
|
+
```python
|
241
|
+
import pulumi
|
242
|
+
import pulumiverse_scaleway as scaleway
|
243
|
+
|
244
|
+
main = scaleway.mongodb.Instance("main",
|
245
|
+
name="test-mongodb-multi-user",
|
246
|
+
version="7.0.12",
|
247
|
+
node_type="MGDB-PLAY2-NANO",
|
248
|
+
node_number=1,
|
249
|
+
user_name="admin_user",
|
250
|
+
password="admin_password123",
|
251
|
+
volume_size_in_gb=5)
|
252
|
+
app_user = scaleway.mongodb.User("app_user",
|
253
|
+
instance_id=main.id,
|
254
|
+
name="app_user",
|
255
|
+
password="app_password123",
|
256
|
+
roles=[
|
257
|
+
{
|
258
|
+
"role": "read_write",
|
259
|
+
"database_name": "app_database",
|
260
|
+
},
|
261
|
+
{
|
262
|
+
"role": "read",
|
263
|
+
"database_name": "logs_database",
|
264
|
+
},
|
265
|
+
])
|
266
|
+
admin_user = scaleway.mongodb.User("admin_user",
|
267
|
+
instance_id=main.id,
|
268
|
+
name="admin_user",
|
269
|
+
password="admin_password123",
|
270
|
+
roles=[
|
271
|
+
{
|
272
|
+
"role": "db_admin",
|
273
|
+
"database_name": "admin",
|
274
|
+
},
|
275
|
+
{
|
276
|
+
"role": "read",
|
277
|
+
"any_database": True,
|
278
|
+
},
|
279
|
+
])
|
280
|
+
```
|
281
|
+
|
282
|
+
## Import
|
283
|
+
|
284
|
+
MongoDB® users can be imported using the `{region}/{instance_id}/{name}`, e.g.
|
285
|
+
|
286
|
+
bash
|
287
|
+
|
288
|
+
```sh
|
289
|
+
$ pulumi import scaleway:mongodb/user:User main fr-par/11111111-1111-1111-1111-111111111111/my_user
|
290
|
+
```
|
291
|
+
|
292
|
+
:param str resource_name: The name of the resource.
|
293
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
294
|
+
:param pulumi.Input[builtins.str] instance_id: The ID of the MongoDB® instance.
|
295
|
+
:param pulumi.Input[builtins.str] name: The name of the MongoDB® user.
|
296
|
+
:param pulumi.Input[builtins.str] password: The password of the MongoDB® user.
|
297
|
+
:param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® user should be created.
|
298
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['UserRoleArgs', 'UserRoleArgsDict']]]] roles: List of roles assigned to the user. Each role block supports:
|
299
|
+
"""
|
300
|
+
...
|
301
|
+
@overload
|
302
|
+
def __init__(__self__,
|
303
|
+
resource_name: str,
|
304
|
+
args: UserArgs,
|
305
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
306
|
+
"""
|
307
|
+
Creates and manages Scaleway MongoDB® users.
|
308
|
+
For more information refer to the [product documentation](https://www.scaleway.com/en/docs/managed-mongodb-databases/).
|
309
|
+
|
310
|
+
## Example Usage
|
311
|
+
|
312
|
+
### Basic
|
313
|
+
|
314
|
+
```python
|
315
|
+
import pulumi
|
316
|
+
import pulumiverse_scaleway as scaleway
|
317
|
+
|
318
|
+
main = scaleway.mongodb.Instance("main",
|
319
|
+
name="test-mongodb-user",
|
320
|
+
version="7.0.12",
|
321
|
+
node_type="MGDB-PLAY2-NANO",
|
322
|
+
node_number=1,
|
323
|
+
user_name="initial_user",
|
324
|
+
password="initial_password123",
|
325
|
+
volume_size_in_gb=5)
|
326
|
+
main_user = scaleway.mongodb.User("main",
|
327
|
+
instance_id=main.id,
|
328
|
+
name="my_user",
|
329
|
+
password="my_password123",
|
330
|
+
roles=[{
|
331
|
+
"role": "read_write",
|
332
|
+
"database_name": "my_database",
|
333
|
+
}])
|
334
|
+
```
|
335
|
+
|
336
|
+
### With Multiple Users
|
337
|
+
|
338
|
+
```python
|
339
|
+
import pulumi
|
340
|
+
import pulumiverse_scaleway as scaleway
|
341
|
+
|
342
|
+
main = scaleway.mongodb.Instance("main",
|
343
|
+
name="test-mongodb-multi-user",
|
344
|
+
version="7.0.12",
|
345
|
+
node_type="MGDB-PLAY2-NANO",
|
346
|
+
node_number=1,
|
347
|
+
user_name="admin_user",
|
348
|
+
password="admin_password123",
|
349
|
+
volume_size_in_gb=5)
|
350
|
+
app_user = scaleway.mongodb.User("app_user",
|
351
|
+
instance_id=main.id,
|
352
|
+
name="app_user",
|
353
|
+
password="app_password123",
|
354
|
+
roles=[
|
355
|
+
{
|
356
|
+
"role": "read_write",
|
357
|
+
"database_name": "app_database",
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"role": "read",
|
361
|
+
"database_name": "logs_database",
|
362
|
+
},
|
363
|
+
])
|
364
|
+
admin_user = scaleway.mongodb.User("admin_user",
|
365
|
+
instance_id=main.id,
|
366
|
+
name="admin_user",
|
367
|
+
password="admin_password123",
|
368
|
+
roles=[
|
369
|
+
{
|
370
|
+
"role": "db_admin",
|
371
|
+
"database_name": "admin",
|
372
|
+
},
|
373
|
+
{
|
374
|
+
"role": "read",
|
375
|
+
"any_database": True,
|
376
|
+
},
|
377
|
+
])
|
378
|
+
```
|
379
|
+
|
380
|
+
## Import
|
381
|
+
|
382
|
+
MongoDB® users can be imported using the `{region}/{instance_id}/{name}`, e.g.
|
383
|
+
|
384
|
+
bash
|
385
|
+
|
386
|
+
```sh
|
387
|
+
$ pulumi import scaleway:mongodb/user:User main fr-par/11111111-1111-1111-1111-111111111111/my_user
|
388
|
+
```
|
389
|
+
|
390
|
+
:param str resource_name: The name of the resource.
|
391
|
+
:param UserArgs args: The arguments to use to populate this resource's properties.
|
392
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
393
|
+
"""
|
394
|
+
...
|
395
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
396
|
+
resource_args, opts = _utilities.get_resource_args_opts(UserArgs, pulumi.ResourceOptions, *args, **kwargs)
|
397
|
+
if resource_args is not None:
|
398
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
399
|
+
else:
|
400
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
401
|
+
|
402
|
+
def _internal_init(__self__,
|
403
|
+
resource_name: str,
|
404
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
405
|
+
instance_id: Optional[pulumi.Input[builtins.str]] = None,
|
406
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
407
|
+
password: Optional[pulumi.Input[builtins.str]] = None,
|
408
|
+
region: Optional[pulumi.Input[builtins.str]] = None,
|
409
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserRoleArgs', 'UserRoleArgsDict']]]]] = None,
|
410
|
+
__props__=None):
|
411
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
412
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
413
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
414
|
+
if opts.id is None:
|
415
|
+
if __props__ is not None:
|
416
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
417
|
+
__props__ = UserArgs.__new__(UserArgs)
|
418
|
+
|
419
|
+
if instance_id is None and not opts.urn:
|
420
|
+
raise TypeError("Missing required property 'instance_id'")
|
421
|
+
__props__.__dict__["instance_id"] = instance_id
|
422
|
+
__props__.__dict__["name"] = name
|
423
|
+
if password is None and not opts.urn:
|
424
|
+
raise TypeError("Missing required property 'password'")
|
425
|
+
__props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
|
426
|
+
__props__.__dict__["region"] = region
|
427
|
+
__props__.__dict__["roles"] = roles
|
428
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
|
429
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
430
|
+
super(User, __self__).__init__(
|
431
|
+
'scaleway:mongodb/user:User',
|
432
|
+
resource_name,
|
433
|
+
__props__,
|
434
|
+
opts)
|
435
|
+
|
436
|
+
@staticmethod
|
437
|
+
def get(resource_name: str,
|
438
|
+
id: pulumi.Input[str],
|
439
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
440
|
+
instance_id: Optional[pulumi.Input[builtins.str]] = None,
|
441
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
442
|
+
password: Optional[pulumi.Input[builtins.str]] = None,
|
443
|
+
region: Optional[pulumi.Input[builtins.str]] = None,
|
444
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserRoleArgs', 'UserRoleArgsDict']]]]] = None) -> 'User':
|
445
|
+
"""
|
446
|
+
Get an existing User resource's state with the given name, id, and optional extra
|
447
|
+
properties used to qualify the lookup.
|
448
|
+
|
449
|
+
:param str resource_name: The unique name of the resulting resource.
|
450
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
451
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
452
|
+
:param pulumi.Input[builtins.str] instance_id: The ID of the MongoDB® instance.
|
453
|
+
:param pulumi.Input[builtins.str] name: The name of the MongoDB® user.
|
454
|
+
:param pulumi.Input[builtins.str] password: The password of the MongoDB® user.
|
455
|
+
:param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® user should be created.
|
456
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['UserRoleArgs', 'UserRoleArgsDict']]]] roles: List of roles assigned to the user. Each role block supports:
|
457
|
+
"""
|
458
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
459
|
+
|
460
|
+
__props__ = _UserState.__new__(_UserState)
|
461
|
+
|
462
|
+
__props__.__dict__["instance_id"] = instance_id
|
463
|
+
__props__.__dict__["name"] = name
|
464
|
+
__props__.__dict__["password"] = password
|
465
|
+
__props__.__dict__["region"] = region
|
466
|
+
__props__.__dict__["roles"] = roles
|
467
|
+
return User(resource_name, opts=opts, __props__=__props__)
|
468
|
+
|
469
|
+
@property
|
470
|
+
@pulumi.getter(name="instanceId")
|
471
|
+
def instance_id(self) -> pulumi.Output[builtins.str]:
|
472
|
+
"""
|
473
|
+
The ID of the MongoDB® instance.
|
474
|
+
"""
|
475
|
+
return pulumi.get(self, "instance_id")
|
476
|
+
|
477
|
+
@property
|
478
|
+
@pulumi.getter
|
479
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
480
|
+
"""
|
481
|
+
The name of the MongoDB® user.
|
482
|
+
"""
|
483
|
+
return pulumi.get(self, "name")
|
484
|
+
|
485
|
+
@property
|
486
|
+
@pulumi.getter
|
487
|
+
def password(self) -> pulumi.Output[builtins.str]:
|
488
|
+
"""
|
489
|
+
The password of the MongoDB® user.
|
490
|
+
"""
|
491
|
+
return pulumi.get(self, "password")
|
492
|
+
|
493
|
+
@property
|
494
|
+
@pulumi.getter
|
495
|
+
def region(self) -> pulumi.Output[builtins.str]:
|
496
|
+
"""
|
497
|
+
`region`) The region in which the MongoDB® user should be created.
|
498
|
+
"""
|
499
|
+
return pulumi.get(self, "region")
|
500
|
+
|
501
|
+
@property
|
502
|
+
@pulumi.getter
|
503
|
+
def roles(self) -> pulumi.Output[Optional[Sequence['outputs.UserRole']]]:
|
504
|
+
"""
|
505
|
+
List of roles assigned to the user. Each role block supports:
|
506
|
+
"""
|
507
|
+
return pulumi.get(self, "roles")
|
508
|
+
|
@@ -865,6 +865,7 @@ class GetVpcsVpcResult(dict):
|
|
865
865
|
:param builtins.str project_id: The ID of the Project the VPC is associated with.
|
866
866
|
:param builtins.str region: `region`). The region in which the VPCs exist.
|
867
867
|
:param Sequence[builtins.str] tags: List of tags to filter for. VPCs with these exact tags are listed.
|
868
|
+
:param builtins.str update_at: Date on which the VPC was last updated (RFC 3339 format)
|
868
869
|
"""
|
869
870
|
pulumi.set(__self__, "created_at", created_at)
|
870
871
|
pulumi.set(__self__, "id", id)
|
@@ -944,6 +945,9 @@ class GetVpcsVpcResult(dict):
|
|
944
945
|
@property
|
945
946
|
@pulumi.getter(name="updateAt")
|
946
947
|
def update_at(self) -> builtins.str:
|
948
|
+
"""
|
949
|
+
Date on which the VPC was last updated (RFC 3339 format)
|
950
|
+
"""
|
947
951
|
return pulumi.get(self, "update_at")
|
948
952
|
|
949
953
|
|
@@ -53,6 +53,9 @@ if not MYPY:
|
|
53
53
|
Configuration block of the bucket project owner's display organization ID.
|
54
54
|
"""
|
55
55
|
grants: NotRequired[pulumi.Input[Sequence[pulumi.Input['BucketAclAccessControlPolicyGrantArgsDict']]]]
|
56
|
+
"""
|
57
|
+
Grant
|
58
|
+
"""
|
56
59
|
elif False:
|
57
60
|
BucketAclAccessControlPolicyArgsDict: TypeAlias = Mapping[str, Any]
|
58
61
|
|
@@ -63,6 +66,7 @@ class BucketAclAccessControlPolicyArgs:
|
|
63
66
|
grants: Optional[pulumi.Input[Sequence[pulumi.Input['BucketAclAccessControlPolicyGrantArgs']]]] = None):
|
64
67
|
"""
|
65
68
|
:param pulumi.Input['BucketAclAccessControlPolicyOwnerArgs'] owner: Configuration block of the bucket project owner's display organization ID.
|
69
|
+
:param pulumi.Input[Sequence[pulumi.Input['BucketAclAccessControlPolicyGrantArgs']]] grants: Grant
|
66
70
|
"""
|
67
71
|
pulumi.set(__self__, "owner", owner)
|
68
72
|
if grants is not None:
|
@@ -83,6 +87,9 @@ class BucketAclAccessControlPolicyArgs:
|
|
83
87
|
@property
|
84
88
|
@pulumi.getter
|
85
89
|
def grants(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketAclAccessControlPolicyGrantArgs']]]]:
|
90
|
+
"""
|
91
|
+
Grant
|
92
|
+
"""
|
86
93
|
return pulumi.get(self, "grants")
|
87
94
|
|
88
95
|
@grants.setter
|
@@ -144,6 +151,9 @@ class BucketAclAccessControlPolicyGrantArgs:
|
|
144
151
|
if not MYPY:
|
145
152
|
class BucketAclAccessControlPolicyGrantGranteeArgsDict(TypedDict):
|
146
153
|
display_name: NotRequired[pulumi.Input[builtins.str]]
|
154
|
+
"""
|
155
|
+
Display name of the grantee to grant access to.
|
156
|
+
"""
|
147
157
|
id: NotRequired[pulumi.Input[builtins.str]]
|
148
158
|
"""
|
149
159
|
The `region`, `bucket` and `acl` separated by (`/`).
|
@@ -167,6 +177,7 @@ class BucketAclAccessControlPolicyGrantGranteeArgs:
|
|
167
177
|
type: Optional[pulumi.Input[builtins.str]] = None,
|
168
178
|
uri: Optional[pulumi.Input[builtins.str]] = None):
|
169
179
|
"""
|
180
|
+
:param pulumi.Input[builtins.str] display_name: Display name of the grantee to grant access to.
|
170
181
|
:param pulumi.Input[builtins.str] id: The `region`, `bucket` and `acl` separated by (`/`).
|
171
182
|
:param pulumi.Input[builtins.str] type: Type of grantee. Valid values: `CanonicalUser`, `Group`
|
172
183
|
:param pulumi.Input[builtins.str] uri: The uri of the grantee if you are granting permissions to a predefined group.
|
@@ -183,6 +194,9 @@ class BucketAclAccessControlPolicyGrantGranteeArgs:
|
|
183
194
|
@property
|
184
195
|
@pulumi.getter(name="displayName")
|
185
196
|
def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
|
197
|
+
"""
|
198
|
+
Display name of the grantee to grant access to.
|
199
|
+
"""
|
186
200
|
return pulumi.get(self, "display_name")
|
187
201
|
|
188
202
|
@display_name.setter
|