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,702 @@
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__ = ['FlexibleIpArgs', 'FlexibleIp']
18
+
19
+ @pulumi.input_type
20
+ class FlexibleIpArgs:
21
+ def __init__(__self__, *,
22
+ description: Optional[pulumi.Input[str]] = None,
23
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
24
+ project_id: Optional[pulumi.Input[str]] = None,
25
+ reverse: Optional[pulumi.Input[str]] = None,
26
+ server_id: Optional[pulumi.Input[str]] = None,
27
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ zone: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a FlexibleIp resource.
31
+ :param pulumi.Input[str] description: A description of the flexible IP.
32
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
33
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
34
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
35
+ :param pulumi.Input[str] server_id: The ID of the associated server.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
37
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
38
+ """
39
+ if description is not None:
40
+ pulumi.set(__self__, "description", description)
41
+ if is_ipv6 is not None:
42
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
43
+ if project_id is not None:
44
+ pulumi.set(__self__, "project_id", project_id)
45
+ if reverse is not None:
46
+ pulumi.set(__self__, "reverse", reverse)
47
+ if server_id is not None:
48
+ pulumi.set(__self__, "server_id", server_id)
49
+ if tags is not None:
50
+ pulumi.set(__self__, "tags", tags)
51
+ if zone is not None:
52
+ pulumi.set(__self__, "zone", zone)
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def description(self) -> Optional[pulumi.Input[str]]:
57
+ """
58
+ A description of the flexible IP.
59
+ """
60
+ return pulumi.get(self, "description")
61
+
62
+ @description.setter
63
+ def description(self, value: Optional[pulumi.Input[str]]):
64
+ pulumi.set(self, "description", value)
65
+
66
+ @property
67
+ @pulumi.getter(name="isIpv6")
68
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
69
+ """
70
+ Defines whether the flexible IP has an IPv6 address.
71
+ """
72
+ return pulumi.get(self, "is_ipv6")
73
+
74
+ @is_ipv6.setter
75
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
76
+ pulumi.set(self, "is_ipv6", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="projectId")
80
+ def project_id(self) -> Optional[pulumi.Input[str]]:
81
+ """
82
+ The project of the Flexible IP.
83
+ """
84
+ return pulumi.get(self, "project_id")
85
+
86
+ @project_id.setter
87
+ def project_id(self, value: Optional[pulumi.Input[str]]):
88
+ pulumi.set(self, "project_id", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def reverse(self) -> Optional[pulumi.Input[str]]:
93
+ """
94
+ The reverse domain associated with this flexible IP.
95
+ """
96
+ return pulumi.get(self, "reverse")
97
+
98
+ @reverse.setter
99
+ def reverse(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "reverse", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="serverId")
104
+ def server_id(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ The ID of the associated server.
107
+ """
108
+ return pulumi.get(self, "server_id")
109
+
110
+ @server_id.setter
111
+ def server_id(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "server_id", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
117
+ """
118
+ A list of tags to apply to the flexible IP.
119
+ """
120
+ return pulumi.get(self, "tags")
121
+
122
+ @tags.setter
123
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
124
+ pulumi.set(self, "tags", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def zone(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ The zone of the Flexible IP.
131
+ """
132
+ return pulumi.get(self, "zone")
133
+
134
+ @zone.setter
135
+ def zone(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "zone", value)
137
+
138
+
139
+ @pulumi.input_type
140
+ class _FlexibleIpState:
141
+ def __init__(__self__, *,
142
+ created_at: Optional[pulumi.Input[str]] = None,
143
+ description: Optional[pulumi.Input[str]] = None,
144
+ ip_address: Optional[pulumi.Input[str]] = None,
145
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
146
+ organization_id: Optional[pulumi.Input[str]] = None,
147
+ project_id: Optional[pulumi.Input[str]] = None,
148
+ reverse: Optional[pulumi.Input[str]] = None,
149
+ server_id: Optional[pulumi.Input[str]] = None,
150
+ status: Optional[pulumi.Input[str]] = None,
151
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
152
+ updated_at: Optional[pulumi.Input[str]] = None,
153
+ zone: Optional[pulumi.Input[str]] = None):
154
+ """
155
+ Input properties used for looking up and filtering FlexibleIp resources.
156
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Flexible IP (Format ISO 8601).
157
+ :param pulumi.Input[str] description: A description of the flexible IP.
158
+ :param pulumi.Input[str] ip_address: The IP address of the Flexible IP.
159
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
160
+ :param pulumi.Input[str] organization_id: The organization of the Flexible IP.
161
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
162
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
163
+ :param pulumi.Input[str] server_id: The ID of the associated server.
164
+ :param pulumi.Input[str] status: The status of the flexible IP.
165
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
166
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Flexible IP (Format ISO 8601).
167
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
168
+ """
169
+ if created_at is not None:
170
+ pulumi.set(__self__, "created_at", created_at)
171
+ if description is not None:
172
+ pulumi.set(__self__, "description", description)
173
+ if ip_address is not None:
174
+ pulumi.set(__self__, "ip_address", ip_address)
175
+ if is_ipv6 is not None:
176
+ pulumi.set(__self__, "is_ipv6", is_ipv6)
177
+ if organization_id is not None:
178
+ pulumi.set(__self__, "organization_id", organization_id)
179
+ if project_id is not None:
180
+ pulumi.set(__self__, "project_id", project_id)
181
+ if reverse is not None:
182
+ pulumi.set(__self__, "reverse", reverse)
183
+ if server_id is not None:
184
+ pulumi.set(__self__, "server_id", server_id)
185
+ if status is not None:
186
+ pulumi.set(__self__, "status", status)
187
+ if tags is not None:
188
+ pulumi.set(__self__, "tags", tags)
189
+ if updated_at is not None:
190
+ pulumi.set(__self__, "updated_at", updated_at)
191
+ if zone is not None:
192
+ pulumi.set(__self__, "zone", zone)
193
+
194
+ @property
195
+ @pulumi.getter(name="createdAt")
196
+ def created_at(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The date and time of the creation of the Flexible IP (Format ISO 8601).
199
+ """
200
+ return pulumi.get(self, "created_at")
201
+
202
+ @created_at.setter
203
+ def created_at(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "created_at", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def description(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ A description of the flexible IP.
211
+ """
212
+ return pulumi.get(self, "description")
213
+
214
+ @description.setter
215
+ def description(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "description", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="ipAddress")
220
+ def ip_address(self) -> Optional[pulumi.Input[str]]:
221
+ """
222
+ The IP address of the Flexible IP.
223
+ """
224
+ return pulumi.get(self, "ip_address")
225
+
226
+ @ip_address.setter
227
+ def ip_address(self, value: Optional[pulumi.Input[str]]):
228
+ pulumi.set(self, "ip_address", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="isIpv6")
232
+ def is_ipv6(self) -> Optional[pulumi.Input[bool]]:
233
+ """
234
+ Defines whether the flexible IP has an IPv6 address.
235
+ """
236
+ return pulumi.get(self, "is_ipv6")
237
+
238
+ @is_ipv6.setter
239
+ def is_ipv6(self, value: Optional[pulumi.Input[bool]]):
240
+ pulumi.set(self, "is_ipv6", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="organizationId")
244
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ The organization of the Flexible IP.
247
+ """
248
+ return pulumi.get(self, "organization_id")
249
+
250
+ @organization_id.setter
251
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "organization_id", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="projectId")
256
+ def project_id(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ The project of the Flexible IP.
259
+ """
260
+ return pulumi.get(self, "project_id")
261
+
262
+ @project_id.setter
263
+ def project_id(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "project_id", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def reverse(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The reverse domain associated with this flexible IP.
271
+ """
272
+ return pulumi.get(self, "reverse")
273
+
274
+ @reverse.setter
275
+ def reverse(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "reverse", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="serverId")
280
+ def server_id(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ The ID of the associated server.
283
+ """
284
+ return pulumi.get(self, "server_id")
285
+
286
+ @server_id.setter
287
+ def server_id(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "server_id", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def status(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ The status of the flexible IP.
295
+ """
296
+ return pulumi.get(self, "status")
297
+
298
+ @status.setter
299
+ def status(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "status", value)
301
+
302
+ @property
303
+ @pulumi.getter
304
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
305
+ """
306
+ A list of tags to apply to the flexible IP.
307
+ """
308
+ return pulumi.get(self, "tags")
309
+
310
+ @tags.setter
311
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
312
+ pulumi.set(self, "tags", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="updatedAt")
316
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ The date and time of the last update of the Flexible IP (Format ISO 8601).
319
+ """
320
+ return pulumi.get(self, "updated_at")
321
+
322
+ @updated_at.setter
323
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "updated_at", value)
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def zone(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ The zone of the Flexible IP.
331
+ """
332
+ return pulumi.get(self, "zone")
333
+
334
+ @zone.setter
335
+ def zone(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "zone", value)
337
+
338
+
339
+ class FlexibleIp(pulumi.CustomResource):
340
+ @overload
341
+ def __init__(__self__,
342
+ resource_name: str,
343
+ opts: Optional[pulumi.ResourceOptions] = None,
344
+ description: Optional[pulumi.Input[str]] = None,
345
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
346
+ project_id: Optional[pulumi.Input[str]] = None,
347
+ reverse: Optional[pulumi.Input[str]] = None,
348
+ server_id: Optional[pulumi.Input[str]] = None,
349
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
350
+ zone: Optional[pulumi.Input[str]] = None,
351
+ __props__=None):
352
+ """
353
+ Creates and manages Scaleway flexible IPs.
354
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).
355
+
356
+ ## Example Usage
357
+
358
+ ### Basic
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumiverse_scaleway as scaleway
363
+
364
+ main = scaleway.FlexibleIp("main", reverse="my-reverse.com")
365
+ ```
366
+
367
+ ### With zone
368
+
369
+ ```python
370
+ import pulumi
371
+ import pulumiverse_scaleway as scaleway
372
+
373
+ main = scaleway.FlexibleIp("main", zone="fr-par-2")
374
+ ```
375
+
376
+ ### With IPv6
377
+
378
+ ```python
379
+ import pulumi
380
+ import pulumiverse_scaleway as scaleway
381
+
382
+ main = scaleway.FlexibleIp("main", is_ipv6=True)
383
+ ```
384
+
385
+ ### With baremetal server
386
+
387
+ ```python
388
+ import pulumi
389
+ import pulumi_scaleway as scaleway
390
+ import pulumiverse_scaleway as scaleway
391
+
392
+ main = scaleway.AccountSshKey("main",
393
+ name="main",
394
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
395
+ by_id = scaleway.get_baremetal_os(zone="fr-par-2",
396
+ name="Ubuntu",
397
+ version="20.04 LTS (Focal Fossa)")
398
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
399
+ name="EM-A210R-HDD")
400
+ base = scaleway.BaremetalServer("base",
401
+ zone="fr-par-2",
402
+ offer=my_offer.offer_id,
403
+ os=by_id.os_id,
404
+ ssh_key_ids=main.id)
405
+ main_flexible_ip = scaleway.FlexibleIp("main",
406
+ server_id=base.id,
407
+ zone="fr-par-2")
408
+ ```
409
+
410
+ ## Import
411
+
412
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
413
+
414
+ bash
415
+
416
+ ```sh
417
+ $ pulumi import scaleway:index/flexibleIp:FlexibleIp main fr-par-1/11111111-1111-1111-1111-111111111111
418
+ ```
419
+
420
+ :param str resource_name: The name of the resource.
421
+ :param pulumi.ResourceOptions opts: Options for the resource.
422
+ :param pulumi.Input[str] description: A description of the flexible IP.
423
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
424
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
425
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
426
+ :param pulumi.Input[str] server_id: The ID of the associated server.
427
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
428
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
429
+ """
430
+ ...
431
+ @overload
432
+ def __init__(__self__,
433
+ resource_name: str,
434
+ args: Optional[FlexibleIpArgs] = None,
435
+ opts: Optional[pulumi.ResourceOptions] = None):
436
+ """
437
+ Creates and manages Scaleway flexible IPs.
438
+ For more information, see [the documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip).
439
+
440
+ ## Example Usage
441
+
442
+ ### Basic
443
+
444
+ ```python
445
+ import pulumi
446
+ import pulumiverse_scaleway as scaleway
447
+
448
+ main = scaleway.FlexibleIp("main", reverse="my-reverse.com")
449
+ ```
450
+
451
+ ### With zone
452
+
453
+ ```python
454
+ import pulumi
455
+ import pulumiverse_scaleway as scaleway
456
+
457
+ main = scaleway.FlexibleIp("main", zone="fr-par-2")
458
+ ```
459
+
460
+ ### With IPv6
461
+
462
+ ```python
463
+ import pulumi
464
+ import pulumiverse_scaleway as scaleway
465
+
466
+ main = scaleway.FlexibleIp("main", is_ipv6=True)
467
+ ```
468
+
469
+ ### With baremetal server
470
+
471
+ ```python
472
+ import pulumi
473
+ import pulumi_scaleway as scaleway
474
+ import pulumiverse_scaleway as scaleway
475
+
476
+ main = scaleway.AccountSshKey("main",
477
+ name="main",
478
+ public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHy/M5FVm5ydLGcal3e5LNcfTalbeN7QL/ZGCvDEdqJ foobar@example.com")
479
+ by_id = scaleway.get_baremetal_os(zone="fr-par-2",
480
+ name="Ubuntu",
481
+ version="20.04 LTS (Focal Fossa)")
482
+ my_offer = scaleway.get_baremetal_offer(zone="fr-par-2",
483
+ name="EM-A210R-HDD")
484
+ base = scaleway.BaremetalServer("base",
485
+ zone="fr-par-2",
486
+ offer=my_offer.offer_id,
487
+ os=by_id.os_id,
488
+ ssh_key_ids=main.id)
489
+ main_flexible_ip = scaleway.FlexibleIp("main",
490
+ server_id=base.id,
491
+ zone="fr-par-2")
492
+ ```
493
+
494
+ ## Import
495
+
496
+ Flexible IPs can be imported using the `{zone}/{id}`, e.g.
497
+
498
+ bash
499
+
500
+ ```sh
501
+ $ pulumi import scaleway:index/flexibleIp:FlexibleIp main fr-par-1/11111111-1111-1111-1111-111111111111
502
+ ```
503
+
504
+ :param str resource_name: The name of the resource.
505
+ :param FlexibleIpArgs args: The arguments to use to populate this resource's properties.
506
+ :param pulumi.ResourceOptions opts: Options for the resource.
507
+ """
508
+ ...
509
+ def __init__(__self__, resource_name: str, *args, **kwargs):
510
+ resource_args, opts = _utilities.get_resource_args_opts(FlexibleIpArgs, pulumi.ResourceOptions, *args, **kwargs)
511
+ if resource_args is not None:
512
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
513
+ else:
514
+ __self__._internal_init(resource_name, *args, **kwargs)
515
+
516
+ def _internal_init(__self__,
517
+ resource_name: str,
518
+ opts: Optional[pulumi.ResourceOptions] = None,
519
+ description: Optional[pulumi.Input[str]] = None,
520
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
521
+ project_id: Optional[pulumi.Input[str]] = None,
522
+ reverse: Optional[pulumi.Input[str]] = None,
523
+ server_id: Optional[pulumi.Input[str]] = None,
524
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
525
+ zone: Optional[pulumi.Input[str]] = None,
526
+ __props__=None):
527
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
528
+ if not isinstance(opts, pulumi.ResourceOptions):
529
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
530
+ if opts.id is None:
531
+ if __props__ is not None:
532
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
533
+ __props__ = FlexibleIpArgs.__new__(FlexibleIpArgs)
534
+
535
+ __props__.__dict__["description"] = description
536
+ __props__.__dict__["is_ipv6"] = is_ipv6
537
+ __props__.__dict__["project_id"] = project_id
538
+ __props__.__dict__["reverse"] = reverse
539
+ __props__.__dict__["server_id"] = server_id
540
+ __props__.__dict__["tags"] = tags
541
+ __props__.__dict__["zone"] = zone
542
+ __props__.__dict__["created_at"] = None
543
+ __props__.__dict__["ip_address"] = None
544
+ __props__.__dict__["organization_id"] = None
545
+ __props__.__dict__["status"] = None
546
+ __props__.__dict__["updated_at"] = None
547
+ super(FlexibleIp, __self__).__init__(
548
+ 'scaleway:index/flexibleIp:FlexibleIp',
549
+ resource_name,
550
+ __props__,
551
+ opts)
552
+
553
+ @staticmethod
554
+ def get(resource_name: str,
555
+ id: pulumi.Input[str],
556
+ opts: Optional[pulumi.ResourceOptions] = None,
557
+ created_at: Optional[pulumi.Input[str]] = None,
558
+ description: Optional[pulumi.Input[str]] = None,
559
+ ip_address: Optional[pulumi.Input[str]] = None,
560
+ is_ipv6: Optional[pulumi.Input[bool]] = None,
561
+ organization_id: Optional[pulumi.Input[str]] = None,
562
+ project_id: Optional[pulumi.Input[str]] = None,
563
+ reverse: Optional[pulumi.Input[str]] = None,
564
+ server_id: Optional[pulumi.Input[str]] = None,
565
+ status: Optional[pulumi.Input[str]] = None,
566
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
567
+ updated_at: Optional[pulumi.Input[str]] = None,
568
+ zone: Optional[pulumi.Input[str]] = None) -> 'FlexibleIp':
569
+ """
570
+ Get an existing FlexibleIp resource's state with the given name, id, and optional extra
571
+ properties used to qualify the lookup.
572
+
573
+ :param str resource_name: The unique name of the resulting resource.
574
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
575
+ :param pulumi.ResourceOptions opts: Options for the resource.
576
+ :param pulumi.Input[str] created_at: The date and time of the creation of the Flexible IP (Format ISO 8601).
577
+ :param pulumi.Input[str] description: A description of the flexible IP.
578
+ :param pulumi.Input[str] ip_address: The IP address of the Flexible IP.
579
+ :param pulumi.Input[bool] is_ipv6: Defines whether the flexible IP has an IPv6 address.
580
+ :param pulumi.Input[str] organization_id: The organization of the Flexible IP.
581
+ :param pulumi.Input[str] project_id: The project of the Flexible IP.
582
+ :param pulumi.Input[str] reverse: The reverse domain associated with this flexible IP.
583
+ :param pulumi.Input[str] server_id: The ID of the associated server.
584
+ :param pulumi.Input[str] status: The status of the flexible IP.
585
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the flexible IP.
586
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the Flexible IP (Format ISO 8601).
587
+ :param pulumi.Input[str] zone: The zone of the Flexible IP.
588
+ """
589
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
590
+
591
+ __props__ = _FlexibleIpState.__new__(_FlexibleIpState)
592
+
593
+ __props__.__dict__["created_at"] = created_at
594
+ __props__.__dict__["description"] = description
595
+ __props__.__dict__["ip_address"] = ip_address
596
+ __props__.__dict__["is_ipv6"] = is_ipv6
597
+ __props__.__dict__["organization_id"] = organization_id
598
+ __props__.__dict__["project_id"] = project_id
599
+ __props__.__dict__["reverse"] = reverse
600
+ __props__.__dict__["server_id"] = server_id
601
+ __props__.__dict__["status"] = status
602
+ __props__.__dict__["tags"] = tags
603
+ __props__.__dict__["updated_at"] = updated_at
604
+ __props__.__dict__["zone"] = zone
605
+ return FlexibleIp(resource_name, opts=opts, __props__=__props__)
606
+
607
+ @property
608
+ @pulumi.getter(name="createdAt")
609
+ def created_at(self) -> pulumi.Output[str]:
610
+ """
611
+ The date and time of the creation of the Flexible IP (Format ISO 8601).
612
+ """
613
+ return pulumi.get(self, "created_at")
614
+
615
+ @property
616
+ @pulumi.getter
617
+ def description(self) -> pulumi.Output[Optional[str]]:
618
+ """
619
+ A description of the flexible IP.
620
+ """
621
+ return pulumi.get(self, "description")
622
+
623
+ @property
624
+ @pulumi.getter(name="ipAddress")
625
+ def ip_address(self) -> pulumi.Output[str]:
626
+ """
627
+ The IP address of the Flexible IP.
628
+ """
629
+ return pulumi.get(self, "ip_address")
630
+
631
+ @property
632
+ @pulumi.getter(name="isIpv6")
633
+ def is_ipv6(self) -> pulumi.Output[Optional[bool]]:
634
+ """
635
+ Defines whether the flexible IP has an IPv6 address.
636
+ """
637
+ return pulumi.get(self, "is_ipv6")
638
+
639
+ @property
640
+ @pulumi.getter(name="organizationId")
641
+ def organization_id(self) -> pulumi.Output[str]:
642
+ """
643
+ The organization of the Flexible IP.
644
+ """
645
+ return pulumi.get(self, "organization_id")
646
+
647
+ @property
648
+ @pulumi.getter(name="projectId")
649
+ def project_id(self) -> pulumi.Output[str]:
650
+ """
651
+ The project of the Flexible IP.
652
+ """
653
+ return pulumi.get(self, "project_id")
654
+
655
+ @property
656
+ @pulumi.getter
657
+ def reverse(self) -> pulumi.Output[str]:
658
+ """
659
+ The reverse domain associated with this flexible IP.
660
+ """
661
+ return pulumi.get(self, "reverse")
662
+
663
+ @property
664
+ @pulumi.getter(name="serverId")
665
+ def server_id(self) -> pulumi.Output[Optional[str]]:
666
+ """
667
+ The ID of the associated server.
668
+ """
669
+ return pulumi.get(self, "server_id")
670
+
671
+ @property
672
+ @pulumi.getter
673
+ def status(self) -> pulumi.Output[str]:
674
+ """
675
+ The status of the flexible IP.
676
+ """
677
+ return pulumi.get(self, "status")
678
+
679
+ @property
680
+ @pulumi.getter
681
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
682
+ """
683
+ A list of tags to apply to the flexible IP.
684
+ """
685
+ return pulumi.get(self, "tags")
686
+
687
+ @property
688
+ @pulumi.getter(name="updatedAt")
689
+ def updated_at(self) -> pulumi.Output[str]:
690
+ """
691
+ The date and time of the last update of the Flexible IP (Format ISO 8601).
692
+ """
693
+ return pulumi.get(self, "updated_at")
694
+
695
+ @property
696
+ @pulumi.getter
697
+ def zone(self) -> pulumi.Output[str]:
698
+ """
699
+ The zone of the Flexible IP.
700
+ """
701
+ return pulumi.get(self, "zone")
702
+