pulumiverse-scaleway 1.34.0a1756885226__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.
Files changed (52) hide show
  1. pulumiverse_scaleway/__init__.py +8 -0
  2. pulumiverse_scaleway/_inputs.py +235 -34
  3. pulumiverse_scaleway/cockpit.py +14 -0
  4. pulumiverse_scaleway/container_namespace.py +16 -7
  5. pulumiverse_scaleway/containers/namespace.py +16 -7
  6. pulumiverse_scaleway/database_user.py +83 -11
  7. pulumiverse_scaleway/databases/user.py +83 -11
  8. pulumiverse_scaleway/elasticmetal/outputs.py +4 -0
  9. pulumiverse_scaleway/function_namespace.py +16 -7
  10. pulumiverse_scaleway/functions/namespace.py +16 -7
  11. pulumiverse_scaleway/get_mongo_db_instance.py +34 -1
  12. pulumiverse_scaleway/hosting/_inputs.py +42 -0
  13. pulumiverse_scaleway/hosting/outputs.py +84 -0
  14. pulumiverse_scaleway/instance/_inputs.py +107 -13
  15. pulumiverse_scaleway/instance/outputs.py +187 -10
  16. pulumiverse_scaleway/instance/security_group_rules.py +16 -16
  17. pulumiverse_scaleway/instance/snapshot.py +26 -27
  18. pulumiverse_scaleway/instance_security_group_rules.py +16 -16
  19. pulumiverse_scaleway/instance_snapshot.py +26 -27
  20. pulumiverse_scaleway/loadbalancer_backend.py +39 -0
  21. pulumiverse_scaleway/loadbalancers/backend.py +39 -0
  22. pulumiverse_scaleway/loadbalancers/outputs.py +16 -0
  23. pulumiverse_scaleway/mnq/_inputs.py +52 -0
  24. pulumiverse_scaleway/mnq/outputs.py +47 -0
  25. pulumiverse_scaleway/mnq/sqs_queue.py +159 -0
  26. pulumiverse_scaleway/mnq_sqs_queue.py +159 -0
  27. pulumiverse_scaleway/mongo_db_instance.py +171 -23
  28. pulumiverse_scaleway/mongo_db_snapshot.py +2 -2
  29. pulumiverse_scaleway/mongodb/__init__.py +1 -0
  30. pulumiverse_scaleway/mongodb/_inputs.py +73 -0
  31. pulumiverse_scaleway/mongodb/get_instance.py +34 -1
  32. pulumiverse_scaleway/mongodb/instance.py +171 -23
  33. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  34. pulumiverse_scaleway/mongodb/snapshot.py +2 -2
  35. pulumiverse_scaleway/mongodb/user.py +508 -0
  36. pulumiverse_scaleway/network/outputs.py +4 -0
  37. pulumiverse_scaleway/object/_inputs.py +14 -0
  38. pulumiverse_scaleway/object/bucket.py +13 -0
  39. pulumiverse_scaleway/object/outputs.py +30 -0
  40. pulumiverse_scaleway/object_bucket.py +13 -0
  41. pulumiverse_scaleway/observability/__init__.py +1 -0
  42. pulumiverse_scaleway/observability/cockpit.py +14 -0
  43. pulumiverse_scaleway/observability/get_sources.py +376 -0
  44. pulumiverse_scaleway/observability/outputs.py +140 -0
  45. pulumiverse_scaleway/outputs.py +387 -26
  46. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  47. pulumiverse_scaleway/secret.py +8 -0
  48. pulumiverse_scaleway/secrets/secret.py +8 -0
  49. {pulumiverse_scaleway-1.34.0a1756885226.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/METADATA +1 -1
  50. {pulumiverse_scaleway-1.34.0a1756885226.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/RECORD +52 -50
  51. {pulumiverse_scaleway-1.34.0a1756885226.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/WHEEL +0 -0
  52. {pulumiverse_scaleway-1.34.0a1756885226.dist-info → pulumiverse_scaleway-1.34.0a1757663268.dist-info}/top_level.txt +0 -0
@@ -24,6 +24,7 @@ class MongoDbInstanceArgs:
24
24
  def __init__(__self__, *,
25
25
  node_number: pulumi.Input[builtins.int],
26
26
  node_type: pulumi.Input[builtins.str],
27
+ is_snapshot_schedule_enabled: Optional[pulumi.Input[builtins.bool]] = None,
27
28
  name: Optional[pulumi.Input[builtins.str]] = None,
28
29
  password: Optional[pulumi.Input[builtins.str]] = None,
29
30
  private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]]] = None,
@@ -33,6 +34,8 @@ class MongoDbInstanceArgs:
33
34
  region: Optional[pulumi.Input[builtins.str]] = None,
34
35
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
35
36
  snapshot_id: Optional[pulumi.Input[builtins.str]] = None,
37
+ snapshot_schedule_frequency_hours: Optional[pulumi.Input[builtins.int]] = None,
38
+ snapshot_schedule_retention_days: Optional[pulumi.Input[builtins.int]] = None,
36
39
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
37
40
  user_name: Optional[pulumi.Input[builtins.str]] = None,
38
41
  version: Optional[pulumi.Input[builtins.str]] = None,
@@ -42,16 +45,20 @@ class MongoDbInstanceArgs:
42
45
  The set of arguments for constructing a MongoDbInstance resource.
43
46
  :param pulumi.Input[builtins.int] node_number: Number of nodes in the instance
44
47
  :param pulumi.Input[builtins.str] node_type: The type of MongoDB® intance to create.
48
+ :param pulumi.Input[builtins.bool] is_snapshot_schedule_enabled: Enable or disable automatic snapshot scheduling
45
49
  :param pulumi.Input[builtins.str] name: Name of the MongoDB® instance.
46
50
  :param pulumi.Input[builtins.str] password: Password of the user.
47
51
  :param pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
48
52
  :param pulumi.Input['MongoDbInstancePrivateNetworkArgs'] private_network: Private Network endpoints of the Database Instance.
49
- :param pulumi.Input[builtins.str] project_id: The project_id you want to attach the resource to
50
- :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
53
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the MongoDB® instance is associated with.
54
+
51
55
  > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
52
- :param pulumi.Input[builtins.str] region: The region you want to attach the resource to
56
+ :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
57
+ :param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® instance should be created.
53
58
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] settings: Map of settings to define for the instance.
54
59
  :param pulumi.Input[builtins.str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
60
+ :param pulumi.Input[builtins.int] snapshot_schedule_frequency_hours: Snapshot schedule frequency in hours
61
+ :param pulumi.Input[builtins.int] snapshot_schedule_retention_days: Snapshot schedule retention in days
55
62
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: List of tags attached to the MongoDB® instance.
56
63
  :param pulumi.Input[builtins.str] user_name: Name of the user created when the intance is created.
57
64
  :param pulumi.Input[builtins.str] version: MongoDB® version of the instance.
@@ -60,6 +67,8 @@ class MongoDbInstanceArgs:
60
67
  """
61
68
  pulumi.set(__self__, "node_number", node_number)
62
69
  pulumi.set(__self__, "node_type", node_type)
70
+ if is_snapshot_schedule_enabled is not None:
71
+ pulumi.set(__self__, "is_snapshot_schedule_enabled", is_snapshot_schedule_enabled)
63
72
  if name is not None:
64
73
  pulumi.set(__self__, "name", name)
65
74
  if password is not None:
@@ -78,6 +87,10 @@ class MongoDbInstanceArgs:
78
87
  pulumi.set(__self__, "settings", settings)
79
88
  if snapshot_id is not None:
80
89
  pulumi.set(__self__, "snapshot_id", snapshot_id)
90
+ if snapshot_schedule_frequency_hours is not None:
91
+ pulumi.set(__self__, "snapshot_schedule_frequency_hours", snapshot_schedule_frequency_hours)
92
+ if snapshot_schedule_retention_days is not None:
93
+ pulumi.set(__self__, "snapshot_schedule_retention_days", snapshot_schedule_retention_days)
81
94
  if tags is not None:
82
95
  pulumi.set(__self__, "tags", tags)
83
96
  if user_name is not None:
@@ -113,6 +126,18 @@ class MongoDbInstanceArgs:
113
126
  def node_type(self, value: pulumi.Input[builtins.str]):
114
127
  pulumi.set(self, "node_type", value)
115
128
 
129
+ @property
130
+ @pulumi.getter(name="isSnapshotScheduleEnabled")
131
+ def is_snapshot_schedule_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
132
+ """
133
+ Enable or disable automatic snapshot scheduling
134
+ """
135
+ return pulumi.get(self, "is_snapshot_schedule_enabled")
136
+
137
+ @is_snapshot_schedule_enabled.setter
138
+ def is_snapshot_schedule_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
139
+ pulumi.set(self, "is_snapshot_schedule_enabled", value)
140
+
116
141
  @property
117
142
  @pulumi.getter
118
143
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -165,7 +190,9 @@ class MongoDbInstanceArgs:
165
190
  @pulumi.getter(name="projectId")
166
191
  def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
167
192
  """
168
- The project_id you want to attach the resource to
193
+ `project_id`) The ID of the project the MongoDB® instance is associated with.
194
+
195
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
169
196
  """
170
197
  return pulumi.get(self, "project_id")
171
198
 
@@ -178,7 +205,6 @@ class MongoDbInstanceArgs:
178
205
  def public_network(self) -> Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']]:
179
206
  """
