pulumiverse-scaleway 1.28.0a1747119212__py3-none-any.whl → 1.29.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 (102) hide show
  1. pulumiverse_scaleway/__init__.py +16 -1
  2. pulumiverse_scaleway/_inputs.py +604 -6
  3. pulumiverse_scaleway/account/__init__.py +2 -0
  4. pulumiverse_scaleway/account/get_projects.py +235 -0
  5. pulumiverse_scaleway/account/outputs.py +95 -0
  6. pulumiverse_scaleway/baremetal_server.py +67 -258
  7. pulumiverse_scaleway/block/__init__.py +2 -0
  8. pulumiverse_scaleway/block/_inputs.py +73 -0
  9. pulumiverse_scaleway/block/get_snapshot.py +13 -1
  10. pulumiverse_scaleway/block/outputs.py +79 -0
  11. pulumiverse_scaleway/block/snapshot.py +62 -14
  12. pulumiverse_scaleway/block_snapshot.py +62 -14
  13. pulumiverse_scaleway/container.py +2 -2
  14. pulumiverse_scaleway/containers/container.py +2 -2
  15. pulumiverse_scaleway/database_instance.py +61 -21
  16. pulumiverse_scaleway/databases/_inputs.py +54 -0
  17. pulumiverse_scaleway/databases/get_instance.py +12 -1
  18. pulumiverse_scaleway/databases/instance.py +61 -21
  19. pulumiverse_scaleway/databases/outputs.py +62 -0
  20. pulumiverse_scaleway/databases/snapshot.py +2 -2
  21. pulumiverse_scaleway/domain/get_zone.py +7 -1
  22. pulumiverse_scaleway/elasticmetal/__init__.py +1 -1
  23. pulumiverse_scaleway/elasticmetal/_inputs.py +74 -0
  24. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  25. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  26. pulumiverse_scaleway/elasticmetal/outputs.py +87 -0
  27. pulumiverse_scaleway/elasticmetal/server.py +67 -258
  28. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  29. pulumiverse_scaleway/get_block_snapshot.py +13 -1
  30. pulumiverse_scaleway/get_cockpit_plan.py +2 -38
  31. pulumiverse_scaleway/get_database_instance.py +12 -1
  32. pulumiverse_scaleway/get_domain_zone.py +7 -1
  33. pulumiverse_scaleway/get_instance_private_nic.py +13 -1
  34. pulumiverse_scaleway/get_instance_server.py +12 -1
  35. pulumiverse_scaleway/get_lb_route.py +12 -1
  36. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  37. pulumiverse_scaleway/get_mongo_db_instance.py +12 -1
  38. pulumiverse_scaleway/get_redis_cluster.py +12 -1
  39. pulumiverse_scaleway/get_vpc_gateway_network.py +12 -1
  40. pulumiverse_scaleway/iam/user.py +468 -14
  41. pulumiverse_scaleway/iam_user.py +468 -14
  42. pulumiverse_scaleway/inference/__init__.py +2 -0
  43. pulumiverse_scaleway/inference/_inputs.py +128 -0
  44. pulumiverse_scaleway/inference/deployment.py +70 -55
  45. pulumiverse_scaleway/inference/get_model.py +299 -0
  46. pulumiverse_scaleway/inference/model.py +683 -0
  47. pulumiverse_scaleway/inference/outputs.py +184 -0
  48. pulumiverse_scaleway/inference_deployment.py +70 -55
  49. pulumiverse_scaleway/instance/_inputs.py +108 -0
  50. pulumiverse_scaleway/instance/get_private_nic.py +13 -1
  51. pulumiverse_scaleway/instance/get_server.py +12 -1
  52. pulumiverse_scaleway/instance/outputs.py +124 -0
  53. pulumiverse_scaleway/instance/private_nic.py +49 -0
  54. pulumiverse_scaleway/instance/server.py +47 -0
  55. pulumiverse_scaleway/instance/snapshot.py +28 -7
  56. pulumiverse_scaleway/instance/volume.py +28 -7
  57. pulumiverse_scaleway/instance_private_nic.py +49 -0
  58. pulumiverse_scaleway/instance_server.py +47 -0
  59. pulumiverse_scaleway/instance_snapshot.py +28 -7
  60. pulumiverse_scaleway/instance_volume.py +28 -7
  61. pulumiverse_scaleway/kubernetes/__init__.py +1 -0
  62. pulumiverse_scaleway/kubernetes/_inputs.py +203 -0
  63. pulumiverse_scaleway/kubernetes/acl.py +446 -0
  64. pulumiverse_scaleway/kubernetes/outputs.py +195 -1
  65. pulumiverse_scaleway/loadbalancer.py +28 -0
  66. pulumiverse_scaleway/loadbalancer_route.py +138 -14
  67. pulumiverse_scaleway/loadbalancers/_inputs.py +54 -0
  68. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  69. pulumiverse_scaleway/loadbalancers/get_route.py +12 -1
  70. pulumiverse_scaleway/loadbalancers/load_balancer.py +28 -0
  71. pulumiverse_scaleway/loadbalancers/outputs.py +62 -0
  72. pulumiverse_scaleway/loadbalancers/route.py +138 -14
  73. pulumiverse_scaleway/mnq/sns_credentials.py +7 -7
  74. pulumiverse_scaleway/mnq/sqs_credentials.py +7 -7
  75. pulumiverse_scaleway/mnq_sns_credentials.py +7 -7
  76. pulumiverse_scaleway/mnq_sqs_credentials.py +7 -7
  77. pulumiverse_scaleway/mongo_db_instance.py +107 -7
  78. pulumiverse_scaleway/mongodb/_inputs.py +54 -0
  79. pulumiverse_scaleway/mongodb/get_instance.py +12 -1
  80. pulumiverse_scaleway/mongodb/instance.py +107 -7
  81. pulumiverse_scaleway/mongodb/outputs.py +62 -0
  82. pulumiverse_scaleway/network/_inputs.py +54 -0
  83. pulumiverse_scaleway/network/gateway_network.py +47 -0
  84. pulumiverse_scaleway/network/get_gateway_network.py +12 -1
  85. pulumiverse_scaleway/network/outputs.py +62 -0
  86. pulumiverse_scaleway/network/route.py +90 -2
  87. pulumiverse_scaleway/observability/__init__.py +0 -1
  88. pulumiverse_scaleway/observability/get_plan.py +2 -38
  89. pulumiverse_scaleway/outputs.py +718 -27
  90. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  91. pulumiverse_scaleway/rdb_snapshot.py +2 -2
  92. pulumiverse_scaleway/redis/_inputs.py +60 -6
  93. pulumiverse_scaleway/redis/cluster.py +47 -0
  94. pulumiverse_scaleway/redis/get_cluster.py +12 -1
  95. pulumiverse_scaleway/redis/outputs.py +66 -4
  96. pulumiverse_scaleway/redis_cluster.py +47 -0
  97. pulumiverse_scaleway/vpc_gateway_network.py +47 -0
  98. pulumiverse_scaleway/vpc_route.py +90 -2
  99. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/METADATA +1 -1
  100. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/RECORD +102 -94
  101. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/WHEEL +1 -1
  102. {pulumiverse_scaleway-1.28.0a1747119212.dist-info → pulumiverse_scaleway-1.29.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,215 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetPartitionSchemaResult',
19
+ 'AwaitableGetPartitionSchemaResult',
20
+ 'get_partition_schema',
21
+ 'get_partition_schema_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetPartitionSchemaResult:
26
+ """
27
+ A collection of values returned by getPartitionSchema.
28
+ """
29
+ def __init__(__self__, ext4_mountpoint=None, extra_partition=None, id=None, json_partition=None, offer_id=None, os_id=None, swap=None):
30
+ if ext4_mountpoint and not isinstance(ext4_mountpoint, str):
31
+ raise TypeError("Expected argument 'ext4_mountpoint' to be a str")
32
+ pulumi.set(__self__, "ext4_mountpoint", ext4_mountpoint)
33
+ if extra_partition and not isinstance(extra_partition, bool):
34
+ raise TypeError("Expected argument 'extra_partition' to be a bool")
35
+ pulumi.set(__self__, "extra_partition", extra_partition)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
39
+ if json_partition and not isinstance(json_partition, str):
40
+ raise TypeError("Expected argument 'json_partition' to be a str")
41
+ pulumi.set(__self__, "json_partition", json_partition)
42
+ if offer_id and not isinstance(offer_id, str):
43
+ raise TypeError("Expected argument 'offer_id' to be a str")
44
+ pulumi.set(__self__, "offer_id", offer_id)
45
+ if os_id and not isinstance(os_id, str):
46
+ raise TypeError("Expected argument 'os_id' to be a str")
47
+ pulumi.set(__self__, "os_id", os_id)
48
+ if swap and not isinstance(swap, bool):
49
+ raise TypeError("Expected argument 'swap' to be a bool")
50
+ pulumi.set(__self__, "swap", swap)
51
+
52
+ @property
53
+ @pulumi.getter(name="ext4Mountpoint")
54
+ def ext4_mountpoint(self) -> Optional[str]:
55
+ return pulumi.get(self, "ext4_mountpoint")
56
+
57
+ @property
58
+ @pulumi.getter(name="extraPartition")
59
+ def extra_partition(self) -> Optional[bool]:
60
+ return pulumi.get(self, "extra_partition")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def id(self) -> str:
65
+ """
66
+ The provider-assigned unique ID for this managed resource.
67
+ """
68
+ return pulumi.get(self, "id")
69
+
70
+ @property
71
+ @pulumi.getter(name="jsonPartition")
72
+ def json_partition(self) -> str:
73
+ """
74
+ — A validated partitioning schema in JSON format that can be directly used for BareMetal server deployment.
75
+ """
76
+ return pulumi.get(self, "json_partition")
77
+
78
+ @property
79
+ @pulumi.getter(name="offerId")
80
+ def offer_id(self) -> str:
81
+ return pulumi.get(self, "offer_id")
82
+
83
+ @property
84
+ @pulumi.getter(name="osId")
85
+ def os_id(self) -> str:
86
+ return pulumi.get(self, "os_id")
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def swap(self) -> Optional[bool]:
91
+ return pulumi.get(self, "swap")
92
+
93
+
94
+ class AwaitableGetPartitionSchemaResult(GetPartitionSchemaResult):
95
+ # pylint: disable=using-constant-test
96
+ def __await__(self):
97
+ if False:
98
+ yield self
99
+ return GetPartitionSchemaResult(
100
+ ext4_mountpoint=self.ext4_mountpoint,
101
+ extra_partition=self.extra_partition,
102
+ id=self.id,
103
+ json_partition=self.json_partition,
104
+ offer_id=self.offer_id,
105
+ os_id=self.os_id,
106
+ swap=self.swap)
107
+
108
+
109
+ def get_partition_schema(ext4_mountpoint: Optional[str] = None,
110
+ extra_partition: Optional[bool] = None,
111
+ offer_id: Optional[str] = None,
112
+ os_id: Optional[str] = None,
113
+ swap: Optional[bool] = None,
114
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPartitionSchemaResult:
115
+ """
116
+ The elasticmetal_get_partition_schema data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
117
+
118
+ This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
119
+
120
+ ## Partitioning Details
121
+
122
+ The partitioning schema generated by the `elasticmetal_get_partition_schema` data source includes a root (`/`) partition that is **20GB** in size by default.
123
+
124
+ If additional storage is required, you can enable the `extra_partition` option to mount extra space on a custom path (e.g., `/data`).
125
+
126
+ ## Example Usage
127
+
128
+ ```python
129
+ import pulumi
130
+ import pulumi_scaleway as scaleway
131
+
132
+ default = scaleway.elasticmetal.get_partition_schema(offer_id="11111111-1111-1111-1111-111111111111",
133
+ os_id="22222222-2222-2222-2222-222222222222",
134
+ swap=True,
135
+ extra_partition=True,
136
+ ext4_mountpoint="/data")
137
+ ```
138
+
139
+
140
+ :param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
141
+ :param bool extra_partition: Whether to add an extra ext4 data partition.
142
+ :param str offer_id: The UUID of the BareMetal offer.
143
+ :param str os_id: The UUID of the OS image.
144
+ :param bool swap: Whether to include a swap partition.
145
+ """
146
+ __args__ = dict()
147
+ __args__['ext4Mountpoint'] = ext4_mountpoint
148
+ __args__['extraPartition'] = extra_partition
149
+ __args__['offerId'] = offer_id
150
+ __args__['osId'] = os_id
151
+ __args__['swap'] = swap
152
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
+ __ret__ = pulumi.runtime.invoke('scaleway:elasticmetal/getPartitionSchema:getPartitionSchema', __args__, opts=opts, typ=GetPartitionSchemaResult).value
154
+
155
+ return AwaitableGetPartitionSchemaResult(
156
+ ext4_mountpoint=pulumi.get(__ret__, 'ext4_mountpoint'),
157
+ extra_partition=pulumi.get(__ret__, 'extra_partition'),
158
+ id=pulumi.get(__ret__, 'id'),
159
+ json_partition=pulumi.get(__ret__, 'json_partition'),
160
+ offer_id=pulumi.get(__ret__, 'offer_id'),
161
+ os_id=pulumi.get(__ret__, 'os_id'),
162
+ swap=pulumi.get(__ret__, 'swap'))
163
+ def get_partition_schema_output(ext4_mountpoint: Optional[pulumi.Input[Optional[str]]] = None,
164
+ extra_partition: Optional[pulumi.Input[Optional[bool]]] = None,
165
+ offer_id: Optional[pulumi.Input[str]] = None,
166
+ os_id: Optional[pulumi.Input[str]] = None,
167
+ swap: Optional[pulumi.Input[Optional[bool]]] = None,
168
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPartitionSchemaResult]:
169
+ """
170
+ The elasticmetal_get_partition_schema data source allows you to retrieve a ready-to-use partitioning schema for a BareMetal server. This schema can be used for custom installations with optional swap and extra partitions.
171
+
172
+ This data source simplifies the process of generating valid partitioning configurations, especially useful when dealing with OS and offer compatibility requirements.
173
+
174
+ ## Partitioning Details
175
+
176
+ The partitioning schema generated by the `elasticmetal_get_partition_schema` data source includes a root (`/`) partition that is **20GB** in size by default.
177
+
178
+ If additional storage is required, you can enable the `extra_partition` option to mount extra space on a custom path (e.g., `/data`).
179
+
180
+ ## Example Usage
181
+
182
+ ```python
183
+ import pulumi
184
+ import pulumi_scaleway as scaleway
185
+
186
+ default = scaleway.elasticmetal.get_partition_schema(offer_id="11111111-1111-1111-1111-111111111111",
187
+ os_id="22222222-2222-2222-2222-222222222222",
188
+ swap=True,
189
+ extra_partition=True,
190
+ ext4_mountpoint="/data")
191
+ ```
192
+
193
+
194
+ :param str ext4_mountpoint: The mount point for the extra partition. Must be an absolute path using alphanumeric characters and underscores.
195
+ :param bool extra_partition: Whether to add an extra ext4 data partition.
196
+ :param str offer_id: The UUID of the BareMetal offer.
197
+ :param str os_id: The UUID of the OS image.
198
+ :param bool swap: Whether to include a swap partition.
199
+ """
200
+ __args__ = dict()
201
+ __args__['ext4Mountpoint'] = ext4_mountpoint
202
+ __args__['extraPartition'] = extra_partition
203
+ __args__['offerId'] = offer_id
204
+ __args__['osId'] = os_id
205
+ __args__['swap'] = swap
206
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
207
+ __ret__ = pulumi.runtime.invoke_output('scaleway:elasticmetal/getPartitionSchema:getPartitionSchema', __args__, opts=opts, typ=GetPartitionSchemaResult)
208
+ return __ret__.apply(lambda __response__: GetPartitionSchemaResult(
209
+ ext4_mountpoint=pulumi.get(__response__, 'ext4_mountpoint'),
210
+ extra_partition=pulumi.get(__response__, 'extra_partition'),
211
+ id=pulumi.get(__response__, 'id'),
212
+ json_partition=pulumi.get(__response__, 'json_partition'),
213
+ offer_id=pulumi.get(__response__, 'offer_id'),
214
+ os_id=pulumi.get(__response__, 'os_id'),
215
+ swap=pulumi.get(__response__, 'swap')))
@@ -27,7 +27,7 @@ class GetServerResult:
27
27
  """
28
28
  A collection of values returned by getServer.
29
29
  """
30
- def __init__(__self__, description=None, domain=None, hostname=None, id=None, install_config_afterward=None, ips=None, ipv4s=None, ipv6s=None, name=None, offer=None, offer_id=None, offer_name=None, options=None, organization_id=None, os=None, os_name=None, partitioning=None, password=None, private_networks=None, project_id=None, reinstall_on_config_changes=None, server_id=None, service_password=None, service_user=None, ssh_key_ids=None, tags=None, user=None, zone=None):
30
+ def __init__(__self__, description=None, domain=None, hostname=None, id=None, install_config_afterward=None, ips=None, ipv4s=None, ipv6s=None, name=None, offer=None, offer_id=None, offer_name=None, options=None, organization_id=None, os=None, os_name=None, partitioning=None, password=None, private_ips=None, private_networks=None, project_id=None, reinstall_on_config_changes=None, server_id=None, service_password=None, service_user=None, ssh_key_ids=None, tags=None, user=None, zone=None):
31
31
  if description and not isinstance(description, str):
32
32
  raise TypeError("Expected argument 'description' to be a str")
33
33
  pulumi.set(__self__, "description", description)
@@ -82,6 +82,9 @@ class GetServerResult:
82
82
  if password and not isinstance(password, str):
83
83
  raise TypeError("Expected argument 'password' to be a str")
84
84
  pulumi.set(__self__, "password", password)
85
+ if private_ips and not isinstance(private_ips, list):
86
+ raise TypeError("Expected argument 'private_ips' to be a list")
87
+ pulumi.set(__self__, "private_ips", private_ips)
85
88
  if private_networks and not isinstance(private_networks, list):
86
89
  raise TypeError("Expected argument 'private_networks' to be a list")
87
90
  pulumi.set(__self__, "private_networks", private_networks)
@@ -206,6 +209,11 @@ class GetServerResult:
206
209
  def password(self) -> str:
207
210
  return pulumi.get(self, "password")
208
211
 
212
+ @property
213
+ @pulumi.getter(name="privateIps")
214
+ def private_ips(self) -> Sequence['outputs.GetServerPrivateIpResult']:
215
+ return pulumi.get(self, "private_ips")
216
+
209
217
  @property
210
218
  @pulumi.getter(name="privateNetworks")
211
219
  def private_networks(self) -> Sequence['outputs.GetServerPrivateNetworkResult']:
@@ -281,6 +289,7 @@ class AwaitableGetServerResult(GetServerResult):
281
289
  os_name=self.os_name,
282
290
  partitioning=self.partitioning,
283
291
  password=self.password,
292
+ private_ips=self.private_ips,
284
293
  private_networks=self.private_networks,
285
294
  project_id=self.project_id,
286
295
  reinstall_on_config_changes=self.reinstall_on_config_changes,
@@ -347,6 +356,7 @@ def get_server(name: Optional[str] = None,
347
356
  os_name=pulumi.get(__ret__, 'os_name'),
348
357
  partitioning=pulumi.get(__ret__, 'partitioning'),
349
358
  password=pulumi.get(__ret__, 'password'),
359
+ private_ips=pulumi.get(__ret__, 'private_ips'),
350
360
  private_networks=pulumi.get(__ret__, 'private_networks'),
351
361
  project_id=pulumi.get(__ret__, 'project_id'),
352
362
  reinstall_on_config_changes=pulumi.get(__ret__, 'reinstall_on_config_changes'),
@@ -410,6 +420,7 @@ def get_server_output(name: Optional[pulumi.Input[Optional[str]]] = None,
410
420
  os_name=pulumi.get(__response__, 'os_name'),
411
421
  partitioning=pulumi.get(__response__, 'partitioning'),
412
422
  password=pulumi.get(__response__, 'password'),
423
+ private_ips=pulumi.get(__response__, 'private_ips'),
413
424
  private_networks=pulumi.get(__response__, 'private_networks'),
414
425
  project_id=pulumi.get(__response__, 'project_id'),
415
426
  reinstall_on_config_changes=pulumi.get(__response__, 'reinstall_on_config_changes'),
@@ -20,6 +20,7 @@ __all__ = [
20
20
  'ServerIpv4',
21
21
  'ServerIpv6',
22
22
  'ServerOption',
23
+ 'ServerPrivateIp',
23
24
  'ServerPrivateNetwork',
24
25
  'GetIpsIpResult',
25
26
  'GetIpsIpMacAddressResult',
@@ -30,6 +31,7 @@ __all__ = [
30
31
  'GetServerIpv4Result',
31
32
  'GetServerIpv6Result',
32
33
  'GetServerOptionResult',
34
+ 'GetServerPrivateIpResult',
33
35
  'GetServerPrivateNetworkResult',
34
36
  ]
35
37
 
@@ -257,6 +259,37 @@ class ServerOption(dict):
257
259
  return pulumi.get(self, "name")
258
260
 
259
261
 
262
+ @pulumi.output_type
263
+ class ServerPrivateIp(dict):
264
+ def __init__(__self__, *,
265
+ address: Optional[str] = None,
266
+ id: Optional[str] = None):
267
+ """
268
+ :param str address: The address of the IPv6.
269
+ :param str id: The ID of the IPv6.
270
+ """
271
+ if address is not None:
272
+ pulumi.set(__self__, "address", address)
273
+ if id is not None:
274
+ pulumi.set(__self__, "id", id)
275
+
276
+ @property
277
+ @pulumi.getter
278
+ def address(self) -> Optional[str]:
279
+ """
280
+ The address of the IPv6.
281
+ """
282
+ return pulumi.get(self, "address")
283
+
284
+ @property
285
+ @pulumi.getter
286
+ def id(self) -> Optional[str]:
287
+ """
288
+ The ID of the IPv6.
289
+ """
290
+ return pulumi.get(self, "id")
291
+
292
+
260
293
  @pulumi.output_type
261
294
  class ServerPrivateNetwork(dict):
262
295
  @staticmethod
@@ -266,6 +299,8 @@ class ServerPrivateNetwork(dict):
266
299
  suggest = "created_at"
267
300
  elif key == "ipamIpIds":
268
301
  suggest = "ipam_ip_ids"
302
+ elif key == "mappingId":
303
+ suggest = "mapping_id"
269
304
  elif key == "updatedAt":
270
305
  suggest = "updated_at"
271
306
 
@@ -284,6 +319,7 @@ class ServerPrivateNetwork(dict):
284
319
  id: str,
285
320
  created_at: Optional[str] = None,
286
321
  ipam_ip_ids: Optional[Sequence[str]] = None,
322
+ mapping_id: Optional[str] = None,
287
323
  status: Optional[str] = None,
288
324
  updated_at: Optional[str] = None,
289
325
  vlan: Optional[int] = None):
@@ -291,6 +327,7 @@ class ServerPrivateNetwork(dict):
291
327
  :param str id: The id of the private network to attach.
292
328
  :param str created_at: The date and time of the creation of the private network.
293
329
  :param Sequence[str] ipam_ip_ids: List of IPAM IP IDs to assign to the server in the requested private network.
330
+ :param str mapping_id: The ID of the Server-to-Private Network mapping.
294
331
  :param str status: The private network status.
295
332
  :param str updated_at: The date and time of the last update of the private network.
296
333
  :param int vlan: The VLAN ID associated to the private network.
@@ -300,6 +337,8 @@ class ServerPrivateNetwork(dict):
300
337
  pulumi.set(__self__, "created_at", created_at)
301
338
  if ipam_ip_ids is not None:
302
339
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
340
+ if mapping_id is not None:
341
+ pulumi.set(__self__, "mapping_id", mapping_id)
303
342
  if status is not None:
304
343
  pulumi.set(__self__, "status", status)
305
344
  if updated_at is not None:
@@ -331,6 +370,14 @@ class ServerPrivateNetwork(dict):
331
370
  """
332
371
  return pulumi.get(self, "ipam_ip_ids")
333
372
 
373
+ @property
374
+ @pulumi.getter(name="mappingId")
375
+ def mapping_id(self) -> Optional[str]:
376
+ """
377
+ The ID of the Server-to-Private Network mapping.
378
+ """
379
+ return pulumi.get(self, "mapping_id")
380
+
334
381
  @property
335
382
  @pulumi.getter
336
383
  def status(self) -> Optional[str]:
@@ -899,12 +946,42 @@ class GetServerOptionResult(dict):
899
946
  return pulumi.get(self, "name")
900
947
 
901
948
 
949
+ @pulumi.output_type
950
+ class GetServerPrivateIpResult(dict):
951
+ def __init__(__self__, *,
952
+ address: str,
953
+ id: str):
954
+ """
955
+ :param str address: The private IP address
956
+ :param str id: The ID of the server.
957
+ """
958
+ pulumi.set(__self__, "address", address)
959
+ pulumi.set(__self__, "id", id)
960
+
961
+ @property
962
+ @pulumi.getter
963
+ def address(self) -> str:
964
+ """
965
+ The private IP address
966
+ """
967
+ return pulumi.get(self, "address")
968
+
969
+ @property
970
+ @pulumi.getter
971
+ def id(self) -> str:
972
+ """
973
+ The ID of the server.
974
+ """
975
+ return pulumi.get(self, "id")
976
+
977
+
902
978
  @pulumi.output_type
903
979
  class GetServerPrivateNetworkResult(dict):
904
980
  def __init__(__self__, *,
905
981
  created_at: str,
906
982
  id: str,
907
983
  ipam_ip_ids: Sequence[str],
984
+ mapping_id: str,
908
985
  status: str,
909
986
  updated_at: str,
910
987
  vlan: int):
@@ -912,6 +989,7 @@ class GetServerPrivateNetworkResult(dict):
912
989
  :param str created_at: The date and time of the creation of the private network
913
990
  :param str id: The ID of the server.
914
991
  :param Sequence[str] ipam_ip_ids: List of IPAM IP IDs to attach to the server
992
+ :param str mapping_id: The ID of the Server-to-Private Network mapping
915
993
  :param str status: The private network status
916
994
  :param str updated_at: The date and time of the last update of the private network
917
995
  :param int vlan: The VLAN ID associated to the private network
@@ -919,6 +997,7 @@ class GetServerPrivateNetworkResult(dict):
919
997
  pulumi.set(__self__, "created_at", created_at)
920
998
  pulumi.set(__self__, "id", id)
921
999
  pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids)
1000
+ pulumi.set(__self__, "mapping_id", mapping_id)
922
1001
  pulumi.set(__self__, "status", status)
923
1002
  pulumi.set(__self__, "updated_at", updated_at)
924
1003
  pulumi.set(__self__, "vlan", vlan)
@@ -947,6 +1026,14 @@ class GetServerPrivateNetworkResult(dict):
947
1026
  """
948
1027
  return pulumi.get(self, "ipam_ip_ids")
949
1028
 
1029
+ @property
1030
+ @pulumi.getter(name="mappingId")
1031
+ def mapping_id(self) -> str:
1032
+ """
1033
+ The ID of the Server-to-Private Network mapping
1034
+ """
1035
+ return pulumi.get(self, "mapping_id")
1036
+
950
1037
  @property
951
1038
  @pulumi.getter
952
1039
  def status(self) -> str: