pulumiverse-scaleway 1.35.0a1761031391__py3-none-any.whl → 1.39.0a1764841480__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 (109) hide show
  1. pulumiverse_scaleway/__init__.py +38 -0
  2. pulumiverse_scaleway/_inputs.py +271 -166
  3. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  4. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  5. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  6. pulumiverse_scaleway/baremetal_server.py +159 -0
  7. pulumiverse_scaleway/billing/get_consumptions.py +4 -0
  8. pulumiverse_scaleway/block/snapshot.py +78 -0
  9. pulumiverse_scaleway/block_snapshot.py +78 -0
  10. pulumiverse_scaleway/cockpit_grafana_user.py +0 -42
  11. pulumiverse_scaleway/database_instance.py +105 -55
  12. pulumiverse_scaleway/database_user.py +6 -6
  13. pulumiverse_scaleway/databases/_inputs.py +97 -3
  14. pulumiverse_scaleway/databases/get_instance.py +12 -1
  15. pulumiverse_scaleway/databases/instance.py +105 -55
  16. pulumiverse_scaleway/databases/outputs.py +127 -2
  17. pulumiverse_scaleway/databases/user.py +6 -6
  18. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  19. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  20. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  21. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  22. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  23. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  24. pulumiverse_scaleway/domain/record.py +4 -4
  25. pulumiverse_scaleway/domain_record.py +4 -4
  26. pulumiverse_scaleway/edge_services_cache_stage.py +30 -0
  27. pulumiverse_scaleway/edge_services_dns_stage.py +28 -0
  28. pulumiverse_scaleway/elasticmetal/get_offer.py +2 -0
  29. pulumiverse_scaleway/elasticmetal/get_server.py +12 -1
  30. pulumiverse_scaleway/elasticmetal/server.py +159 -0
  31. pulumiverse_scaleway/file_filesystem.py +39 -35
  32. pulumiverse_scaleway/get_baremetal_offer.py +2 -0
  33. pulumiverse_scaleway/get_baremetal_server.py +12 -1
  34. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  35. pulumiverse_scaleway/get_database_instance.py +12 -1
  36. pulumiverse_scaleway/get_instance_ip.py +14 -2
  37. pulumiverse_scaleway/get_instance_server.py +13 -83
  38. pulumiverse_scaleway/get_k8s_version.py +12 -1
  39. pulumiverse_scaleway/get_kubernetes_cluster.py +34 -1
  40. pulumiverse_scaleway/get_loadbalancer.py +12 -1
  41. pulumiverse_scaleway/get_loadbalancer_certificate.py +60 -0
  42. pulumiverse_scaleway/iam/__init__.py +1 -0
  43. pulumiverse_scaleway/iam/get_policy.py +293 -0
  44. pulumiverse_scaleway/iam/outputs.py +52 -0
  45. pulumiverse_scaleway/inference/deployment.py +36 -0
  46. pulumiverse_scaleway/inference/model.py +7 -7
  47. pulumiverse_scaleway/inference_deployment.py +36 -0
  48. pulumiverse_scaleway/instance/_inputs.py +155 -144
  49. pulumiverse_scaleway/instance/get_ip.py +14 -2
  50. pulumiverse_scaleway/instance/get_server.py +13 -83
  51. pulumiverse_scaleway/instance/image.py +94 -40
  52. pulumiverse_scaleway/instance/outputs.py +164 -167
  53. pulumiverse_scaleway/instance/server.py +116 -244
  54. pulumiverse_scaleway/instance/user_data.py +4 -4
  55. pulumiverse_scaleway/instance/volume.py +14 -0
  56. pulumiverse_scaleway/instance_image.py +94 -40
  57. pulumiverse_scaleway/instance_server.py +116 -244
  58. pulumiverse_scaleway/instance_user_data.py +4 -4
  59. pulumiverse_scaleway/instance_volume.py +14 -0
  60. pulumiverse_scaleway/iot/device.py +0 -38
  61. pulumiverse_scaleway/iot/hub.py +11 -11
  62. pulumiverse_scaleway/iot/route.py +20 -20
  63. pulumiverse_scaleway/iot_device.py +0 -38
  64. pulumiverse_scaleway/iot_hub.py +11 -11
  65. pulumiverse_scaleway/iot_route.py +20 -20
  66. pulumiverse_scaleway/ipam/_inputs.py +6 -6
  67. pulumiverse_scaleway/ipam/ip.py +35 -7
  68. pulumiverse_scaleway/ipam/ip_reverse_dns.py +70 -0
  69. pulumiverse_scaleway/ipam/outputs.py +4 -4
  70. pulumiverse_scaleway/ipam_ip.py +35 -7
  71. pulumiverse_scaleway/ipam_ip_reverse_dns.py +70 -0
  72. pulumiverse_scaleway/key_manager_key.py +134 -25
  73. pulumiverse_scaleway/kubernetes/cluster.py +290 -4
  74. pulumiverse_scaleway/kubernetes/get_cluster.py +34 -1
  75. pulumiverse_scaleway/kubernetes/get_version.py +12 -1
  76. pulumiverse_scaleway/kubernetes/pool.py +7 -7
  77. pulumiverse_scaleway/kubernetes_cluster.py +290 -4
  78. pulumiverse_scaleway/kubernetes_node_pool.py +7 -7
  79. pulumiverse_scaleway/loadbalancer.py +55 -1
  80. pulumiverse_scaleway/loadbalancers/__init__.py +1 -0
  81. pulumiverse_scaleway/loadbalancers/_inputs.py +13 -13
  82. pulumiverse_scaleway/loadbalancers/get_certificate.py +60 -0
  83. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +12 -1
  84. pulumiverse_scaleway/loadbalancers/load_balancer.py +55 -1
  85. pulumiverse_scaleway/loadbalancers/outputs.py +9 -9
  86. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  87. pulumiverse_scaleway/mongo_db_instance.py +14 -14
  88. pulumiverse_scaleway/mongodb/instance.py +14 -14
  89. pulumiverse_scaleway/network/gateway_network.py +7 -7
  90. pulumiverse_scaleway/object/__init__.py +1 -0
  91. pulumiverse_scaleway/object/bucket_policy.py +0 -64
  92. pulumiverse_scaleway/object/get.py +290 -0
  93. pulumiverse_scaleway/object/item.py +37 -7
  94. pulumiverse_scaleway/object_bucket_policy.py +0 -64
  95. pulumiverse_scaleway/object_item.py +37 -7
  96. pulumiverse_scaleway/observability/__init__.py +1 -0
  97. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  98. pulumiverse_scaleway/observability/get_sources.py +6 -6
  99. pulumiverse_scaleway/observability/grafana_user.py +0 -42
  100. pulumiverse_scaleway/observability/outputs.py +2 -2
  101. pulumiverse_scaleway/outputs.py +304 -182
  102. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  103. pulumiverse_scaleway/tem/domain.py +42 -0
  104. pulumiverse_scaleway/tem_domain.py +42 -0
  105. pulumiverse_scaleway/vpc_gateway_network.py +7 -7
  106. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +1 -1
  107. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/RECORD +109 -96
  108. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +0 -0
  109. {pulumiverse_scaleway-1.35.0a1761031391.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -32,7 +32,7 @@ class IpArgs:
32
32
  The set of arguments for constructing a Ip resource.
33
33
  :param pulumi.Input[Sequence[pulumi.Input['IpSourceArgs']]] sources: The source in which to book the IP.
34
34
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
35
- :param pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]] custom_resources: The custom resource in which to book the IP
35
+ :param pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
36
36
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
37
37
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
38
38
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -80,7 +80,7 @@ class IpArgs:
80
80
  @pulumi.getter(name="customResources")
