pulumiverse-scaleway 1.22.0a1736239435__py3-none-any.whl → 1.23.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (145) hide show
  1. pulumiverse_scaleway/__init__.py +10 -0
  2. pulumiverse_scaleway/_inputs.py +326 -12
  3. pulumiverse_scaleway/_utilities.py +8 -4
  4. pulumiverse_scaleway/account_ssh_key.py +2 -2
  5. pulumiverse_scaleway/apple_silicon_server.py +124 -0
  6. pulumiverse_scaleway/baremetal_server.py +67 -7
  7. pulumiverse_scaleway/block_snapshot.py +2 -2
  8. pulumiverse_scaleway/block_volume.py +58 -11
  9. pulumiverse_scaleway/cockpit_grafana_user.py +28 -0
  10. pulumiverse_scaleway/cockpit_source.py +53 -3
  11. pulumiverse_scaleway/container.py +236 -23
  12. pulumiverse_scaleway/container_domain.py +2 -2
  13. pulumiverse_scaleway/database_instance.py +74 -21
  14. pulumiverse_scaleway/get_account_project.py +4 -4
  15. pulumiverse_scaleway/get_account_ssh_key.py +4 -4
  16. pulumiverse_scaleway/get_availability_zones.py +2 -2
  17. pulumiverse_scaleway/get_baremetal_offer.py +2 -2
  18. pulumiverse_scaleway/get_baremetal_option.py +2 -2
  19. pulumiverse_scaleway/get_baremetal_os.py +2 -2
  20. pulumiverse_scaleway/get_baremetal_server.py +2 -2
  21. pulumiverse_scaleway/get_billing_consumptions.py +2 -2
  22. pulumiverse_scaleway/get_billing_invoices.py +2 -2
  23. pulumiverse_scaleway/get_block_snapshot.py +4 -4
  24. pulumiverse_scaleway/get_block_volume.py +16 -5
  25. pulumiverse_scaleway/get_cockpit.py +2 -2
  26. pulumiverse_scaleway/get_cockpit_plan.py +2 -2
  27. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  28. pulumiverse_scaleway/get_config.py +2 -2
  29. pulumiverse_scaleway/get_container.py +32 -6
  30. pulumiverse_scaleway/get_container_namespace.py +2 -2
  31. pulumiverse_scaleway/get_database.py +2 -2
  32. pulumiverse_scaleway/get_database_acl.py +2 -2
  33. pulumiverse_scaleway/get_database_backup.py +2 -2
  34. pulumiverse_scaleway/get_database_instance.py +14 -3
  35. pulumiverse_scaleway/get_database_privilege.py +2 -2
  36. pulumiverse_scaleway/get_domain_record.py +2 -2
  37. pulumiverse_scaleway/get_domain_zone.py +2 -2
  38. pulumiverse_scaleway/get_flexible_ip.py +2 -2
  39. pulumiverse_scaleway/get_flexible_ips.py +2 -2
  40. pulumiverse_scaleway/get_function.py +2 -2
  41. pulumiverse_scaleway/get_function_namespace.py +2 -2
  42. pulumiverse_scaleway/get_iam_api_key.py +2 -2
  43. pulumiverse_scaleway/get_iam_application.py +2 -2
  44. pulumiverse_scaleway/get_iam_group.py +2 -2
  45. pulumiverse_scaleway/get_iam_ssh_key.py +2 -2
  46. pulumiverse_scaleway/get_iam_user.py +2 -2
  47. pulumiverse_scaleway/get_instance_image.py +2 -2
  48. pulumiverse_scaleway/get_instance_ip.py +2 -2
  49. pulumiverse_scaleway/get_instance_placement_group.py +2 -2
  50. pulumiverse_scaleway/get_instance_private_nic.py +2 -2
  51. pulumiverse_scaleway/get_instance_security_group.py +2 -2
  52. pulumiverse_scaleway/get_instance_server.py +3 -17
  53. pulumiverse_scaleway/get_instance_servers.py +2 -2
  54. pulumiverse_scaleway/get_instance_snapshot.py +2 -2
  55. pulumiverse_scaleway/get_instance_volume.py +14 -3
  56. pulumiverse_scaleway/get_iot_device.py +2 -2
  57. pulumiverse_scaleway/get_iot_hub.py +2 -2
  58. pulumiverse_scaleway/get_ipam_ip.py +4 -4
  59. pulumiverse_scaleway/get_ipam_ips.py +4 -4
  60. pulumiverse_scaleway/get_k8s_version.py +2 -2
  61. pulumiverse_scaleway/get_kubernetes_cluster.py +2 -2
  62. pulumiverse_scaleway/get_kubernetes_node_pool.py +2 -2
  63. pulumiverse_scaleway/get_lb_acls.py +4 -4
  64. pulumiverse_scaleway/get_lb_backend.py +4 -4
  65. pulumiverse_scaleway/get_lb_backends.py +4 -4
  66. pulumiverse_scaleway/get_lb_frontend.py +4 -4
  67. pulumiverse_scaleway/get_lb_frontends.py +4 -4
  68. pulumiverse_scaleway/get_lb_ips.py +4 -4
  69. pulumiverse_scaleway/get_lb_route.py +4 -4
  70. pulumiverse_scaleway/get_lb_routes.py +4 -4
  71. pulumiverse_scaleway/get_lbs.py +4 -4
  72. pulumiverse_scaleway/get_loadbalancer.py +4 -4
  73. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -4
  74. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -4
  75. pulumiverse_scaleway/get_marketplace_image.py +2 -2
  76. pulumiverse_scaleway/get_mnq_sns.py +2 -2
  77. pulumiverse_scaleway/get_mnq_sqs.py +2 -2
  78. pulumiverse_scaleway/get_mongo_db_instance.py +2 -2
  79. pulumiverse_scaleway/get_object_bucket.py +4 -4
  80. pulumiverse_scaleway/get_object_bucket_policy.py +4 -4
  81. pulumiverse_scaleway/get_redis_cluster.py +2 -2
  82. pulumiverse_scaleway/get_registry_image.py +2 -2
  83. pulumiverse_scaleway/get_registry_image_tag.py +2 -2
  84. pulumiverse_scaleway/get_registry_namespace.py +2 -2
  85. pulumiverse_scaleway/get_secret.py +2 -2
  86. pulumiverse_scaleway/get_secret_version.py +2 -2
  87. pulumiverse_scaleway/get_tem_domain.py +2 -2
  88. pulumiverse_scaleway/get_vpc.py +2 -2
  89. pulumiverse_scaleway/get_vpc_gateway_network.py +2 -2
  90. pulumiverse_scaleway/get_vpc_private_network.py +2 -2
  91. pulumiverse_scaleway/get_vpc_public_gateway.py +2 -2
  92. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +2 -2
  93. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +2 -2
  94. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +2 -2
  95. pulumiverse_scaleway/get_vpc_public_pat_rule.py +2 -2
  96. pulumiverse_scaleway/get_vpc_routes.py +2 -2
  97. pulumiverse_scaleway/get_vpcs.py +2 -2
  98. pulumiverse_scaleway/get_web_host_offer.py +2 -2
  99. pulumiverse_scaleway/get_webhosting.py +2 -2
  100. pulumiverse_scaleway/iam_policy.py +2 -2
  101. pulumiverse_scaleway/instance_ip.py +7 -21
  102. pulumiverse_scaleway/instance_server.py +13 -78
  103. pulumiverse_scaleway/instance_volume.py +47 -0
  104. pulumiverse_scaleway/iot_route.py +21 -21
  105. pulumiverse_scaleway/ipam_ip.py +2 -2
  106. pulumiverse_scaleway/ipam_ip_reverse_dns.py +2 -2
  107. pulumiverse_scaleway/loadbalancer.py +2 -2
  108. pulumiverse_scaleway/loadbalancer_acl.py +2 -2
  109. pulumiverse_scaleway/loadbalancer_backend.py +2 -2
  110. pulumiverse_scaleway/loadbalancer_frontend.py +2 -2
  111. pulumiverse_scaleway/loadbalancer_ip.py +2 -2
  112. pulumiverse_scaleway/loadbalancer_route.py +2 -2
  113. pulumiverse_scaleway/mnq_nats_account.py +2 -2
  114. pulumiverse_scaleway/mnq_nats_credentials.py +2 -2
  115. pulumiverse_scaleway/mnq_sns.py +2 -2
  116. pulumiverse_scaleway/mnq_sns_credentials.py +2 -2
  117. pulumiverse_scaleway/mnq_sns_topic.py +2 -2
  118. pulumiverse_scaleway/mnq_sns_topic_subscription.py +2 -2
  119. pulumiverse_scaleway/mnq_sqs.py +2 -2
  120. pulumiverse_scaleway/mnq_sqs_credentials.py +2 -2
  121. pulumiverse_scaleway/mnq_sqs_queue.py +2 -2
  122. pulumiverse_scaleway/mongo_db_instance.py +2 -2
  123. pulumiverse_scaleway/mongo_db_snapshot.py +2 -2
  124. pulumiverse_scaleway/object_bucket.py +12 -12
  125. pulumiverse_scaleway/object_bucket_acl.py +2 -2
  126. pulumiverse_scaleway/object_bucket_lock_configuration.py +4 -4
  127. pulumiverse_scaleway/object_bucket_policy.py +6 -6
  128. pulumiverse_scaleway/object_bucket_website_configuration.py +4 -4
  129. pulumiverse_scaleway/object_item.py +60 -11
  130. pulumiverse_scaleway/outputs.py +353 -8
  131. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  132. pulumiverse_scaleway/rdb_snapshot.py +608 -0
  133. pulumiverse_scaleway/redis_cluster.py +49 -14
  134. pulumiverse_scaleway/sdb_database.py +2 -2
  135. pulumiverse_scaleway/secret_version.py +2 -2
  136. pulumiverse_scaleway/vpc.py +2 -2
  137. pulumiverse_scaleway/vpc_gateway_network.py +7 -7
  138. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +14 -0
  139. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +2 -2
  140. pulumiverse_scaleway/vpc_route.py +2 -2
  141. {pulumiverse_scaleway-1.22.0a1736239435.dist-info → pulumiverse_scaleway-1.23.0.dist-info}/METADATA +3 -3
  142. pulumiverse_scaleway-1.23.0.dist-info/RECORD +206 -0
  143. {pulumiverse_scaleway-1.22.0a1736239435.dist-info → pulumiverse_scaleway-1.23.0.dist-info}/WHEEL +1 -1
  144. pulumiverse_scaleway-1.22.0a1736239435.dist-info/RECORD +0 -204
  145. {pulumiverse_scaleway-1.22.0a1736239435.dist-info → pulumiverse_scaleway-1.23.0.dist-info}/top_level.txt +0 -0