180
207
  Public network endpoint configuration (no arguments).
181
- > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
182
208
  """
183
209
  return pulumi.get(self, "public_network")
184
210
 
@@ -190,7 +216,7 @@ class MongoDbInstanceArgs:
190
216
  @pulumi.getter
191
217
  def region(self) -> Optional[pulumi.Input[builtins.str]]:
192
218
  """
193
- The region you want to attach the resource to
219
+ `region`) The region in which the MongoDB® instance should be created.
194
220
  """
195
221
  return pulumi.get(self, "region")
196
222
 
@@ -222,6 +248,30 @@ class MongoDbInstanceArgs:
222
248
  def snapshot_id(self, value: Optional[pulumi.Input[builtins.str]]):
223
249
  pulumi.set(self, "snapshot_id", value)
224
250
 
251
+ @property
252
+ @pulumi.getter(name="snapshotScheduleFrequencyHours")
253
+ def snapshot_schedule_frequency_hours(self) -> Optional[pulumi.Input[builtins.int]]:
254
+ """
255
+ Snapshot schedule frequency in hours
256
+ """
257
+ return pulumi.get(self, "snapshot_schedule_frequency_hours")
258
+
259
+ @snapshot_schedule_frequency_hours.setter
260
+ def snapshot_schedule_frequency_hours(self, value: Optional[pulumi.Input[builtins.int]]):
261
+ pulumi.set(self, "snapshot_schedule_frequency_hours", value)
262
+
263
+ @property
264
+ @pulumi.getter(name="snapshotScheduleRetentionDays")
265
+ def snapshot_schedule_retention_days(self) -> Optional[pulumi.Input[builtins.int]]:
266
+ """
267
+ Snapshot schedule retention in days
268
+ """
269
+ return pulumi.get(self, "snapshot_schedule_retention_days")
270
+
271
+ @snapshot_schedule_retention_days.setter
272
+ def snapshot_schedule_retention_days(self, value: Optional[pulumi.Input[builtins.int]]):
273
+ pulumi.set(self, "snapshot_schedule_retention_days", value)
274
+
225
275
  @property
226
276
  @pulumi.getter
227
277
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -287,6 +337,7 @@ class MongoDbInstanceArgs:
287
337
  class _MongoDbInstanceState:
288
338
  def __init__(__self__, *,
289
339
  created_at: Optional[pulumi.Input[builtins.str]] = None,
340
+ is_snapshot_schedule_enabled: Optional[pulumi.Input[builtins.bool]] = None,
290
341
  name: Optional[pulumi.Input[builtins.str]] = None,
291
342
  node_number: Optional[pulumi.Input[builtins.int]] = None,
292
343
  node_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -298,6 +349,8 @@ class _MongoDbInstanceState:
298
349
  region: Optional[pulumi.Input[builtins.str]] = None,
299
350
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
300
351
  snapshot_id: Optional[pulumi.Input[builtins.str]] = None,
352
+ snapshot_schedule_frequency_hours: Optional[pulumi.Input[builtins.int]] = None,
353
+ snapshot_schedule_retention_days: Optional[pulumi.Input[builtins.int]] = None,
301
354
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
302
355
  tls_certificate: Optional[pulumi.Input[builtins.str]] = None,
303
356
  updated_at: Optional[pulumi.Input[builtins.str]] = None,
@@ -308,18 +361,22 @@ class _MongoDbInstanceState:
308
361
  """
309
362
  Input properties used for looking up and filtering MongoDbInstance resources.
310
363
  :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the MongoDB® instance.
364
+ :param pulumi.Input[builtins.bool] is_snapshot_schedule_enabled: Enable or disable automatic snapshot scheduling
311
365
  :param pulumi.Input[builtins.str] name: Name of the MongoDB® instance.
312
366
  :param pulumi.Input[builtins.int] node_number: Number of nodes in the instance
313
367
  :param pulumi.Input[builtins.str] node_type: The type of MongoDB® intance to create.
314
368
  :param pulumi.Input[builtins.str] password: Password of the user.
315
369
  :param pulumi.Input[Sequence[pulumi.Input['MongoDbInstancePrivateIpArgs']]] private_ips: The private IPv4 address associated with the instance.
316
370
  :param pulumi.Input['MongoDbInstancePrivateNetworkArgs'] private_network: Private Network endpoints of the Database Instance.
317
- :param pulumi.Input[builtins.str] project_id: The project_id you want to attach the resource to
318
- :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
371
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the MongoDB® instance is associated with.
372
+
319
373
  > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
320
- :param pulumi.Input[builtins.str] region: The region you want to attach the resource to
374
+ :param pulumi.Input['MongoDbInstancePublicNetworkArgs'] public_network: Public network endpoint configuration (no arguments).
375
+ :param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® instance should be created.
321
376
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] settings: Map of settings to define for the instance.
322
377
  :param pulumi.Input[builtins.str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
378
+ :param pulumi.Input[builtins.int] snapshot_schedule_frequency_hours: Snapshot schedule frequency in hours
379
+ :param pulumi.Input[builtins.int] snapshot_schedule_retention_days: Snapshot schedule retention in days
323
380
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: List of tags attached to the MongoDB® instance.
324
381
  :param pulumi.Input[builtins.str] tls_certificate: The PEM-encoded TLS certificate for the MongoDB® instance, if available.
325
382
  :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the MongoDB® instance.
@@ -330,6 +387,8 @@ class _MongoDbInstanceState:
330
387
  """
331
388
  if created_at is not None:
332
389
  pulumi.set(__self__, "created_at", created_at)
390
+ if is_snapshot_schedule_enabled is not None:
391
+ pulumi.set(__self__, "is_snapshot_schedule_enabled", is_snapshot_schedule_enabled)
333
392
  if name is not None:
334
393
  pulumi.set(__self__, "name", name)
335
394
  if node_number is not None:
@@ -352,6 +411,10 @@ class _MongoDbInstanceState:
352
411
  pulumi.set(__self__, "settings", settings)
353
412
  if snapshot_id is not None:
354
413
  pulumi.set(__self__, "snapshot_id", snapshot_id)
414
+ if snapshot_schedule_frequency_hours is not None:
415
+ pulumi.set(__self__, "snapshot_schedule_frequency_hours", snapshot_schedule_frequency_hours)
416
+ if snapshot_schedule_retention_days is not None:
417
+ pulumi.set(__self__, "snapshot_schedule_retention_days", snapshot_schedule_retention_days)
355
418
  if tags is not None:
356
419
  pulumi.set(__self__, "tags", tags)
357
420
  if tls_certificate is not None:
@@ -379,6 +442,18 @@ class _MongoDbInstanceState:
379
442
  def created_at(self, value: Optional[pulumi.Input[builtins.str]]):
380
443
  pulumi.set(self, "created_at", value)
381
444
 
445
+ @property
446
+ @pulumi.getter(name="isSnapshotScheduleEnabled")
447
+ def is_snapshot_schedule_enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
448
+ """
449
+ Enable or disable automatic snapshot scheduling
450
+ """
451
+ return pulumi.get(self, "is_snapshot_schedule_enabled")
452
+
453
+ @is_snapshot_schedule_enabled.setter
454
+ def is_snapshot_schedule_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
455
+ pulumi.set(self, "is_snapshot_schedule_enabled", value)
456
+
382
457
  @property
383
458
  @pulumi.getter
384
459
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -455,7 +530,9 @@ class _MongoDbInstanceState:
455
530
  @pulumi.getter(name="projectId")
456
531
  def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
457
532
  """
458
- The project_id you want to attach the resource to
533
+ `project_id`) The ID of the project the MongoDB® instance is associated with.
534
+
535
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
459
536
  """
460
537
  return pulumi.get(self, "project_id")
461
538
 
@@ -468,7 +545,6 @@ class _MongoDbInstanceState:
468
545
  def public_network(self) -> Optional[pulumi.Input['MongoDbInstancePublicNetworkArgs']]:
469
546
  """
