pulumiverse-scaleway 1.16.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.

Potentially problematic release.


This version of pulumiverse-scaleway might be problematic. Click here for more details.

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,666 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['IpamIpArgs', 'IpamIp']
20
+
21
+ @pulumi.input_type
22
+ class IpamIpArgs:
23
+ def __init__(__self__, *,
24
+ sources: pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]],
25
+ address: Optional[pulumi.Input[str]] = None,
26
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
27
+ project_id: Optional[pulumi.Input[str]] = None,
28
+ region: Optional[pulumi.Input[str]] = None,
29
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
30
+ """
31
+ The set of arguments for constructing a IpamIp resource.
32
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]] sources: The source in which to book the IP.
33
+ :param pulumi.Input[str] address: Request a specific IP in the requested source pool
34
+ :param pulumi.Input[bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
35
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the IP is associated with.
36
+ :param pulumi.Input[str] region: `region`) The region of the IP.
37
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IP.
38
+ """
39
+ pulumi.set(__self__, "sources", sources)
40
+ if address is not None:
41
+ pulumi.set(__self__, "address", address)
42
+ if is_ipv6 is not None:
43
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
44
+ if project_id is not None:
45
+ pulumi.set(__self__, "project_id", project_id)
46
+ if region is not None:
47
+ pulumi.set(__self__, "region", region)
48
+ if tags is not None:
49
+ pulumi.set(__self__, "tags", tags)
50
+
51
+ @property
52
+ @pulumi.getter
53
+ def sources(self) -> pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]]:
54
+ """
55
+ The source in which to book the IP.
56
+ """
57
+ return pulumi.get(self, "sources")
58
+
59
+ @sources.setter
60
+ def sources(self, value: pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]]):
61
+ pulumi.set(self, "sources", value)
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def address(self) -> Optional[pulumi.Input[str]]:
66
+ """
67
+ Request a specific IP in the requested source pool
68
+ """
69
+ return pulumi.get(self, "address")
70
+
71
+ @address.setter
72
+ def address(self, value: Optional[pulumi.Input[str]]):
73
+ pulumi.set(self, "address", value)
74
+
75
+ @property
76
+ @pulumi.getter(name="isIpv6")
77
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
78
+ """
79
+ Defines whether to request an IPv6 address instead of IPv4.
80
+ """
81
+ return pulumi.get(self, "is_ipv6")
82
+
83
+ @is_ipv6.setter
84
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
85
+ pulumi.set(self, "is_ipv6", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="projectId")
89
+ def project_id(self) -> Optional[pulumi.Input[str]]:
90
+ """
91
+ `project_id`) The ID of the Project the IP is associated with.
92
+ """
93
+ return pulumi.get(self, "project_id")
94
+
95
+ @project_id.setter
96
+ def project_id(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "project_id", value)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def region(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ `region`) The region of the IP.
104
+ """
105
+ return pulumi.get(self, "region")
106
+
107
+ @region.setter
108
+ def region(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "region", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
114
+ """
115
+ The tags associated with the IP.
116
+ """
117
+ return pulumi.get(self, "tags")
118
+
119
+ @tags.setter
120
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
121
+ pulumi.set(self, "tags", value)
122
+
123
+
124
+ @pulumi.input_type
125
+ class _IpamIpState:
126
+ def __init__(__self__, *,
127
+ address: Optional[pulumi.Input[str]] = None,
128
+ created_at: Optional[pulumi.Input[str]] = None,
129
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
130
+ project_id: Optional[pulumi.Input[str]] = None,
131
+ region: Optional[pulumi.Input[str]] = None,
132
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpResourceArgs']]]] = None,
133
+ reverses: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpReverseArgs']]]] = None,
134
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]]] = None,
135
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
136
+ updated_at: Optional[pulumi.Input[str]] = None,
137
+ zone: Optional[pulumi.Input[str]] = None):
138
+ """
139
+ Input properties used for looking up and filtering IpamIp resources.
140
+ :param pulumi.Input[str] address: Request a specific IP in the requested source pool
141
+ :param pulumi.Input[str] created_at: Date and time of IP's creation (RFC 3339 format).
142
+ :param pulumi.Input[bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
143
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the IP is associated with.
144
+ :param pulumi.Input[str] region: `region`) The region of the IP.
145
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpResourceArgs']]] resources: The IP resource.
146
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpReverseArgs']]] reverses: The reverse DNS for this IP.
147
+ :param pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]] sources: The source in which to book the IP.
148
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IP.
149
+ :param pulumi.Input[str] updated_at: Date and time of IP's last update (RFC 3339 format).
150
+ :param pulumi.Input[str] zone: The zone of the IP.
151
+ """
152
+ if address is not None:
153
+ pulumi.set(__self__, "address", address)
154
+ if created_at is not None:
155
+ pulumi.set(__self__, "created_at", created_at)
156
+ if is_ipv6 is not None:
157
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
158
+ if project_id is not None:
159
+ pulumi.set(__self__, "project_id", project_id)
160
+ if region is not None:
161
+ pulumi.set(__self__, "region", region)
162
+ if resources is not None:
163
+ pulumi.set(__self__, "resources", resources)
164
+ if reverses is not None:
165
+ pulumi.set(__self__, "reverses", reverses)
166
+ if sources is not None:
167
+ pulumi.set(__self__, "sources", sources)
168
+ if tags is not None:
169
+ pulumi.set(__self__, "tags", tags)
170
+ if updated_at is not None:
171
+ pulumi.set(__self__, "updated_at", updated_at)
172
+ if zone is not None:
173
+ pulumi.set(__self__, "zone", zone)
174
+
175
+ @property
176
+ @pulumi.getter
177
+ def address(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ Request a specific IP in the requested source pool
180
+ """
181
+ return pulumi.get(self, "address")
182
+
183
+ @address.setter
184
+ def address(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "address", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="createdAt")
189
+ def created_at(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ Date and time of IP's creation (RFC 3339 format).
192
+ """
193
+ return pulumi.get(self, "created_at")
194
+
195
+ @created_at.setter
196
+ def created_at(self, value: Optional[pulumi.Input[str]]):
197
+ pulumi.set(self, "created_at", value)
198
+
199
+ @property
200
+ @pulumi.getter(name="isIpv6")
201
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
202
+ """
203
+ Defines whether to request an IPv6 address instead of IPv4.
204
+ """
205
+ return pulumi.get(self, "is_ipv6")
206
+
207
+ @is_ipv6.setter
208
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
209
+ pulumi.set(self, "is_ipv6", value)
210
+
211
+ @property
212
+ @pulumi.getter(name="projectId")
213
+ def project_id(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ `project_id`) The ID of the Project the IP is associated with.
216
+ """
217
+ return pulumi.get(self, "project_id")
218
+
219
+ @project_id.setter
220
+ def project_id(self, value: Optional[pulumi.Input[str]]):
221
+ pulumi.set(self, "project_id", value)
222
+
223
+ @property
224
+ @pulumi.getter
225
+ def region(self) -> Optional[pulumi.Input[str]]:
226
+ """
227
+ `region`) The region of the IP.
228
+ """
229
+ return pulumi.get(self, "region")
230
+
231
+ @region.setter
232
+ def region(self, value: Optional[pulumi.Input[str]]):
233
+ pulumi.set(self, "region", value)
234
+
235
+ @property
236
+ @pulumi.getter
237
+ def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpResourceArgs']]]]:
238
+ """
239
+ The IP resource.
240
+ """
241
+ return pulumi.get(self, "resources")
242
+
243
+ @resources.setter
244
+ def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpResourceArgs']]]]):
245
+ pulumi.set(self, "resources", value)
246
+
247
+ @property
248
+ @pulumi.getter
249
+ def reverses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpReverseArgs']]]]:
250
+ """
251
+ The reverse DNS for this IP.
252
+ """
253
+ return pulumi.get(self, "reverses")
254
+
255
+ @reverses.setter
256
+ def reverses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpReverseArgs']]]]):
257
+ pulumi.set(self, "reverses", value)
258
+
259
+ @property
260
+ @pulumi.getter
261
+ def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]]]:
262
+ """
263
+ The source in which to book the IP.
264
+ """
265
+ return pulumi.get(self, "sources")
266
+
267
+ @sources.setter
268
+ def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpamIpSourceArgs']]]]):
269
+ pulumi.set(self, "sources", value)
270
+
271
+ @property
272
+ @pulumi.getter
273
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
274
+ """
275
+ The tags associated with the IP.
276
+ """
277
+ return pulumi.get(self, "tags")
278
+
279
+ @tags.setter
280
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
281
+ pulumi.set(self, "tags", value)
282
+
283
+ @property
284
+ @pulumi.getter(name="updatedAt")
285
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ Date and time of IP's last update (RFC 3339 format).
288
+ """
289
+ return pulumi.get(self, "updated_at")
290
+
291
+ @updated_at.setter
292
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "updated_at", value)
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def zone(self) -> Optional[pulumi.Input[str]]:
298
+ """
299
+ The zone of the IP.
300
+ """
301
+ return pulumi.get(self, "zone")
302
+
303
+ @zone.setter
304
+ def zone(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "zone", value)
306
+
307
+
308
+ class IpamIp(pulumi.CustomResource):
309
+ @overload
310
+ def __init__(__self__,
311
+ resource_name: str,
312
+ opts: Optional[pulumi.ResourceOptions] = None,
313
+ address: Optional[pulumi.Input[str]] = None,
314
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
315
+ project_id: Optional[pulumi.Input[str]] = None,
316
+ region: Optional[pulumi.Input[str]] = None,
317
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpSourceArgs', 'IpamIpSourceArgsDict']]]]] = None,
318
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
319
+ __props__=None):
320
+ """
321
+ Books and manages IPAM IPs.
322
+
323
+ For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).
324
+
325
+ ## Example Usage
326
+
327
+ ### Basic
328
+
329
+ ```python
330
+ import pulumi
331
+ import pulumiverse_scaleway as scaleway
332
+
333
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
334
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
335
+ vpc_id=vpc01.id,
336
+ ipv4_subnet={
337
+ "subnet": "172.16.32.0/22",
338
+ })
339
+ ip01 = scaleway.IpamIp("ip01", sources=[{
340
+ "private_network_id": pn01.id,
341
+ }])
342
+ ```
343
+
344
+ ### Request a specific IPv4 address
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumiverse_scaleway as scaleway
349
+
350
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
351
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
352
+ vpc_id=vpc01.id,
353
+ ipv4_subnet={
354
+ "subnet": "172.16.32.0/22",
355
+ })
356
+ ip01 = scaleway.IpamIp("ip01",
357
+ address="172.16.32.7",
358
+ sources=[{
359
+ "private_network_id": pn01.id,
360
+ }])
361
+ ```
362
+
363
+ ### Request an IPv6 address
364
+
365
+ ```python
366
+ import pulumi
367
+ import pulumiverse_scaleway as scaleway
368
+
369
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
370
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
371
+ vpc_id=vpc01.id,
372
+ ipv6_subnets=[{
373
+ "subnet": "fd46:78ab:30b8:177c::/64",
374
+ }])
375
+ ip01 = scaleway.IpamIp("ip01",
376
+ is_ipv6=True,
377
+ sources=[{
378
+ "private_network_id": pn01.id,
379
+ }])
380
+ ```
381
+
382
+ ## Import
383
+
384
+ IPAM IPs can be imported using `{region}/{id}`, e.g.
385
+
386
+ bash
387
+
388
+ ```sh
389
+ $ pulumi import scaleway:index/ipamIp:IpamIp ip_demo fr-par/11111111-1111-1111-1111-111111111111
390
+ ```
391
+
392
+ :param str resource_name: The name of the resource.
393
+ :param pulumi.ResourceOptions opts: Options for the resource.
394
+ :param pulumi.Input[str] address: Request a specific IP in the requested source pool
395
+ :param pulumi.Input[bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
396
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the IP is associated with.
397
+ :param pulumi.Input[str] region: `region`) The region of the IP.
398
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpSourceArgs', 'IpamIpSourceArgsDict']]]] sources: The source in which to book the IP.
399
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IP.
400
+ """
401
+ ...
402
+ @overload
403
+ def __init__(__self__,
404
+ resource_name: str,
405
+ args: IpamIpArgs,
406
+ opts: Optional[pulumi.ResourceOptions] = None):
407
+ """
408
+ Books and manages IPAM IPs.
409
+
410
+ For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).
411
+
412
+ ## Example Usage
413
+
414
+ ### Basic
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumiverse_scaleway as scaleway
419
+
420
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
421
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
422
+ vpc_id=vpc01.id,
423
+ ipv4_subnet={
424
+ "subnet": "172.16.32.0/22",
425
+ })
426
+ ip01 = scaleway.IpamIp("ip01", sources=[{
427
+ "private_network_id": pn01.id,
428
+ }])
429
+ ```
430
+
431
+ ### Request a specific IPv4 address
432
+
433
+ ```python
434
+ import pulumi
435
+ import pulumiverse_scaleway as scaleway
436
+
437
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
438
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
439
+ vpc_id=vpc01.id,
440
+ ipv4_subnet={
441
+ "subnet": "172.16.32.0/22",
442
+ })
443
+ ip01 = scaleway.IpamIp("ip01",
444
+ address="172.16.32.7",
445
+ sources=[{
446
+ "private_network_id": pn01.id,
447
+ }])
448
+ ```
449
+
450
+ ### Request an IPv6 address
451
+
452
+ ```python
453
+ import pulumi
454
+ import pulumiverse_scaleway as scaleway
455
+
456
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
457
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
458
+ vpc_id=vpc01.id,
459
+ ipv6_subnets=[{
460
+ "subnet": "fd46:78ab:30b8:177c::/64",
461
+ }])
462
+ ip01 = scaleway.IpamIp("ip01",
463
+ is_ipv6=True,
464
+ sources=[{
465
+ "private_network_id": pn01.id,
466
+ }])
467
+ ```
468
+
469
+ ## Import
470
+
471
+ IPAM IPs can be imported using `{region}/{id}`, e.g.
472
+
473
+ bash
474
+
475
+ ```sh
476
+ $ pulumi import scaleway:index/ipamIp:IpamIp ip_demo fr-par/11111111-1111-1111-1111-111111111111
477
+ ```
478
+
479
+ :param str resource_name: The name of the resource.
480
+ :param IpamIpArgs args: The arguments to use to populate this resource's properties.
481
+ :param pulumi.ResourceOptions opts: Options for the resource.
482
+ """
483
+ ...
484
+ def __init__(__self__, resource_name: str, *args, **kwargs):
485
+ resource_args, opts = _utilities.get_resource_args_opts(IpamIpArgs, pulumi.ResourceOptions, *args, **kwargs)
486
+ if resource_args is not None:
487
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
488
+ else:
489
+ __self__._internal_init(resource_name, *args, **kwargs)
490
+
491
+ def _internal_init(__self__,
492
+ resource_name: str,
493
+ opts: Optional[pulumi.ResourceOptions] = None,
494
+ address: Optional[pulumi.Input[str]] = None,
495
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
496
+ project_id: Optional[pulumi.Input[str]] = None,
497
+ region: Optional[pulumi.Input[str]] = None,
498
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpSourceArgs', 'IpamIpSourceArgsDict']]]]] = None,
499
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
500
+ __props__=None):
501
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
502
+ if not isinstance(opts, pulumi.ResourceOptions):
503
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
504
+ if opts.id is None:
505
+ if __props__ is not None:
506
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
507
+ __props__ = IpamIpArgs.__new__(IpamIpArgs)
508
+
509
+ __props__.__dict__["address"] = address
510
+ __props__.__dict__["is_ipv6"] = is_ipv6
511
+ __props__.__dict__["project_id"] = project_id
512
+ __props__.__dict__["region"] = region
513
+ if sources is None and not opts.urn:
514
+ raise TypeError("Missing required property 'sources'")
515
+ __props__.__dict__["sources"] = sources
516
+ __props__.__dict__["tags"] = tags
517
+ __props__.__dict__["created_at"] = None
518
+ __props__.__dict__["resources"] = None
519
+ __props__.__dict__["reverses"] = None
520
+ __props__.__dict__["updated_at"] = None
521
+ __props__.__dict__["zone"] = None
522
+ super(IpamIp, __self__).__init__(
523
+ 'scaleway:index/ipamIp:IpamIp',
524
+ resource_name,
525
+ __props__,
526
+ opts)
527
+
528
+ @staticmethod
529
+ def get(resource_name: str,
530
+ id: pulumi.Input[str],
531
+ opts: Optional[pulumi.ResourceOptions] = None,
532
+ address: Optional[pulumi.Input[str]] = None,
533
+ created_at: Optional[pulumi.Input[str]] = None,
534
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
535
+ project_id: Optional[pulumi.Input[str]] = None,
536
+ region: Optional[pulumi.Input[str]] = None,
537
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpResourceArgs', 'IpamIpResourceArgsDict']]]]] = None,
538
+ reverses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpReverseArgs', 'IpamIpReverseArgsDict']]]]] = None,
539
+ sources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IpamIpSourceArgs', 'IpamIpSourceArgsDict']]]]] = None,
540
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
541
+ updated_at: Optional[pulumi.Input[str]] = None,
542
+ zone: Optional[pulumi.Input[str]] = None) -> 'IpamIp':
543
+ """
544
+ Get an existing IpamIp resource's state with the given name, id, and optional extra
545
+ properties used to qualify the lookup.
546
+
547
+ :param str resource_name: The unique name of the resulting resource.
548
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
549
+ :param pulumi.ResourceOptions opts: Options for the resource.
550
+ :param pulumi.Input[str] address: Request a specific IP in the requested source pool
551
+ :param pulumi.Input[str] created_at: Date and time of IP's creation (RFC 3339 format).
552
+ :param pulumi.Input[bool] is_ipv6: Defines whether to request an IPv6 address instead of IPv4.
553
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project the IP is associated with.
554
+ :param pulumi.Input[str] region: `region`) The region of the IP.
555
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpResourceArgs', 'IpamIpResourceArgsDict']]]] resources: The IP resource.
556
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpReverseArgs', 'IpamIpReverseArgsDict']]]] reverses: The reverse DNS for this IP.
557
+ :param pulumi.Input[Sequence[pulumi.Input[Union['IpamIpSourceArgs', 'IpamIpSourceArgsDict']]]] sources: The source in which to book the IP.
558
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IP.
559
+ :param pulumi.Input[str] updated_at: Date and time of IP's last update (RFC 3339 format).
560
+ :param pulumi.Input[str] zone: The zone of the IP.
561
+ """
562
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
563
+
564
+ __props__ = _IpamIpState.__new__(_IpamIpState)
565
+
566
+ __props__.__dict__["address"] = address
567
+ __props__.__dict__["created_at"] = created_at
568
+ __props__.__dict__["is_ipv6"] = is_ipv6
569
+ __props__.__dict__["project_id"] = project_id
570
+ __props__.__dict__["region"] = region
571
+ __props__.__dict__["resources"] = resources
572
+ __props__.__dict__["reverses"] = reverses
573
+ __props__.__dict__["sources"] = sources
574
+ __props__.__dict__["tags"] = tags
575
+ __props__.__dict__["updated_at"] = updated_at
576
+ __props__.__dict__["zone"] = zone
577
+ return IpamIp(resource_name, opts=opts, __props__=__props__)
578
+
579
+ @property
580
+ @pulumi.getter
581
+ def address(self) -> pulumi.Output[str]:
582
+ """
583
+ Request a specific IP in the requested source pool
584
+ """
585
+ return pulumi.get(self, "address")
586
+
587
+ @property
588
+ @pulumi.getter(name="createdAt")
589
+ def created_at(self) -> pulumi.Output[str]:
590
+ """
591
+ Date and time of IP's creation (RFC 3339 format).
592
+ """
593
+ return pulumi.get(self, "created_at")
594
+
595
+ @property
596
+ @pulumi.getter(name="isIpv6")
597
+ def is_ipv6(self) -> pulumi.Output[Optional[bool]]:
598
+ """
599
+ Defines whether to request an IPv6 address instead of IPv4.
600
+ """
601
+ return pulumi.get(self, "is_ipv6")
602
+
603
+ @property
604
+ @pulumi.getter(name="projectId")
605
+ def project_id(self) -> pulumi.Output[str]:
606
+ """
607
+ `project_id`) The ID of the Project the IP is associated with.
608
+ """
609
+ return pulumi.get(self, "project_id")
610
+
611
+ @property
612
+ @pulumi.getter
613
+ def region(self) -> pulumi.Output[str]:
614
+ """
615
+ `region`) The region of the IP.
616
+ """
617
+ return pulumi.get(self, "region")
618
+
619
+ @property
620
+ @pulumi.getter
621
+ def resources(self) -> pulumi.Output[Sequence['outputs.IpamIpResource']]:
622
+ """
623
+ The IP resource.
624
+ """
625
+ return pulumi.get(self, "resources")
626
+
627
+ @property
628
+ @pulumi.getter
629
+ def reverses(self) -> pulumi.Output[Sequence['outputs.IpamIpReverse']]:
630
+ """
631
+ The reverse DNS for this IP.
632
+ """
633
+ return pulumi.get(self, "reverses")
634
+
635
+ @property
636
+ @pulumi.getter
637
+ def sources(self) -> pulumi.Output[Sequence['outputs.IpamIpSource']]:
638
+ """
639
+ The source in which to book the IP.
640
+ """
641
+ return pulumi.get(self, "sources")
642
+
643
+ @property
644
+ @pulumi.getter
645
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
646
+ """
647
+ The tags associated with the IP.
648
+ """
649
+ return pulumi.get(self, "tags")
650
+
651
+ @property
652
+ @pulumi.getter(name="updatedAt")
653
+ def updated_at(self) -> pulumi.Output[str]:
654
+ """
655
+ Date and time of IP's last update (RFC 3339 format).
656
+ """
657
+ return pulumi.get(self, "updated_at")
658
+
659
+ @property
660
+ @pulumi.getter
661
+ def zone(self) -> pulumi.Output[str]:
662
+ """
663
+ The zone of the IP.
664
+ """
665
+ return pulumi.get(self, "zone")
666
+