@@ -20,6 +20,7 @@ __all__ = ['BlockVolumeArgs', 'BlockVolume']
20
20
  class BlockVolumeArgs:
21
21
  def __init__(__self__, *,
22
22
  iops: pulumi.Input[int],
23
+ instance_volume_id: Optional[pulumi.Input[str]] = None,
23
24
  name: Optional[pulumi.Input[str]] = None,
24
25
  project_id: Optional[pulumi.Input[str]] = None,
25
26
  size_in_gb: Optional[pulumi.Input[int]] = None,
@@ -28,7 +29,8 @@ class BlockVolumeArgs:
28
29
  zone: Optional[pulumi.Input[str]] = None):
29
30
  """
30
31
  The set of arguments for constructing a BlockVolume resource.
31
- :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
32
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
33
+ :param pulumi.Input[str] instance_volume_id: The instance volume to create the block volume from
32
34
  :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
33
35
  :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
34
36
  :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
@@ -37,6 +39,8 @@ class BlockVolumeArgs:
37
39
  :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
38
40
  """
39
41
  pulumi.set(__self__, "iops", iops)
42
+ if instance_volume_id is not None:
43
+ pulumi.set(__self__, "instance_volume_id", instance_volume_id)
40
44
  if name is not None:
41
45
  pulumi.set(__self__, "name", name)