470
547
  Public network endpoint configuration (no arguments).
471
- > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
472
548
  """
473
549
  return pulumi.get(self, "public_network")
474
550
 
@@ -480,7 +556,7 @@ class _MongoDbInstanceState:
480
556
  @pulumi.getter
481
557
  def region(self) -> Optional[pulumi.Input[builtins.str]]:
482
558
  """
483
- The region you want to attach the resource to
559
+ `region`) The region in which the MongoDB® instance should be created.
484
560
  """
485
561
  return pulumi.get(self, "region")
486
562
 
@@ -512,6 +588,30 @@ class _MongoDbInstanceState:
512
588
  def snapshot_id(self, value: Optional[pulumi.Input[builtins.str]]):
513
589
  pulumi.set(self, "snapshot_id", value)
514
590
 
591
+ @property
592
+ @pulumi.getter(name="snapshotScheduleFrequencyHours")
593
+ def snapshot_schedule_frequency_hours(self) -> Optional[pulumi.Input[builtins.int]]:
594
+ """
595
+ Snapshot schedule frequency in hours
596
+ """
597
+ return pulumi.get(self, "snapshot_schedule_frequency_hours")
598
+
599
+ @snapshot_schedule_frequency_hours.setter
600
+ def snapshot_schedule_frequency_hours(self, value: Optional[pulumi.Input[builtins.int]]):
601
+ pulumi.set(self, "snapshot_schedule_frequency_hours", value)
602
+
603
+ @property
604
+ @pulumi.getter(name="snapshotScheduleRetentionDays")
605
+ def snapshot_schedule_retention_days(self) -> Optional[pulumi.Input[builtins.int]]:
606
+ """
607
+ Snapshot schedule retention in days
608
+ """
609
+ return pulumi.get(self, "snapshot_schedule_retention_days")
610
+
611
+ @snapshot_schedule_retention_days.setter
612
+ def snapshot_schedule_retention_days(self, value: Optional[pulumi.Input[builtins.int]]):
613
+ pulumi.set(self, "snapshot_schedule_retention_days", value)
614
+
515
615
  @property
516
616
  @pulumi.getter
517
617
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -608,6 +708,7 @@ class MongoDbInstance(pulumi.CustomResource):
608
708
  def __init__(__self__,
609
709
  resource_name: str,
610
710
  opts: Optional[pulumi.ResourceOptions] = None,
711
+ is_snapshot_schedule_enabled: Optional[pulumi.Input[builtins.bool]] = None,
611
712
  name: Optional[pulumi.Input[builtins.str]] = None,
612
713
  node_number: Optional[pulumi.Input[builtins.int]] = None,
613
714
  node_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -619,6 +720,8 @@ class MongoDbInstance(pulumi.CustomResource):
619
720
  region: Optional[pulumi.Input[builtins.str]] = None,
620
721
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
621
722
  snapshot_id: Optional[pulumi.Input[builtins.str]] = None,
723
+ snapshot_schedule_frequency_hours: Optional[pulumi.Input[builtins.int]] = None,
724
+ snapshot_schedule_retention_days: Optional[pulumi.Input[builtins.int]] = None,
622
725
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
623
726
  user_name: Optional[pulumi.Input[builtins.str]] = None,
624
727
  version: Optional[pulumi.Input[builtins.str]] = None,
@@ -712,23 +815,27 @@ class MongoDbInstance(pulumi.CustomResource):
712
815
  bash
713
816
 
714
817
  ```sh
715
- $ pulumi import scaleway:index/mongoDbInstance:MongoDbInstance main fr-par-1/11111111-1111-1111-1111-111111111111
818
+ $ pulumi import scaleway:index/mongoDbInstance:MongoDbInstance main fr-par/11111111-1111-1111-1111-111111111111
716
819
  ```
717
820
 
718
821
  :param str resource_name: The name of the resource.
719
822
  :param pulumi.ResourceOptions opts: Options for the resource.
823
+ :param pulumi.Input[builtins.bool] is_snapshot_schedule_enabled: Enable or disable automatic snapshot scheduling
720
824
  :param pulumi.Input[builtins.str] name: Name of the MongoDB® instance.
721
825
  :param pulumi.Input[builtins.int] node_number: Number of nodes in the instance
722
826
  :param pulumi.Input[builtins.str] node_type: The type of MongoDB® intance to create.
723
827
  :param pulumi.Input[builtins.str] password: Password of the user.
724
828
  :param pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
725
829
  :param pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
726
- :param pulumi.Input[builtins.str] project_id: The project_id you want to attach the resource to
727
- :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
830
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the MongoDB® instance is associated with.
831
+
728
832
  > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
729
- :param pulumi.Input[builtins.str] region: The region you want to attach the resource to
833
+ :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
834
+ :param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® instance should be created.
730
835
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] settings: Map of settings to define for the instance.
731
836
  :param pulumi.Input[builtins.str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
837
+ :param pulumi.Input[builtins.int] snapshot_schedule_frequency_hours: Snapshot schedule frequency in hours
838
+ :param pulumi.Input[builtins.int] snapshot_schedule_retention_days: Snapshot schedule retention in days
732
839
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: List of tags attached to the MongoDB® instance.
733
840
  :param pulumi.Input[builtins.str] user_name: Name of the user created when the intance is created.
734
841
  :param pulumi.Input[builtins.str] version: MongoDB® version of the instance.
@@ -828,7 +935,7 @@ class MongoDbInstance(pulumi.CustomResource):
828
935
  bash
829
936
 
830
937
  ```sh
831
- $ pulumi import scaleway:index/mongoDbInstance:MongoDbInstance main fr-par-1/11111111-1111-1111-1111-111111111111
938
+ $ pulumi import scaleway:index/mongoDbInstance:MongoDbInstance main fr-par/11111111-1111-1111-1111-111111111111
832
939
  ```
833
940
 
834
941
  :param str resource_name: The name of the resource.
@@ -846,6 +953,7 @@ class MongoDbInstance(pulumi.CustomResource):
846
953
  def _internal_init(__self__,
847
954
  resource_name: str,
848
955
  opts: Optional[pulumi.ResourceOptions] = None,
956
+ is_snapshot_schedule_enabled: Optional[pulumi.Input[builtins.bool]] = None,
849
957
  name: Optional[pulumi.Input[builtins.str]] = None,
850
958
  node_number: Optional[pulumi.Input[builtins.int]] = None,
851
959
  node_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -857,6 +965,8 @@ class MongoDbInstance(pulumi.CustomResource):
857
965
  region: Optional[pulumi.Input[builtins.str]] = None,
858
966
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
859
967
  snapshot_id: Optional[pulumi.Input[builtins.str]] = None,
968
+ snapshot_schedule_frequency_hours: Optional[pulumi.Input[builtins.int]] = None,
969
+ snapshot_schedule_retention_days: Optional[pulumi.Input[builtins.int]] = None,
860
970
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
861
971
  user_name: Optional[pulumi.Input[builtins.str]] = None,
862
972
  version: Optional[pulumi.Input[builtins.str]] = None,
@@ -872,6 +982,7 @@ class MongoDbInstance(pulumi.CustomResource):
872
982
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
873
983
  __props__ = MongoDbInstanceArgs.__new__(MongoDbInstanceArgs)
874
984
 
985
+ __props__.__dict__["is_snapshot_schedule_enabled"] = is_snapshot_schedule_enabled
875
986
  __props__.__dict__["name"] = name
876
987
  if node_number is None and not opts.urn:
877
988
  raise TypeError("Missing required property 'node_number'")
@@ -887,6 +998,8 @@ class MongoDbInstance(pulumi.CustomResource):
887
998
  __props__.__dict__["region"] = region
888
999
  __props__.__dict__["settings"] = settings
889
1000
  __props__.__dict__["snapshot_id"] = snapshot_id
1001
+ __props__.__dict__["snapshot_schedule_frequency_hours"] = snapshot_schedule_frequency_hours
1002
+ __props__.__dict__["snapshot_schedule_retention_days"] = snapshot_schedule_retention_days
890
1003
  __props__.__dict__["tags"] = tags
891
1004
  __props__.__dict__["user_name"] = user_name
892
1005
  __props__.__dict__["version"] = version
@@ -908,6 +1021,7 @@ class MongoDbInstance(pulumi.CustomResource):
908
1021
  id: pulumi.Input[str],
909
1022
  opts: Optional[pulumi.ResourceOptions] = None,
910
1023
  created_at: Optional[pulumi.Input[builtins.str]] = None,
1024
+ is_snapshot_schedule_enabled: Optional[pulumi.Input[builtins.bool]] = None,
911
1025
  name: Optional[pulumi.Input[builtins.str]] = None,
912
1026
  node_number: Optional[pulumi.Input[builtins.int]] = None,
913
1027
  node_type: Optional[pulumi.Input[builtins.str]] = None,
@@ -919,6 +1033,8 @@ class MongoDbInstance(pulumi.CustomResource):
919
1033
  region: Optional[pulumi.Input[builtins.str]] = None,
920
1034
  settings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
921
1035
  snapshot_id: Optional[pulumi.Input[builtins.str]] = None,
1036
+ snapshot_schedule_frequency_hours: Optional[pulumi.Input[builtins.int]] = None,
1037
+ snapshot_schedule_retention_days: Optional[pulumi.Input[builtins.int]] = None,
922
1038
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
923
1039
  tls_certificate: Optional[pulumi.Input[builtins.str]] = None,
924
1040
  updated_at: Optional[pulumi.Input[builtins.str]] = None,
@@ -934,18 +1050,22 @@ class MongoDbInstance(pulumi.CustomResource):
934
1050
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
935
1051
  :param pulumi.ResourceOptions opts: Options for the resource.
936
1052
  :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the MongoDB® instance.
1053
+ :param pulumi.Input[builtins.bool] is_snapshot_schedule_enabled: Enable or disable automatic snapshot scheduling
937
1054
  :param pulumi.Input[builtins.str] name: Name of the MongoDB® instance.
938
1055
  :param pulumi.Input[builtins.int] node_number: Number of nodes in the instance
939
1056
  :param pulumi.Input[builtins.str] node_type: The type of MongoDB® intance to create.
940
1057
  :param pulumi.Input[builtins.str] password: Password of the user.
941
1058
  :param pulumi.Input[Sequence[pulumi.Input[Union['MongoDbInstancePrivateIpArgs', 'MongoDbInstancePrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the instance.
942
1059
  :param pulumi.Input[Union['MongoDbInstancePrivateNetworkArgs', 'MongoDbInstancePrivateNetworkArgsDict']] private_network: Private Network endpoints of the Database Instance.
943
- :param pulumi.Input[builtins.str] project_id: The project_id you want to attach the resource to
944
- :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
1060
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the project the MongoDB® instance is associated with.
1061
+
945
1062
  > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
946
- :param pulumi.Input[builtins.str] region: The region you want to attach the resource to
1063
+ :param pulumi.Input[Union['MongoDbInstancePublicNetworkArgs', 'MongoDbInstancePublicNetworkArgsDict']] public_network: Public network endpoint configuration (no arguments).
1064
+ :param pulumi.Input[builtins.str] region: `region`) The region in which the MongoDB® instance should be created.
947
1065
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] settings: Map of settings to define for the instance.
948
1066
  :param pulumi.Input[builtins.str] snapshot_id: Snapshot ID to restore the MongoDB® instance from.
1067
+ :param pulumi.Input[builtins.int] snapshot_schedule_frequency_hours: Snapshot schedule frequency in hours
1068
+ :param pulumi.Input[builtins.int] snapshot_schedule_retention_days: Snapshot schedule retention in days
949
1069
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: List of tags attached to the MongoDB® instance.
950
1070
  :param pulumi.Input[builtins.str] tls_certificate: The PEM-encoded TLS certificate for the MongoDB® instance, if available.
951
1071
  :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the MongoDB® instance.
@@ -959,6 +1079,7 @@ class MongoDbInstance(pulumi.CustomResource):
959
1079
  __props__ = _MongoDbInstanceState.__new__(_MongoDbInstanceState)
960
1080
 
961
1081
  __props__.__dict__["created_at"] = created_at
1082
+ __props__.__dict__["is_snapshot_schedule_enabled"] = is_snapshot_schedule_enabled
962
1083
  __props__.__dict__["name"] = name
963
1084
  __props__.__dict__["node_number"] = node_number
964
1085
  __props__.__dict__["node_type"] = node_type
@@ -970,6 +1091,8 @@ class MongoDbInstance(pulumi.CustomResource):
970
1091
  __props__.__dict__["region"] = region
971
1092
  __props__.__dict__["settings"] = settings
972
1093
  __props__.__dict__["snapshot_id"] = snapshot_id
1094
+ __props__.__dict__["snapshot_schedule_frequency_hours"] = snapshot_schedule_frequency_hours
1095
+ __props__.__dict__["snapshot_schedule_retention_days"] = snapshot_schedule_retention_days
973
1096
  __props__.__dict__["tags"] = tags
974
1097
  __props__.__dict__["tls_certificate"] = tls_certificate
975
1098
  __props__.__dict__["updated_at"] = updated_at
@@ -987,6 +1110,14 @@ class MongoDbInstance(pulumi.CustomResource):
987
1110
  """
