pulumiverse-scaleway 1.35.0a1761031391__py3-none-any.whl → 1.35.0a1761072454__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 (28) hide show
  1. pulumiverse_scaleway/_inputs.py +105 -151
  2. pulumiverse_scaleway/baremetal_server.py +16 -0
  3. pulumiverse_scaleway/billing/get_consumptions.py +4 -0
  4. pulumiverse_scaleway/block/snapshot.py +8 -0
  5. pulumiverse_scaleway/block_snapshot.py +8 -0
  6. pulumiverse_scaleway/database_instance.py +34 -34
  7. pulumiverse_scaleway/databases/instance.py +34 -34
  8. pulumiverse_scaleway/edge_services_cache_stage.py +4 -0
  9. pulumiverse_scaleway/elasticmetal/server.py +16 -0
  10. pulumiverse_scaleway/file_filesystem.py +6 -2
  11. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  12. pulumiverse_scaleway/inference/deployment.py +4 -0
  13. pulumiverse_scaleway/inference_deployment.py +4 -0
  14. pulumiverse_scaleway/instance/_inputs.py +92 -138
  15. pulumiverse_scaleway/instance/image.py +94 -40
  16. pulumiverse_scaleway/instance/outputs.py +71 -88
  17. pulumiverse_scaleway/instance_image.py +94 -40
  18. pulumiverse_scaleway/key_manager_key.py +134 -25
  19. pulumiverse_scaleway/kubernetes/cluster.py +54 -0
  20. pulumiverse_scaleway/kubernetes_cluster.py +54 -0
  21. pulumiverse_scaleway/loadbalancers/_inputs.py +13 -13
  22. pulumiverse_scaleway/loadbalancers/outputs.py +9 -9
  23. pulumiverse_scaleway/outputs.py +80 -97
  24. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  25. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.35.0a1761072454.dist-info}/METADATA +1 -1
  26. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.35.0a1761072454.dist-info}/RECORD +28 -28
  27. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.35.0a1761072454.dist-info}/WHEEL +0 -0
  28. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.35.0a1761072454.dist-info}/top_level.txt +0 -0
@@ -21,6 +21,7 @@ __all__ = ['KeyManagerKeyArgs', 'KeyManagerKey']
21
21
  @pulumi.input_type
22
22
  class KeyManagerKeyArgs:
23
23
  def __init__(__self__, *,
24
+ algorithm: pulumi.Input[_builtins.str],
24
25
  usage: pulumi.Input[_builtins.str],
25
26
  description: Optional[pulumi.Input[_builtins.str]] = None,
26
27
  name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -32,16 +33,21 @@ class KeyManagerKeyArgs:
32
33
  unprotected: Optional[pulumi.Input[_builtins.bool]] = None):
33
34
  """
34
35
  The set of arguments for constructing a KeyManagerKey resource.
35
- :param pulumi.Input[_builtins.str] usage: – The usage of the key. Valid values are:
36
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
37
+ - For `symmetric_encryption`:
38
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
36
39
  :param pulumi.Input[_builtins.str] description: – A description for the key.
37
40
  :param pulumi.Input[_builtins.str] name: The name of the key.
38
41
  :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
39
42
  :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
43
+
44
+ **Key Usage and Algorithm (both required):**
40
45
  :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
41
46
  :param pulumi.Input['KeyManagerKeyRotationPolicyArgs'] rotation_policy: – Rotation policy for the key:
42
47
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
43
48
  :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
44
49
  """
50
+ pulumi.set(__self__, "algorithm", algorithm)
45
51
  pulumi.set(__self__, "usage", usage)
46
52
  if description is not None:
47
53
  pulumi.set(__self__, "description", description)
@@ -60,11 +66,24 @@ class KeyManagerKeyArgs:
60
66
  if unprotected is not None:
61
67
  pulumi.set(__self__, "unprotected", unprotected)
62
68
 