42
46
  if project_id is not None:
@@ -54,7 +58,7 @@ class BlockVolumeArgs:
54
58
  @pulumi.getter
55
59
  def iops(self) -> pulumi.Input[int]:
56
60
  """
57
- The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
61
+ The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
58
62
  """
59
63
  return pulumi.get(self, "iops")
60
64
 
@@ -62,6 +66,18 @@ class BlockVolumeArgs:
62
66
  def iops(self, value: pulumi.Input[int]):
63
67
  pulumi.set(self, "iops", value)
64
68
 
69
+ @property
70
+ @pulumi.getter(name="instanceVolumeId")
71
+ def instance_volume_id(self) -> Optional[pulumi.Input[str]]:
72
+ """
73
+ The instance volume to create the block volume from
74
+ """
75
+ return pulumi.get(self, "instance_volume_id")
76
+
77
+ @instance_volume_id.setter
78
+ def instance_volume_id(self, value: Optional[pulumi.Input[str]]):
79
+ pulumi.set(self, "instance_volume_id", value)
80
+
65
81
  @property
66
82
  @pulumi.getter
67
83
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -138,6 +154,7 @@ class BlockVolumeArgs:
138
154
  @pulumi.input_type
139
155
  class _BlockVolumeState:
140
156
  def __init__(__self__, *,
157
+ instance_volume_id: Optional[pulumi.Input[str]] = None,
141
158
  iops: Optional[pulumi.Input[int]] = None,
142
159
  name: Optional[pulumi.Input[str]] = None,
143
160
  project_id: Optional[pulumi.Input[str]] = None,
@@ -147,7 +164,8 @@ class _BlockVolumeState:
147
164
  zone: Optional[pulumi.Input[str]] = None):