81
81
  def custom_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]]]:
82
82
  """
83
- The custom resource in which to book the IP
83
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
84
84
  """
85
85
  return pulumi.get(self, "custom_resources")
86
86
 
@@ -141,6 +141,7 @@ class IpArgs:
141
141
  class _IpState:
142
142
  def __init__(__self__, *,
143
143
  address: Optional[pulumi.Input[_builtins.str]] = None,
144
+ address_cidr: Optional[pulumi.Input[_builtins.str]] = None,
144
145
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
145
146
  custom_resources: Optional[pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]]] = None,
146
147
  is_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -155,8 +156,9 @@ class _IpState:
155
156
  """
156
157
  Input properties used for looking up and filtering Ip resources.
157
158
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
159
+ :param pulumi.Input[_builtins.str] address_cidr: the IP address in CIDR notation.
158
160
  :param pulumi.Input[_builtins.str] created_at: Date and time of IP's creation (RFC 3339 format).
159
- :param pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]] custom_resources: The custom resource in which to book the IP
161
+ :param pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
160
162
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
161
163
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
162
164
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -169,6 +171,8 @@ class _IpState:
169
171
  """
170
172
  if address is not None:
171
173
  pulumi.set(__self__, "address", address)
174
+ if address_cidr is not None:
175
+ pulumi.set(__self__, "address_cidr", address_cidr)
172
176
  if created_at is not None:
173
177
  pulumi.set(__self__, "created_at", created_at)
174
178
  if custom_resources is not None:
@@ -204,6 +208,18 @@ class _IpState:
204
208
  def address(self, value: Optional[pulumi.Input[_builtins.str]]):
205
209
  pulumi.set(self, "address", value)
206
210
 
211
+ @_builtins.property
212
+ @pulumi.getter(name="addressCidr")
213
+ def address_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
214
+ """
215
+ the IP address in CIDR notation.
216
+ """
217
+ return pulumi.get(self, "address_cidr")
218
+
219
+ @address_cidr.setter
220
+ def address_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
221
+ pulumi.set(self, "address_cidr", value)
222
+
207
223
  @_builtins.property
208
224
  @pulumi.getter(name="createdAt")
209
225
  def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -220,7 +236,7 @@ class _IpState:
220
236
  @pulumi.getter(name="customResources")
221
237
  def custom_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpCustomResourceArgs']]]]:
222
238
  """
223
- The custom resource in which to book the IP
239
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
224
240
  """
225
241
  return pulumi.get(self, "custom_resources")
226
242
 
@@ -448,7 +464,7 @@ class Ip(pulumi.CustomResource):
448
464
  :param str resource_name: The name of the resource.
449
465
  :param pulumi.ResourceOptions opts: Options for the resource.
450
466
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
451
- :param pulumi.Input[Sequence[pulumi.Input[Union['IpCustomResourceArgs', 'IpCustomResourceArgsDict']]]] custom_resources: The custom resource in which to book the IP
467
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpCustomResourceArgs', 'IpCustomResourceArgsDict']]]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
452
468
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
453
469
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
454
470
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -595,6 +611,7 @@ class Ip(pulumi.CustomResource):
595
611
  raise TypeError("Missing required property 'sources'")
596
612
  __props__.__dict__["sources"] = sources
597
613
  __props__.__dict__["tags"] = tags
614
+ __props__.__dict__["address_cidr"] = None
598
615
  __props__.__dict__["created_at"] = None
599
616
  __props__.__dict__["resources"] = None
600
617
  __props__.__dict__["reverses"] = None
@@ -613,6 +630,7 @@ class Ip(pulumi.CustomResource):
613
630
  id: pulumi.Input[str],
614
631
  opts: Optional[pulumi.ResourceOptions] = None,
615
632
  address: Optional[pulumi.Input[_builtins.str]] = None,
633
+ address_cidr: Optional[pulumi.Input[_builtins.str]] = None,
616
634
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
617
635
  custom_resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpCustomResourceArgs', 'IpCustomResourceArgsDict']]]]] = None,
618
636
  is_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -632,8 +650,9 @@ class Ip(pulumi.CustomResource):
632
650
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
633
651
  :param pulumi.ResourceOptions opts: Options for the resource.
634
652
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
653
+ :param pulumi.Input[_builtins.str] address_cidr: the IP address in CIDR notation.
635
654
  :param pulumi.Input[_builtins.str] created_at: Date and time of IP's creation (RFC 3339 format).
636
- :param pulumi.Input[Sequence[pulumi.Input[Union['IpCustomResourceArgs', 'IpCustomResourceArgsDict']]]] custom_resources: The custom resource in which to book the IP
655
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpCustomResourceArgs', 'IpCustomResourceArgsDict']]]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
637
656
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
638
657
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
639
658
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -649,6 +668,7 @@ class Ip(pulumi.CustomResource):
649
668
  __props__ = _IpState.__new__(_IpState)