69
+ @_builtins.property
70
+ @pulumi.getter
71
+ def algorithm(self) -> pulumi.Input[_builtins.str]:
72
+ """
73
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
74
+ - For `symmetric_encryption`:
75
+ """
76
+ return pulumi.get(self, "algorithm")
77
+
78
+ @algorithm.setter
79
+ def algorithm(self, value: pulumi.Input[_builtins.str]):
80
+ pulumi.set(self, "algorithm", value)
81
+
63
82
  @_builtins.property
64
83
  @pulumi.getter
65
84
  def usage(self) -> pulumi.Input[_builtins.str]:
66
85
  """
67
- – The usage of the key. Valid values are:
86
+ – The usage type of the key. Valid values:
68
87
  """
69
88
  return pulumi.get(self, "usage")
70
89
 
@@ -113,6 +132,8 @@ class KeyManagerKeyArgs:
113
132
  def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
114
133
  """
115
134
  – The ID of the project the key belongs to.
135
+
136
+ **Key Usage and Algorithm (both required):**
116
137
  """
117
138
  return pulumi.get(self, "project_id")
118
139
 
@@ -172,6 +193,7 @@ class KeyManagerKeyArgs:
172
193
  @pulumi.input_type
173
194
  class _KeyManagerKeyState:
174
195
  def __init__(__self__, *,
196
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
175
197
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
176
198
  description: Optional[pulumi.Input[_builtins.str]] = None,
177
199
  locked: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -190,12 +212,16 @@ class _KeyManagerKeyState:
190
212
  usage: Optional[pulumi.Input[_builtins.str]] = None):
191
213
  """
192
214
  Input properties used for looking up and filtering KeyManagerKey resources.
215
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
216
+ - For `symmetric_encryption`:
193
217
  :param pulumi.Input[_builtins.str] created_at: The date and time when the key was created.
194
218
  :param pulumi.Input[_builtins.str] description: – A description for the key.
195
219
  :param pulumi.Input[_builtins.bool] locked: Whether the key is locked.
196
220
  :param pulumi.Input[_builtins.str] name: The name of the key.
197
221
  :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
198
222
  :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
223
+
224
+ **Key Usage and Algorithm (both required):**
199
225
  :param pulumi.Input[_builtins.bool] protected: Whether the key is protected from deletion.
200
226
  :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
201
227
  :param pulumi.Input[_builtins.str] rotated_at: The date and time when the key was last rotated.
@@ -205,8 +231,10 @@ class _KeyManagerKeyState:
205
231
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
206
232
  :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
207
233
  :param pulumi.Input[_builtins.str] updated_at: The date and time when the key was last updated.
208
- :param pulumi.Input[_builtins.str] usage: – The usage of the key. Valid values are:
234
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
209
235
  """
236
+ if algorithm is not None:
237
+ pulumi.set(__self__, "algorithm", algorithm)
210
238
  if created_at is not None:
211
239
  pulumi.set(__self__, "created_at", created_at)
212
240
  if description is not None:
@@ -240,6 +268,19 @@ class _KeyManagerKeyState:
240
268
  if usage is not None:
241
269
  pulumi.set(__self__, "usage", usage)
242
270
 
271
+ @_builtins.property
272
+ @pulumi.getter
273
+ def algorithm(self) -> Optional[pulumi.Input[_builtins.str]]:
274
+ """
275
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
276
+ - For `symmetric_encryption`:
277
+ """
278
+ return pulumi.get(self, "algorithm")
279
+
280
+ @algorithm.setter
281
+ def algorithm(self, value: Optional[pulumi.Input[_builtins.str]]):
282
+ pulumi.set(self, "algorithm", value)
283
+
243
284
  @_builtins.property
244
285
  @pulumi.getter(name="createdAt")
245
286
  def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -305,6 +346,8 @@ class _KeyManagerKeyState:
305
346
  def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
306
347
  """
307
348
  – The ID of the project the key belongs to.
349
+
350
+ **Key Usage and Algorithm (both required):**
308
351
  """
309
352
  return pulumi.get(self, "project_id")
310
353
 
@@ -424,7 +467,7 @@ class _KeyManagerKeyState:
424
467
  @pulumi.getter
425
468
  def usage(self) -> Optional[pulumi.Input[_builtins.str]]:
426
469
  """
427
- – The usage of the key. Valid values are:
470
+ – The usage type of the key. Valid values:
428
471
  """
429
472
  return pulumi.get(self, "usage")
430
473
 
@@ -439,6 +482,7 @@ class KeyManagerKey(pulumi.CustomResource):
439
482
  def __init__(__self__,
440
483
  resource_name: str,
441
484
  opts: Optional[pulumi.ResourceOptions] = None,
485
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
442
486
  description: Optional[pulumi.Input[_builtins.str]] = None,
443
487
  name: Optional[pulumi.Input[_builtins.str]] = None,
444
488
  origin: Optional[pulumi.Input[_builtins.str]] = None,
@@ -455,15 +499,18 @@ class KeyManagerKey(pulumi.CustomResource):
455
499
 
456
500
  ## Example Usage
457
501
 
502
+ ### Symmetric Encryption Key
503
+
458
504
  ```python
459
505
  import pulumi
460
506
  import pulumiverse_scaleway as scaleway
461
507
 
462
- main = scaleway.KeyManagerKey("main",
508
+ symmetric = scaleway.KeyManagerKey("symmetric",
463
509
  name="my-kms-key",
464
510
  region="fr-par",
465
511
  project_id="your-project-id",
466
512
  usage="symmetric_encryption",
513
+ algorithm="aes_256_gcm",
467
514
  description="Key for encrypting secrets",
468
515
  tags=[
469
516
  "env:prod",
@@ -475,27 +522,44 @@ class KeyManagerKey(pulumi.CustomResource):
475
522
  })
476
523
  ```
477
524
 
478
- ## Notes
525
+ ### Asymmetric Encryption Key with RSA-4096
479
526
 
480
- - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
481
- - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
482
- - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
483
- - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
527
+ ```python
528
+ import pulumi
529
+ import pulumiverse_scaleway as scaleway
484
530
 
485
- ## Example: Asymmetric Key
531
+ rsa4096 = scaleway.KeyManagerKey("rsa_4096",
532
+ name="rsa-4096-key",
533
+ region="fr-par",
534
+ usage="asymmetric_encryption",
535
+ algorithm="rsa_oaep_4096_sha256",
536
+ description="Key for encrypting large files with RSA-4096",
537
+ unprotected=True)
538
+ ```
539
+
540
+ ### Asymmetric Signing Key
486
541
 
487
542
  ```python
488
543
  import pulumi
489
544
  import pulumiverse_scaleway as scaleway
490
545
 
491
- asym = scaleway.KeyManagerKey("asym",
492
- name="asymmetric-key",
546
+ signing = scaleway.KeyManagerKey("signing",
547
+ name="signing-key",
493
548
  region="fr-par",
494
549
  usage="asymmetric_signing",
550
+ algorithm="rsa_pss_2048_sha256",
495
551
  description="Key for signing documents",
496
552
  unprotected=True)
497
553
  ```
498
554
 
555
+ ## Notes
556
+
557
+ - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
558
+ - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
559
+ - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
560
+ - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
561
+ - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
562
+
499
563
  ## Import
500
564
 
501
565
  You can import a key using its ID and region:
@@ -506,15 +570,19 @@ class KeyManagerKey(pulumi.CustomResource):
506
570
 
507
571
  :param str resource_name: The name of the resource.
508
572
  :param pulumi.ResourceOptions opts: Options for the resource.
573
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
574
+ - For `symmetric_encryption`:
509
575
  :param pulumi.Input[_builtins.str] description: – A description for the key.
510
576
  :param pulumi.Input[_builtins.str] name: The name of the key.
511
577
  :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
512
578
  :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
579
+
580
+ **Key Usage and Algorithm (both required):**
513
581
  :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
514
582
  :param pulumi.Input[Union['KeyManagerKeyRotationPolicyArgs', 'KeyManagerKeyRotationPolicyArgsDict']] rotation_policy: – Rotation policy for the key:
515
583
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
516
584
  :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
517
- :param pulumi.Input[_builtins.str] usage: – The usage of the key. Valid values are:
585
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
518
586
  """
519
587
  ...
520
588
  @overload
@@ -528,15 +596,18 @@ class KeyManagerKey(pulumi.CustomResource):
528
596
 
529
597
  ## Example Usage
530
598
 
599
+ ### Symmetric Encryption Key
600
+
531
601
  ```python
532
602
  import pulumi
533
603
  import pulumiverse_scaleway as scaleway
534
604
 
535
- main = scaleway.KeyManagerKey("main",
605
+ symmetric = scaleway.KeyManagerKey("symmetric",
536
606
  name="my-kms-key",
537
607
  region="fr-par",
538
608
  project_id="your-project-id",
539
609
  usage="symmetric_encryption",
610
+ algorithm="aes_256_gcm",
540
611
  description="Key for encrypting secrets",
541
612
  tags=[
542
613
  "env:prod",
@@ -548,27 +619,44 @@ class KeyManagerKey(pulumi.CustomResource):
548
619
  })
549
620
  ```
550
621
 
551
- ## Notes
622
+ ### Asymmetric Encryption Key with RSA-4096
552
623
 
553
- - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
554
- - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
555
- - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
556
- - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
624
+ ```python
625
+ import pulumi
626
+ import pulumiverse_scaleway as scaleway
627
+
628
+ rsa4096 = scaleway.KeyManagerKey("rsa_4096",
629
+ name="rsa-4096-key",
630
+ region="fr-par",
631
+ usage="asymmetric_encryption",
632
+ algorithm="rsa_oaep_4096_sha256",
633
+ description="Key for encrypting large files with RSA-4096",
634
+ unprotected=True)
635
+ ```
557
636
 
558
- ## Example: Asymmetric Key
637
+ ### Asymmetric Signing Key
559
638
 
560
639
  ```python
561
640
  import pulumi
562
641
  import pulumiverse_scaleway as scaleway
563
642
 
564
- asym = scaleway.KeyManagerKey("asym",
565
- name="asymmetric-key",
643
+ signing = scaleway.KeyManagerKey("signing",
644
+ name="signing-key",
566
645
  region="fr-par",
567
646
  usage="asymmetric_signing",
647
+ algorithm="rsa_pss_2048_sha256",
568
648
  description="Key for signing documents",
569
649
  unprotected=True)
570
650
  ```
571
651
 
652
+ ## Notes
653
+
654
+ - **Protection**: By default, keys are protected and cannot be deleted. To allow deletion, set `unprotected = true` when creating the key.
655
+ - **Rotation Policy**: The `rotation_policy` block allows you to set automatic rotation for your key.
656
+ - **Origin**: The `origin` argument is optional and defaults to `scaleway_kms`. Use `external` if you want to import an external key (see Scaleway documentation for details).
657
+ - **Project and Region**: If not specified, `project_id` and `region` will default to the provider configuration.
658
+ - **Algorithm Validation**: The provider validates that the specified `algorithm` is compatible with the `usage` type at plan time, providing early feedback on configuration errors.
659
+
572
660
  ## Import
573
661
 
574
662
  You can import a key using its ID and region:
@@ -592,6 +680,7 @@ class KeyManagerKey(pulumi.CustomResource):
592
680
  def _internal_init(__self__,
593
681
  resource_name: str,
594
682
  opts: Optional[pulumi.ResourceOptions] = None,
683
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
595
684
  description: Optional[pulumi.Input[_builtins.str]] = None,
596
685
  name: Optional[pulumi.Input[_builtins.str]] = None,
597
686
  origin: Optional[pulumi.Input[_builtins.str]] = None,
@@ -610,6 +699,9 @@ class KeyManagerKey(pulumi.CustomResource):
610
699
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
611
700
  __props__ = KeyManagerKeyArgs.__new__(KeyManagerKeyArgs)
612
701
 
702
+ if algorithm is None and not opts.urn:
703
+ raise TypeError("Missing required property 'algorithm'")
704
+ __props__.__dict__["algorithm"] = algorithm
613
705
  __props__.__dict__["description"] = description
614
706
  __props__.__dict__["name"] = name
615
707
  __props__.__dict__["origin"] = origin
@@ -638,6 +730,7 @@ class KeyManagerKey(pulumi.CustomResource):
638
730
  def get(resource_name: str,
639
731
  id: pulumi.Input[str],
640
732
  opts: Optional[pulumi.ResourceOptions] = None,
733
+ algorithm: Optional[pulumi.Input[_builtins.str]] = None,
641
734
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
642
735
  description: Optional[pulumi.Input[_builtins.str]] = None,
643
736
  locked: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -661,12 +754,16 @@ class KeyManagerKey(pulumi.CustomResource):
661
754
  :param str resource_name: The unique name of the resulting resource.
662
755
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
663
756
  :param pulumi.ResourceOptions opts: Options for the resource.
757
+ :param pulumi.Input[_builtins.str] algorithm: – The cryptographic algorithm to use. Valid values depend on the `usage`:
758
+ - For `symmetric_encryption`:
664
759
  :param pulumi.Input[_builtins.str] created_at: The date and time when the key was created.
665
760
  :param pulumi.Input[_builtins.str] description: – A description for the key.
666
761
  :param pulumi.Input[_builtins.bool] locked: Whether the key is locked.
667
762
  :param pulumi.Input[_builtins.str] name: The name of the key.
668
763
  :param pulumi.Input[_builtins.str] origin: – The origin of the key. Valid values are:
669
764
  :param pulumi.Input[_builtins.str] project_id: – The ID of the project the key belongs to.
765
+
766
+ **Key Usage and Algorithm (both required):**
670
767
  :param pulumi.Input[_builtins.bool] protected: Whether the key is protected from deletion.
671
768
  :param pulumi.Input[_builtins.str] region: The region in which to create the key (e.g., `fr-par`).
672
769
  :param pulumi.Input[_builtins.str] rotated_at: The date and time when the key was last rotated.
@@ -676,12 +773,13 @@ class KeyManagerKey(pulumi.CustomResource):
676
773
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: – A list of tags to assign to the key.
677
774
  :param pulumi.Input[_builtins.bool] unprotected: – If `true`, the key can be deleted. Defaults to `false` (protected).
678
775
  :param pulumi.Input[_builtins.str] updated_at: The date and time when the key was last updated.
679
- :param pulumi.Input[_builtins.str] usage: – The usage of the key. Valid values are:
776
+ :param pulumi.Input[_builtins.str] usage: – The usage type of the key. Valid values:
680
777
  """
681
778
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
682
779
 
683
780
  __props__ = _KeyManagerKeyState.__new__(_KeyManagerKeyState)
684
781
 
782
+ __props__.__dict__["algorithm"] = algorithm
685
783
  __props__.__dict__["created_at"] = created_at
686
784
  __props__.__dict__["description"] = description
687
785
  __props__.__dict__["locked"] = locked
@@ -700,6 +798,15 @@ class KeyManagerKey(pulumi.CustomResource):
700
798
  __props__.__dict__["usage"] = usage
701
799
  return KeyManagerKey(resource_name, opts=opts, __props__=__props__)
702
800
 
801
+ @_builtins.property
802
+ @pulumi.getter
803
+ def algorithm(self) -> pulumi.Output[_builtins.str]:
804
+ """
805
+ – The cryptographic algorithm to use. Valid values depend on the `usage`:
806
+ - For `symmetric_encryption`:
807
+ """
808
+ return pulumi.get(self, "algorithm")
809
+
703
810
  @_builtins.property
704
811
  @pulumi.getter(name="createdAt")
705
812
  def created_at(self) -> pulumi.Output[_builtins.str]:
@@ -745,6 +852,8 @@ class KeyManagerKey(pulumi.CustomResource):
745
852
  def project_id(self) -> pulumi.Output[_builtins.str]:
746
853
  """
747
854
  – The ID of the project the key belongs to.
855
+
856
+ **Key Usage and Algorithm (both required):**
748
857
  """
749
858
  return pulumi.get(self, "project_id")
750
859
 
@@ -824,7 +933,7 @@ class KeyManagerKey(pulumi.CustomResource):
824
933
  @pulumi.getter
825
934
  def usage(self) -> pulumi.Output[_builtins.str]:
826
935
  """
827
- – The usage of the key. Valid values are:
936
+ – The usage type of the key. Valid values:
828
937
  """
829
938
  return pulumi.get(self, "usage")
830
939
 
@@ -920,6 +920,33 @@ class Cluster(pulumi.CustomResource):
920
920
  ])