148
165
  """
149
166
  Input properties used for looking up and filtering BlockVolume resources.
150
- :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
167
+ :param pulumi.Input[str] instance_volume_id: The instance volume to create the block volume from
168
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
151
169
  :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
152
170
  :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
153
171
  :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
@@ -155,6 +173,8 @@ class _BlockVolumeState:
155
173
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the volume.
156
174
  :param pulumi.Input[str] zone: ). The zone in which the volume should be created.
157
175
  """
176
+ if instance_volume_id is not None:
177
+ pulumi.set(__self__, "instance_volume_id", instance_volume_id)
158
178
  if iops is not None:
159
179
  pulumi.set(__self__, "iops", iops)
160
180
  if name is not None:
@@ -170,11 +190,23 @@ class _BlockVolumeState:
170
190
  if zone is not None:
171
191
  pulumi.set(__self__, "zone", zone)
172
192
 
193
+ @property
194
+ @pulumi.getter(name="instanceVolumeId")
195
+ def instance_volume_id(self) -> Optional[pulumi.Input[str]]:
196
+ """
197
+ The instance volume to create the block volume from
198
+ """
199
+ return pulumi.get(self, "instance_volume_id")
200
+
201
+ @instance_volume_id.setter
202
+ def instance_volume_id(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "instance_volume_id", value)
204
+
173
205
  @property
174
206
  @pulumi.getter
175
207
  def iops(self) -> Optional[pulumi.Input[int]]:
176
208
  """
177
- The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
209
+ The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
178
210
  """
179
211
  return pulumi.get(self, "iops")
180
212
 
@@ -260,6 +292,7 @@ class BlockVolume(pulumi.CustomResource):
260
292
  def __init__(__self__,
261
293
  resource_name: str,
262
294
  opts: Optional[pulumi.ResourceOptions] = None,
295
+ instance_volume_id: Optional[pulumi.Input[str]] = None,
263
296
  iops: Optional[pulumi.Input[int]] = None,
264
297
  name: Optional[pulumi.Input[str]] = None,
265
298
  project_id: Optional[pulumi.Input[str]] = None,
@@ -271,13 +304,13 @@ class BlockVolume(pulumi.CustomResource):
271
304
  """
272
305
  The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes.
273
306
 
274
- Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
307
+ Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/block-storage/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
275
308
 
276
309
  ## Example Usage
277
310
 
278
311
  ### Create a Block Storage volume
279
312
 
280
- The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops).
313
+ The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/block-storage/concepts/#iops).
281
314
 
282
315
  ```python
283
316
  import pulumi
@@ -320,7 +353,8 @@ class BlockVolume(pulumi.CustomResource):
320
353
 
321
354
  :param str resource_name: The name of the resource.
322
355
  :param pulumi.ResourceOptions opts: Options for the resource.
323
- :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
356
+ :param pulumi.Input[str] instance_volume_id: The instance volume to create the block volume from
357
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
324
358
  :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
325
359
  :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
326
360
  :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
@@ -337,13 +371,13 @@ class BlockVolume(pulumi.CustomResource):
337
371
  """
338
372
  The `BlockVolume` resource is used to create and manage Scaleway Block Storage volumes.
339
373
 
340
- Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/storage/block/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
374
+ Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/block-storage/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
341
375
 
342
376
  ## Example Usage
343
377
 
344
378
  ### Create a Block Storage volume
345
379
 
346
- The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/storage/block/concepts/#iops).
380
+ The following command allows you to create a Block Storage volume of 20 GB with a 5000 [IOPS](https://www.scaleway.com/en/docs/block-storage/concepts/#iops).
347
381
 
348
382
  ```python
349
383
  import pulumi
@@ -399,6 +433,7 @@ class BlockVolume(pulumi.CustomResource):
399
433
  def _internal_init(__self__,
400
434
  resource_name: str,
401
435
  opts: Optional[pulumi.ResourceOptions] = None,
436
+ instance_volume_id: Optional[pulumi.Input[str]] = None,
402
437
  iops: Optional[pulumi.Input[int]] = None,
403
438
  name: Optional[pulumi.Input[str]] = None,
404
439
  project_id: Optional[pulumi.Input[str]] = None,
@@ -415,6 +450,7 @@ class BlockVolume(pulumi.CustomResource):
415
450
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
416
451
  __props__ = BlockVolumeArgs.__new__(BlockVolumeArgs)
417
452
 
453
+ __props__.__dict__["instance_volume_id"] = instance_volume_id
418
454
  if iops is None and not opts.urn:
419
455
  raise TypeError("Missing required property 'iops'")
420
456
  __props__.__dict__["iops"] = iops
@@ -434,6 +470,7 @@ class BlockVolume(pulumi.CustomResource):
434
470
  def get(resource_name: str,
435
471
  id: pulumi.Input[str],
436
472
  opts: Optional[pulumi.ResourceOptions] = None,
473
+ instance_volume_id: Optional[pulumi.Input[str]] = None,
437
474
  iops: Optional[pulumi.Input[int]] = None,
438
475
  name: Optional[pulumi.Input[str]] = None,
439
476
  project_id: Optional[pulumi.Input[str]] = None,
@@ -448,7 +485,8 @@ class BlockVolume(pulumi.CustomResource):
448
485
  :param str resource_name: The unique name of the resulting resource.
449
486
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
450
487
  :param pulumi.ResourceOptions opts: Options for the resource.
451
- :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
488
+ :param pulumi.Input[str] instance_volume_id: The instance volume to create the block volume from
489
+ :param pulumi.Input[int] iops: The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
452
490
  :param pulumi.Input[str] name: The name of the volume. If not provided, a name will be randomly generated.
453
491
  :param pulumi.Input[str] project_id: ). The ID of the Project the volume is associated with.
454
492
  :param pulumi.Input[int] size_in_gb: The size of the volume in gigabytes. Only one of `size_in_gb`, and `snapshot_id` should be specified.
@@ -460,6 +498,7 @@ class BlockVolume(pulumi.CustomResource):
460
498
 
461
499
  __props__ = _BlockVolumeState.__new__(_BlockVolumeState)
462
500
 
501
+ __props__.__dict__["instance_volume_id"] = instance_volume_id
463
502
  __props__.__dict__["iops"] = iops
464
503
  __props__.__dict__["name"] = name
465
504
  __props__.__dict__["project_id"] = project_id
@@ -469,11 +508,19 @@ class BlockVolume(pulumi.CustomResource):
469
508
  __props__.__dict__["zone"] = zone
470
509
  return BlockVolume(resource_name, opts=opts, __props__=__props__)
471
510
 
511
+ @property
512
+ @pulumi.getter(name="instanceVolumeId")
513
+ def instance_volume_id(self) -> pulumi.Output[str]:
514
+ """
515
+ The instance volume to create the block volume from
516
+ """
517
+ return pulumi.get(self, "instance_volume_id")
518
+
472
519
  @property
473
520
  @pulumi.getter
474
521
  def iops(self) -> pulumi.Output[int]:
475
522
  """
476
- The maximum [IOPs](https://www.scaleway.com/en/docs/storage/block/concepts/#iops) expected, must match available options.
523
+ The maximum [IOPs](https://www.scaleway.com/en/docs/block-storage/concepts/#iops) expected, must match available options.
477
524
  """
478
525
  return pulumi.get(self, "iops")
479
526
 
@@ -73,17 +73,21 @@ class CockpitGrafanaUserArgs:
73
73
  @pulumi.input_type
74
74
  class _CockpitGrafanaUserState:
75
75
  def __init__(__self__, *,
76
+ grafana_url: Optional[pulumi.Input[str]] = None,
76
77
  login: Optional[pulumi.Input[str]] = None,
77
78
  password: Optional[pulumi.Input[str]] = None,
78
79
  project_id: Optional[pulumi.Input[str]] = None,
79
80
  role: Optional[pulumi.Input[str]] = None):
80
81
  """
81
82
  Input properties used for looking up and filtering CockpitGrafanaUser resources.
83
+ :param pulumi.Input[str] grafana_url: URL for Grafana.
82
84
  :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
83
85
  :param pulumi.Input[str] password: The password of the Grafana user.
84
86
  :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
85
87
  :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`.
86
88
  """
89
+ if grafana_url is not None:
90
+ pulumi.set(__self__, "grafana_url", grafana_url)
87
91
  if login is not None:
88
92
  pulumi.set(__self__, "login", login)
89
93
  if password is not None:
@@ -93,6 +97,18 @@ class _CockpitGrafanaUserState:
93
97
  if role is not None:
94
98
  pulumi.set(__self__, "role", role)
95
99
 
100
+ @property
101
+ @pulumi.getter(name="grafanaUrl")
102
+ def grafana_url(self) -> Optional[pulumi.Input[str]]:
103
+ """
104
+ URL for Grafana.
105
+ """
106
+ return pulumi.get(self, "grafana_url")
107
+
108
+ @grafana_url.setter
109
+ def grafana_url(self, value: Optional[pulumi.Input[str]]):
110
+ pulumi.set(self, "grafana_url", value)
111
+
96
112
  @property
97
113
  @pulumi.getter
98
114
  def login(self) -> Optional[pulumi.Input[str]]:
@@ -261,6 +277,7 @@ class CockpitGrafanaUser(pulumi.CustomResource):
261
277
  if role is None and not opts.urn:
262
278
  raise TypeError("Missing required property 'role'")
263
279
  __props__.__dict__["role"] = role
280
+ __props__.__dict__["grafana_url"] = None
264
281
  __props__.__dict__["password"] = None
265
282
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
266
283
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
@@ -274,6 +291,7 @@ class CockpitGrafanaUser(pulumi.CustomResource):
274
291
  def get(resource_name: str,
275
292
  id: pulumi.Input[str],
276
293
  opts: Optional[pulumi.ResourceOptions] = None,
294
+ grafana_url: Optional[pulumi.Input[str]] = None,
277
295
  login: Optional[pulumi.Input[str]] = None,
278
296
  password: Optional[pulumi.Input[str]] = None,
279
297
  project_id: Optional[pulumi.Input[str]] = None,
@@ -285,6 +303,7 @@ class CockpitGrafanaUser(pulumi.CustomResource):
285
303
  :param str resource_name: The unique name of the resulting resource.
286
304
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
287
305
  :param pulumi.ResourceOptions opts: Options for the resource.
306
+ :param pulumi.Input[str] grafana_url: URL for Grafana.
288
307
  :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
289
308
  :param pulumi.Input[str] password: The password of the Grafana user.
290
309
  :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
@@ -294,12 +313,21 @@ class CockpitGrafanaUser(pulumi.CustomResource):
294
313
 
295
314
  __props__ = _CockpitGrafanaUserState.__new__(_CockpitGrafanaUserState)
296
315
 
316
+ __props__.__dict__["grafana_url"] = grafana_url
297
317
  __props__.__dict__["login"] = login
298
318
  __props__.__dict__["password"] = password
299
319
  __props__.__dict__["project_id"] = project_id
300
320
  __props__.__dict__["role"] = role
301
321
  return CockpitGrafanaUser(resource_name, opts=opts, __props__=__props__)
302
322
 
323
+ @property
324
+ @pulumi.getter(name="grafanaUrl")
325
+ def grafana_url(self) -> pulumi.Output[str]:
326
+ """
327
+ URL for Grafana.
328
+ """
329
+ return pulumi.get(self, "grafana_url")
330
+
303
331
  @property
304
332
  @pulumi.getter
305
333
  def login(self) -> pulumi.Output[str]:
@@ -19,17 +19,20 @@ __all__ = ['CockpitSourceArgs', 'CockpitSource']
19
19
  @pulumi.input_type
20
20
  class CockpitSourceArgs:
21
21
  def __init__(__self__, *,
22
+ retention_days: pulumi.Input[int],
22
23
  name: Optional[pulumi.Input[str]] = None,
23
24
  project_id: Optional[pulumi.Input[str]] = None,
24
25
  region: Optional[pulumi.Input[str]] = None,
25
26
  type: Optional[pulumi.Input[str]] = None):
26
27
  """
27
28
  The set of arguments for constructing a CockpitSource resource.
29
+ :param pulumi.Input[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
28
30
  :param pulumi.Input[str] name: The name of the data source.
29
31
  :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with.
30
32
  :param pulumi.Input[str] region: ) The region where the data source is located.
31
33
  :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
32
34
  """
35
+ pulumi.set(__self__, "retention_days", retention_days)
33
36
  if name is not None:
34
37
  pulumi.set(__self__, "name", name)
35
38
  if project_id is not None:
@@ -39,6 +42,18 @@ class CockpitSourceArgs:
39
42
  if type is not None:
40
43
  pulumi.set(__self__, "type", type)
41
44
 
45
+ @property
46
+ @pulumi.getter(name="retentionDays")
47
+ def retention_days(self) -> pulumi.Input[int]:
48
+ """
49
+ The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
50
+ """
51
+ return pulumi.get(self, "retention_days")
52
+
53
+ @retention_days.setter
54
+ def retention_days(self, value: pulumi.Input[int]):
55
+ pulumi.set(self, "retention_days", value)
56
+
42
57
  @property
43
58
  @pulumi.getter
44
59
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -97,6 +112,7 @@ class _CockpitSourceState:
97
112
  project_id: Optional[pulumi.Input[str]] = None,
98
113
  push_url: Optional[pulumi.Input[str]] = None,
99
114
  region: Optional[pulumi.Input[str]] = None,
115
+ retention_days: Optional[pulumi.Input[int]] = None,
100
116
  synchronized_with_grafana: Optional[pulumi.Input[bool]] = None,
101
117
  type: Optional[pulumi.Input[str]] = None,
102
118
  updated_at: Optional[pulumi.Input[str]] = None,
@@ -109,6 +125,7 @@ class _CockpitSourceState:
109
125
  :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with.
110
126
  :param pulumi.Input[str] push_url: The URL endpoint used for pushing data to the Cockpit data source.
111
127
  :param pulumi.Input[str] region: ) The region where the data source is located.
128
+ :param pulumi.Input[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
112
129
  :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana.
113
130
  :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
114
131
  :param pulumi.Input[str] updated_at: The date and time the data source was last updated (in RFC 3339 format).
@@ -126,6 +143,8 @@ class _CockpitSourceState:
126
143
  pulumi.set(__self__, "push_url", push_url)
127
144
  if region is not None:
128
145
  pulumi.set(__self__, "region", region)
146
+ if retention_days is not None:
147
+ pulumi.set(__self__, "retention_days", retention_days)
129
148
  if synchronized_with_grafana is not None:
130
149
  pulumi.set(__self__, "synchronized_with_grafana", synchronized_with_grafana)
131
150
  if type is not None:
@@ -207,6 +226,18 @@ class _CockpitSourceState:
207
226
  def region(self, value: Optional[pulumi.Input[str]]):
208
227
  pulumi.set(self, "region", value)
209
228
 
229
+ @property
230
+ @pulumi.getter(name="retentionDays")
231
+ def retention_days(self) -> Optional[pulumi.Input[int]]:
232
+ """
233
+ The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
234
+ """
235
+ return pulumi.get(self, "retention_days")
236
+
237
+ @retention_days.setter
238
+ def retention_days(self, value: Optional[pulumi.Input[int]]):
239
+ pulumi.set(self, "retention_days", value)
240
+
210
241
  @property
211
242
  @pulumi.getter(name="synchronizedWithGrafana")
212
243
  def synchronized_with_grafana(self) -> Optional[pulumi.Input[bool]]:
@@ -264,6 +295,7 @@ class CockpitSource(pulumi.CustomResource):
264
295
  name: Optional[pulumi.Input[str]] = None,
265
296
  project_id: Optional[pulumi.Input[str]] = None,
266
297
  region: Optional[pulumi.Input[str]] = None,
298
+ retention_days: Optional[pulumi.Input[int]] = None,
267
299
  type: Optional[pulumi.Input[str]] = None,
268
300
  __props__=None):
269
301
  """
@@ -285,7 +317,8 @@ class CockpitSource(pulumi.CustomResource):
285
317
  main = scaleway.CockpitSource("main",
286
318
  project_id=project.id,
287
319
  name="my-data-source",
288
- type="metrics")
320
+ type="metrics",
321
+ retention_days=6)
289
322
  ```
290
323
 
291
324
  ## Import
@@ -303,13 +336,14 @@ class CockpitSource(pulumi.CustomResource):
303
336
  :param pulumi.Input[str] name: The name of the data source.
304
337
  :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with.
305
338
  :param pulumi.Input[str] region: ) The region where the data source is located.
339
+ :param pulumi.Input[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
306
340
  :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
307
341
  """
308
342
  ...
309
343
  @overload
310
344
  def __init__(__self__,
311
345
  resource_name: str,
312
- args: Optional[CockpitSourceArgs] = None,
346
+ args: CockpitSourceArgs,
313
347
  opts: Optional[pulumi.ResourceOptions] = None):
314
348
  """
315
349
  The `CockpitSource` resource allows you to create and manage [data sources](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit.
@@ -330,7 +364,8 @@ class CockpitSource(pulumi.CustomResource):
330
364
  main = scaleway.CockpitSource("main",
331
365
  project_id=project.id,
332
366
  name="my-data-source",
333
- type="metrics")
367
+ type="metrics",
368
+ retention_days=6)
334
369
  ```
335
370
 
336
371
  ## Import
@@ -361,6 +396,7 @@ class CockpitSource(pulumi.CustomResource):
361
396
  name: Optional[pulumi.Input[str]] = None,
362
397
  project_id: Optional[pulumi.Input[str]] = None,
363
398
  region: Optional[pulumi.Input[str]] = None,
399
+ retention_days: Optional[pulumi.Input[int]] = None,
364
400
  type: Optional[pulumi.Input[str]] = None,
365
401
  __props__=None):
366
402
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -374,6 +410,9 @@ class CockpitSource(pulumi.CustomResource):
374
410
  __props__.__dict__["name"] = name
375
411
  __props__.__dict__["project_id"] = project_id
376
412
  __props__.__dict__["region"] = region
413
+ if retention_days is None and not opts.urn:
414
+ raise TypeError("Missing required property 'retention_days'")
415
+ __props__.__dict__["retention_days"] = retention_days
377
416
  __props__.__dict__["type"] = type
378
417
  __props__.__dict__["created_at"] = None
379
418
  __props__.__dict__["origin"] = None
@@ -397,6 +436,7 @@ class CockpitSource(pulumi.CustomResource):
397
436
  project_id: Optional[pulumi.Input[str]] = None,
398
437
  push_url: Optional[pulumi.Input[str]] = None,
399
438
  region: Optional[pulumi.Input[str]] = None,
439
+ retention_days: Optional[pulumi.Input[int]] = None,
400
440
  synchronized_with_grafana: Optional[pulumi.Input[bool]] = None,
401
441
  type: Optional[pulumi.Input[str]] = None,
402
442
  updated_at: Optional[pulumi.Input[str]] = None,
@@ -414,6 +454,7 @@ class CockpitSource(pulumi.CustomResource):
414
454
  :param pulumi.Input[str] project_id: ) The ID of the Project the data source is associated with.
