pulumiverse-scaleway 1.28.0a1747384911__py3-none-any.whl → 1.29.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.
Files changed (49) hide show
  1. pulumiverse_scaleway/__init__.py +0 -1
  2. pulumiverse_scaleway/_inputs.py +106 -0
  3. pulumiverse_scaleway/account/__init__.py +2 -0
  4. pulumiverse_scaleway/account/get_projects.py +235 -0
  5. pulumiverse_scaleway/account/outputs.py +95 -0
  6. pulumiverse_scaleway/baremetal_server.py +20 -1
  7. pulumiverse_scaleway/block/__init__.py +2 -0
  8. pulumiverse_scaleway/block/_inputs.py +73 -0
  9. pulumiverse_scaleway/block/get_snapshot.py +13 -1
  10. pulumiverse_scaleway/block/outputs.py +79 -0
  11. pulumiverse_scaleway/block/snapshot.py +62 -14
  12. pulumiverse_scaleway/block_snapshot.py +62 -14
  13. pulumiverse_scaleway/container.py +2 -2
  14. pulumiverse_scaleway/containers/container.py +2 -2
  15. pulumiverse_scaleway/database_instance.py +20 -1
  16. pulumiverse_scaleway/databases/instance.py +20 -1
  17. pulumiverse_scaleway/domain/get_zone.py +7 -1
  18. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  19. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  20. pulumiverse_scaleway/elasticmetal/server.py +20 -1
  21. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  22. pulumiverse_scaleway/get_domain_zone.py +7 -1
  23. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  24. pulumiverse_scaleway/iam/user.py +468 -14
  25. pulumiverse_scaleway/iam_user.py +468 -14
  26. pulumiverse_scaleway/instance/private_nic.py +20 -1
  27. pulumiverse_scaleway/instance/server.py +20 -1
  28. pulumiverse_scaleway/instance/snapshot.py +28 -7
  29. pulumiverse_scaleway/instance/volume.py +28 -7
  30. pulumiverse_scaleway/instance_private_nic.py +20 -1
  31. pulumiverse_scaleway/instance_server.py +20 -1
  32. pulumiverse_scaleway/instance_snapshot.py +28 -7
  33. pulumiverse_scaleway/instance_volume.py +28 -7
  34. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  35. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  36. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  37. pulumiverse_scaleway/mongodb/instance.py +107 -7
  38. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  39. pulumiverse_scaleway/network/gateway_network.py +20 -1
  40. pulumiverse_scaleway/observability/__init__.py +0 -1
  41. pulumiverse_scaleway/outputs.py +122 -0
  42. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  43. pulumiverse_scaleway/redis/cluster.py +20 -1
  44. pulumiverse_scaleway/redis_cluster.py +20 -1
  45. pulumiverse_scaleway/vpc_gateway_network.py +20 -1
  46. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  47. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +49 -44
  48. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  49. {pulumiverse_scaleway-1.28.0a1747384911.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -20,25 +20,59 @@ __all__ = ['IamUserArgs', 'IamUser']
20
20
  class IamUserArgs:
21
21
  def __init__(__self__, *,
22
22
  email: pulumi.Input[str],
23
+ first_name: Optional[pulumi.Input[str]] = None,
24
+ last_name: Optional[pulumi.Input[str]] = None,
25
+ locale: Optional[pulumi.Input[str]] = None,
23
26
  organization_id: Optional[pulumi.Input[str]] = None,
24
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
27
+ password: Optional[pulumi.Input[str]] = None,
28
+ phone_number: Optional[pulumi.Input[str]] = None,
29
+ send_password_email: Optional[pulumi.Input[bool]] = None,
30
+ send_welcome_email: Optional[pulumi.Input[bool]] = None,
31
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
+ username: Optional[pulumi.Input[str]] = None):
25
33
  """
26
34
  The set of arguments for constructing a IamUser resource.
27
- :param pulumi.Input[str] email: The email of the IAM user.
35
+ :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
36
+ :param pulumi.Input[str] first_name: The user's first name.
37
+ :param pulumi.Input[str] last_name: The user's last name.
38
+ :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
39
+
40
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
28
41
  :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
42
+ :param pulumi.Input[str] password: The password for first access.
43
+ :param pulumi.Input[str] phone_number: The user's phone number.
44
+ :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
45
+ :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
29
46
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
47
+ :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
30
48
  """
31
49
  pulumi.set(__self__, "email", email)
50
+ if first_name is not None:
51
+ pulumi.set(__self__, "first_name", first_name)
52
+ if last_name is not None:
53
+ pulumi.set(__self__, "last_name", last_name)
54
+ if locale is not None:
55
+ pulumi.set(__self__, "locale", locale)
32
56
  if organization_id is not None:
33
57
  pulumi.set(__self__, "organization_id", organization_id)
58
+ if password is not None:
59
+ pulumi.set(__self__, "password", password)
60
+ if phone_number is not None:
61
+ pulumi.set(__self__, "phone_number", phone_number)
62
+ if send_password_email is not None:
63
+ pulumi.set(__self__, "send_password_email", send_password_email)
64
+ if send_welcome_email is not None:
65
+ pulumi.set(__self__, "send_welcome_email", send_welcome_email)
34
66
  if tags is not None:
35
67
  pulumi.set(__self__, "tags", tags)
68
+ if username is not None:
69
+ pulumi.set(__self__, "username", username)
36
70
 
37
71
  @property
38
72
  @pulumi.getter
39
73
  def email(self) -> pulumi.Input[str]:
40
74
  """
41
- The email of the IAM user.
75
+ The email of the IAM user. For Guest users, this argument is not editable.
42
76
  """
43
77
  return pulumi.get(self, "email")
44
78
 
@@ -46,6 +80,44 @@ class IamUserArgs:
46
80
  def email(self, value: pulumi.Input[str]):
47
81
  pulumi.set(self, "email", value)
48
82
 
83
+ @property
84
+ @pulumi.getter(name="firstName")
85
+ def first_name(self) -> Optional[pulumi.Input[str]]:
86
+ """
87
+ The user's first name.
88
+ """
89
+ return pulumi.get(self, "first_name")
90
+
91
+ @first_name.setter
92
+ def first_name(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "first_name", value)
94
+
95
+ @property
96
+ @pulumi.getter(name="lastName")
97
+ def last_name(self) -> Optional[pulumi.Input[str]]:
98
+ """
99
+ The user's last name.
100
+ """
101
+ return pulumi.get(self, "last_name")
102
+
103
+ @last_name.setter
104
+ def last_name(self, value: Optional[pulumi.Input[str]]):
105
+ pulumi.set(self, "last_name", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def locale(self) -> Optional[pulumi.Input[str]]:
110
+ """
111
+ The user's locale (e.g., en_US).
112
+
113
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
114
+ """
115
+ return pulumi.get(self, "locale")
116
+
117
+ @locale.setter
118
+ def locale(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "locale", value)
120
+
49
121
  @property
50
122
  @pulumi.getter(name="organizationId")
51
123
  def organization_id(self) -> Optional[pulumi.Input[str]]:
@@ -58,6 +130,54 @@ class IamUserArgs:
58
130
  def organization_id(self, value: Optional[pulumi.Input[str]]):
59
131
  pulumi.set(self, "organization_id", value)
60
132
 
133
+ @property
134
+ @pulumi.getter
135
+ def password(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ The password for first access.
138
+ """
139
+ return pulumi.get(self, "password")
140
+
141
+ @password.setter
142
+ def password(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "password", value)
144
+
145
+ @property
146
+ @pulumi.getter(name="phoneNumber")
147
+ def phone_number(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ The user's phone number.
150
+ """
151
+ return pulumi.get(self, "phone_number")
152
+
153
+ @phone_number.setter
154
+ def phone_number(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "phone_number", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="sendPasswordEmail")
159
+ def send_password_email(self) -> Optional[pulumi.Input[bool]]:
160
+ """
161
+ Whether or not to send an email containing the password for first access.
162
+ """
163
+ return pulumi.get(self, "send_password_email")
164
+
165
+ @send_password_email.setter
166
+ def send_password_email(self, value: Optional[pulumi.Input[bool]]):
167
+ pulumi.set(self, "send_password_email", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="sendWelcomeEmail")
171
+ def send_welcome_email(self) -> Optional[pulumi.Input[bool]]:
172
+ """
173
+ Whether or not to send a welcome email that includes onboarding information.
174
+ """
175
+ return pulumi.get(self, "send_welcome_email")
176
+
177
+ @send_welcome_email.setter
178
+ def send_welcome_email(self, value: Optional[pulumi.Input[bool]]):
179
+ pulumi.set(self, "send_welcome_email", value)
180
+
61
181
  @property
62
182
  @pulumi.getter
63
183
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -70,6 +190,18 @@ class IamUserArgs:
70
190
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
71
191
  pulumi.set(self, "tags", value)
72
192
 
193
+ @property
194
+ @pulumi.getter
195
+ def username(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
198
+ """
199
+ return pulumi.get(self, "username")
200
+
201
+ @username.setter
202
+ def username(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "username", value)
204
+
73
205
 
74
206
  @pulumi.input_type
75
207
  class _IamUserState:
@@ -78,26 +210,46 @@ class _IamUserState:
78
210
  created_at: Optional[pulumi.Input[str]] = None,
79
211
  deletable: Optional[pulumi.Input[bool]] = None,
80
212
  email: Optional[pulumi.Input[str]] = None,
213
+ first_name: Optional[pulumi.Input[str]] = None,
81
214
  last_login_at: Optional[pulumi.Input[str]] = None,
215
+ last_name: Optional[pulumi.Input[str]] = None,
216
+ locale: Optional[pulumi.Input[str]] = None,
217
+ locked: Optional[pulumi.Input[bool]] = None,
82
218
  mfa: Optional[pulumi.Input[bool]] = None,
83
219
  organization_id: Optional[pulumi.Input[str]] = None,
220
+ password: Optional[pulumi.Input[str]] = None,
221
+ phone_number: Optional[pulumi.Input[str]] = None,
222
+ send_password_email: Optional[pulumi.Input[bool]] = None,
223
+ send_welcome_email: Optional[pulumi.Input[bool]] = None,
84
224
  status: Optional[pulumi.Input[str]] = None,
85
225
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
86
226
  type: Optional[pulumi.Input[str]] = None,
87
- updated_at: Optional[pulumi.Input[str]] = None):
227
+ updated_at: Optional[pulumi.Input[str]] = None,
228
+ username: Optional[pulumi.Input[str]] = None):
88
229
  """
89
230
  Input properties used for looking up and filtering IamUser resources.
90
231
  :param pulumi.Input[str] account_root_user_id: The ID of the account root user associated with the user.
91
232
  :param pulumi.Input[str] created_at: The date and time of the creation of the IAM user.
92
233
  :param pulumi.Input[bool] deletable: Whether the IAM user is deletable.
93
- :param pulumi.Input[str] email: The email of the IAM user.
234
+ :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
235
+ :param pulumi.Input[str] first_name: The user's first name.
94
236
  :param pulumi.Input[str] last_login_at: The date of the last login.
237
+ :param pulumi.Input[str] last_name: The user's last name.
238
+ :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
239
+
240
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
241
+ :param pulumi.Input[bool] locked: Whether the user is locked.
95
242
  :param pulumi.Input[bool] mfa: Whether the MFA is enabled.
96
243
  :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
244
+ :param pulumi.Input[str] password: The password for first access.
245
+ :param pulumi.Input[str] phone_number: The user's phone number.
246
+ :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
247
+ :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
97
248
  :param pulumi.Input[str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
98
249
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
99
250
  :param pulumi.Input[str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
100
251
  :param pulumi.Input[str] updated_at: The date and time of the last update of the IAM user.
252
+ :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
101
253
  """
102
254
  if account_root_user_id is not None:
103
255
  pulumi.set(__self__, "account_root_user_id", account_root_user_id)
@@ -107,12 +259,28 @@ class _IamUserState:
107
259
  pulumi.set(__self__, "deletable", deletable)
108
260
  if email is not None:
109
261
  pulumi.set(__self__, "email", email)
262
+ if first_name is not None:
263
+ pulumi.set(__self__, "first_name", first_name)
110
264
  if last_login_at is not None:
111
265
  pulumi.set(__self__, "last_login_at", last_login_at)
266
+ if last_name is not None:
267
+ pulumi.set(__self__, "last_name", last_name)
268
+ if locale is not None:
269
+ pulumi.set(__self__, "locale", locale)
270
+ if locked is not None:
271
+ pulumi.set(__self__, "locked", locked)
112
272
  if mfa is not None:
113
273
  pulumi.set(__self__, "mfa", mfa)
114
274
  if organization_id is not None:
115
275
  pulumi.set(__self__, "organization_id", organization_id)
276
+ if password is not None:
277
+ pulumi.set(__self__, "password", password)
278
+ if phone_number is not None:
279
+ pulumi.set(__self__, "phone_number", phone_number)
280
+ if send_password_email is not None:
281
+ pulumi.set(__self__, "send_password_email", send_password_email)
282
+ if send_welcome_email is not None:
283
+ pulumi.set(__self__, "send_welcome_email", send_welcome_email)
116
284
  if status is not None:
117
285
  pulumi.set(__self__, "status", status)
118
286
  if tags is not None:
@@ -121,6 +289,8 @@ class _IamUserState:
121
289
  pulumi.set(__self__, "type", type)
122
290
  if updated_at is not None:
123
291
  pulumi.set(__self__, "updated_at", updated_at)
292
+ if username is not None:
293
+ pulumi.set(__self__, "username", username)
124
294
 
125
295
  @property
126
296
  @pulumi.getter(name="accountRootUserId")
@@ -162,7 +332,7 @@ class _IamUserState:
162
332
  @pulumi.getter
163
333
  def email(self) -> Optional[pulumi.Input[str]]:
164
334
  """
165
- The email of the IAM user.
335
+ The email of the IAM user. For Guest users, this argument is not editable.
166
336
  """
167
337
  return pulumi.get(self, "email")
168
338
 
@@ -170,6 +340,18 @@ class _IamUserState:
170
340
  def email(self, value: Optional[pulumi.Input[str]]):
171
341
  pulumi.set(self, "email", value)
172
342
 
343
+ @property
344
+ @pulumi.getter(name="firstName")
345
+ def first_name(self) -> Optional[pulumi.Input[str]]:
346
+ """
347
+ The user's first name.
348
+ """
349
+ return pulumi.get(self, "first_name")
350
+
351
+ @first_name.setter
352
+ def first_name(self, value: Optional[pulumi.Input[str]]):
353
+ pulumi.set(self, "first_name", value)
354
+
173
355
  @property
174
356
  @pulumi.getter(name="lastLoginAt")
175
357
  def last_login_at(self) -> Optional[pulumi.Input[str]]:
@@ -182,6 +364,44 @@ class _IamUserState:
182
364
  def last_login_at(self, value: Optional[pulumi.Input[str]]):
183
365
  pulumi.set(self, "last_login_at", value)
184
366
 
367
+ @property
368
+ @pulumi.getter(name="lastName")
369
+ def last_name(self) -> Optional[pulumi.Input[str]]:
370
+ """
371
+ The user's last name.
372
+ """
373
+ return pulumi.get(self, "last_name")
374
+
375
+ @last_name.setter
376
+ def last_name(self, value: Optional[pulumi.Input[str]]):
377
+ pulumi.set(self, "last_name", value)
378
+
379
+ @property
380
+ @pulumi.getter
381
+ def locale(self) -> Optional[pulumi.Input[str]]:
382
+ """
383
+ The user's locale (e.g., en_US).
384
+
385
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
386
+ """
387
+ return pulumi.get(self, "locale")
388
+
389
+ @locale.setter
390
+ def locale(self, value: Optional[pulumi.Input[str]]):
391
+ pulumi.set(self, "locale", value)
392
+
393
+ @property
394
+ @pulumi.getter
395
+ def locked(self) -> Optional[pulumi.Input[bool]]:
396
+ """
397
+ Whether the user is locked.
398
+ """
399
+ return pulumi.get(self, "locked")
400
+
401
+ @locked.setter
402
+ def locked(self, value: Optional[pulumi.Input[bool]]):
403
+ pulumi.set(self, "locked", value)
404
+
185
405
  @property
186
406
  @pulumi.getter
187
407
  def mfa(self) -> Optional[pulumi.Input[bool]]:
@@ -206,6 +426,54 @@ class _IamUserState:
206
426
  def organization_id(self, value: Optional[pulumi.Input[str]]):
207
427
  pulumi.set(self, "organization_id", value)
208
428
 
429
+ @property
430
+ @pulumi.getter
431
+ def password(self) -> Optional[pulumi.Input[str]]:
432
+ """
433
+ The password for first access.
434
+ """
435
+ return pulumi.get(self, "password")
436
+
437
+ @password.setter
438
+ def password(self, value: Optional[pulumi.Input[str]]):
439
+ pulumi.set(self, "password", value)
440
+
441
+ @property
442
+ @pulumi.getter(name="phoneNumber")
443
+ def phone_number(self) -> Optional[pulumi.Input[str]]:
444
+ """
445
+ The user's phone number.
446
+ """
447
+ return pulumi.get(self, "phone_number")
448
+
449
+ @phone_number.setter
450
+ def phone_number(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "phone_number", value)
452
+
453
+ @property
454
+ @pulumi.getter(name="sendPasswordEmail")
455
+ def send_password_email(self) -> Optional[pulumi.Input[bool]]:
456
+ """
457
+ Whether or not to send an email containing the password for first access.
458
+ """
459
+ return pulumi.get(self, "send_password_email")
460
+
461
+ @send_password_email.setter
462
+ def send_password_email(self, value: Optional[pulumi.Input[bool]]):
463
+ pulumi.set(self, "send_password_email", value)
464
+
465
+ @property
466
+ @pulumi.getter(name="sendWelcomeEmail")
467
+ def send_welcome_email(self) -> Optional[pulumi.Input[bool]]:
468
+ """
469
+ Whether or not to send a welcome email that includes onboarding information.
470
+ """
471
+ return pulumi.get(self, "send_welcome_email")
472
+
473
+ @send_welcome_email.setter
474
+ def send_welcome_email(self, value: Optional[pulumi.Input[bool]]):
475
+ pulumi.set(self, "send_welcome_email", value)
476
+
209
477
  @property
210
478
  @pulumi.getter
211
479
  def status(self) -> Optional[pulumi.Input[str]]:
@@ -254,6 +522,18 @@ class _IamUserState:
254
522
  def updated_at(self, value: Optional[pulumi.Input[str]]):
255
523
  pulumi.set(self, "updated_at", value)
256
524
 
525
+ @property
526
+ @pulumi.getter
527
+ def username(self) -> Optional[pulumi.Input[str]]:
528
+ """
529
+ The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
530
+ """
531
+ return pulumi.get(self, "username")
532
+
533
+ @username.setter
534
+ def username(self, value: Optional[pulumi.Input[str]]):
535
+ pulumi.set(self, "username", value)
536
+
257
537
 
258
538
  warnings.warn("""scaleway.index/iamuser.IamUser has been deprecated in favor of scaleway.iam/user.User""", DeprecationWarning)
259
539
 
@@ -266,8 +546,16 @@ class IamUser(pulumi.CustomResource):
266
546
  resource_name: str,
267
547
  opts: Optional[pulumi.ResourceOptions] = None,
268
548
  email: Optional[pulumi.Input[str]] = None,
549
+ first_name: Optional[pulumi.Input[str]] = None,
550
+ last_name: Optional[pulumi.Input[str]] = None,
551
+ locale: Optional[pulumi.Input[str]] = None,
269
552
  organization_id: Optional[pulumi.Input[str]] = None,
553
+ password: Optional[pulumi.Input[str]] = None,
554
+ phone_number: Optional[pulumi.Input[str]] = None,
555
+ send_password_email: Optional[pulumi.Input[bool]] = None,
556
+ send_welcome_email: Optional[pulumi.Input[bool]] = None,
270
557
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
558
+ username: Optional[pulumi.Input[str]] = None,
271
559
  __props__=None):
272
560
  """
273
561
  Creates and manages Scaleway IAM Users.
@@ -275,15 +563,33 @@ class IamUser(pulumi.CustomResource):
275
563
 
276
564
  ## Example Usage
277
565
 
278
- ### Basic
566
+ ### Guest user
279
567
 
280
568
  ```python
281
569
  import pulumi
282
570
  import pulumiverse_scaleway as scaleway
283
571
 
284
- basic = scaleway.iam.User("basic", email="test@test.com")
572
+ guest = scaleway.iam.User("guest",
573
+ email="foo@test.com",
574
+ tags=["test-tag"])
285
575
  ```
286
576
 
577
+ ### Member user
578
+
579
+ ```python
580
+ import pulumi
581
+ import pulumiverse_scaleway as scaleway
582
+
583
+ member = scaleway.iam.User("member",
584
+ email="foo@test.com",
585
+ tags=["test-tag"],
586
+ username="foo",
587
+ first_name="Foo",
588
+ last_name="Bar")
589
+ ```
590
+
591
+ When `username` is set, the user is created as a [Member](https://www.scaleway.com/en/docs/iam/concepts/#member). Otherwise, it is created as a [Guest](https://www.scaleway.com/en/docs/iam/concepts/#guest).
592
+
287
593
  ## Import
288
594
 
289
595
  IAM users can be imported using the `{id}`, e.g.
@@ -296,9 +602,19 @@ class IamUser(pulumi.CustomResource):
296
602
 
297
603
  :param str resource_name: The name of the resource.
298
604
  :param pulumi.ResourceOptions opts: Options for the resource.
299
- :param pulumi.Input[str] email: The email of the IAM user.
605
+ :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
606
+ :param pulumi.Input[str] first_name: The user's first name.
607
+ :param pulumi.Input[str] last_name: The user's last name.
608
+ :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
609
+
610
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
300
611
  :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
612
+ :param pulumi.Input[str] password: The password for first access.
613
+ :param pulumi.Input[str] phone_number: The user's phone number.
614
+ :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
615
+ :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
301
616
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
617
+ :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
302
618
  """
303
619
  ...
304
620
  @overload
@@ -312,15 +628,33 @@ class IamUser(pulumi.CustomResource):
312
628
 
313
629
  ## Example Usage
314
630
 
315
- ### Basic
631
+ ### Guest user
316
632
 
317
633
  ```python
318
634
  import pulumi
319
635
  import pulumiverse_scaleway as scaleway
320
636
 
321
- basic = scaleway.iam.User("basic", email="test@test.com")
637
+ guest = scaleway.iam.User("guest",
638
+ email="foo@test.com",
639
+ tags=["test-tag"])
322
640
  ```
323
641
 
642
+ ### Member user
643
+
644
+ ```python
645
+ import pulumi
646
+ import pulumiverse_scaleway as scaleway
647
+
648
+ member = scaleway.iam.User("member",
649
+ email="foo@test.com",
650
+ tags=["test-tag"],
651
+ username="foo",
652
+ first_name="Foo",
653
+ last_name="Bar")
654
+ ```
655
+
656
+ When `username` is set, the user is created as a [Member](https://www.scaleway.com/en/docs/iam/concepts/#member). Otherwise, it is created as a [Guest](https://www.scaleway.com/en/docs/iam/concepts/#guest).
657
+
324
658
  ## Import
325
659
 
326
660
  IAM users can be imported using the `{id}`, e.g.
@@ -347,8 +681,16 @@ class IamUser(pulumi.CustomResource):
347
681
  resource_name: str,
348
682
  opts: Optional[pulumi.ResourceOptions] = None,
349
683
  email: Optional[pulumi.Input[str]] = None,
684
+ first_name: Optional[pulumi.Input[str]] = None,
685
+ last_name: Optional[pulumi.Input[str]] = None,
686
+ locale: Optional[pulumi.Input[str]] = None,
350
687
  organization_id: Optional[pulumi.Input[str]] = None,
688
+ password: Optional[pulumi.Input[str]] = None,
689
+ phone_number: Optional[pulumi.Input[str]] = None,
690
+ send_password_email: Optional[pulumi.Input[bool]] = None,
691
+ send_welcome_email: Optional[pulumi.Input[bool]] = None,
351
692
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
693
+ username: Optional[pulumi.Input[str]] = None,
352
694
  __props__=None):
353
695
  pulumi.log.warn("""IamUser is deprecated: scaleway.index/iamuser.IamUser has been deprecated in favor of scaleway.iam/user.User""")
354
696
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -362,12 +704,21 @@ class IamUser(pulumi.CustomResource):
362
704
  if email is None and not opts.urn:
363
705
  raise TypeError("Missing required property 'email'")
364
706
  __props__.__dict__["email"] = email
707
+ __props__.__dict__["first_name"] = first_name
708
+ __props__.__dict__["last_name"] = last_name
709
+ __props__.__dict__["locale"] = locale
365
710
  __props__.__dict__["organization_id"] = organization_id
711
+ __props__.__dict__["password"] = password
712
+ __props__.__dict__["phone_number"] = phone_number
713
+ __props__.__dict__["send_password_email"] = send_password_email
714
+ __props__.__dict__["send_welcome_email"] = send_welcome_email
366
715
  __props__.__dict__["tags"] = tags
716
+ __props__.__dict__["username"] = username
367
717
  __props__.__dict__["account_root_user_id"] = None
368
718
  __props__.__dict__["created_at"] = None
369
719
  __props__.__dict__["deletable"] = None
370
720
  __props__.__dict__["last_login_at"] = None
721
+ __props__.__dict__["locked"] = None
371
722
  __props__.__dict__["mfa"] = None
372
723
  __props__.__dict__["status"] = None
373
724
  __props__.__dict__["type"] = None
@@ -386,13 +737,22 @@ class IamUser(pulumi.CustomResource):
386
737
  created_at: Optional[pulumi.Input[str]] = None,
387
738
  deletable: Optional[pulumi.Input[bool]] = None,
388
739
  email: Optional[pulumi.Input[str]] = None,
740
+ first_name: Optional[pulumi.Input[str]] = None,
389
741
  last_login_at: Optional[pulumi.Input[str]] = None,
742
+ last_name: Optional[pulumi.Input[str]] = None,
743
+ locale: Optional[pulumi.Input[str]] = None,
744
+ locked: Optional[pulumi.Input[bool]] = None,
390
745
  mfa: Optional[pulumi.Input[bool]] = None,
391
746
  organization_id: Optional[pulumi.Input[str]] = None,
747
+ password: Optional[pulumi.Input[str]] = None,
748
+ phone_number: Optional[pulumi.Input[str]] = None,
749
+ send_password_email: Optional[pulumi.Input[bool]] = None,
750
+ send_welcome_email: Optional[pulumi.Input[bool]] = None,
392
751
  status: Optional[pulumi.Input[str]] = None,
393
752
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
394
753
  type: Optional[pulumi.Input[str]] = None,
395
- updated_at: Optional[pulumi.Input[str]] = None) -> 'IamUser':
754
+ updated_at: Optional[pulumi.Input[str]] = None,
755
+ username: Optional[pulumi.Input[str]] = None) -> 'IamUser':
396
756
  """
397
757
  Get an existing IamUser resource's state with the given name, id, and optional extra
398
758
  properties used to qualify the lookup.
@@ -403,14 +763,25 @@ class IamUser(pulumi.CustomResource):
403
763
  :param pulumi.Input[str] account_root_user_id: The ID of the account root user associated with the user.
404
764
  :param pulumi.Input[str] created_at: The date and time of the creation of the IAM user.
405
765
  :param pulumi.Input[bool] deletable: Whether the IAM user is deletable.
406
- :param pulumi.Input[str] email: The email of the IAM user.
766
+ :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
767
+ :param pulumi.Input[str] first_name: The user's first name.
407
768
  :param pulumi.Input[str] last_login_at: The date of the last login.
769
+ :param pulumi.Input[str] last_name: The user's last name.
770
+ :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
771
+
772
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
773
+ :param pulumi.Input[bool] locked: Whether the user is locked.
408
774
  :param pulumi.Input[bool] mfa: Whether the MFA is enabled.
409
775
  :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
776
+ :param pulumi.Input[str] password: The password for first access.
777
+ :param pulumi.Input[str] phone_number: The user's phone number.
778
+ :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
779
+ :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
410
780
  :param pulumi.Input[str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
411
781
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
412
782
  :param pulumi.Input[str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
413
783
  :param pulumi.Input[str] updated_at: The date and time of the last update of the IAM user.
784
+ :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
414
785
  """
415
786
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
416
787
 
@@ -420,13 +791,22 @@ class IamUser(pulumi.CustomResource):
420
791
  __props__.__dict__["created_at"] = created_at
421
792
  __props__.__dict__["deletable"] = deletable
422
793
  __props__.__dict__["email"] = email
794
+ __props__.__dict__["first_name"] = first_name
423
795
  __props__.__dict__["last_login_at"] = last_login_at
796
+ __props__.__dict__["last_name"] = last_name
797
+ __props__.__dict__["locale"] = locale
798
+ __props__.__dict__["locked"] = locked
424
799
  __props__.__dict__["mfa"] = mfa
425
800
  __props__.__dict__["organization_id"] = organization_id
801
+ __props__.__dict__["password"] = password
802
+ __props__.__dict__["phone_number"] = phone_number
803
+ __props__.__dict__["send_password_email"] = send_password_email
804
+ __props__.__dict__["send_welcome_email"] = send_welcome_email
426
805
  __props__.__dict__["status"] = status
427
806
  __props__.__dict__["tags"] = tags
428
807
  __props__.__dict__["type"] = type
429
808
  __props__.__dict__["updated_at"] = updated_at
809
+ __props__.__dict__["username"] = username
430
810
  return IamUser(resource_name, opts=opts, __props__=__props__)
431
811
 
432
812
  @property
@@ -457,10 +837,18 @@ class IamUser(pulumi.CustomResource):
457
837
  @pulumi.getter
458
838
  def email(self) -> pulumi.Output[str]:
459
839
  """
460
- The email of the IAM user.
840
+ The email of the IAM user. For Guest users, this argument is not editable.
461
841
  """
462
842
  return pulumi.get(self, "email")
463
843
 
844
+ @property
845
+ @pulumi.getter(name="firstName")
846
+ def first_name(self) -> pulumi.Output[Optional[str]]:
847
+ """
848
+ The user's first name.
849
+ """
850
+ return pulumi.get(self, "first_name")
851
+
464
852
  @property
465
853
  @pulumi.getter(name="lastLoginAt")
466
854
  def last_login_at(self) -> pulumi.Output[str]:
@@ -469,6 +857,32 @@ class IamUser(pulumi.CustomResource):
469
857
  """
470
858
  return pulumi.get(self, "last_login_at")
471
859
 
860
+ @property
861
+ @pulumi.getter(name="lastName")
862
+ def last_name(self) -> pulumi.Output[Optional[str]]:
863
+ """
864
+ The user's last name.
865
+ """
866
+ return pulumi.get(self, "last_name")
867
+
868
+ @property
869
+ @pulumi.getter
870
+ def locale(self) -> pulumi.Output[str]:
871
+ """
872
+ The user's locale (e.g., en_US).
873
+
874
+ Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
875
+ """
876
+ return pulumi.get(self, "locale")
877
+
878
+ @property
879
+ @pulumi.getter
880
+ def locked(self) -> pulumi.Output[bool]:
881
+ """
882
+ Whether the user is locked.
883
+ """
884
+ return pulumi.get(self, "locked")
885
+
472
886
  @property
473
887
  @pulumi.getter
474
888
  def mfa(self) -> pulumi.Output[bool]:
@@ -485,6 +899,38 @@ class IamUser(pulumi.CustomResource):
485
899
  """
486
900
  return pulumi.get(self, "organization_id")
487
901
 
902
+ @property
903
+ @pulumi.getter
904
+ def password(self) -> pulumi.Output[Optional[str]]:
905
+ """
906
+ The password for first access.
907
+ """
908
+ return pulumi.get(self, "password")
909
+
910
+ @property
911
+ @pulumi.getter(name="phoneNumber")
912
+ def phone_number(self) -> pulumi.Output[Optional[str]]:
913
+ """
914
+ The user's phone number.
915
+ """
916
+ return pulumi.get(self, "phone_number")
917
+
918
+ @property
919
+ @pulumi.getter(name="sendPasswordEmail")
920
+ def send_password_email(self) -> pulumi.Output[Optional[bool]]:
921
+ """
922
+ Whether or not to send an email containing the password for first access.
923
+ """
924
+ return pulumi.get(self, "send_password_email")
925
+
926
+ @property
927
+ @pulumi.getter(name="sendWelcomeEmail")
928
+ def send_welcome_email(self) -> pulumi.Output[Optional[bool]]:
929
+ """
930
+ Whether or not to send a welcome email that includes onboarding information.
931
+ """
932
+ return pulumi.get(self, "send_welcome_email")
933
+
488
934
  @property
489
935
  @pulumi.getter
490
936
  def status(self) -> pulumi.Output[str]:
@@ -517,3 +963,11 @@ class IamUser(pulumi.CustomResource):
517
963
  """
518
964
  return pulumi.get(self, "updated_at")
519
965
 
966
+ @property
967
+ @pulumi.getter
968
+ def username(self) -> pulumi.Output[str]:
969
+ """
970
+ The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
971
+ """
972
+ return pulumi.get(self, "username")
973
+