650
669
 
651
670
  __props__.__dict__["address"] = address
671
+ __props__.__dict__["address_cidr"] = address_cidr
652
672
  __props__.__dict__["created_at"] = created_at
653
673
  __props__.__dict__["custom_resources"] = custom_resources
654
674
  __props__.__dict__["is_ipv6"] = is_ipv6
@@ -670,6 +690,14 @@ class Ip(pulumi.CustomResource):
670
690
  """
671
691
  return pulumi.get(self, "address")
672
692
 
693
+ @_builtins.property
694
+ @pulumi.getter(name="addressCidr")
695
+ def address_cidr(self) -> pulumi.Output[_builtins.str]:
696
+ """
697
+ the IP address in CIDR notation.
698
+ """
699
+ return pulumi.get(self, "address_cidr")
700
+
673
701
  @_builtins.property
674
702
  @pulumi.getter(name="createdAt")
675
703
  def created_at(self) -> pulumi.Output[_builtins.str]:
@@ -682,7 +710,7 @@ class Ip(pulumi.CustomResource):
682
710
  @pulumi.getter(name="customResources")
683
711
  def custom_resources(self) -> pulumi.Output[Optional[Sequence['outputs.IpCustomResource']]]:
684
712
  """
685
- The custom resource in which to book the IP
713
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
686
714
  """
687
715
  return pulumi.get(self, "custom_resources")
688
716
 
@@ -173,6 +173,41 @@ class IpReverseDns(pulumi.CustomResource):
173
173
 
174
174
  For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam).
175
175
 
176
+ ## Example Usage
177
+
178
+ ```python
179
+ import pulumi
180
+ import pulumi_scaleway as scaleway
181
+ import pulumi_std as std
182
+ import pulumiverse_scaleway as scaleway
183
+
184
+ ip01 = scaleway.instance.Ip("ip01", type="routed_ipv6")
185
+ srv01 = scaleway.instance.Server("srv01",
186
+ name="tf-tests-instance-server-ips",
187
+ ip_ids=[ip01.id],
188
+ image="ubuntu_jammy",
189
+ type="PRO2-XXS",
190
+ state="stopped")
191
+ ipam01 = scaleway.ipam.get_ip_output(resource={
192
+ "id": srv01.id,
193
+ "type": "instance_server",
194
+ },
195
+ type="ipv6")
196
+ tf_aaaa = scaleway.domain.Record("tf_AAAA",
197
+ dns_zone="example.com",
198
+ name="",
199
+ type="AAAA",
200
+ data=std.index.cidrhost(input=ipam01.address_cidr,
201
+ host=42)["result"],
202
+ ttl=3600,
203
+ priority=1)
204
+ base = scaleway.ipam.IpReverseDns("base",
205
+ ipam_ip_id=ipam01.id,
206
+ hostname="example.com",
207
+ address=std.index.cidrhost(input=ipam01.address_cidr,
208
+ host=42)["result"])
209
+ ```
210
+
176
211
  ## Import
177
212
 
178
213
  IPAM IP reverse DNS can be imported using `{region}/{id}`, e.g.
@@ -201,6 +236,41 @@ class IpReverseDns(pulumi.CustomResource):
201
236
 
202
237
  For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam).
203
238
 
239
+ ## Example Usage
240
+
241
+ ```python
242
+ import pulumi
243
+ import pulumi_scaleway as scaleway
244
+ import pulumi_std as std
245
+ import pulumiverse_scaleway as scaleway
246
+
247
+ ip01 = scaleway.instance.Ip("ip01", type="routed_ipv6")
248
+ srv01 = scaleway.instance.Server("srv01",
249
+ name="tf-tests-instance-server-ips",
250
+ ip_ids=[ip01.id],
251
+ image="ubuntu_jammy",
252
+ type="PRO2-XXS",
253
+ state="stopped")
254
+ ipam01 = scaleway.ipam.get_ip_output(resource={
255
+ "id": srv01.id,
256
+ "type": "instance_server",
257
+ },
258
+ type="ipv6")
259
+ tf_aaaa = scaleway.domain.Record("tf_AAAA",
260
+ dns_zone="example.com",
261
+ name="",
262
+ type="AAAA",
263
+ data=std.index.cidrhost(input=ipam01.address_cidr,
264
+ host=42)["result"],
265
+ ttl=3600,
266
+ priority=1)
267
+ base = scaleway.ipam.IpReverseDns("base",
268
+ ipam_ip_id=ipam01.id,
269
+ hostname="example.com",
270
+ address=std.index.cidrhost(input=ipam01.address_cidr,
271
+ host=42)["result"])
272
+ ```
273
+
204
274
  ## Import
205
275
 
206
276
  IPAM IP reverse DNS can be imported using `{region}/{id}`, e.g.
@@ -49,8 +49,8 @@ class IpCustomResource(dict):
49
49
  mac_address: _builtins.str,
50
50
  name: Optional[_builtins.str] = None):
51
51
  """
52
- :param _builtins.str mac_address: The MAC address of the resource the IP is attached to.
53
- :param _builtins.str name: The name of the resource the IP is attached to.
52
+ :param _builtins.str mac_address: The MAC address of the custom resource.
53
+ :param _builtins.str name: When the resource is in a Private Network, a DNS record is available to resolve the resource name.
54
54
  """
55
55
  pulumi.set(__self__, "mac_address", mac_address)
56
56
  if name is not None:
@@ -60,7 +60,7 @@ class IpCustomResource(dict):
60
60
  @pulumi.getter(name="macAddress")
61
61
  def mac_address(self) -> _builtins.str:
62
62
  """
63
- The MAC address of the resource the IP is attached to.
63
+ The MAC address of the custom resource.
64
64
  """
65
65
  return pulumi.get(self, "mac_address")
66
66
 
@@ -68,7 +68,7 @@ class IpCustomResource(dict):
68
68
  @pulumi.getter
69
69
  def name(self) -> Optional[_builtins.str]:
70
70
  """
71
- The name of the resource the IP is attached to.
71
+ When the resource is in a Private Network, a DNS record is available to resolve the resource name.
72
72
  """
73
73
  return pulumi.get(self, "name")
74
74
 
@@ -32,7 +32,7 @@ class IpamIpArgs:
32
32
  The set of arguments for constructing a IpamIp resource.
33
33
  :param pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]] sources: The source in which to book the IP.
34
34
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
35
- :param pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]] custom_resources: The custom resource in which to book the IP
35
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
36
36
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
37
37
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
38
38
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -80,7 +80,7 @@ class IpamIpArgs:
80
80
  @pulumi.getter(name="customResources")
81
81
  def custom_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]]]:
82
82
  """
83
- The custom resource in which to book the IP
83
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
84
84
  """
85
85
  return pulumi.get(self, "custom_resources")
86
86
 
@@ -141,6 +141,7 @@ class IpamIpArgs:
141
141
  class _IpamIpState:
142
142
  def __init__(__self__, *,
143
143
  address: Optional[pulumi.Input[_builtins.str]] = None,
144
+ address_cidr: Optional[pulumi.Input[_builtins.str]] = None,
144
145
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
145
146
  custom_resources: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]]] = None,
146
147
  is_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -155,8 +156,9 @@ class _IpamIpState:
155
156
  """
156
157
  Input properties used for looking up and filtering IpamIp resources.
157
158
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
159
+ :param pulumi.Input[_builtins.str] address_cidr: the IP address in CIDR notation.
158
160
  :param pulumi.Input[_builtins.str] created_at: Date and time of IP's creation (RFC 3339 format).
159
- :param pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]] custom_resources: The custom resource in which to book the IP
161
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
160
162
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
161
163
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
162
164
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -169,6 +171,8 @@ class _IpamIpState:
169
171
  """
170
172
  if address is not None:
171
173
  pulumi.set(__self__, "address", address)
174
+ if address_cidr is not None:
175
+ pulumi.set(__self__, "address_cidr", address_cidr)
172
176
  if created_at is not None:
173
177
  pulumi.set(__self__, "created_at", created_at)
174
178
  if custom_resources is not None:
@@ -204,6 +208,18 @@ class _IpamIpState:
204
208
  def address(self, value: Optional[pulumi.Input[_builtins.str]]):
205
209
  pulumi.set(self, "address", value)
206
210
 
211
+ @_builtins.property
212
+ @pulumi.getter(name="addressCidr")
213
+ def address_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
214
+ """
215
+ the IP address in CIDR notation.
216
+ """
217
+ return pulumi.get(self, "address_cidr")
218
+
219
+ @address_cidr.setter
220
+ def address_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
221
+ pulumi.set(self, "address_cidr", value)
222
+
207
223
  @_builtins.property
208
224
  @pulumi.getter(name="createdAt")
209
225
  def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -220,7 +236,7 @@ class _IpamIpState:
220
236
  @pulumi.getter(name="customResources")
221
237
  def custom_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpCustomResourceArgs']]]]:
222
238
  """
