pulumiverse-scaleway 1.27.1__py3-none-any.whl → 1.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. pulumiverse_scaleway/__init__.py +16 -0
  2. pulumiverse_scaleway/_inputs.py +498 -6
  3. pulumiverse_scaleway/baremetal_server.py +48 -258
  4. pulumiverse_scaleway/database_instance.py +42 -21
  5. pulumiverse_scaleway/databases/_inputs.py +54 -0
  6. pulumiverse_scaleway/databases/get_instance.py +12 -1
  7. pulumiverse_scaleway/databases/instance.py +42 -21
  8. pulumiverse_scaleway/databases/outputs.py +62 -0
  9. pulumiverse_scaleway/databases/snapshot.py +2 -2
  10. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  11. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  12. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  13. pulumiverse_scaleway/elasticmetal/server.py +48 -258
  14. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  15. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  16. pulumiverse_scaleway/get_database_instance.py +12 -1
  17. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  18. pulumiverse_scaleway/get_instance_server.py +12 -1
  19. pulumiverse_scaleway/get_lb_route.py +12 -1
  20. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  21. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  22. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  23. pulumiverse_scaleway/inference/__init__.py +2 -0
  24. pulumiverse_scaleway/inference/_inputs.py +128 -0
  25. pulumiverse_scaleway/inference/deployment.py +70 -55
  26. pulumiverse_scaleway/inference/get_model.py +299 -0
  27. pulumiverse_scaleway/inference/model.py +683 -0
  28. pulumiverse_scaleway/inference/outputs.py +184 -0
  29. pulumiverse_scaleway/inference_deployment.py +70 -55
  30. pulumiverse_scaleway/instance/_inputs.py +108 -0
  31. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  32. pulumiverse_scaleway/instance/get_server.py +12 -1
  33. pulumiverse_scaleway/instance/outputs.py +124 -0
  34. pulumiverse_scaleway/instance/private_nic.py +30 -0
  35. pulumiverse_scaleway/instance/server.py +28 -0
  36. pulumiverse_scaleway/instance_private_nic.py +30 -0
  37. pulumiverse_scaleway/instance_server.py +28 -0
  38. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  39. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  40. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  41. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  42. pulumiverse_scaleway/loadbalancer.py +28 -0
  43. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  44. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  45. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  46. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  47. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  48. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  49. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  50. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  51. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  52. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  53. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  54. pulumiverse_scaleway/network/_inputs.py +54 -0
  55. pulumiverse_scaleway/network/gateway_network.py +28 -0
  56. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  57. pulumiverse_scaleway/network/outputs.py +62 -0
  58. pulumiverse_scaleway/network/route.py +90 -2
  59. pulumiverse_scaleway/observability/get_plan.py +2 -38
  60. pulumiverse_scaleway/outputs.py +574 -5
  61. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  62. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  63. pulumiverse_scaleway/redis/_inputs.py +60 -6
  64. pulumiverse_scaleway/redis/cluster.py +28 -0
  65. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  66. pulumiverse_scaleway/redis/outputs.py +66 -4
  67. pulumiverse_scaleway/redis_cluster.py +28 -0
  68. pulumiverse_scaleway/vpc_gateway_network.py +28 -0
  69. pulumiverse_scaleway/vpc_route.py +90 -2
  70. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/METADATA +1 -1
  71. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/RECORD +73 -70
  72. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/WHEEL +1 -1
  73. {pulumiverse_scaleway-1.27.1.dist-info → pulumiverse_scaleway-1.28.0.dist-info}/top_level.txt +0 -0
@@ -5,6 +5,7 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .acl import *
8
9
  from .cluster import *
9
10
  from .get_cluster import *
10
11
  from .get_pool import *
@@ -15,6 +15,8 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'AclAclRuleArgs',
19
+ 'AclAclRuleArgsDict',
18
20
  'ClusterAutoUpgradeArgs',
19
21
  'ClusterAutoUpgradeArgsDict',
20
22
  'ClusterAutoscalerConfigArgs',
@@ -25,12 +27,121 @@ __all__ = [
25
27
  'ClusterOpenIdConnectConfigArgsDict',
26
28
  'PoolNodeArgs',
27
29
  'PoolNodeArgsDict',
30
+ 'PoolNodePrivateIpArgs',
31
+ 'PoolNodePrivateIpArgsDict',
28
32
  'PoolUpgradePolicyArgs',
29
33
  'PoolUpgradePolicyArgsDict',
30
34
  ]
31
35
 
32
36
  MYPY = False
33
37
 
38
+ if not MYPY:
39
+ class AclAclRuleArgsDict(TypedDict):
40
+ description: NotRequired[pulumi.Input[str]]
41
+ """
42
+ A text describing this rule.
43
+ """
44
+ id: NotRequired[pulumi.Input[str]]
45
+ """
46
+ The ID of the ACL resource. It is the same as the ID of the cluster.
47
+ """
48
+ ip: NotRequired[pulumi.Input[str]]
49
+ """
50
+ The IP range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
51
+
52
+ > **Important:** If the `ip` field is set, `scaleway_ranges` cannot be set to true in the same rule.
53
+ """
54
+ scaleway_ranges: NotRequired[pulumi.Input[bool]]
55
+ """
56
+ Allow access to cluster from all Scaleway ranges as defined in [Scaleway Network Information - IP ranges used by Scaleway](https://www.scaleway.com/en/docs/console/account/reference-content/scaleway-network-information/#ip-ranges-used-by-scaleway).
57
+ Only one rule with this field set to true can be added.
58
+
59
+ > **Important:** If the `scaleway_ranges` field is set to true, the `ip` field cannot be set on the same rule.
60
+ """
61
+ elif False:
62
+ AclAclRuleArgsDict: TypeAlias = Mapping[str, Any]
63
+
64
+ @pulumi.input_type
65
+ class AclAclRuleArgs:
66
+ def __init__(__self__, *,
67
+ description: Optional[pulumi.Input[str]] = None,
68
+ id: Optional[pulumi.Input[str]] = None,
69
+ ip: Optional[pulumi.Input[str]] = None,
70
+ scaleway_ranges: Optional[pulumi.Input[bool]] = None):
71
+ """
72
+ :param pulumi.Input[str] description: A text describing this rule.
73
+ :param pulumi.Input[str] id: The ID of the ACL resource. It is the same as the ID of the cluster.
74
+ :param pulumi.Input[str] ip: The IP range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
75
+
76
+ > **Important:** If the `ip` field is set, `scaleway_ranges` cannot be set to true in the same rule.
77
+ :param pulumi.Input[bool] scaleway_ranges: Allow access to cluster from all Scaleway ranges as defined in [Scaleway Network Information - IP ranges used by Scaleway](https://www.scaleway.com/en/docs/console/account/reference-content/scaleway-network-information/#ip-ranges-used-by-scaleway).
78
+ Only one rule with this field set to true can be added.
79
+
80
+ > **Important:** If the `scaleway_ranges` field is set to true, the `ip` field cannot be set on the same rule.
81
+ """
82
+ if description is not None:
83
+ pulumi.set(__self__, "description", description)
84
+ if id is not None:
85
+ pulumi.set(__self__, "id", id)
86
+ if ip is not None:
87
+ pulumi.set(__self__, "ip", ip)
88
+ if scaleway_ranges is not None:
89
+ pulumi.set(__self__, "scaleway_ranges", scaleway_ranges)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def description(self) -> Optional[pulumi.Input[str]]:
94
+ """
95
+ A text describing this rule.
96
+ """
97
+ return pulumi.get(self, "description")
98
+
99
+ @description.setter
100
+ def description(self, value: Optional[pulumi.Input[str]]):
101
+ pulumi.set(self, "description", value)
102
+
103
+ @property
104
+ @pulumi.getter
105
+ def id(self) -> Optional[pulumi.Input[str]]:
106
+ """
107
+ The ID of the ACL resource. It is the same as the ID of the cluster.
108
+ """
109
+ return pulumi.get(self, "id")
110
+
111
+ @id.setter
112
+ def id(self, value: Optional[pulumi.Input[str]]):
113
+ pulumi.set(self, "id", value)
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def ip(self) -> Optional[pulumi.Input[str]]:
118
+ """
119
+ The IP range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
120
+
121
+ > **Important:** If the `ip` field is set, `scaleway_ranges` cannot be set to true in the same rule.
122
+ """
123
+ return pulumi.get(self, "ip")
124
+
125
+ @ip.setter
126
+ def ip(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "ip", value)
128
+
129
+ @property
130
+ @pulumi.getter(name="scalewayRanges")
131
+ def scaleway_ranges(self) -> Optional[pulumi.Input[bool]]:
132
+ """
133
+ Allow access to cluster from all Scaleway ranges as defined in [Scaleway Network Information - IP ranges used by Scaleway](https://www.scaleway.com/en/docs/console/account/reference-content/scaleway-network-information/#ip-ranges-used-by-scaleway).
134
+ Only one rule with this field set to true can be added.
135
+
136
+ > **Important:** If the `scaleway_ranges` field is set to true, the `ip` field cannot be set on the same rule.
137
+ """
138
+ return pulumi.get(self, "scaleway_ranges")
139
+
140
+ @scaleway_ranges.setter
141
+ def scaleway_ranges(self, value: Optional[pulumi.Input[bool]]):
142
+ pulumi.set(self, "scaleway_ranges", value)
143
+
144
+
34
145
  if not MYPY:
35
146
  class ClusterAutoUpgradeArgsDict(TypedDict):
36
147
  enable: pulumi.Input[bool]
@@ -559,12 +670,20 @@ class ClusterOpenIdConnectConfigArgs:
559
670
 
560
671
  if not MYPY:
561
672
  class PoolNodeArgsDict(TypedDict):
673
+ id: NotRequired[pulumi.Input[str]]
674
+ """
675
+ The ID of the IP address resource.
676
+ """
562
677
  name: NotRequired[pulumi.Input[str]]
563
678
  """
564
679
  The name for the pool.
565
680
 
566
681
  > **Important:** Updates to this field will recreate a new resource.
567
682
  """
683
+ private_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input['PoolNodePrivateIpArgsDict']]]]
684
+ """
685
+ The list of private IPv4 and IPv6 addresses associated with the node.
686
+ """
568
687
  public_ip: NotRequired[pulumi.Input[str]]
569
688
  """
570
689
  The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source)
@@ -583,20 +702,28 @@ elif False:
583
702
  @pulumi.input_type
584
703
  class PoolNodeArgs:
585
704
  def __init__(__self__, *,
705
+ id: Optional[pulumi.Input[str]] = None,
586
706
  name: Optional[pulumi.Input[str]] = None,
707
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['PoolNodePrivateIpArgs']]]] = None,
587
708
  public_ip: Optional[pulumi.Input[str]] = None,
588
709
  public_ip_v6: Optional[pulumi.Input[str]] = None,
589
710
  status: Optional[pulumi.Input[str]] = None):
590
711
  """
712
+ :param pulumi.Input[str] id: The ID of the IP address resource.
591
713
  :param pulumi.Input[str] name: The name for the pool.
592
714
 
593
715
  > **Important:** Updates to this field will recreate a new resource.
716
+ :param pulumi.Input[Sequence[pulumi.Input['PoolNodePrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the node.
594
717
  :param pulumi.Input[str] public_ip: The public IPv4. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source)
595
718
  :param pulumi.Input[str] public_ip_v6: The public IPv6. (Deprecated, Please use the official Kubernetes provider and the kubernetes_nodes data source)
596
719
  :param pulumi.Input[str] status: The status of the node.
597
720
  """
721
+ if id is not None:
722
+ pulumi.set(__self__, "id", id)
598
723
  if name is not None:
599
724
  pulumi.set(__self__, "name", name)
725
+ if private_ips is not None:
726
+ pulumi.set(__self__, "private_ips", private_ips)
600
727
  if public_ip is not None:
601
728
  warnings.warn("""Please use the official Kubernetes provider and the kubernetes_nodes data source""", DeprecationWarning)
602
729
  pulumi.log.warn("""public_ip is deprecated: Please use the official Kubernetes provider and the kubernetes_nodes data source""")
@@ -610,6 +737,18 @@ class PoolNodeArgs:
610
737
  if status is not None:
611
738
  pulumi.set(__self__, "status", status)
612
739
 
740
+ @property
741
+ @pulumi.getter
742
+ def id(self) -> Optional[pulumi.Input[str]]:
743
+ """
744
+ The ID of the IP address resource.
745
+ """
746
+ return pulumi.get(self, "id")
747
+
748
+ @id.setter
749
+ def id(self, value: Optional[pulumi.Input[str]]):
750
+ pulumi.set(self, "id", value)
751
+
613
752
  @property
614
753
  @pulumi.getter
615
754
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -624,6 +763,18 @@ class PoolNodeArgs:
624
763
  def name(self, value: Optional[pulumi.Input[str]]):
625
764
  pulumi.set(self, "name", value)
626
765
 
766
+ @property
767
+ @pulumi.getter(name="privateIps")
768
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PoolNodePrivateIpArgs']]]]:
769
+ """
770
+ The list of private IPv4 and IPv6 addresses associated with the node.
771
+ """
772
+ return pulumi.get(self, "private_ips")
773
+
774
+ @private_ips.setter
775
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PoolNodePrivateIpArgs']]]]):
776
+ pulumi.set(self, "private_ips", value)
777
+
627
778
  @property
628
779
  @pulumi.getter(name="publicIp")
629
780
  @_utilities.deprecated("""Please use the official Kubernetes provider and the kubernetes_nodes data source""")
@@ -663,6 +814,58 @@ class PoolNodeArgs:
663
814
  pulumi.set(self, "status", value)
664
815
 
665
816
 
817
+ if not MYPY:
818
+ class PoolNodePrivateIpArgsDict(TypedDict):
819
+ address: NotRequired[pulumi.Input[str]]
820
+ """
821
+ The private IP address.
822
+ """
823
+ id: NotRequired[pulumi.Input[str]]
824
+ """
825
+ The ID of the IP address resource.
826
+ """
827
+ elif False:
828
+ PoolNodePrivateIpArgsDict: TypeAlias = Mapping[str, Any]
829
+
830
+ @pulumi.input_type
831
+ class PoolNodePrivateIpArgs:
832
+ def __init__(__self__, *,
833
+ address: Optional[pulumi.Input[str]] = None,
834
+ id: Optional[pulumi.Input[str]] = None):
835
+ """
836
+ :param pulumi.Input[str] address: The private IP address.
837
+ :param pulumi.Input[str] id: The ID of the IP address resource.
838
+ """
839
+ if address is not None:
840
+ pulumi.set(__self__, "address", address)
841
+ if id is not None:
842
+ pulumi.set(__self__, "id", id)
843
+
844
+ @property
845
+ @pulumi.getter
846
+ def address(self) -> Optional[pulumi.Input[str]]:
847
+ """
848
+ The private IP address.
849
+ """
850
+ return pulumi.get(self, "address")
851
+
852
+ @address.setter
853
+ def address(self, value: Optional[pulumi.Input[str]]):
854
+ pulumi.set(self, "address", value)
855
+
856
+ @property
857
+ @pulumi.getter
858
+ def id(self) -> Optional[pulumi.Input[str]]:
859
+ """
860
+ The ID of the IP address resource.
861
+ """
862
+ return pulumi.get(self, "id")
863
+
864
+ @id.setter
865
+ def id(self, value: Optional[pulumi.Input[str]]):
866
+ pulumi.set(self, "id", value)
867
+
868
+
666
869
  if not MYPY:
667
870
  class PoolUpgradePolicyArgsDict(TypedDict):
668
871
  max_surge: NotRequired[pulumi.Input[int]]