988
1111
  return pulumi.get(self, "created_at")
989
1112
 
1113
+ @property
1114
+ @pulumi.getter(name="isSnapshotScheduleEnabled")
1115
+ def is_snapshot_schedule_enabled(self) -> pulumi.Output[builtins.bool]:
1116
+ """
1117
+ Enable or disable automatic snapshot scheduling
1118
+ """
1119
+ return pulumi.get(self, "is_snapshot_schedule_enabled")
1120
+
990
1121
  @property
991
1122
  @pulumi.getter
992
1123
  def name(self) -> pulumi.Output[builtins.str]:
@@ -1039,7 +1170,9 @@ class MongoDbInstance(pulumi.CustomResource):
1039
1170
  @pulumi.getter(name="projectId")
1040
1171
  def project_id(self) -> pulumi.Output[builtins.str]:
1041
1172
  """
1042
- The project_id you want to attach the resource to
1173
+ `project_id`) The ID of the project the MongoDB® instance is associated with.
1174
+
1175
+ > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
1043
1176
  """
1044
1177
  return pulumi.get(self, "project_id")
1045
1178
 
@@ -1048,7 +1181,6 @@ class MongoDbInstance(pulumi.CustomResource):
1048
1181
  def public_network(self) -> pulumi.Output['outputs.MongoDbInstancePublicNetwork']:
1049
1182
  """
1050
1183
  Public network endpoint configuration (no arguments).
1051
- > **Important** If neither private_network nor public_network is specified, a public network endpoint is created by default.
1052
1184
  """
1053
1185
  return pulumi.get(self, "public_network")
1054
1186
 
@@ -1056,7 +1188,7 @@ class MongoDbInstance(pulumi.CustomResource):
1056
1188
  @pulumi.getter
1057
1189
  def region(self) -> pulumi.Output[builtins.str]:
1058
1190
  """
1059
- The region you want to attach the resource to
1191
+ `region`) The region in which the MongoDB® instance should be created.
1060
1192
  """
1061
1193
  return pulumi.get(self, "region")
1062
1194
 
@@ -1076,6 +1208,22 @@ class MongoDbInstance(pulumi.CustomResource):
1076
1208
  """
1077
1209
  return pulumi.get(self, "snapshot_id")
1078
1210
 
1211
+ @property
1212
+ @pulumi.getter(name="snapshotScheduleFrequencyHours")
1213
+ def snapshot_schedule_frequency_hours(self) -> pulumi.Output[builtins.int]:
1214
+ """
1215
+ Snapshot schedule frequency in hours
1216
+ """
1217
+ return pulumi.get(self, "snapshot_schedule_frequency_hours")
1218
+
1219
+ @property
1220
+ @pulumi.getter(name="snapshotScheduleRetentionDays")
1221
+ def snapshot_schedule_retention_days(self) -> pulumi.Output[builtins.int]:
1222
+ """
1223
+ Snapshot schedule retention in days
1224
+ """
1225
+ return pulumi.get(self, "snapshot_schedule_retention_days")
1226
+
1079
1227
  @property
1080
1228
  @pulumi.getter
1081
1229
  def tags(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
@@ -302,7 +302,7 @@ class MongoDbSnapshot(pulumi.CustomResource):
302
302
  bash
303
303
 
304
304
  ```sh
305
- $ pulumi import scaleway:index/mongoDbSnapshot:MongoDbSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111
305
+ $ pulumi import scaleway:index/mongoDbSnapshot:MongoDbSnapshot main fr-par/11111111-1111-1111-1111-111111111111
306
306
  ```
307
307
 
308
308
  :param str resource_name: The name of the resource.
@@ -343,7 +343,7 @@ class MongoDbSnapshot(pulumi.CustomResource):
343
343
  bash
344
344
 
345
345
  ```sh
346
- $ pulumi import scaleway:index/mongoDbSnapshot:MongoDbSnapshot main fr-par-1/11111111-1111-1111-1111-111111111111
346
+ $ pulumi import scaleway:index/mongoDbSnapshot:MongoDbSnapshot main fr-par/11111111-1111-1111-1111-111111111111
347
347
  ```
348
348
 
349
349
  :param str resource_name: The name of the resource.
@@ -9,5 +9,6 @@ import typing
9
9
  from .get_instance import *
10
10
  from .instance import *
11
11
  from .snapshot import *
12
+ from .user import *
12
13
  from ._inputs import *
13
14
  from . import outputs
@@ -22,6 +22,8 @@ __all__ = [
22
22
  'InstancePrivateNetworkArgsDict',
23
23
  'InstancePublicNetworkArgs',
24
24
  'InstancePublicNetworkArgsDict',
25
+ 'UserRoleArgs',
26
+ 'UserRoleArgsDict',
25
27
  ]
26
28
 
27
29
  MYPY = False
@@ -261,3 +263,74 @@ class InstancePublicNetworkArgs:
261
263
  pulumi.set(self, "port", value)
262
264
 
263
265
 
266
+ if not MYPY:
267
+ class UserRoleArgsDict(TypedDict):
268
+ role: pulumi.Input[builtins.str]
269
+ """
270
+ The role name. Valid values are `read`, `read_write`, `db_admin`, `sync`.
271
+ """
272
+ any_database: NotRequired[pulumi.Input[builtins.bool]]
273
+ """
274
+ Apply the role to all databases. Cannot be used with `database_name`.
275
+ """
276
+ database_name: NotRequired[pulumi.Input[builtins.str]]
277
+ """
278
+ The database name for the role. Cannot be used with `any_database`.
279
+ """
280
+ elif False:
281
+ UserRoleArgsDict: TypeAlias = Mapping[str, Any]
282
+
283
+ @pulumi.input_type
284
+ class UserRoleArgs:
285
+ def __init__(__self__, *,
286
+ role: pulumi.Input[builtins.str],
287
+ any_database: Optional[pulumi.Input[builtins.bool]] = None,
288
+ database_name: Optional[pulumi.Input[builtins.str]] = None):
289
+ """
290
+ :param pulumi.Input[builtins.str] role: The role name. Valid values are `read`, `read_write`, `db_admin`, `sync`.
291
+ :param pulumi.Input[builtins.bool] any_database: Apply the role to all databases. Cannot be used with `database_name`.
292
+ :param pulumi.Input[builtins.str] database_name: The database name for the role. Cannot be used with `any_database`.
293
+ """
294
+ pulumi.set(__self__, "role", role)
295
+ if any_database is not None:
296
+ pulumi.set(__self__, "any_database", any_database)
297
+ if database_name is not None:
298
+ pulumi.set(__self__, "database_name", database_name)
299
+
300
+ @property
301
+ @pulumi.getter
302
+ def role(self) -> pulumi.Input[builtins.str]:
303
+ """
304
+ The role name. Valid values are `read`, `read_write`, `db_admin`, `sync`.
305
+ """
306
+ return pulumi.get(self, "role")
307
+
308
+ @role.setter
309
+ def role(self, value: pulumi.Input[builtins.str]):
310
+ pulumi.set(self, "role", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="anyDatabase")
314
+ def any_database(self) -> Optional[pulumi.Input[builtins.bool]]:
315
+ """
316
+ Apply the role to all databases. Cannot be used with `database_name`.
317
+ """
318
+ return pulumi.get(self, "any_database")
319
+
320
+ @any_database.setter
321
+ def any_database(self, value: Optional[pulumi.Input[builtins.bool]]):
322
+ pulumi.set(self, "any_database", value)
323
+
324
+ @property
325
+ @pulumi.getter(name="databaseName")
326
+ def database_name(self) -> Optional[pulumi.Input[builtins.str]]:
327
+ """
328
+ The database name for the role. Cannot be used with `any_database`.
329
+ """
330
+ return pulumi.get(self, "database_name")
331
+
332
+ @database_name.setter
333
+ def database_name(self, value: Optional[pulumi.Input[builtins.str]]):
334
+ pulumi.set(self, "database_name", value)
335
+
336
+