pulumiverse-scaleway 1.23.0a1736837529__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 +1065 -0
  2. pulumiverse_scaleway/_inputs.py +8688 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +454 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1579 -0
  8. pulumiverse_scaleway/block_snapshot.py +401 -0
  9. pulumiverse_scaleway/block_volume.py +527 -0
  10. pulumiverse_scaleway/cockpit.py +314 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +401 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +362 -0
  13. pulumiverse_scaleway/cockpit_source.py +567 -0
  14. pulumiverse_scaleway/cockpit_token.py +479 -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 +1373 -0
  19. pulumiverse_scaleway/container_cron.py +458 -0
  20. pulumiverse_scaleway/container_domain.py +406 -0
  21. pulumiverse_scaleway/container_namespace.py +636 -0
  22. pulumiverse_scaleway/container_token.py +452 -0
  23. pulumiverse_scaleway/container_trigger.py +480 -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 +1641 -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/domain_record.py +1116 -0
  32. pulumiverse_scaleway/domain_zone.py +430 -0
  33. pulumiverse_scaleway/flexible_ip.py +702 -0
  34. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  35. pulumiverse_scaleway/function.py +1103 -0
  36. pulumiverse_scaleway/function_cron.py +462 -0
  37. pulumiverse_scaleway/function_domain.py +370 -0
  38. pulumiverse_scaleway/function_namespace.py +580 -0
  39. pulumiverse_scaleway/function_token.py +460 -0
  40. pulumiverse_scaleway/function_trigger.py +480 -0
  41. pulumiverse_scaleway/get_account_project.py +170 -0
  42. pulumiverse_scaleway/get_account_ssh_key.py +205 -0
  43. pulumiverse_scaleway/get_availability_zones.py +139 -0
  44. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  45. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  46. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  47. pulumiverse_scaleway/get_baremetal_server.py +422 -0
  48. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  49. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  50. pulumiverse_scaleway/get_block_snapshot.py +174 -0
  51. pulumiverse_scaleway/get_block_volume.py +188 -0
  52. pulumiverse_scaleway/get_cockpit.py +204 -0
  53. pulumiverse_scaleway/get_cockpit_plan.py +125 -0
  54. pulumiverse_scaleway/get_cockpit_source.py +262 -0
  55. pulumiverse_scaleway/get_config.py +180 -0
  56. pulumiverse_scaleway/get_container.py +522 -0
  57. pulumiverse_scaleway/get_container_namespace.py +283 -0
  58. pulumiverse_scaleway/get_database.py +187 -0
  59. pulumiverse_scaleway/get_database_acl.py +143 -0
  60. pulumiverse_scaleway/get_database_backup.py +253 -0
  61. pulumiverse_scaleway/get_database_instance.py +404 -0
  62. pulumiverse_scaleway/get_database_privilege.py +181 -0
  63. pulumiverse_scaleway/get_domain_record.py +340 -0
  64. pulumiverse_scaleway/get_domain_zone.py +201 -0
  65. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  66. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  67. pulumiverse_scaleway/get_function.py +365 -0
  68. pulumiverse_scaleway/get_function_namespace.py +238 -0
  69. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  70. pulumiverse_scaleway/get_iam_application.py +210 -0
  71. pulumiverse_scaleway/get_iam_group.py +236 -0
  72. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  73. pulumiverse_scaleway/get_iam_user.py +177 -0
  74. pulumiverse_scaleway/get_instance_image.py +305 -0
  75. pulumiverse_scaleway/get_instance_ip.py +204 -0
  76. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  77. pulumiverse_scaleway/get_instance_private_nic.py +226 -0
  78. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  79. pulumiverse_scaleway/get_instance_server.py +502 -0
  80. pulumiverse_scaleway/get_instance_servers.py +187 -0
  81. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  82. pulumiverse_scaleway/get_instance_volume.py +215 -0
  83. pulumiverse_scaleway/get_iot_device.py +257 -0
  84. pulumiverse_scaleway/get_iot_hub.py +322 -0
  85. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  86. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  87. pulumiverse_scaleway/get_k8s_version.py +196 -0
  88. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  89. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  90. pulumiverse_scaleway/get_lb_acls.py +198 -0
  91. pulumiverse_scaleway/get_lb_backend.py +486 -0
  92. pulumiverse_scaleway/get_lb_backends.py +196 -0
  93. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  94. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  95. pulumiverse_scaleway/get_lb_ips.py +198 -0
  96. pulumiverse_scaleway/get_lb_route.py +217 -0
  97. pulumiverse_scaleway/get_lb_routes.py +179 -0
  98. pulumiverse_scaleway/get_lbs.py +187 -0
  99. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  100. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  101. pulumiverse_scaleway/get_loadbalancer_ip.py +228 -0
  102. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  103. pulumiverse_scaleway/get_mnq_sns.py +150 -0
  104. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  105. pulumiverse_scaleway/get_mongo_db_instance.py +324 -0
  106. pulumiverse_scaleway/get_object_bucket.py +290 -0
  107. pulumiverse_scaleway/get_object_bucket_policy.py +163 -0
  108. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  109. pulumiverse_scaleway/get_registry_image.py +239 -0
  110. pulumiverse_scaleway/get_registry_image_tag.py +229 -0
  111. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  112. pulumiverse_scaleway/get_secret.py +338 -0
  113. pulumiverse_scaleway/get_secret_version.py +340 -0
  114. pulumiverse_scaleway/get_tem_domain.py +378 -0
  115. pulumiverse_scaleway/get_vpc.py +246 -0
  116. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  117. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  118. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  119. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  120. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  121. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  122. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  123. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  124. pulumiverse_scaleway/get_vpcs.py +174 -0
  125. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  126. pulumiverse_scaleway/get_webhosting.py +332 -0
  127. pulumiverse_scaleway/iam_api_key.py +620 -0
  128. pulumiverse_scaleway/iam_application.py +417 -0
  129. pulumiverse_scaleway/iam_group.py +566 -0
  130. pulumiverse_scaleway/iam_group_membership.py +323 -0
  131. pulumiverse_scaleway/iam_policy.py +773 -0
  132. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  133. pulumiverse_scaleway/iam_user.py +513 -0
  134. pulumiverse_scaleway/inference_deployment.py +822 -0
  135. pulumiverse_scaleway/instance_image.py +750 -0
  136. pulumiverse_scaleway/instance_ip.py +483 -0
  137. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  138. pulumiverse_scaleway/instance_placement_group.py +479 -0
  139. pulumiverse_scaleway/instance_private_nic.py +555 -0
  140. pulumiverse_scaleway/instance_security_group.py +720 -0
  141. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  142. pulumiverse_scaleway/instance_server.py +2006 -0
  143. pulumiverse_scaleway/instance_snapshot.py +669 -0
  144. pulumiverse_scaleway/instance_user_data.py +435 -0
  145. pulumiverse_scaleway/instance_volume.py +535 -0
  146. pulumiverse_scaleway/iot_device.py +750 -0
  147. pulumiverse_scaleway/iot_hub.py +896 -0
  148. pulumiverse_scaleway/iot_network.py +472 -0
  149. pulumiverse_scaleway/iot_route.py +660 -0
  150. pulumiverse_scaleway/ipam_ip.py +757 -0
  151. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  152. pulumiverse_scaleway/job_definition.py +692 -0
  153. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  154. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  155. pulumiverse_scaleway/loadbalancer.py +1061 -0
  156. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  157. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  158. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  159. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  160. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  161. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  162. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  163. pulumiverse_scaleway/mnq_nats_credentials.py +330 -0
  164. pulumiverse_scaleway/mnq_sns.py +306 -0
  165. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  166. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  167. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  168. pulumiverse_scaleway/mnq_sqs.py +304 -0
  169. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  171. pulumiverse_scaleway/mongo_db_instance.py +907 -0
  172. pulumiverse_scaleway/mongo_db_snapshot.py +521 -0
  173. pulumiverse_scaleway/object_bucket.py +874 -0
  174. pulumiverse_scaleway/object_bucket_acl.py +596 -0
  175. pulumiverse_scaleway/object_bucket_lock_configuration.py +395 -0
  176. pulumiverse_scaleway/object_bucket_policy.py +673 -0
  177. pulumiverse_scaleway/object_bucket_website_configuration.py +534 -0
  178. pulumiverse_scaleway/object_item.py +776 -0
  179. pulumiverse_scaleway/outputs.py +11808 -0
  180. pulumiverse_scaleway/provider.py +327 -0
  181. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  182. pulumiverse_scaleway/py.typed +0 -0
  183. pulumiverse_scaleway/redis_cluster.py +1201 -0
  184. pulumiverse_scaleway/registry_namespace.py +458 -0
  185. pulumiverse_scaleway/sdb_database.py +432 -0
  186. pulumiverse_scaleway/secret.py +663 -0
  187. pulumiverse_scaleway/secret_version.py +487 -0
  188. pulumiverse_scaleway/tem_domain.py +1030 -0
  189. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  190. pulumiverse_scaleway/tem_webhook.py +640 -0
  191. pulumiverse_scaleway/vpc.py +536 -0
  192. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  193. pulumiverse_scaleway/vpc_private_network.py +734 -0
  194. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  195. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  197. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  199. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  200. pulumiverse_scaleway/vpc_route.py +577 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.23.0a1736837529.dist-info/METADATA +77 -0
  203. pulumiverse_scaleway-1.23.0a1736837529.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.23.0a1736837529.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.23.0a1736837529.dist-info/top_level.txt +1 -0
@@ -0,0 +1,358 @@
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__ = [
20
+ 'GetIpamIpsResult',
21
+ 'AwaitableGetIpamIpsResult',
22
+ 'get_ipam_ips',
23
+ 'get_ipam_ips_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetIpamIpsResult:
28
+ """
29
+ A collection of values returned by getIpamIps.
30
+ """
31
+ def __init__(__self__, attached=None, id=None, ips=None, mac_address=None, organization_id=None, private_network_id=None, project_id=None, region=None, resource=None, tags=None, type=None, zonal=None):
32
+ if attached and not isinstance(attached, bool):
33
+ raise TypeError("Expected argument 'attached' to be a bool")
34
+ pulumi.set(__self__, "attached", attached)
35
+ if id and not isinstance(id, str):
36
+ raise TypeError("Expected argument 'id' to be a str")
37
+ pulumi.set(__self__, "id", id)
38
+ if ips and not isinstance(ips, list):
39
+ raise TypeError("Expected argument 'ips' to be a list")
40
+ pulumi.set(__self__, "ips", ips)
41
+ if mac_address and not isinstance(mac_address, str):
42
+ raise TypeError("Expected argument 'mac_address' to be a str")
43
+ pulumi.set(__self__, "mac_address", mac_address)
44
+ if organization_id and not isinstance(organization_id, str):
45
+ raise TypeError("Expected argument 'organization_id' to be a str")
46
+ pulumi.set(__self__, "organization_id", organization_id)
47
+ if private_network_id and not isinstance(private_network_id, str):
48
+ raise TypeError("Expected argument 'private_network_id' to be a str")
49
+ pulumi.set(__self__, "private_network_id", private_network_id)
50
+ if project_id and not isinstance(project_id, str):
51
+ raise TypeError("Expected argument 'project_id' to be a str")
52
+ pulumi.set(__self__, "project_id", project_id)
53
+ if region and not isinstance(region, str):
54
+ raise TypeError("Expected argument 'region' to be a str")
55
+ pulumi.set(__self__, "region", region)
56
+ if resource and not isinstance(resource, dict):
57
+ raise TypeError("Expected argument 'resource' to be a dict")
58
+ pulumi.set(__self__, "resource", resource)
59
+ if tags and not isinstance(tags, list):
60
+ raise TypeError("Expected argument 'tags' to be a list")
61
+ pulumi.set(__self__, "tags", tags)
62
+ if type and not isinstance(type, str):
63
+ raise TypeError("Expected argument 'type' to be a str")
64
+ pulumi.set(__self__, "type", type)
65
+ if zonal and not isinstance(zonal, str):
66
+ raise TypeError("Expected argument 'zonal' to be a str")
67
+ pulumi.set(__self__, "zonal", zonal)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def attached(self) -> Optional[bool]:
72
+ return pulumi.get(self, "attached")
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def id(self) -> str:
77
+ """
78
+ The provider-assigned unique ID for this managed resource.
79
+ """
80
+ return pulumi.get(self, "id")
81
+
82
+ @property
83
+ @pulumi.getter
84
+ def ips(self) -> Sequence['outputs.GetIpamIpsIpResult']:
85
+ """
86
+ List of found IPs.
87
+ """
88
+ return pulumi.get(self, "ips")
89
+
90
+ @property
91
+ @pulumi.getter(name="macAddress")
92
+ def mac_address(self) -> Optional[str]:
93
+ """
94
+ The associated MAC address.
95
+ """
96
+ return pulumi.get(self, "mac_address")
97
+
98
+ @property
99
+ @pulumi.getter(name="organizationId")
100
+ def organization_id(self) -> str:
101
+ return pulumi.get(self, "organization_id")
102
+
103
+ @property
104
+ @pulumi.getter(name="privateNetworkId")
105
+ def private_network_id(self) -> Optional[str]:
106
+ return pulumi.get(self, "private_network_id")
107
+
108
+ @property
109
+ @pulumi.getter(name="projectId")
110
+ def project_id(self) -> str:
111
+ """
112
+ The ID of the Project the resource is associated with.
113
+ """
114
+ return pulumi.get(self, "project_id")
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def region(self) -> str:
119
+ """
120
+ The region of the IP.
121
+ """
122
+ return pulumi.get(self, "region")
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def resource(self) -> Optional['outputs.GetIpamIpsResourceResult']:
127
+ """
128
+ The list of public IPs attached to the resource.
129
+ """
130
+ return pulumi.get(self, "resource")
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def tags(self) -> Optional[Sequence[str]]:
135
+ """
136
+ The tags associated with the IP.
137
+ """
138
+ return pulumi.get(self, "tags")
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def type(self) -> Optional[str]:
143
+ """
144
+ The type of resource.
145
+ """
146
+ return pulumi.get(self, "type")
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def zonal(self) -> str:
151
+ return pulumi.get(self, "zonal")
152
+
153
+
154
+ class AwaitableGetIpamIpsResult(GetIpamIpsResult):
155
+ # pylint: disable=using-constant-test
156
+ def __await__(self):
157
+ if False:
158
+ yield self
159
+ return GetIpamIpsResult(
160
+ attached=self.attached,
161
+ id=self.id,
162
+ ips=self.ips,
163
+ mac_address=self.mac_address,
164
+ organization_id=self.organization_id,
165
+ private_network_id=self.private_network_id,
166
+ project_id=self.project_id,
167
+ region=self.region,
168
+ resource=self.resource,
169
+ tags=self.tags,
170
+ type=self.type,
171
+ zonal=self.zonal)
172
+
173
+
174
+ def get_ipam_ips(attached: Optional[bool] = None,
175
+ mac_address: Optional[str] = None,
176
+ private_network_id: Optional[str] = None,
177
+ project_id: Optional[str] = None,
178
+ region: Optional[str] = None,
179
+ resource: Optional[Union['GetIpamIpsResourceArgs', 'GetIpamIpsResourceArgsDict']] = None,
180
+ tags: Optional[Sequence[str]] = None,
181
+ type: Optional[str] = None,
182
+ zonal: Optional[str] = None,
183
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIpamIpsResult:
184
+ """
185
+ Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service.
186
+
187
+ For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).
188
+
189
+ ## Examples
190
+
191
+ ### By tag
192
+
193
+ ```python
194
+ import pulumi
195
+ import pulumi_scaleway as scaleway
196
+
197
+ by_tag = scaleway.get_ipam_ips(tags=["tag"])
198
+ ```
199
+
200
+ ### By type and resource
201
+
202
+ ```python
203
+ import pulumi
204
+ import pulumi_scaleway as scaleway
205
+ import pulumiverse_scaleway as scaleway
206
+
207
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
208
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
209
+ vpc_id=vpc01.id,
210
+ ipv4_subnet={
211
+ "subnet": "172.16.32.0/22",
212
+ })
213
+ redis01 = scaleway.RedisCluster("redis01",
214
+ name="my_redis_cluster",
215
+ version="7.0.5",
216
+ node_type="RED1-XS",
217
+ user_name="my_initial_user",
218
+ password="thiZ_is_v&ry_s3cret",
219
+ cluster_size=3,
220
+ private_networks=[{
221
+ "id": pn01.id,
222
+ }])
223
+ by_type_and_resource = scaleway.get_ipam_ips_output(type="ipv4",
224
+ resource={
225
+ "id": redis01.id,
226
+ "type": "redis_cluster",
227
+ })
228
+ ```
229
+
230
+
231
+ :param bool attached: Defines whether to filter only for IPs which are attached to a resource.
232
+ :param str mac_address: The linked MAC address to filter for.
233
+ :param str private_network_id: The ID of the Private Network to filter for.
234
+ :param str project_id: The ID of the Project to filter for.
235
+ :param str region: The region to filter for.
236
+ :param Union['GetIpamIpsResourceArgs', 'GetIpamIpsResourceArgsDict'] resource: Filter for a resource attached to the IP, using resource ID, type or name.
237
+ :param Sequence[str] tags: The IP tags to filter for.
238
+ :param str type: The type of IP to filter for (`ipv4` or `ipv6`).
239
+ :param str zonal: Only IPs that are zonal, and in this zone, will be returned.
240
+ """
241
+ __args__ = dict()
242
+ __args__['attached'] = attached
243
+ __args__['macAddress'] = mac_address
244
+ __args__['privateNetworkId'] = private_network_id
245
+ __args__['projectId'] = project_id
246
+ __args__['region'] = region
247
+ __args__['resource'] = resource
248
+ __args__['tags'] = tags
249
+ __args__['type'] = type
250
+ __args__['zonal'] = zonal
251
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
252
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getIpamIps:getIpamIps', __args__, opts=opts, typ=GetIpamIpsResult).value
253
+
254
+ return AwaitableGetIpamIpsResult(
255
+ attached=pulumi.get(__ret__, 'attached'),
256
+ id=pulumi.get(__ret__, 'id'),
257
+ ips=pulumi.get(__ret__, 'ips'),
258
+ mac_address=pulumi.get(__ret__, 'mac_address'),
259
+ organization_id=pulumi.get(__ret__, 'organization_id'),
260
+ private_network_id=pulumi.get(__ret__, 'private_network_id'),
261
+ project_id=pulumi.get(__ret__, 'project_id'),
262
+ region=pulumi.get(__ret__, 'region'),
263
+ resource=pulumi.get(__ret__, 'resource'),
264
+ tags=pulumi.get(__ret__, 'tags'),
265
+ type=pulumi.get(__ret__, 'type'),
266
+ zonal=pulumi.get(__ret__, 'zonal'))
267
+ def get_ipam_ips_output(attached: Optional[pulumi.Input[Optional[bool]]] = None,
268
+ mac_address: Optional[pulumi.Input[Optional[str]]] = None,
269
+ private_network_id: Optional[pulumi.Input[Optional[str]]] = None,
270
+ project_id: Optional[pulumi.Input[Optional[str]]] = None,
271
+ region: Optional[pulumi.Input[Optional[str]]] = None,
272
+ resource: Optional[pulumi.Input[Optional[Union['GetIpamIpsResourceArgs', 'GetIpamIpsResourceArgsDict']]]] = None,
273
+ tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
274
+ type: Optional[pulumi.Input[Optional[str]]] = None,
275
+ zonal: Optional[pulumi.Input[Optional[str]]] = None,
276
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIpamIpsResult]:
277
+ """
278
+ Gets information about multiple IP addresses managed by Scaleway's IP Address Management (IPAM) service.
279
+
280
+ For more information about IPAM, see the main [documentation](https://www.scaleway.com/en/docs/network/vpc/concepts/#ipam).
281
+
282
+ ## Examples
283
+
284
+ ### By tag
285
+
286
+ ```python
287
+ import pulumi
288
+ import pulumi_scaleway as scaleway
289
+
290
+ by_tag = scaleway.get_ipam_ips(tags=["tag"])
291
+ ```
292
+
293
+ ### By type and resource
294
+
295
+ ```python
296
+ import pulumi
297
+ import pulumi_scaleway as scaleway
298
+ import pulumiverse_scaleway as scaleway
299
+
300
+ vpc01 = scaleway.Vpc("vpc01", name="my vpc")
301
+ pn01 = scaleway.VpcPrivateNetwork("pn01",
302
+ vpc_id=vpc01.id,
303
+ ipv4_subnet={
304
+ "subnet": "172.16.32.0/22",
305
+ })
306
+ redis01 = scaleway.RedisCluster("redis01",
307
+ name="my_redis_cluster",
308
+ version="7.0.5",
309
+ node_type="RED1-XS",
310
+ user_name="my_initial_user",
311
+ password="thiZ_is_v&ry_s3cret",
312
+ cluster_size=3,
313
+ private_networks=[{
314
+ "id": pn01.id,
315
+ }])
316
+ by_type_and_resource = scaleway.get_ipam_ips_output(type="ipv4",
317
+ resource={
318
+ "id": redis01.id,
319
+ "type": "redis_cluster",
320
+ })
321
+ ```
322
+
323
+
324
+ :param bool attached: Defines whether to filter only for IPs which are attached to a resource.
325
+ :param str mac_address: The linked MAC address to filter for.
326
+ :param str private_network_id: The ID of the Private Network to filter for.
327
+ :param str project_id: The ID of the Project to filter for.
328
+ :param str region: The region to filter for.
329
+ :param Union['GetIpamIpsResourceArgs', 'GetIpamIpsResourceArgsDict'] resource: Filter for a resource attached to the IP, using resource ID, type or name.
330
+ :param Sequence[str] tags: The IP tags to filter for.
331
+ :param str type: The type of IP to filter for (`ipv4` or `ipv6`).
332
+ :param str zonal: Only IPs that are zonal, and in this zone, will be returned.
333
+ """
334
+ __args__ = dict()
335
+ __args__['attached'] = attached
336
+ __args__['macAddress'] = mac_address
337
+ __args__['privateNetworkId'] = private_network_id
338
+ __args__['projectId'] = project_id
339
+ __args__['region'] = region
340
+ __args__['resource'] = resource
341
+ __args__['tags'] = tags
342
+ __args__['type'] = type
343
+ __args__['zonal'] = zonal
344
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
345
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getIpamIps:getIpamIps', __args__, opts=opts, typ=GetIpamIpsResult)
346
+ return __ret__.apply(lambda __response__: GetIpamIpsResult(
347
+ attached=pulumi.get(__response__, 'attached'),
348
+ id=pulumi.get(__response__, 'id'),
349
+ ips=pulumi.get(__response__, 'ips'),
350
+ mac_address=pulumi.get(__response__, 'mac_address'),
351
+ organization_id=pulumi.get(__response__, 'organization_id'),
352
+ private_network_id=pulumi.get(__response__, 'private_network_id'),
353
+ project_id=pulumi.get(__response__, 'project_id'),
354
+ region=pulumi.get(__response__, 'region'),
355
+ resource=pulumi.get(__response__, 'resource'),
356
+ tags=pulumi.get(__response__, 'tags'),
357
+ type=pulumi.get(__response__, 'type'),
358
+ zonal=pulumi.get(__response__, 'zonal')))
@@ -0,0 +1,196 @@
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
+ 'GetK8sVersionResult',
19
+ 'AwaitableGetK8sVersionResult',
20
+ 'get_k8s_version',
21
+ 'get_k8s_version_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetK8sVersionResult:
26
+ """
27
+ A collection of values returned by getK8sVersion.
28
+ """
29
+ def __init__(__self__, available_cnis=None, available_container_runtimes=None, available_feature_gates=None, id=None, name=None, region=None):
30
+ if available_cnis and not isinstance(available_cnis, list):
31
+ raise TypeError("Expected argument 'available_cnis' to be a list")
32
+ pulumi.set(__self__, "available_cnis", available_cnis)
33
+ if available_container_runtimes and not isinstance(available_container_runtimes, list):
34
+ raise TypeError("Expected argument 'available_container_runtimes' to be a list")
35
+ pulumi.set(__self__, "available_container_runtimes", available_container_runtimes)
36
+ if available_feature_gates and not isinstance(available_feature_gates, list):
37
+ raise TypeError("Expected argument 'available_feature_gates' to be a list")
38
+ pulumi.set(__self__, "available_feature_gates", available_feature_gates)
39
+ if id and not isinstance(id, str):
40
+ raise TypeError("Expected argument 'id' to be a str")
41
+ pulumi.set(__self__, "id", id)
42
+ if name and not isinstance(name, str):
43
+ raise TypeError("Expected argument 'name' to be a str")
44
+ pulumi.set(__self__, "name", name)
45
+ if region and not isinstance(region, str):
46
+ raise TypeError("Expected argument 'region' to be a str")
47
+ pulumi.set(__self__, "region", region)
48
+
49
+ @property
50
+ @pulumi.getter(name="availableCnis")
51
+ def available_cnis(self) -> Sequence[str]:
52
+ """
53
+ The list of supported Container Network Interface (CNI) plugins for this version.
54
+ """
55
+ return pulumi.get(self, "available_cnis")
56
+
57
+ @property
58
+ @pulumi.getter(name="availableContainerRuntimes")
59
+ def available_container_runtimes(self) -> Sequence[str]:
60
+ """
61
+ The list of supported container runtimes for this version.
62
+ """
63
+ return pulumi.get(self, "available_container_runtimes")
64
+
65
+ @property
66
+ @pulumi.getter(name="availableFeatureGates")
67
+ def available_feature_gates(self) -> Sequence[str]:
68
+ """
69
+ The list of supported feature gates for this version.
70
+ """
71
+ return pulumi.get(self, "available_feature_gates")
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def id(self) -> str:
76
+ """
77
+ The provider-assigned unique ID for this managed resource.
78
+ """
79
+ return pulumi.get(self, "id")
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def name(self) -> str:
84
+ return pulumi.get(self, "name")
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def region(self) -> str:
89
+ return pulumi.get(self, "region")
90
+
91
+
92
+ class AwaitableGetK8sVersionResult(GetK8sVersionResult):
93
+ # pylint: disable=using-constant-test
94
+ def __await__(self):
95
+ if False:
96
+ yield self
97
+ return GetK8sVersionResult(
98
+ available_cnis=self.available_cnis,
99
+ available_container_runtimes=self.available_container_runtimes,
100
+ available_feature_gates=self.available_feature_gates,
101
+ id=self.id,
102
+ name=self.name,
103
+ region=self.region)
104
+
105
+
106
+ def get_k8s_version(name: Optional[str] = None,
107
+ region: Optional[str] = None,
108
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetK8sVersionResult:
109
+ """
110
+ Gets information about a Kubernetes version.
111
+ For more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api).
112
+
113
+ You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions.
114
+
115
+ ## Example Usage
116
+
117
+ ### Use the latest version
118
+
119
+ ```python
120
+ import pulumi
121
+ import pulumi_scaleway as scaleway
122
+
123
+ latest = scaleway.get_k8s_version(name="latest")
124
+ ```
125
+
126
+ ### Use a specific version
127
+
128
+ ```python
129
+ import pulumi
130
+ import pulumi_scaleway as scaleway
131
+
132
+ by_name = scaleway.get_k8s_version(name="1.26.0")
133
+ ```
134
+
135
+
136
+ :param str name: The name of the Kubernetes version.
137
+ :param str region: `region`) The region in which the version exists.
138
+ """
139
+ __args__ = dict()
140
+ __args__['name'] = name
141
+ __args__['region'] = region
142
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
143
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getK8sVersion:getK8sVersion', __args__, opts=opts, typ=GetK8sVersionResult).value
144
+
145
+ return AwaitableGetK8sVersionResult(
146
+ available_cnis=pulumi.get(__ret__, 'available_cnis'),
147
+ available_container_runtimes=pulumi.get(__ret__, 'available_container_runtimes'),
148
+ available_feature_gates=pulumi.get(__ret__, 'available_feature_gates'),
149
+ id=pulumi.get(__ret__, 'id'),
150
+ name=pulumi.get(__ret__, 'name'),
151
+ region=pulumi.get(__ret__, 'region'))
152
+ def get_k8s_version_output(name: Optional[pulumi.Input[str]] = None,
153
+ region: Optional[pulumi.Input[Optional[str]]] = None,
154
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetK8sVersionResult]:
155
+ """
156
+ Gets information about a Kubernetes version.
157
+ For more information, see [the documentation](https://developers.scaleway.com/en/products/k8s/api).
158
+
159
+ You can also use the [scaleway-cli](https://github.com/scaleway/scaleway-cli) with `scw k8s version list` to list all available versions.
160
+
161
+ ## Example Usage
162
+
163
+ ### Use the latest version
164
+
165
+ ```python
166
+ import pulumi
167
+ import pulumi_scaleway as scaleway
168
+
169
+ latest = scaleway.get_k8s_version(name="latest")
170
+ ```
171
+
172
+ ### Use a specific version
173
+
174
+ ```python
175
+ import pulumi
176
+ import pulumi_scaleway as scaleway
177
+
178
+ by_name = scaleway.get_k8s_version(name="1.26.0")
179
+ ```
180
+
181
+
182
+ :param str name: The name of the Kubernetes version.
183
+ :param str region: `region`) The region in which the version exists.
184
+ """
185
+ __args__ = dict()
186
+ __args__['name'] = name
187
+ __args__['region'] = region
188
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
189
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getK8sVersion:getK8sVersion', __args__, opts=opts, typ=GetK8sVersionResult)
190
+ return __ret__.apply(lambda __response__: GetK8sVersionResult(
191
+ available_cnis=pulumi.get(__response__, 'available_cnis'),
192
+ available_container_runtimes=pulumi.get(__response__, 'available_container_runtimes'),
193
+ available_feature_gates=pulumi.get(__response__, 'available_feature_gates'),
194
+ id=pulumi.get(__response__, 'id'),
195
+ name=pulumi.get(__response__, 'name'),
196
+ region=pulumi.get(__response__, 'region')))