921
921
  ```
922
922
 
923
+ ## Deprecation of default_pool
924
+
925
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
926
+
927
+ Before:
928
+
929
+ After:
930
+
931
+ ```python
932
+ import pulumi
933
+ import pulumiverse_scaleway as scaleway
934
+
935
+ cluster = scaleway.kubernetes.Cluster("cluster",
936
+ name="tf-cluster",
937
+ version="1.18.0",
938
+ cni="cilium")
939
+ default = scaleway.kubernetes.Pool("default",
940
+ cluster_id=jack["id"],
941
+ name="default",
942
+ node_type="DEV1-M",
943
+ size=1)
944
+ ```
945
+
946
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
947
+
948
+ Then you will only need to type `pulumi up` to have a smooth migration.
949
+
923
950
  ## Import
924
951
 
925
952
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -1139,6 +1166,33 @@ class Cluster(pulumi.CustomResource):
1139
1166
  ])
1140
1167
  ```
1141
1168
 
1169
+ ## Deprecation of default_pool
1170
+
1171
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
1172
+
1173
+ Before:
1174
+
1175
+ After:
1176
+
1177
+ ```python
1178
+ import pulumi
1179
+ import pulumiverse_scaleway as scaleway
1180
+
1181
+ cluster = scaleway.kubernetes.Cluster("cluster",
1182
+ name="tf-cluster",
1183
+ version="1.18.0",
1184
+ cni="cilium")
1185
+ default = scaleway.kubernetes.Pool("default",
1186
+ cluster_id=jack["id"],
1187
+ name="default",
1188
+ node_type="DEV1-M",
1189
+ size=1)
1190
+ ```
1191
+
1192
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
1193
+
1194
+ Then you will only need to type `pulumi up` to have a smooth migration.
1195
+
1142
1196
  ## Import
1143
1197
 
1144
1198
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -925,6 +925,33 @@ class KubernetesCluster(pulumi.CustomResource):
925
925
  ])
926
926
  ```
927
927
 
928
+ ## Deprecation of default_pool
929
+
930
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
931
+
932
+ Before:
933
+
934
+ After:
935
+
936
+ ```python
937
+ import pulumi
938
+ import pulumiverse_scaleway as scaleway
939
+
940
+ cluster = scaleway.kubernetes.Cluster("cluster",
941
+ name="tf-cluster",
942
+ version="1.18.0",
943
+ cni="cilium")
944
+ default = scaleway.kubernetes.Pool("default",
945
+ cluster_id=jack["id"],
946
+ name="default",
947
+ node_type="DEV1-M",
948
+ size=1)
949
+ ```
950
+
951
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
952
+
953
+ Then you will only need to type `pulumi up` to have a smooth migration.
954
+
928
955
  ## Import
929
956
 
930
957
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -1144,6 +1171,33 @@ class KubernetesCluster(pulumi.CustomResource):
1144
1171
  ])
1145
1172
  ```
1146
1173
 
1174
+ ## Deprecation of default_pool
1175
+
1176
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
1177
+
1178
+ Before:
1179
+
1180
+ After:
1181
+
1182
+ ```python
1183
+ import pulumi
1184
+ import pulumiverse_scaleway as scaleway
1185
+
1186
+ cluster = scaleway.kubernetes.Cluster("cluster",
1187
+ name="tf-cluster",
1188
+ version="1.18.0",
1189
+ cni="cilium")
1190
+ default = scaleway.kubernetes.Pool("default",
1191
+ cluster_id=jack["id"],
1192
+ name="default",
1193
+ node_type="DEV1-M",
1194
+ size=1)
1195
+ ```
1196
+
1197
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
1198
+
1199
+ Then you will only need to type `pulumi up` to have a smooth migration.
1200
+
1147
1201
  ## Import
1148
1202
 
1149
1203
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -1068,7 +1068,7 @@ if not MYPY:
1068
1068
  """
1069
1069
  IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
1070
1070
  """
1071
- static_config: NotRequired[pulumi.Input[_builtins.str]]
1071
+ static_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1072
1072
  """
1073
1073
  Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
1074
1074
  """
@@ -1089,7 +1089,7 @@ class LoadBalancerPrivateNetworkArgs:
1089
1089
  private_network_id: pulumi.Input[_builtins.str],
1090
1090
  dhcp_config: Optional[pulumi.Input[_builtins.bool]] = None,
1091
1091
  ipam_ids: Optional[pulumi.Input[_builtins.str]] = None,
1092
- static_config: Optional[pulumi.Input[_builtins.str]] = None,
1092
+ static_configs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1093
1093
  status: Optional[pulumi.Input[_builtins.str]] = None,
1094
1094
  zone: Optional[pulumi.Input[_builtins.str]] = None):
1095
1095
  """
@@ -1097,7 +1097,7 @@ class LoadBalancerPrivateNetworkArgs:
1097
1097
  - > **Important:** Updates to `private_network` will recreate the attachment.
1098
1098
  :param pulumi.Input[_builtins.bool] dhcp_config: Set to true if you want to let DHCP assign IP addresses
1099
1099
  :param pulumi.Input[_builtins.str] ipam_ids: IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
1100
- :param pulumi.Input[_builtins.str] static_config: Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
1100
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_configs: Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
1101
1101
  :param pulumi.Input[_builtins.str] status: The status of the private network connection.
1102
1102
  :param pulumi.Input[_builtins.str] zone: `zone`) The zone of the Load Balancer.
1103
1103
  """
@@ -1109,11 +1109,11 @@ class LoadBalancerPrivateNetworkArgs:
1109
1109
  pulumi.set(__self__, "dhcp_config", dhcp_config)
1110
1110
  if ipam_ids is not None:
1111
1111
  pulumi.set(__self__, "ipam_ids", ipam_ids)
1112
- if static_config is not None:
1112
+ if static_configs is not None:
1113
1113
  warnings.warn("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""", DeprecationWarning)
1114
- pulumi.log.warn("""static_config is deprecated: static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""")
1115
- if static_config is not None:
1116
- pulumi.set(__self__, "static_config", static_config)
1114
+ pulumi.log.warn("""static_configs is deprecated: static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""")
1115
+ if static_configs is not None:
1116
+ pulumi.set(__self__, "static_configs", static_configs)
1117
1117
  if status is not None:
1118
1118
  pulumi.set(__self__, "status", status)
1119
1119
  if zone is not None:
@@ -1158,17 +1158,17 @@ class LoadBalancerPrivateNetworkArgs:
1158
1158
  pulumi.set(self, "ipam_ids", value)
1159
1159
 
1160
1160
  @_builtins.property
1161
- @pulumi.getter(name="staticConfig")
1161
+ @pulumi.getter(name="staticConfigs")
1162
1162
  @_utilities.deprecated("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""")
1163
- def static_config(self) -> Optional[pulumi.Input[_builtins.str]]:
1163
+ def static_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1164
1164
  """
1165
1165
  Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
1166
1166
  """
1167
- return pulumi.get(self, "static_config")
1167
+ return pulumi.get(self, "static_configs")
1168
1168
 
1169
- @static_config.setter
1170
- def static_config(self, value: Optional[pulumi.Input[_builtins.str]]):
1171
- pulumi.set(self, "static_config", value)
1169
+ @static_configs.setter
1170
+ def static_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1171
+ pulumi.set(self, "static_configs", value)
1172
1172
 
1173
1173
  @_builtins.property
1174
1174
  @pulumi.getter
@@ -803,8 +803,8 @@ class LoadBalancerPrivateNetwork(dict):
803
803
  suggest = "dhcp_config"
804
804
  elif key == "ipamIds":
805
805
  suggest = "ipam_ids"
806
- elif key == "staticConfig":
807
- suggest = "static_config"
806
+ elif key == "staticConfigs":
807
+ suggest = "static_configs"
808
808
 
809
809
  if suggest:
810
810
  pulumi.log.warn(f"Key '{key}' not found in LoadBalancerPrivateNetwork. Access the value via the '{suggest}' property getter instead.")
@@ -821,7 +821,7 @@ class LoadBalancerPrivateNetwork(dict):
821
821
  private_network_id: _builtins.str,
822
822
  dhcp_config: Optional[_builtins.bool] = None,
823
823
  ipam_ids: Optional[_builtins.str] = None,
824
- static_config: Optional[_builtins.str] = None,
824
+ static_configs: Optional[Sequence[_builtins.str]] = None,
825
825
  status: Optional[_builtins.str] = None,
826
826
  zone: Optional[_builtins.str] = None):
827
827
  """
@@ -829,7 +829,7 @@ class LoadBalancerPrivateNetwork(dict):
829
829
  - > **Important:** Updates to `private_network` will recreate the attachment.
830
830
  :param _builtins.bool dhcp_config: Set to true if you want to let DHCP assign IP addresses
831
831
  :param _builtins.str ipam_ids: IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
832
- :param _builtins.str static_config: Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
832
+ :param Sequence[_builtins.str] static_configs: Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
833
833
  :param _builtins.str status: The status of the private network connection.
834
834
  :param _builtins.str zone: `zone`) The zone of the Load Balancer.
835
835
  """
@@ -838,8 +838,8 @@ class LoadBalancerPrivateNetwork(dict):
838
838
  pulumi.set(__self__, "dhcp_config", dhcp_config)
839
839
  if ipam_ids is not None:
840
840
  pulumi.set(__self__, "ipam_ids", ipam_ids)
841
- if static_config is not None:
842
- pulumi.set(__self__, "static_config", static_config)
841
+ if static_configs is not None:
842
+ pulumi.set(__self__, "static_configs", static_configs)
843
843
  if status is not None:
844
844
  pulumi.set(__self__, "status", status)
845
845
  if zone is not None:
@@ -872,13 +872,13 @@ class LoadBalancerPrivateNetwork(dict):
872
872
  return pulumi.get(self, "ipam_ids")
873
873
 
874
874
  @_builtins.property
875
- @pulumi.getter(name="staticConfig")
875
+ @pulumi.getter(name="staticConfigs")
876
876
  @_utilities.deprecated("""static_config field is deprecated, please use `private_network_id` or `ipam_ids` instead""")
877
- def static_config(self) -> Optional[_builtins.str]:
877
+ def static_configs(self) -> Optional[Sequence[_builtins.str]]:
878
878
  """
879
879
  Define an IP address in the subnet of your private network that will be assigned to your load balancer instance
880
880
  """
881
- return pulumi.get(self, "static_config")
881
+ return pulumi.get(self, "static_configs")
882
882
 
883
883
  @_builtins.property
884
884
  @pulumi.getter