223
- The custom resource in which to book the IP
239
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
224
240
  """
225
241
  return pulumi.get(self, "custom_resources")
226
242
 
@@ -453,7 +469,7 @@ class IpamIp(pulumi.CustomResource):
453
469
  :param str resource_name: The name of the resource.
454
470
  :param pulumi.ResourceOptions opts: Options for the resource.
455
471
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
456
- :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpCustomResourceArgs', 'IpamIpCustomResourceArgsDict']]]] custom_resources: The custom resource in which to book the IP
472
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpCustomResourceArgs', 'IpamIpCustomResourceArgsDict']]]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
457
473
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
458
474
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
459
475
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -601,6 +617,7 @@ class IpamIp(pulumi.CustomResource):
601
617
  raise TypeError("Missing required property 'sources'")
602
618
  __props__.__dict__["sources"] = sources
603
619
  __props__.__dict__["tags"] = tags
620
+ __props__.__dict__["address_cidr"] = None
604
621
  __props__.__dict__["created_at"] = None
605
622
  __props__.__dict__["resources"] = None
606
623
  __props__.__dict__["reverses"] = None
@@ -617,6 +634,7 @@ class IpamIp(pulumi.CustomResource):
617
634
  id: pulumi.Input[str],
618
635
  opts: Optional[pulumi.ResourceOptions] = None,
619
636
  address: Optional[pulumi.Input[_builtins.str]] = None,
637
+ address_cidr: Optional[pulumi.Input[_builtins.str]] = None,
620
638
  created_at: Optional[pulumi.Input[_builtins.str]] = None,
621
639
  custom_resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpCustomResourceArgs', 'IpamIpCustomResourceArgsDict']]]]] = None,
622
640
  is_ipv6: Optional[pulumi.Input[_builtins.bool]] = None,
@@ -636,8 +654,9 @@ class IpamIp(pulumi.CustomResource):
636
654
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
637
655
  :param pulumi.ResourceOptions opts: Options for the resource.
638
656
  :param pulumi.Input[_builtins.str] address: Request a specific IP in the requested source pool
657
+ :param pulumi.Input[_builtins.str] address_cidr: the IP address in CIDR notation.
639
658
  :param pulumi.Input[_builtins.str] created_at: Date and time of IP's creation (RFC 3339 format).
640
- :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpCustomResourceArgs', 'IpamIpCustomResourceArgsDict']]]] custom_resources: The custom resource in which to book the IP
659
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpCustomResourceArgs', 'IpamIpCustomResourceArgsDict']]]] custom_resources: The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
641
660
  :param pulumi.Input[_builtins.bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
642
661
  :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the IP is associated with.
643
662
  :param pulumi.Input[_builtins.str] region: `region`) The region of the IP.
@@ -653,6 +672,7 @@ class IpamIp(pulumi.CustomResource):
653
672
  __props__ = _IpamIpState.__new__(_IpamIpState)
654
673
 
655
674
  __props__.__dict__["address"] = address
675
+ __props__.__dict__["address_cidr"] = address_cidr
656
676
  __props__.__dict__["created_at"] = created_at
657
677
  __props__.__dict__["custom_resources"] = custom_resources
658
678
  __props__.__dict__["is_ipv6"] = is_ipv6
@@ -674,6 +694,14 @@ class IpamIp(pulumi.CustomResource):
674
694
  """
675
695
  return pulumi.get(self, "address")
676
696
 
697
+ @_builtins.property
698
+ @pulumi.getter(name="addressCidr")
699
+ def address_cidr(self) -> pulumi.Output[_builtins.str]:
700
+ """
701
+ the IP address in CIDR notation.
702
+ """
703
+ return pulumi.get(self, "address_cidr")
704
+
677
705
  @_builtins.property
678
706
  @pulumi.getter(name="createdAt")
679
707
  def created_at(self) -> pulumi.Output[_builtins.str]:
@@ -686,7 +714,7 @@ class IpamIp(pulumi.CustomResource):
686
714
  @pulumi.getter(name="customResources")
687
715
  def custom_resources(self) -> pulumi.Output[Optional[Sequence['outputs.IpamIpCustomResource']]]:
688
716
  """
689
- The custom resource in which to book the IP
717
+ The custom resource to attach to the IP being reserved. An example of a custom resource is a virtual machine hosted on an Elastic Metal server.
690
718
  """
691
719
  return pulumi.get(self, "custom_resources")
692
720
 
@@ -178,6 +178,41 @@ class IpamIpReverseDns(pulumi.CustomResource):
178
178
 
179
179
  For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam).
180
180
 
181
+ ## Example Usage
182
+
183
+ ```python
184
+ import pulumi
185
+ import pulumi_scaleway as scaleway
186
+ import pulumi_std as std
187
+ import pulumiverse_scaleway as scaleway
188
+
189
+ ip01 = scaleway.instance.Ip("ip01", type="routed_ipv6")
190
+ srv01 = scaleway.instance.Server("srv01",
191
+ name="tf-tests-instance-server-ips",
192
+ ip_ids=[ip01.id],
193
+ image="ubuntu_jammy",
194
+ type="PRO2-XXS",
195
+ state="stopped")
196
+ ipam01 = scaleway.ipam.get_ip_output(resource={
197
+ "id": srv01.id,
198
+ "type": "instance_server",
199
+ },
200
+ type="ipv6")
201
+ tf_aaaa = scaleway.domain.Record("tf_AAAA",
202
+ dns_zone="example.com",
203
+ name="",
204
+ type="AAAA",
205
+ data=std.index.cidrhost(input=ipam01.address_cidr,
206
+ host=42)["result"],
207
+ ttl=3600,
208
+ priority=1)
209
+ base = scaleway.ipam.IpReverseDns("base",
210
+ ipam_ip_id=ipam01.id,
211
+ hostname="example.com",
212
+ address=std.index.cidrhost(input=ipam01.address_cidr,
213
+ host=42)["result"])
214
+ ```
215
+
181
216
  ## Import
182
217
 
183
218
  IPAM IP reverse DNS can be imported using `{region}/{id}`, e.g.
@@ -206,6 +241,41 @@ class IpamIpReverseDns(pulumi.CustomResource):
206
241
 
207
242
  For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/vpc/concepts/#ipam).
208
243
 
244
+ ## Example Usage
245
+
246
+ ```python
247
+ import pulumi
248
+ import pulumi_scaleway as scaleway
249
+ import pulumi_std as std
250
+ import pulumiverse_scaleway as scaleway
251
+
252
+ ip01 = scaleway.instance.Ip("ip01", type="routed_ipv6")
253
+ srv01 = scaleway.instance.Server("srv01",
254
+ name="tf-tests-instance-server-ips",
255
+ ip_ids=[ip01.id],
256
+ image="ubuntu_jammy",
257
+ type="PRO2-XXS",
258
+ state="stopped")
259
+ ipam01 = scaleway.ipam.get_ip_output(resource={
260
+ "id": srv01.id,
261
+ "type": "instance_server",
262
+ },
263
+ type="ipv6")
264
+ tf_aaaa = scaleway.domain.Record("tf_AAAA",
265
+ dns_zone="example.com",
266
+ name="",
267
+ type="AAAA",
268
+ data=std.index.cidrhost(input=ipam01.address_cidr,
269
+ host=42)["result"],
270
+ ttl=3600,
271
+ priority=1)
272
+ base = scaleway.ipam.IpReverseDns("base",
273
+ ipam_ip_id=ipam01.id,
274
+ hostname="example.com",
275
+ address=std.index.cidrhost(input=ipam01.address_cidr,
276
+ host=42)["result"])
277
+ ```
278
+
209
279
  ## Import
210
280
 
211
281
  IPAM IP reverse DNS can be imported using `{region}/{id}`, e.g.