415
455
  :param pulumi.Input[str] push_url: The URL endpoint used for pushing data to the Cockpit data source.
416
456
  :param pulumi.Input[str] region: ) The region where the data source is located.
457
+ :param pulumi.Input[int] retention_days: The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
417
458
  :param pulumi.Input[bool] synchronized_with_grafana: Indicates whether the data source is synchronized with Grafana.
418
459
  :param pulumi.Input[str] type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
419
460
  :param pulumi.Input[str] updated_at: The date and time the data source was last updated (in RFC 3339 format).
@@ -429,6 +470,7 @@ class CockpitSource(pulumi.CustomResource):
429
470
  __props__.__dict__["project_id"] = project_id
430
471
  __props__.__dict__["push_url"] = push_url
431
472
  __props__.__dict__["region"] = region
473
+ __props__.__dict__["retention_days"] = retention_days
432
474
  __props__.__dict__["synchronized_with_grafana"] = synchronized_with_grafana
433
475
  __props__.__dict__["type"] = type
434
476
  __props__.__dict__["updated_at"] = updated_at
@@ -483,6 +525,14 @@ class CockpitSource(pulumi.CustomResource):
483
525
  """
484
526
  return pulumi.get(self, "region")
485
527
 
528
+ @property
529
+ @pulumi.getter(name="retentionDays")
530
+ def retention_days(self) -> pulumi.Output[int]:
531
+ """
532
+ The number of days to retain data in the data source. Must be a value between 1 and 365. For more details on retention policies, please refer to the [Scaleway Retention Documentation](https://www.scaleway.com/en/docs/cockpit/concepts/#retention). Note: Changes to this field will force the creation of a new resource.
533
+ """
534
+ return pulumi.get(self, "retention_days")
535
+
486
536
  @property
487
537
  @pulumi.getter(name="synchronizedWithGrafana")
488
538
  def synchronized_with_grafana(self) -> pulumi.Output[bool]: