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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "scaleway",
4
- "version": "1.27.1",
4
+ "version": "1.28.0",
5
5
  "server": "github://api.github.com/pulumiverse"
6
6
  }
@@ -296,7 +296,7 @@ class RdbSnapshot(pulumi.CustomResource):
296
296
  "scaleway_rdb_instance",
297
297
  "minimal",
298
298
  ],
299
- volume_type="bssd",
299
+ volume_type="sbs_5k",
300
300
  volume_size_in_gb=10)
301
301
  test = scaleway.databases.Snapshot("test",
302
302
  name="initial-snapshot",
@@ -386,7 +386,7 @@ class RdbSnapshot(pulumi.CustomResource):
386
386
  "scaleway_rdb_instance",
387
387
  "minimal",
388
388
  ],
389
- volume_type="bssd",
389
+ volume_type="sbs_5k",
390
390
  volume_size_in_gb=10)
391
391
  test = scaleway.databases.Snapshot("test",
392
392
  name="initial-snapshot",
@@ -17,6 +17,8 @@ from .. import _utilities
17
17
  __all__ = [
18
18
  'ClusterAclArgs',
19
19
  'ClusterAclArgsDict',
20
+ 'ClusterPrivateIpArgs',
21
+ 'ClusterPrivateIpArgsDict',
20
22
  'ClusterPrivateNetworkArgs',
21
23
  'ClusterPrivateNetworkArgsDict',
22
24
  'ClusterPublicNetworkArgs',
@@ -40,7 +42,7 @@ if not MYPY:
40
42
  """
41
43
  id: NotRequired[pulumi.Input[str]]
42
44
  """
43
- (Required) The UUID of the endpoint.
45
+ The ID of the IPv4 address resource.
44
46
  """
45
47
  elif False:
46
48
  ClusterAclArgsDict: TypeAlias = Mapping[str, Any]
@@ -57,7 +59,7 @@ class ClusterAclArgs:
57
59
  :param pulumi.Input[str] description: A text describing this rule. Default description: `Allow IP`
58
60
 
59
61
  > The `acl` conflict with `private_network`. Only one should be specified.
60
- :param pulumi.Input[str] id: (Required) The UUID of the endpoint.
62
+ :param pulumi.Input[str] id: The ID of the IPv4 address resource.
61
63
  """
62
64
  pulumi.set(__self__, "ip", ip)
63
65
  if description is not None:
@@ -96,7 +98,59 @@ class ClusterAclArgs:
96
98
  @pulumi.getter
97
99
  def id(self) -> Optional[pulumi.Input[str]]:
98
100
  """
99
- (Required) The UUID of the endpoint.
101
+ The ID of the IPv4 address resource.
102
+ """
103
+ return pulumi.get(self, "id")
104
+
105
+ @id.setter
106
+ def id(self, value: Optional[pulumi.Input[str]]):
107
+ pulumi.set(self, "id", value)
108
+
109
+
110
+ if not MYPY:
111
+ class ClusterPrivateIpArgsDict(TypedDict):
112
+ address: NotRequired[pulumi.Input[str]]
113
+ """
114
+ The private IPv4 address.
115
+ """
116
+ id: NotRequired[pulumi.Input[str]]
117
+ """
118
+ The ID of the IPv4 address resource.
119
+ """
120
+ elif False:
121
+ ClusterPrivateIpArgsDict: TypeAlias = Mapping[str, Any]
122
+
123
+ @pulumi.input_type
124
+ class ClusterPrivateIpArgs:
125
+ def __init__(__self__, *,
126
+ address: Optional[pulumi.Input[str]] = None,
127
+ id: Optional[pulumi.Input[str]] = None):
128
+ """
129
+ :param pulumi.Input[str] address: The private IPv4 address.
130
+ :param pulumi.Input[str] id: The ID of the IPv4 address resource.
131
+ """
132
+ if address is not None:
133
+ pulumi.set(__self__, "address", address)
134
+ if id is not None:
135
+ pulumi.set(__self__, "id", id)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def address(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The private IPv4 address.
142
+ """
143
+ return pulumi.get(self, "address")
144
+
145
+ @address.setter
146
+ def address(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "address", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def id(self) -> Optional[pulumi.Input[str]]:
152
+ """
153
+ The ID of the IPv4 address resource.
100
154
  """
101
155
  return pulumi.get(self, "id")
102
156
 
@@ -260,7 +314,7 @@ if not MYPY:
260
314
  class ClusterPublicNetworkArgsDict(TypedDict):
261
315
  id: NotRequired[pulumi.Input[str]]
262
316
  """
263
- (Required) The UUID of the endpoint.
317
+ The ID of the IPv4 address resource.
264
318
  """
265
319
  ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
266
320
  """
@@ -280,7 +334,7 @@ class ClusterPublicNetworkArgs:
280
334
  ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
281
335
  port: Optional[pulumi.Input[int]] = None):
282
336
  """
283
- :param pulumi.Input[str] id: (Required) The UUID of the endpoint.
337
+ :param pulumi.Input[str] id: The ID of the IPv4 address resource.
284
338
  :param pulumi.Input[Sequence[pulumi.Input[str]]] ips: Lis of IPv4 address of the endpoint (IP address).
285
339
  :param pulumi.Input[int] port: TCP port of the endpoint.
286
340
  """
@@ -295,7 +349,7 @@ class ClusterPublicNetworkArgs:
295
349
  @pulumi.getter
296
350
  def id(self) -> Optional[pulumi.Input[str]]:
297
351
  """
298
- (Required) The UUID of the endpoint.
352
+ The ID of the IPv4 address resource.
299
353
  """
300
354
  return pulumi.get(self, "id")
301
355
 
@@ -312,6 +312,7 @@ class _ClusterState:
312
312
  name: Optional[pulumi.Input[str]] = None,
313
313
  node_type: Optional[pulumi.Input[str]] = None,
314
314
  password: Optional[pulumi.Input[str]] = None,
315
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPrivateIpArgs']]]] = None,
315
316
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPrivateNetworkArgs']]]] = None,
316
317
  project_id: Optional[pulumi.Input[str]] = None,
317
318
  public_network: Optional[pulumi.Input['ClusterPublicNetworkArgs']] = None,
@@ -349,6 +350,7 @@ class _ClusterState:
349
350
  > **Important:** Updates to `node_type` will migrate the Redis™ cluster to the desired `node_type`. Keep in mind that
350
351
  you cannot downgrade a Redis™ cluster.
351
352
  :param pulumi.Input[str] password: Password for the first user of the Redis™ cluster.
353
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterPrivateIpArgs']]] private_ips: The list of private IPv4 addresses associated with the resource.
352
354
  :param pulumi.Input[Sequence[pulumi.Input['ClusterPrivateNetworkArgs']]] private_networks: Describes the Private Network you want to connect to your cluster. If not set, a public
353
355
  network will be provided. More details on the Private Network section
354
356
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Redis™ cluster is
@@ -384,6 +386,8 @@ class _ClusterState:
384
386
  pulumi.set(__self__, "node_type", node_type)
385
387
  if password is not None:
386
388
  pulumi.set(__self__, "password", password)
389
+ if private_ips is not None:
390
+ pulumi.set(__self__, "private_ips", private_ips)
387
391
  if private_networks is not None:
388
392
  pulumi.set(__self__, "private_networks", private_networks)
389
393
  if project_id is not None:
@@ -507,6 +511,18 @@ class _ClusterState:
507
511
  def password(self, value: Optional[pulumi.Input[str]]):
508
512
  pulumi.set(self, "password", value)
509
513
 
514
+ @property
515
+ @pulumi.getter(name="privateIps")
516
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPrivateIpArgs']]]]:
517
+ """
518
+ The list of private IPv4 addresses associated with the resource.
519
+ """
520
+ return pulumi.get(self, "private_ips")
521
+
522
+ @private_ips.setter
523
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPrivateIpArgs']]]]):
524
+ pulumi.set(self, "private_ips", value)
525
+
510
526
  @property
511
527
  @pulumi.getter(name="privateNetworks")
512
528
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPrivateNetworkArgs']]]]:
@@ -929,6 +945,7 @@ class Cluster(pulumi.CustomResource):
929
945
  __props__.__dict__["zone"] = zone
930
946
  __props__.__dict__["certificate"] = None
931
947
  __props__.__dict__["created_at"] = None
948
+ __props__.__dict__["private_ips"] = None
932
949
  __props__.__dict__["updated_at"] = None
933
950
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/redisCluster:RedisCluster")])
934
951
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
@@ -951,6 +968,7 @@ class Cluster(pulumi.CustomResource):
951
968
  name: Optional[pulumi.Input[str]] = None,
952
969
  node_type: Optional[pulumi.Input[str]] = None,
953
970
  password: Optional[pulumi.Input[str]] = None,
971
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPrivateIpArgs', 'ClusterPrivateIpArgsDict']]]]] = None,
954
972
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPrivateNetworkArgs', 'ClusterPrivateNetworkArgsDict']]]]] = None,
955
973
  project_id: Optional[pulumi.Input[str]] = None,
956
974
  public_network: Optional[pulumi.Input[Union['ClusterPublicNetworkArgs', 'ClusterPublicNetworkArgsDict']]] = None,
@@ -993,6 +1011,7 @@ class Cluster(pulumi.CustomResource):
993
1011
  > **Important:** Updates to `node_type` will migrate the Redis™ cluster to the desired `node_type`. Keep in mind that
994
1012
  you cannot downgrade a Redis™ cluster.
995
1013
  :param pulumi.Input[str] password: Password for the first user of the Redis™ cluster.
1014
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPrivateIpArgs', 'ClusterPrivateIpArgsDict']]]] private_ips: The list of private IPv4 addresses associated with the resource.
996
1015
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPrivateNetworkArgs', 'ClusterPrivateNetworkArgsDict']]]] private_networks: Describes the Private Network you want to connect to your cluster. If not set, a public
997
1016
  network will be provided. More details on the Private Network section
998
1017
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Redis™ cluster is
@@ -1025,6 +1044,7 @@ class Cluster(pulumi.CustomResource):
1025
1044
  __props__.__dict__["name"] = name
1026
1045
  __props__.__dict__["node_type"] = node_type
1027
1046
  __props__.__dict__["password"] = password
1047
+ __props__.__dict__["private_ips"] = private_ips
1028
1048
  __props__.__dict__["private_networks"] = private_networks
1029
1049
  __props__.__dict__["project_id"] = project_id
1030
1050
  __props__.__dict__["public_network"] = public_network
@@ -1111,6 +1131,14 @@ class Cluster(pulumi.CustomResource):
1111
1131
  """
1112
1132
  return pulumi.get(self, "password")
1113
1133
 
1134
+ @property
1135
+ @pulumi.getter(name="privateIps")
1136
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.ClusterPrivateIp']]:
1137
+ """
1138
+ The list of private IPv4 addresses associated with the resource.
1139
+ """
1140
+ return pulumi.get(self, "private_ips")
1141
+
1114
1142
  @property
1115
1143
  @pulumi.getter(name="privateNetworks")
1116
1144
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterPrivateNetwork']]]:
@@ -27,7 +27,7 @@ class GetClusterResult:
27
27
  """
28
28
  A collection of values returned by getCluster.
29
29
  """
30
- def __init__(__self__, acls=None, certificate=None, cluster_id=None, cluster_size=None, created_at=None, id=None, name=None, node_type=None, password=None, private_networks=None, project_id=None, public_networks=None, settings=None, tags=None, tls_enabled=None, updated_at=None, user_name=None, version=None, zone=None):
30
+ def __init__(__self__, acls=None, certificate=None, cluster_id=None, cluster_size=None, created_at=None, id=None, name=None, node_type=None, password=None, private_ips=None, private_networks=None, project_id=None, public_networks=None, settings=None, tags=None, tls_enabled=None, updated_at=None, user_name=None, version=None, zone=None):
31
31
  if acls and not isinstance(acls, list):
32
32
  raise TypeError("Expected argument 'acls' to be a list")
33
33
  pulumi.set(__self__, "acls", acls)
@@ -55,6 +55,9 @@ class GetClusterResult:
55
55
  if password and not isinstance(password, str):
56
56
  raise TypeError("Expected argument 'password' to be a str")
57
57
  pulumi.set(__self__, "password", password)
58
+ if private_ips and not isinstance(private_ips, list):
59
+ raise TypeError("Expected argument 'private_ips' to be a list")
60
+ pulumi.set(__self__, "private_ips", private_ips)
58
61
  if private_networks and not isinstance(private_networks, list):
59
62
  raise TypeError("Expected argument 'private_networks' to be a list")
60
63
  pulumi.set(__self__, "private_networks", private_networks)
@@ -152,6 +155,11 @@ class GetClusterResult:
152
155
  """
153
156
  return pulumi.get(self, "password")
154
157
 
158
+ @property
159
+ @pulumi.getter(name="privateIps")
160
+ def private_ips(self) -> Sequence['outputs.GetClusterPrivateIpResult']:
161
+ return pulumi.get(self, "private_ips")
162
+
155
163
  @property
156
164
  @pulumi.getter(name="privateNetworks")
157
165
  def private_networks(self) -> Sequence['outputs.GetClusterPrivateNetworkResult']:
@@ -242,6 +250,7 @@ class AwaitableGetClusterResult(GetClusterResult):
242
250
  name=self.name,
243
251
  node_type=self.node_type,
244
252
  password=self.password,
253
+ private_ips=self.private_ips,
245
254
  private_networks=self.private_networks,
246
255
  project_id=self.project_id,
247
256
  public_networks=self.public_networks,
@@ -290,6 +299,7 @@ def get_cluster(cluster_id: Optional[str] = None,
290
299
  name=pulumi.get(__ret__, 'name'),
291
300
  node_type=pulumi.get(__ret__, 'node_type'),
292
301
  password=pulumi.get(__ret__, 'password'),
302
+ private_ips=pulumi.get(__ret__, 'private_ips'),
293
303
  private_networks=pulumi.get(__ret__, 'private_networks'),
294
304
  project_id=pulumi.get(__ret__, 'project_id'),
295
305
  public_networks=pulumi.get(__ret__, 'public_networks'),
@@ -335,6 +345,7 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[Optional[str]]] = None,
335
345
  name=pulumi.get(__response__, 'name'),
336
346
  node_type=pulumi.get(__response__, 'node_type'),
337
347
  password=pulumi.get(__response__, 'password'),
348
+ private_ips=pulumi.get(__response__, 'private_ips'),
338
349
  private_networks=pulumi.get(__response__, 'private_networks'),
339
350
  project_id=pulumi.get(__response__, 'project_id'),
340
351
  public_networks=pulumi.get(__response__, 'public_networks'),
@@ -16,9 +16,11 @@ from .. import _utilities
16
16
 
17
17
  __all__ = [
18
18
  'ClusterAcl',
19
+ 'ClusterPrivateIp',
19
20
  'ClusterPrivateNetwork',
20
21
  'ClusterPublicNetwork',
21
22
  'GetClusterAclResult',
23
+ 'GetClusterPrivateIpResult',
22
24
  'GetClusterPrivateNetworkResult',
23
25
  'GetClusterPublicNetworkResult',
24
26
  ]
@@ -35,7 +37,7 @@ class ClusterAcl(dict):
35
37
  :param str description: A text describing this rule. Default description: `Allow IP`
36
38
 
37
39
  > The `acl` conflict with `private_network`. Only one should be specified.
38
- :param str id: (Required) The UUID of the endpoint.
40
+ :param str id: The ID of the IPv4 address resource.
39
41
  """
40
42
  pulumi.set(__self__, "ip", ip)
41
43
  if description is not None:
@@ -66,7 +68,38 @@ class ClusterAcl(dict):
66
68
  @pulumi.getter
67
69
  def id(self) -> Optional[str]:
68
70
  """
69
- (Required) The UUID of the endpoint.
71
+ The ID of the IPv4 address resource.
72
+ """
73
+ return pulumi.get(self, "id")
74
+
75
+
76
+ @pulumi.output_type
77
+ class ClusterPrivateIp(dict):
78
+ def __init__(__self__, *,
79
+ address: Optional[str] = None,
80
+ id: Optional[str] = None):
81
+ """
82
+ :param str address: The private IPv4 address.
83
+ :param str id: The ID of the IPv4 address resource.
84
+ """
85
+ if address is not None:
86
+ pulumi.set(__self__, "address", address)
87
+ if id is not None:
88
+ pulumi.set(__self__, "id", id)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def address(self) -> Optional[str]:
93
+ """
94
+ The private IPv4 address.
95
+ """
96
+ return pulumi.get(self, "address")
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def id(self) -> Optional[str]:
101
+ """
102
+ The ID of the IPv4 address resource.
70
103
  """
71
104
  return pulumi.get(self, "id")
72
105
 
@@ -191,7 +224,7 @@ class ClusterPublicNetwork(dict):
191
224
  ips: Optional[Sequence[str]] = None,
192
225
  port: Optional[int] = None):
193
226
  """
194
- :param str id: (Required) The UUID of the endpoint.
227
+ :param str id: The ID of the IPv4 address resource.
195
228
  :param Sequence[str] ips: Lis of IPv4 address of the endpoint (IP address).
196
229
  :param int port: TCP port of the endpoint.
197
230
  """
@@ -206,7 +239,7 @@ class ClusterPublicNetwork(dict):
206
239
  @pulumi.getter
207
240
  def id(self) -> Optional[str]:
208
241
  """
209
- (Required) The UUID of the endpoint.
242
+ The ID of the IPv4 address resource.
210
243
  """
211
244
  return pulumi.get(self, "id")
212
245
 
@@ -267,6 +300,35 @@ class GetClusterAclResult(dict):
267
300
  return pulumi.get(self, "ip")
268
301
 
269
302
 
303
+ @pulumi.output_type
304
+ class GetClusterPrivateIpResult(dict):
305
+ def __init__(__self__, *,
306
+ address: str,
307
+ id: str):
308
+ """
309
+ :param str address: The private IPv4 address
310
+ :param str id: The ID of the Redis cluster.
311
+ """
312
+ pulumi.set(__self__, "address", address)
313
+ pulumi.set(__self__, "id", id)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def address(self) -> str:
318
+ """
319
+ The private IPv4 address
320
+ """
321
+ return pulumi.get(self, "address")
322
+
323
+ @property
324
+ @pulumi.getter
325
+ def id(self) -> str:
326
+ """
327
+ The ID of the Redis cluster.
328
+ """
329
+ return pulumi.get(self, "id")
330
+
331
+
270
332
  @pulumi.output_type
271
333
  class GetClusterPrivateNetworkResult(dict):
272
334
  def __init__(__self__, *,
@@ -312,6 +312,7 @@ class _RedisClusterState:
312
312
  name: Optional[pulumi.Input[str]] = None,
313
313
  node_type: Optional[pulumi.Input[str]] = None,
314
314
  password: Optional[pulumi.Input[str]] = None,
315
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateIpArgs']]]] = None,
315
316
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateNetworkArgs']]]] = None,
316
317
  project_id: Optional[pulumi.Input[str]] = None,
317
318
  public_network: Optional[pulumi.Input['RedisClusterPublicNetworkArgs']] = None,
@@ -349,6 +350,7 @@ class _RedisClusterState:
349
350
  > **Important:** Updates to `node_type` will migrate the Redis™ cluster to the desired `node_type`. Keep in mind that
350
351
  you cannot downgrade a Redis™ cluster.
351
352
  :param pulumi.Input[str] password: Password for the first user of the Redis™ cluster.
353
+ :param pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateIpArgs']]] private_ips: The list of private IPv4 addresses associated with the resource.
352
354
  :param pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateNetworkArgs']]] private_networks: Describes the Private Network you want to connect to your cluster. If not set, a public
353
355
  network will be provided. More details on the Private Network section
354
356
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Redis™ cluster is
@@ -384,6 +386,8 @@ class _RedisClusterState:
384
386
  pulumi.set(__self__, "node_type", node_type)
385
387
  if password is not None:
386
388
  pulumi.set(__self__, "password", password)
389
+ if private_ips is not None:
390
+ pulumi.set(__self__, "private_ips", private_ips)
387
391
  if private_networks is not None:
388
392
  pulumi.set(__self__, "private_networks", private_networks)
389
393
  if project_id is not None:
@@ -507,6 +511,18 @@ class _RedisClusterState:
507
511
  def password(self, value: Optional[pulumi.Input[str]]):
508
512
  pulumi.set(self, "password", value)
509
513
 
514
+ @property
515
+ @pulumi.getter(name="privateIps")
516
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateIpArgs']]]]:
517
+ """
518
+ The list of private IPv4 addresses associated with the resource.
519
+ """
520
+ return pulumi.get(self, "private_ips")
521
+
522
+ @private_ips.setter
523
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateIpArgs']]]]):
524
+ pulumi.set(self, "private_ips", value)
525
+
510
526
  @property
511
527
  @pulumi.getter(name="privateNetworks")
512
528
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RedisClusterPrivateNetworkArgs']]]]:
@@ -935,6 +951,7 @@ class RedisCluster(pulumi.CustomResource):
935
951
  __props__.__dict__["zone"] = zone
936
952
  __props__.__dict__["certificate"] = None
937
953
  __props__.__dict__["created_at"] = None
954
+ __props__.__dict__["private_ips"] = None
938
955
  __props__.__dict__["updated_at"] = None
939
956
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
940
957
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
@@ -955,6 +972,7 @@ class RedisCluster(pulumi.CustomResource):
955
972
  name: Optional[pulumi.Input[str]] = None,
956
973
  node_type: Optional[pulumi.Input[str]] = None,
957
974
  password: Optional[pulumi.Input[str]] = None,
975
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisClusterPrivateIpArgs', 'RedisClusterPrivateIpArgsDict']]]]] = None,
958
976
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RedisClusterPrivateNetworkArgs', 'RedisClusterPrivateNetworkArgsDict']]]]] = None,
959
977
  project_id: Optional[pulumi.Input[str]] = None,
960
978
  public_network: Optional[pulumi.Input[Union['RedisClusterPublicNetworkArgs', 'RedisClusterPublicNetworkArgsDict']]] = None,
@@ -997,6 +1015,7 @@ class RedisCluster(pulumi.CustomResource):
997
1015
  > **Important:** Updates to `node_type` will migrate the Redis™ cluster to the desired `node_type`. Keep in mind that
998
1016
  you cannot downgrade a Redis™ cluster.
999
1017
  :param pulumi.Input[str] password: Password for the first user of the Redis™ cluster.
1018
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RedisClusterPrivateIpArgs', 'RedisClusterPrivateIpArgsDict']]]] private_ips: The list of private IPv4 addresses associated with the resource.
1000
1019
  :param pulumi.Input[Sequence[pulumi.Input[Union['RedisClusterPrivateNetworkArgs', 'RedisClusterPrivateNetworkArgsDict']]]] private_networks: Describes the Private Network you want to connect to your cluster. If not set, a public
1001
1020
  network will be provided. More details on the Private Network section
1002
1021
  :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Redis™ cluster is
@@ -1029,6 +1048,7 @@ class RedisCluster(pulumi.CustomResource):
1029
1048
  __props__.__dict__["name"] = name
1030
1049
  __props__.__dict__["node_type"] = node_type
1031
1050
  __props__.__dict__["password"] = password
1051
+ __props__.__dict__["private_ips"] = private_ips
1032
1052
  __props__.__dict__["private_networks"] = private_networks
1033
1053
  __props__.__dict__["project_id"] = project_id
1034
1054
  __props__.__dict__["public_network"] = public_network
@@ -1115,6 +1135,14 @@ class RedisCluster(pulumi.CustomResource):
1115
1135
  """
1116
1136
  return pulumi.get(self, "password")
1117
1137
 
1138
+ @property
1139
+ @pulumi.getter(name="privateIps")
1140
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.RedisClusterPrivateIp']]:
1141
+ """
1142
+ The list of private IPv4 addresses associated with the resource.
1143
+ """
1144
+ return pulumi.get(self, "private_ips")
1145
+
1118
1146
  @property
1119
1147
  @pulumi.getter(name="privateNetworks")
1120
1148
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.RedisClusterPrivateNetwork']]]:
@@ -203,6 +203,7 @@ class _VpcGatewayNetworkState:
203
203
  gateway_id: Optional[pulumi.Input[str]] = None,
204
204
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkIpamConfigArgs']]]] = None,
205
205
  mac_address: Optional[pulumi.Input[str]] = None,
206
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkPrivateIpArgs']]]] = None,
206
207
  private_network_id: Optional[pulumi.Input[str]] = None,
207
208
  static_address: Optional[pulumi.Input[str]] = None,
208
209
  status: Optional[pulumi.Input[str]] = None,
@@ -218,6 +219,7 @@ class _VpcGatewayNetworkState:
218
219
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
219
220
  :param pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkIpamConfigArgs']]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
220
221
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
222
+ :param pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkPrivateIpArgs']]] private_ips: The private IPv4 address associated with the resource.
221
223
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
222
224
  :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
223
225
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -253,6 +255,8 @@ class _VpcGatewayNetworkState:
253
255
  pulumi.set(__self__, "ipam_configs", ipam_configs)
254
256
  if mac_address is not None:
255
257
  pulumi.set(__self__, "mac_address", mac_address)
258
+ if private_ips is not None:
259
+ pulumi.set(__self__, "private_ips", private_ips)
256
260
  if private_network_id is not None:
257
261
  pulumi.set(__self__, "private_network_id", private_network_id)
258
262
  if static_address is not None:
@@ -366,6 +370,18 @@ class _VpcGatewayNetworkState:
366
370
  def mac_address(self, value: Optional[pulumi.Input[str]]):
367
371
  pulumi.set(self, "mac_address", value)
368
372
 
373
+ @property
374
+ @pulumi.getter(name="privateIps")
375
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkPrivateIpArgs']]]]:
376
+ """
377
+ The private IPv4 address associated with the resource.
378
+ """
379
+ return pulumi.get(self, "private_ips")
380
+
381
+ @private_ips.setter
382
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcGatewayNetworkPrivateIpArgs']]]]):
383
+ pulumi.set(self, "private_ips", value)
384
+
369
385
  @property
370
386
  @pulumi.getter(name="privateNetworkId")
371
387
  def private_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -671,6 +687,7 @@ class VpcGatewayNetwork(pulumi.CustomResource):
671
687
  __props__.__dict__["zone"] = zone
672
688
  __props__.__dict__["created_at"] = None
673
689
  __props__.__dict__["mac_address"] = None
690
+ __props__.__dict__["private_ips"] = None
674
691
  __props__.__dict__["status"] = None
675
692
  __props__.__dict__["updated_at"] = None
676
693
  super(VpcGatewayNetwork, __self__).__init__(
@@ -691,6 +708,7 @@ class VpcGatewayNetwork(pulumi.CustomResource):
691
708
  gateway_id: Optional[pulumi.Input[str]] = None,
692
709
  ipam_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkIpamConfigArgs', 'VpcGatewayNetworkIpamConfigArgsDict']]]]] = None,
693
710
  mac_address: Optional[pulumi.Input[str]] = None,
711
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkPrivateIpArgs', 'VpcGatewayNetworkPrivateIpArgsDict']]]]] = None,
694
712
  private_network_id: Optional[pulumi.Input[str]] = None,
695
713
  static_address: Optional[pulumi.Input[str]] = None,
696
714
  status: Optional[pulumi.Input[str]] = None,
@@ -711,6 +729,7 @@ class VpcGatewayNetwork(pulumi.CustomResource):
711
729
  :param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
712
730
  :param pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkIpamConfigArgs', 'VpcGatewayNetworkIpamConfigArgsDict']]]] ipam_configs: Auto-configure the GatewayNetwork using Scaleway's IPAM (IP address management service). Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
713
731
  :param pulumi.Input[str] mac_address: The MAC address of the GatewayNetwork.
732
+ :param pulumi.Input[Sequence[pulumi.Input[Union['VpcGatewayNetworkPrivateIpArgs', 'VpcGatewayNetworkPrivateIpArgsDict']]]] private_ips: The private IPv4 address associated with the resource.
714
733
  :param pulumi.Input[str] private_network_id: The ID of the Private Network.
715
734
  :param pulumi.Input[str] static_address: Please use `ipam_config`. Enable DHCP configration on this GatewayNetwork. Only one of `dhcp_id`, `static_address` and `ipam_config` should be specified.
716
735
  :param pulumi.Input[str] status: The status of the Public Gateway's connection to the Private Network.
@@ -733,6 +752,7 @@ class VpcGatewayNetwork(pulumi.CustomResource):
733
752
  __props__.__dict__["gateway_id"] = gateway_id
734
753
  __props__.__dict__["ipam_configs"] = ipam_configs
735
754
  __props__.__dict__["mac_address"] = mac_address
755
+ __props__.__dict__["private_ips"] = private_ips
736
756
  __props__.__dict__["private_network_id"] = private_network_id
737
757
  __props__.__dict__["static_address"] = static_address
738
758
  __props__.__dict__["status"] = status
@@ -807,6 +827,14 @@ class VpcGatewayNetwork(pulumi.CustomResource):
807
827
  """
808
828
  return pulumi.get(self, "mac_address")
809
829
 
830
+ @property
831
+ @pulumi.getter(name="privateIps")
832
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.VpcGatewayNetworkPrivateIp']]:
833
+ """
834
+ The private IPv4 address associated with the resource.
835
+ """
836
+ return pulumi.get(self, "private_ips")
837
+
810
838
  @property
811
839
  @pulumi.getter(name="privateNetworkId")
812
840
  def private_network_id(self) -> pulumi.Output[str]: