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,201 @@
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
+ 'GetDomainZoneResult',
19
+ 'AwaitableGetDomainZoneResult',
20
+ 'get_domain_zone',
21
+ 'get_domain_zone_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetDomainZoneResult:
26
+ """
27
+ A collection of values returned by getDomainZone.
28
+ """
29
+ def __init__(__self__, domain=None, id=None, message=None, ns=None, ns_defaults=None, ns_masters=None, project_id=None, status=None, subdomain=None, updated_at=None):
30
+ if domain and not isinstance(domain, str):
31
+ raise TypeError("Expected argument 'domain' to be a str")
32
+ pulumi.set(__self__, "domain", domain)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if message and not isinstance(message, str):
37
+ raise TypeError("Expected argument 'message' to be a str")
38
+ pulumi.set(__self__, "message", message)
39
+ if ns and not isinstance(ns, list):
40
+ raise TypeError("Expected argument 'ns' to be a list")
41
+ pulumi.set(__self__, "ns", ns)
42
+ if ns_defaults and not isinstance(ns_defaults, list):
43
+ raise TypeError("Expected argument 'ns_defaults' to be a list")
44
+ pulumi.set(__self__, "ns_defaults", ns_defaults)
45
+ if ns_masters and not isinstance(ns_masters, list):
46
+ raise TypeError("Expected argument 'ns_masters' to be a list")
47
+ pulumi.set(__self__, "ns_masters", ns_masters)
48
+ if project_id and not isinstance(project_id, str):
49
+ raise TypeError("Expected argument 'project_id' to be a str")
50
+ pulumi.set(__self__, "project_id", project_id)
51
+ if status and not isinstance(status, str):
52
+ raise TypeError("Expected argument 'status' to be a str")
53
+ pulumi.set(__self__, "status", status)
54
+ if subdomain and not isinstance(subdomain, str):
55
+ raise TypeError("Expected argument 'subdomain' to be a str")
56
+ pulumi.set(__self__, "subdomain", subdomain)
57
+ if updated_at and not isinstance(updated_at, str):
58
+ raise TypeError("Expected argument 'updated_at' to be a str")
59
+ pulumi.set(__self__, "updated_at", updated_at)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def domain(self) -> Optional[str]:
64
+ return pulumi.get(self, "domain")
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def id(self) -> str:
69
+ """
70
+ The provider-assigned unique ID for this managed resource.
71
+ """
72
+ return pulumi.get(self, "id")
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def message(self) -> str:
77
+ """
78
+ Message associated with the domain zone (typically used for status or error messages).
79
+ """
80
+ return pulumi.get(self, "message")
81
+
82
+ @property
83
+ @pulumi.getter
84
+ def ns(self) -> Sequence[str]:
85
+ """
86
+ The list of name servers for the zone.
87
+ """
88
+ return pulumi.get(self, "ns")
89
+
90
+ @property
91
+ @pulumi.getter(name="nsDefaults")
92
+ def ns_defaults(self) -> Sequence[str]:
93
+ """
94
+ The default list of name servers for the zone.
95
+ """
96
+ return pulumi.get(self, "ns_defaults")
97
+
98
+ @property
99
+ @pulumi.getter(name="nsMasters")
100
+ def ns_masters(self) -> Sequence[str]:
101
+ """
102
+ The master list of name servers for the zone.
103
+ """
104
+ return pulumi.get(self, "ns_masters")
105
+
106
+ @property
107
+ @pulumi.getter(name="projectId")
108
+ def project_id(self) -> str:
109
+ return pulumi.get(self, "project_id")
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def status(self) -> str:
114
+ """
115
+ The status of the domain zone.
116
+ """
117
+ return pulumi.get(self, "status")
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def subdomain(self) -> Optional[str]:
122
+ return pulumi.get(self, "subdomain")
123
+
124
+ @property
125
+ @pulumi.getter(name="updatedAt")
126
+ def updated_at(self) -> str:
127
+ """
128
+ The date and time of the last update to the DNS zone.
129
+ """
130
+ return pulumi.get(self, "updated_at")
131
+
132
+
133
+ class AwaitableGetDomainZoneResult(GetDomainZoneResult):
134
+ # pylint: disable=using-constant-test
135
+ def __await__(self):
136
+ if False:
137
+ yield self
138
+ return GetDomainZoneResult(
139
+ domain=self.domain,
140
+ id=self.id,
141
+ message=self.message,
142
+ ns=self.ns,
143
+ ns_defaults=self.ns_defaults,
144
+ ns_masters=self.ns_masters,
145
+ project_id=self.project_id,
146
+ status=self.status,
147
+ subdomain=self.subdomain,
148
+ updated_at=self.updated_at)
149
+
150
+
151
+ def get_domain_zone(domain: Optional[str] = None,
152
+ subdomain: Optional[str] = None,
153
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainZoneResult:
154
+ """
155
+ Use this data source to access information about an existing resource.
156
+
157
+ :param str domain: The primary domain name where the DNS zone is located. This is a mandatory field.
158
+ :param str subdomain: The subdomain (or zone name) within the primary domain. This is a mandatory field.
159
+ """
160
+ __args__ = dict()
161
+ __args__['domain'] = domain
162
+ __args__['subdomain'] = subdomain
163
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
164
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getDomainZone:getDomainZone', __args__, opts=opts, typ=GetDomainZoneResult).value
165
+
166
+ return AwaitableGetDomainZoneResult(
167
+ domain=pulumi.get(__ret__, 'domain'),
168
+ id=pulumi.get(__ret__, 'id'),
169
+ message=pulumi.get(__ret__, 'message'),
170
+ ns=pulumi.get(__ret__, 'ns'),
171
+ ns_defaults=pulumi.get(__ret__, 'ns_defaults'),
172
+ ns_masters=pulumi.get(__ret__, 'ns_masters'),
173
+ project_id=pulumi.get(__ret__, 'project_id'),
174
+ status=pulumi.get(__ret__, 'status'),
175
+ subdomain=pulumi.get(__ret__, 'subdomain'),
176
+ updated_at=pulumi.get(__ret__, 'updated_at'))
177
+ def get_domain_zone_output(domain: Optional[pulumi.Input[Optional[str]]] = None,
178
+ subdomain: Optional[pulumi.Input[Optional[str]]] = None,
179
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainZoneResult]:
180
+ """
181
+ Use this data source to access information about an existing resource.
182
+
183
+ :param str domain: The primary domain name where the DNS zone is located. This is a mandatory field.
184
+ :param str subdomain: The subdomain (or zone name) within the primary domain. This is a mandatory field.
185
+ """
186
+ __args__ = dict()
187
+ __args__['domain'] = domain
188
+ __args__['subdomain'] = subdomain
189
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
190
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDomainZone:getDomainZone', __args__, opts=opts, typ=GetDomainZoneResult)
191
+ return __ret__.apply(lambda __response__: GetDomainZoneResult(
192
+ domain=pulumi.get(__response__, 'domain'),
193
+ id=pulumi.get(__response__, 'id'),
194
+ message=pulumi.get(__response__, 'message'),
195
+ ns=pulumi.get(__response__, 'ns'),
196
+ ns_defaults=pulumi.get(__response__, 'ns_defaults'),
197
+ ns_masters=pulumi.get(__response__, 'ns_masters'),
198
+ project_id=pulumi.get(__response__, 'project_id'),
199
+ status=pulumi.get(__response__, 'status'),
200
+ subdomain=pulumi.get(__response__, 'subdomain'),
201
+ updated_at=pulumi.get(__response__, 'updated_at')))
@@ -0,0 +1,247 @@
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
+ 'GetFlexibleIpResult',
19
+ 'AwaitableGetFlexibleIpResult',
20
+ 'get_flexible_ip',
21
+ 'get_flexible_ip_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetFlexibleIpResult:
26
+ """
27
+ A collection of values returned by getFlexibleIp.
28
+ """
29
+ def __init__(__self__, created_at=None, description=None, flexible_ip_id=None, id=None, ip_address=None, is_ipv6=None, organization_id=None, project_id=None, reverse=None, server_id=None, status=None, tags=None, updated_at=None, zone=None):
30
+ if created_at and not isinstance(created_at, str):
31
+ raise TypeError("Expected argument 'created_at' to be a str")
32
+ pulumi.set(__self__, "created_at", created_at)
33
+ if description and not isinstance(description, str):
34
+ raise TypeError("Expected argument 'description' to be a str")
35
+ pulumi.set(__self__, "description", description)
36
+ if flexible_ip_id and not isinstance(flexible_ip_id, str):
37
+ raise TypeError("Expected argument 'flexible_ip_id' to be a str")
38
+ pulumi.set(__self__, "flexible_ip_id", flexible_ip_id)
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 ip_address and not isinstance(ip_address, str):
43
+ raise TypeError("Expected argument 'ip_address' to be a str")
44
+ pulumi.set(__self__, "ip_address", ip_address)
45
+ if is_ipv6 and not isinstance(is_ipv6, bool):
46
+ raise TypeError("Expected argument 'is_ipv6' to be a bool")
47
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
48
+ if organization_id and not isinstance(organization_id, str):
49
+ raise TypeError("Expected argument 'organization_id' to be a str")
50
+ pulumi.set(__self__, "organization_id", organization_id)
51
+ if project_id and not isinstance(project_id, str):
52
+ raise TypeError("Expected argument 'project_id' to be a str")
53
+ pulumi.set(__self__, "project_id", project_id)
54
+ if reverse and not isinstance(reverse, str):
55
+ raise TypeError("Expected argument 'reverse' to be a str")
56
+ pulumi.set(__self__, "reverse", reverse)
57
+ if server_id and not isinstance(server_id, str):
58
+ raise TypeError("Expected argument 'server_id' to be a str")
59
+ pulumi.set(__self__, "server_id", server_id)
60
+ if status and not isinstance(status, str):
61
+ raise TypeError("Expected argument 'status' to be a str")
62
+ pulumi.set(__self__, "status", status)
63
+ if tags and not isinstance(tags, list):
64
+ raise TypeError("Expected argument 'tags' to be a list")
65
+ pulumi.set(__self__, "tags", tags)
66
+ if updated_at and not isinstance(updated_at, str):
67
+ raise TypeError("Expected argument 'updated_at' to be a str")
68
+ pulumi.set(__self__, "updated_at", updated_at)
69
+ if zone and not isinstance(zone, str):
70
+ raise TypeError("Expected argument 'zone' to be a str")
71
+ pulumi.set(__self__, "zone", zone)
72
+
73
+ @property
74
+ @pulumi.getter(name="createdAt")
75
+ def created_at(self) -> str:
76
+ return pulumi.get(self, "created_at")
77
+
78
+ @property
79
+ @pulumi.getter
80
+ def description(self) -> str:
81
+ return pulumi.get(self, "description")
82
+
83
+ @property
84
+ @pulumi.getter(name="flexibleIpId")
85
+ def flexible_ip_id(self) -> Optional[str]:
86
+ return pulumi.get(self, "flexible_ip_id")
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def id(self) -> str:
91
+ """
92
+ The provider-assigned unique ID for this managed resource.
93
+ """
94
+ return pulumi.get(self, "id")
95
+
96
+ @property
97
+ @pulumi.getter(name="ipAddress")
98
+ def ip_address(self) -> Optional[str]:
99
+ return pulumi.get(self, "ip_address")
100
+
101
+ @property
102
+ @pulumi.getter(name="isIpv6")
103
+ def is_ipv6(self) -> bool:
104
+ return pulumi.get(self, "is_ipv6")
105
+
106
+ @property
107
+ @pulumi.getter(name="organizationId")
108
+ def organization_id(self) -> str:
109
+ """
110
+ (Defaults to provider `organization_id`) The ID of the organization the IP is in.
111
+ """
112
+ return pulumi.get(self, "organization_id")
113
+
114
+ @property
115
+ @pulumi.getter(name="projectId")
116
+ def project_id(self) -> str:
117
+ """
118
+ (Defaults to provider `project_id`) The ID of the project the IP is in.
119
+ """
120
+ return pulumi.get(self, "project_id")
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def reverse(self) -> str:
125
+ """
126
+ The reverse domain associated with this IP.
127
+ """
128
+ return pulumi.get(self, "reverse")
129
+
130
+ @property
131
+ @pulumi.getter(name="serverId")
132
+ def server_id(self) -> str:
133
+ """
134
+ The associated server ID if any
135
+ """
136
+ return pulumi.get(self, "server_id")
137
+
138
+ @property
139
+ @pulumi.getter
140
+ def status(self) -> str:
141
+ return pulumi.get(self, "status")
142
+
143
+ @property
144
+ @pulumi.getter
145
+ def tags(self) -> Sequence[str]:
146
+ return pulumi.get(self, "tags")
147
+
148
+ @property
149
+ @pulumi.getter(name="updatedAt")
150
+ def updated_at(self) -> str:
151
+ return pulumi.get(self, "updated_at")
152
+
153
+ @property
154
+ @pulumi.getter
155
+ def zone(self) -> str:
156
+ return pulumi.get(self, "zone")
157
+
158
+
159
+ class AwaitableGetFlexibleIpResult(GetFlexibleIpResult):
160
+ # pylint: disable=using-constant-test
161
+ def __await__(self):
162
+ if False:
163
+ yield self
164
+ return GetFlexibleIpResult(
165
+ created_at=self.created_at,
166
+ description=self.description,
167
+ flexible_ip_id=self.flexible_ip_id,
168
+ id=self.id,
169
+ ip_address=self.ip_address,
170
+ is_ipv6=self.is_ipv6,
171
+ organization_id=self.organization_id,
172
+ project_id=self.project_id,
173
+ reverse=self.reverse,
174
+ server_id=self.server_id,
175
+ status=self.status,
176
+ tags=self.tags,
177
+ updated_at=self.updated_at,
178
+ zone=self.zone)
179
+
180
+
181
+ def get_flexible_ip(flexible_ip_id: Optional[str] = None,
182
+ ip_address: Optional[str] = None,
183
+ project_id: Optional[str] = None,
184
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFlexibleIpResult:
185
+ """
186
+ Gets information about a Flexible IP.
187
+
188
+
189
+ :param str ip_address: The IP address.
190
+ Only one of `ip_address` and `ip_id` should be specified.
191
+ :param str project_id: (Defaults to provider `project_id`) The ID of the project the IP is in.
192
+ """
193
+ __args__ = dict()
194
+ __args__['flexibleIpId'] = flexible_ip_id
195
+ __args__['ipAddress'] = ip_address
196
+ __args__['projectId'] = project_id
197
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
198
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getFlexibleIp:getFlexibleIp', __args__, opts=opts, typ=GetFlexibleIpResult).value
199
+
200
+ return AwaitableGetFlexibleIpResult(
201
+ created_at=pulumi.get(__ret__, 'created_at'),
202
+ description=pulumi.get(__ret__, 'description'),
203
+ flexible_ip_id=pulumi.get(__ret__, 'flexible_ip_id'),
204
+ id=pulumi.get(__ret__, 'id'),
205
+ ip_address=pulumi.get(__ret__, 'ip_address'),
206
+ is_ipv6=pulumi.get(__ret__, 'is_ipv6'),
207
+ organization_id=pulumi.get(__ret__, 'organization_id'),
208
+ project_id=pulumi.get(__ret__, 'project_id'),
209
+ reverse=pulumi.get(__ret__, 'reverse'),
210
+ server_id=pulumi.get(__ret__, 'server_id'),
211
+ status=pulumi.get(__ret__, 'status'),
212
+ tags=pulumi.get(__ret__, 'tags'),
213
+ updated_at=pulumi.get(__ret__, 'updated_at'),
214
+ zone=pulumi.get(__ret__, 'zone'))
215
+ def get_flexible_ip_output(flexible_ip_id: Optional[pulumi.Input[Optional[str]]] = None,
216
+ ip_address: Optional[pulumi.Input[Optional[str]]] = None,
217
+ project_id: Optional[pulumi.Input[Optional[str]]] = None,
218
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFlexibleIpResult]:
219
+ """
220
+ Gets information about a Flexible IP.
221
+
222
+
223
+ :param str ip_address: The IP address.
224
+ Only one of `ip_address` and `ip_id` should be specified.
225
+ :param str project_id: (Defaults to provider `project_id`) The ID of the project the IP is in.
226
+ """
227
+ __args__ = dict()
228
+ __args__['flexibleIpId'] = flexible_ip_id
229
+ __args__['ipAddress'] = ip_address
230
+ __args__['projectId'] = project_id
231
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
232
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFlexibleIp:getFlexibleIp', __args__, opts=opts, typ=GetFlexibleIpResult)
233
+ return __ret__.apply(lambda __response__: GetFlexibleIpResult(
234
+ created_at=pulumi.get(__response__, 'created_at'),
235
+ description=pulumi.get(__response__, 'description'),
236
+ flexible_ip_id=pulumi.get(__response__, 'flexible_ip_id'),
237
+ id=pulumi.get(__response__, 'id'),
238
+ ip_address=pulumi.get(__response__, 'ip_address'),
239
+ is_ipv6=pulumi.get(__response__, 'is_ipv6'),
240
+ organization_id=pulumi.get(__response__, 'organization_id'),
241
+ project_id=pulumi.get(__response__, 'project_id'),
242
+ reverse=pulumi.get(__response__, 'reverse'),
243
+ server_id=pulumi.get(__response__, 'server_id'),
244
+ status=pulumi.get(__response__, 'status'),
245
+ tags=pulumi.get(__response__, 'tags'),
246
+ updated_at=pulumi.get(__response__, 'updated_at'),
247
+ zone=pulumi.get(__response__, 'zone')))
@@ -0,0 +1,240 @@
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
+
18
+ __all__ = [
19
+ 'GetFlexibleIpsResult',
20
+ 'AwaitableGetFlexibleIpsResult',
21
+ 'get_flexible_ips',
22
+ 'get_flexible_ips_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetFlexibleIpsResult:
27
+ """
28
+ A collection of values returned by getFlexibleIps.
29
+ """
30
+ def __init__(__self__, id=None, ips=None, organization_id=None, project_id=None, server_ids=None, tags=None, zone=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if ips and not isinstance(ips, list):
35
+ raise TypeError("Expected argument 'ips' to be a list")
36
+ pulumi.set(__self__, "ips", ips)
37
+ if organization_id and not isinstance(organization_id, str):
38
+ raise TypeError("Expected argument 'organization_id' to be a str")
39
+ pulumi.set(__self__, "organization_id", organization_id)
40
+ if project_id and not isinstance(project_id, str):
41
+ raise TypeError("Expected argument 'project_id' to be a str")
42
+ pulumi.set(__self__, "project_id", project_id)
43
+ if server_ids and not isinstance(server_ids, list):
44
+ raise TypeError("Expected argument 'server_ids' to be a list")
45
+ pulumi.set(__self__, "server_ids", server_ids)
46
+ if tags and not isinstance(tags, list):
47
+ raise TypeError("Expected argument 'tags' to be a list")
48
+ pulumi.set(__self__, "tags", tags)
49
+ if zone and not isinstance(zone, str):
50
+ raise TypeError("Expected argument 'zone' to be a str")
51
+ pulumi.set(__self__, "zone", zone)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def id(self) -> str:
56
+ """
57
+ The provider-assigned unique ID for this managed resource.
58
+ """
59
+ return pulumi.get(self, "id")
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def ips(self) -> Sequence['outputs.GetFlexibleIpsIpResult']:
64
+ """
65
+ List of found flexible IPS
66
+ """
67
+ return pulumi.get(self, "ips")
68
+
69
+ @property
70
+ @pulumi.getter(name="organizationId")
71
+ def organization_id(self) -> str:
72
+ """
73
+ (Defaults to provider `organization_id`) The ID of the organization the IP is in.
74
+ """
75
+ return pulumi.get(self, "organization_id")
76
+
77
+ @property
78
+ @pulumi.getter(name="projectId")
79
+ def project_id(self) -> str:
80
+ """
81
+ (Defaults to provider `project_id`) The ID of the project the IP is in.
82
+ """
83
+ return pulumi.get(self, "project_id")
84
+
85
+ @property
86
+ @pulumi.getter(name="serverIds")
87
+ def server_ids(self) -> Optional[Sequence[str]]:
88
+ return pulumi.get(self, "server_ids")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def tags(self) -> Optional[Sequence[str]]:
93
+ """
94
+ The list of tags which are attached to the flexible IP.
95
+ """
96
+ return pulumi.get(self, "tags")
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def zone(self) -> str:
101
+ """
102
+ (Defaults to provider `zone`) The zone in which the MAC address exist.
103
+ """
104
+ return pulumi.get(self, "zone")
105
+
106
+
107
+ class AwaitableGetFlexibleIpsResult(GetFlexibleIpsResult):
108
+ # pylint: disable=using-constant-test
109
+ def __await__(self):
110
+ if False:
111
+ yield self
112
+ return GetFlexibleIpsResult(
113
+ id=self.id,
114
+ ips=self.ips,
115
+ organization_id=self.organization_id,
116
+ project_id=self.project_id,
117
+ server_ids=self.server_ids,
118
+ tags=self.tags,
119
+ zone=self.zone)
120
+
121
+
122
+ def get_flexible_ips(project_id: Optional[str] = None,
123
+ server_ids: Optional[Sequence[str]] = None,
124
+ tags: Optional[Sequence[str]] = None,
125
+ zone: Optional[str] = None,
126
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFlexibleIpsResult:
127
+ """
128
+ Gets information about multiple Flexible IPs.
129
+
130
+ ## Example Usage
131
+
132
+ ```python
133
+ import pulumi
134
+ import pulumi_scaleway as scaleway
135
+ import pulumiverse_scaleway as scaleway
136
+
137
+ # Find ips that share the same tags
138
+ fips_by_tags = scaleway.get_flexible_ips(tags=["a tag"])
139
+ # Find ips that share the same Server ID
140
+ my_offer = scaleway.get_baremetal_offer(name="EM-B112X-SSD")
141
+ base = scaleway.BaremetalServer("base",
142
+ name="MyServer",
143
+ offer=my_offer.offer_id,
144
+ install_config_afterward=True)
145
+ first = scaleway.FlexibleIp("first",
146
+ server_id=base.id,
147
+ tags=[
148
+ "foo",
149
+ "first",
150
+ ])
151
+ second = scaleway.FlexibleIp("second",
152
+ server_id=base.id,
153
+ tags=[
154
+ "foo",
155
+ "second",
156
+ ])
157
+ fips_by_server_id = scaleway.get_flexible_ips_output(server_ids=[base.id])
158
+ ```
159
+
160
+
161
+ :param str project_id: (Defaults to provider `project_id`) The ID of the project the IP is in.
162
+ :param Sequence[str] server_ids: List of server IDs used as filter. IPs with these exact server IDs are listed.
163
+ :param Sequence[str] tags: List of tags used as filter. IPs with these exact tags are listed.
164
+ :param str zone: `zone`) The zone in which IPs exist.
165
+ """
166
+ __args__ = dict()
167
+ __args__['projectId'] = project_id
168
+ __args__['serverIds'] = server_ids
169
+ __args__['tags'] = tags
170
+ __args__['zone'] = zone
171
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
172
+ __ret__ = pulumi.runtime.invoke('scaleway:index/getFlexibleIps:getFlexibleIps', __args__, opts=opts, typ=GetFlexibleIpsResult).value
173
+
174
+ return AwaitableGetFlexibleIpsResult(
175
+ id=pulumi.get(__ret__, 'id'),
176
+ ips=pulumi.get(__ret__, 'ips'),
177
+ organization_id=pulumi.get(__ret__, 'organization_id'),
178
+ project_id=pulumi.get(__ret__, 'project_id'),
179
+ server_ids=pulumi.get(__ret__, 'server_ids'),
180
+ tags=pulumi.get(__ret__, 'tags'),
181
+ zone=pulumi.get(__ret__, 'zone'))
182
+ def get_flexible_ips_output(project_id: Optional[pulumi.Input[Optional[str]]] = None,
183
+ server_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
184
+ tags: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
185
+ zone: Optional[pulumi.Input[Optional[str]]] = None,
186
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFlexibleIpsResult]:
187
+ """
188
+ Gets information about multiple Flexible IPs.
189
+
190
+ ## Example Usage
191
+
192
+ ```python
193
+ import pulumi
194
+ import pulumi_scaleway as scaleway
195
+ import pulumiverse_scaleway as scaleway
196
+
197
+ # Find ips that share the same tags
198
+ fips_by_tags = scaleway.get_flexible_ips(tags=["a tag"])
199
+ # Find ips that share the same Server ID
200
+ my_offer = scaleway.get_baremetal_offer(name="EM-B112X-SSD")
201
+ base = scaleway.BaremetalServer("base",
202
+ name="MyServer",
203
+ offer=my_offer.offer_id,
204
+ install_config_afterward=True)
205
+ first = scaleway.FlexibleIp("first",
206
+ server_id=base.id,
207
+ tags=[
208
+ "foo",
209
+ "first",
210
+ ])
211
+ second = scaleway.FlexibleIp("second",
212
+ server_id=base.id,
213
+ tags=[
214
+ "foo",
215
+ "second",
216
+ ])
217
+ fips_by_server_id = scaleway.get_flexible_ips_output(server_ids=[base.id])
218
+ ```
219
+
220
+
221
+ :param str project_id: (Defaults to provider `project_id`) The ID of the project the IP is in.
222
+ :param Sequence[str] server_ids: List of server IDs used as filter. IPs with these exact server IDs are listed.
223
+ :param Sequence[str] tags: List of tags used as filter. IPs with these exact tags are listed.
224
+ :param str zone: `zone`) The zone in which IPs exist.
225
+ """
226
+ __args__ = dict()
227
+ __args__['projectId'] = project_id
228
+ __args__['serverIds'] = server_ids
229
+ __args__['tags'] = tags
230
+ __args__['zone'] = zone
231
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
232
+ __ret__ = pulumi.runtime.invoke_output('scaleway:index/getFlexibleIps:getFlexibleIps', __args__, opts=opts, typ=GetFlexibleIpsResult)
233
+ return __ret__.apply(lambda __response__: GetFlexibleIpsResult(
234
+ id=pulumi.get(__response__, 'id'),
235
+ ips=pulumi.get(__response__, 'ips'),
236
+ organization_id=pulumi.get(__response__, 'organization_id'),
237
+ project_id=pulumi.get(__response__, 'project_id'),
238
+ server_ids=pulumi.get(__response__, 'server_ids'),
239
+ tags=pulumi.get(__response__, 'tags'),
240
+ zone=pulumi.get(__response__, 'zone')))