pulumiverse-scaleway 1.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (205) hide show
  1. pulumiverse_scaleway/__init__.py +1073 -0
  2. pulumiverse_scaleway/_inputs.py +8665 -0
  3. pulumiverse_scaleway/_utilities.py +327 -0
  4. pulumiverse_scaleway/account_project.py +316 -0
  5. pulumiverse_scaleway/account_ssh_key.py +450 -0
  6. pulumiverse_scaleway/apple_silicon_server.py +564 -0
  7. pulumiverse_scaleway/baremetal_server.py +1390 -0
  8. pulumiverse_scaleway/block_snapshot.py +391 -0
  9. pulumiverse_scaleway/block_volume.py +521 -0
  10. pulumiverse_scaleway/cockpit.py +299 -0
  11. pulumiverse_scaleway/cockpit_alert_manager.py +345 -0
  12. pulumiverse_scaleway/cockpit_grafana_user.py +326 -0
  13. pulumiverse_scaleway/cockpit_source.py +481 -0
  14. pulumiverse_scaleway/cockpit_token.py +461 -0
  15. pulumiverse_scaleway/config/__init__.py +8 -0
  16. pulumiverse_scaleway/config/__init__.pyi +56 -0
  17. pulumiverse_scaleway/config/vars.py +78 -0
  18. pulumiverse_scaleway/container.py +1387 -0
  19. pulumiverse_scaleway/container_cron.py +493 -0
  20. pulumiverse_scaleway/container_domain.py +400 -0
  21. pulumiverse_scaleway/container_namespace.py +589 -0
  22. pulumiverse_scaleway/container_token.py +454 -0
  23. pulumiverse_scaleway/container_trigger.py +478 -0
  24. pulumiverse_scaleway/database.py +407 -0
  25. pulumiverse_scaleway/database_acl.py +332 -0
  26. pulumiverse_scaleway/database_backup.py +574 -0
  27. pulumiverse_scaleway/database_instance.py +1636 -0
  28. pulumiverse_scaleway/database_privilege.py +422 -0
  29. pulumiverse_scaleway/database_read_replica.py +528 -0
  30. pulumiverse_scaleway/database_user.py +446 -0
  31. pulumiverse_scaleway/documentdb_database.py +450 -0
  32. pulumiverse_scaleway/documentdb_instance.py +812 -0
  33. pulumiverse_scaleway/documentdb_private_network_endpoint.py +352 -0
  34. pulumiverse_scaleway/documentdb_privilege.py +402 -0
  35. pulumiverse_scaleway/documentdb_read_replica.py +405 -0
  36. pulumiverse_scaleway/documentdb_user.py +442 -0
  37. pulumiverse_scaleway/domain_record.py +1074 -0
  38. pulumiverse_scaleway/domain_zone.py +458 -0
  39. pulumiverse_scaleway/flexible_ip.py +702 -0
  40. pulumiverse_scaleway/flexible_ip_mac_address.py +510 -0
  41. pulumiverse_scaleway/function.py +1145 -0
  42. pulumiverse_scaleway/function_cron.py +480 -0
  43. pulumiverse_scaleway/function_domain.py +361 -0
  44. pulumiverse_scaleway/function_namespace.py +533 -0
  45. pulumiverse_scaleway/function_token.py +462 -0
  46. pulumiverse_scaleway/function_trigger.py +478 -0
  47. pulumiverse_scaleway/get_account_project.py +164 -0
  48. pulumiverse_scaleway/get_account_ssh_key.py +201 -0
  49. pulumiverse_scaleway/get_availability_zones.py +131 -0
  50. pulumiverse_scaleway/get_baremetal_offer.py +245 -0
  51. pulumiverse_scaleway/get_baremetal_option.py +168 -0
  52. pulumiverse_scaleway/get_baremetal_os.py +174 -0
  53. pulumiverse_scaleway/get_baremetal_server.py +411 -0
  54. pulumiverse_scaleway/get_billing_consumptions.py +134 -0
  55. pulumiverse_scaleway/get_billing_invoices.py +154 -0
  56. pulumiverse_scaleway/get_block_snapshot.py +170 -0
  57. pulumiverse_scaleway/get_block_volume.py +186 -0
  58. pulumiverse_scaleway/get_cockpit.py +179 -0
  59. pulumiverse_scaleway/get_cockpit_plan.py +113 -0
  60. pulumiverse_scaleway/get_config.py +180 -0
  61. pulumiverse_scaleway/get_container.py +502 -0
  62. pulumiverse_scaleway/get_container_namespace.py +262 -0
  63. pulumiverse_scaleway/get_database.py +187 -0
  64. pulumiverse_scaleway/get_database_acl.py +143 -0
  65. pulumiverse_scaleway/get_database_backup.py +253 -0
  66. pulumiverse_scaleway/get_database_instance.py +404 -0
  67. pulumiverse_scaleway/get_database_privilege.py +181 -0
  68. pulumiverse_scaleway/get_documentdb_database.py +198 -0
  69. pulumiverse_scaleway/get_documentdb_instance.py +245 -0
  70. pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +198 -0
  71. pulumiverse_scaleway/get_domain_record.py +334 -0
  72. pulumiverse_scaleway/get_domain_zone.py +225 -0
  73. pulumiverse_scaleway/get_flexible_ip.py +247 -0
  74. pulumiverse_scaleway/get_flexible_ips.py +240 -0
  75. pulumiverse_scaleway/get_function.py +357 -0
  76. pulumiverse_scaleway/get_function_namespace.py +227 -0
  77. pulumiverse_scaleway/get_iam_api_key.py +210 -0
  78. pulumiverse_scaleway/get_iam_application.py +210 -0
  79. pulumiverse_scaleway/get_iam_group.py +236 -0
  80. pulumiverse_scaleway/get_iam_ssh_key.py +212 -0
  81. pulumiverse_scaleway/get_iam_user.py +157 -0
  82. pulumiverse_scaleway/get_instance_image.py +305 -0
  83. pulumiverse_scaleway/get_instance_ip.py +204 -0
  84. pulumiverse_scaleway/get_instance_placement_group.py +212 -0
  85. pulumiverse_scaleway/get_instance_private_nic.py +215 -0
  86. pulumiverse_scaleway/get_instance_security_group.py +268 -0
  87. pulumiverse_scaleway/get_instance_server.py +502 -0
  88. pulumiverse_scaleway/get_instance_servers.py +187 -0
  89. pulumiverse_scaleway/get_instance_snapshot.py +248 -0
  90. pulumiverse_scaleway/get_instance_volume.py +215 -0
  91. pulumiverse_scaleway/get_iot_device.py +257 -0
  92. pulumiverse_scaleway/get_iot_hub.py +322 -0
  93. pulumiverse_scaleway/get_ipam_ip.py +419 -0
  94. pulumiverse_scaleway/get_ipam_ips.py +358 -0
  95. pulumiverse_scaleway/get_k8s_version.py +196 -0
  96. pulumiverse_scaleway/get_kubernetes_cluster.py +417 -0
  97. pulumiverse_scaleway/get_kubernetes_node_pool.py +436 -0
  98. pulumiverse_scaleway/get_lb_acls.py +198 -0
  99. pulumiverse_scaleway/get_lb_backend.py +486 -0
  100. pulumiverse_scaleway/get_lb_backends.py +196 -0
  101. pulumiverse_scaleway/get_lb_frontend.py +274 -0
  102. pulumiverse_scaleway/get_lb_frontends.py +196 -0
  103. pulumiverse_scaleway/get_lb_ips.py +198 -0
  104. pulumiverse_scaleway/get_lb_route.py +217 -0
  105. pulumiverse_scaleway/get_lb_routes.py +179 -0
  106. pulumiverse_scaleway/get_lbs.py +187 -0
  107. pulumiverse_scaleway/get_loadbalancer.py +339 -0
  108. pulumiverse_scaleway/get_loadbalancer_certificate.py +230 -0
  109. pulumiverse_scaleway/get_loadbalancer_ip.py +222 -0
  110. pulumiverse_scaleway/get_marketplace_image.py +147 -0
  111. pulumiverse_scaleway/get_mnq_sqs.py +150 -0
  112. pulumiverse_scaleway/get_object_bucket.py +278 -0
  113. pulumiverse_scaleway/get_object_bucket_policy.py +157 -0
  114. pulumiverse_scaleway/get_redis_cluster.py +347 -0
  115. pulumiverse_scaleway/get_registry_image.py +239 -0
  116. pulumiverse_scaleway/get_registry_namespace.py +199 -0
  117. pulumiverse_scaleway/get_secret.py +290 -0
  118. pulumiverse_scaleway/get_secret_version.py +303 -0
  119. pulumiverse_scaleway/get_tem_domain.py +367 -0
  120. pulumiverse_scaleway/get_vpc.py +246 -0
  121. pulumiverse_scaleway/get_vpc_gateway_network.py +287 -0
  122. pulumiverse_scaleway/get_vpc_private_network.py +282 -0
  123. pulumiverse_scaleway/get_vpc_public_gateway.py +304 -0
  124. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +305 -0
  125. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +382 -0
  126. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +199 -0
  127. pulumiverse_scaleway/get_vpc_public_pat_rule.py +313 -0
  128. pulumiverse_scaleway/get_vpc_routes.py +208 -0
  129. pulumiverse_scaleway/get_vpcs.py +174 -0
  130. pulumiverse_scaleway/get_web_host_offer.py +192 -0
  131. pulumiverse_scaleway/get_webhosting.py +332 -0
  132. pulumiverse_scaleway/iam_api_key.py +620 -0
  133. pulumiverse_scaleway/iam_application.py +417 -0
  134. pulumiverse_scaleway/iam_group.py +566 -0
  135. pulumiverse_scaleway/iam_group_membership.py +323 -0
  136. pulumiverse_scaleway/iam_policy.py +727 -0
  137. pulumiverse_scaleway/iam_ssh_key.py +455 -0
  138. pulumiverse_scaleway/iam_user.py +466 -0
  139. pulumiverse_scaleway/instance_image.py +750 -0
  140. pulumiverse_scaleway/instance_ip.py +483 -0
  141. pulumiverse_scaleway/instance_ip_reverse_dns.py +308 -0
  142. pulumiverse_scaleway/instance_placement_group.py +479 -0
  143. pulumiverse_scaleway/instance_private_nic.py +454 -0
  144. pulumiverse_scaleway/instance_security_group.py +720 -0
  145. pulumiverse_scaleway/instance_security_group_rules.py +439 -0
  146. pulumiverse_scaleway/instance_server.py +1907 -0
  147. pulumiverse_scaleway/instance_snapshot.py +669 -0
  148. pulumiverse_scaleway/instance_user_data.py +435 -0
  149. pulumiverse_scaleway/instance_volume.py +535 -0
  150. pulumiverse_scaleway/iot_device.py +750 -0
  151. pulumiverse_scaleway/iot_hub.py +896 -0
  152. pulumiverse_scaleway/iot_network.py +425 -0
  153. pulumiverse_scaleway/iot_route.py +660 -0
  154. pulumiverse_scaleway/ipam_ip.py +666 -0
  155. pulumiverse_scaleway/ipam_ip_reverse_dns.py +318 -0
  156. pulumiverse_scaleway/job_definition.py +692 -0
  157. pulumiverse_scaleway/kubernetes_cluster.py +1538 -0
  158. pulumiverse_scaleway/kubernetes_node_pool.py +1255 -0
  159. pulumiverse_scaleway/loadbalancer.py +1095 -0
  160. pulumiverse_scaleway/loadbalancer_acl.py +520 -0
  161. pulumiverse_scaleway/loadbalancer_backend.py +1588 -0
  162. pulumiverse_scaleway/loadbalancer_certificate.py +460 -0
  163. pulumiverse_scaleway/loadbalancer_frontend.py +829 -0
  164. pulumiverse_scaleway/loadbalancer_ip.py +514 -0
  165. pulumiverse_scaleway/loadbalancer_route.py +523 -0
  166. pulumiverse_scaleway/mnq_nats_account.py +334 -0
  167. pulumiverse_scaleway/mnq_nats_credentials.py +328 -0
  168. pulumiverse_scaleway/mnq_sns.py +306 -0
  169. pulumiverse_scaleway/mnq_sns_credentials.py +413 -0
  170. pulumiverse_scaleway/mnq_sns_topic.py +659 -0
  171. pulumiverse_scaleway/mnq_sns_topic_subscription.py +699 -0
  172. pulumiverse_scaleway/mnq_sqs.py +304 -0
  173. pulumiverse_scaleway/mnq_sqs_credentials.py +413 -0
  174. pulumiverse_scaleway/mnq_sqs_queue.py +800 -0
  175. pulumiverse_scaleway/object_bucket.py +888 -0
  176. pulumiverse_scaleway/object_bucket_acl.py +592 -0
  177. pulumiverse_scaleway/object_bucket_lock_configuration.py +393 -0
  178. pulumiverse_scaleway/object_bucket_policy.py +671 -0
  179. pulumiverse_scaleway/object_bucket_website_configuration.py +532 -0
  180. pulumiverse_scaleway/object_item.py +711 -0
  181. pulumiverse_scaleway/outputs.py +11663 -0
  182. pulumiverse_scaleway/provider.py +327 -0
  183. pulumiverse_scaleway/pulumi-plugin.json +6 -0
  184. pulumiverse_scaleway/py.typed +0 -0
  185. pulumiverse_scaleway/redis_cluster.py +1166 -0
  186. pulumiverse_scaleway/registry_namespace.py +458 -0
  187. pulumiverse_scaleway/sdb_database.py +428 -0
  188. pulumiverse_scaleway/secret.py +560 -0
  189. pulumiverse_scaleway/secret_version.py +482 -0
  190. pulumiverse_scaleway/tem_domain.py +950 -0
  191. pulumiverse_scaleway/tem_domain_validation.py +303 -0
  192. pulumiverse_scaleway/vpc.py +536 -0
  193. pulumiverse_scaleway/vpc_gateway_network.py +866 -0
  194. pulumiverse_scaleway/vpc_private_network.py +734 -0
  195. pulumiverse_scaleway/vpc_public_gateway.py +789 -0
  196. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +933 -0
  197. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +514 -0
  198. pulumiverse_scaleway/vpc_public_gateway_ip.py +457 -0
  199. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +306 -0
  200. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +591 -0
  201. pulumiverse_scaleway/webhosting.py +805 -0
  202. pulumiverse_scaleway-1.16.0.dist-info/METADATA +69 -0
  203. pulumiverse_scaleway-1.16.0.dist-info/RECORD +205 -0
  204. pulumiverse_scaleway-1.16.0.dist-info/WHEEL +5 -0
  205. pulumiverse_scaleway-1.16.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,361 @@
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__ = ['FunctionDomainArgs', 'FunctionDomain']
18
+
19
+ @pulumi.input_type
20
+ class FunctionDomainArgs:
21
+ def __init__(__self__, *,
22
+ function_id: pulumi.Input[str],
23
+ hostname: pulumi.Input[str],
24
+ region: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a FunctionDomain resource.
27
+ :param pulumi.Input[str] function_id: The ID of the function you want to create a domain with.
28
+ :param pulumi.Input[str] hostname: The hostname that should resolve to your function id native domain.
29
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
30
+
31
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
32
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in where the domain was created.
33
+ """
34
+ pulumi.set(__self__, "function_id", function_id)
35
+ pulumi.set(__self__, "hostname", hostname)
36
+ if region is not None:
37
+ pulumi.set(__self__, "region", region)
38
+
39
+ @property
40
+ @pulumi.getter(name="functionId")
41
+ def function_id(self) -> pulumi.Input[str]:
42
+ """
43
+ The ID of the function you want to create a domain with.
44
+ """
45
+ return pulumi.get(self, "function_id")
46
+
47
+ @function_id.setter
48
+ def function_id(self, value: pulumi.Input[str]):
49
+ pulumi.set(self, "function_id", value)
50
+
51
+ @property
52
+ @pulumi.getter
53
+ def hostname(self) -> pulumi.Input[str]:
54
+ """
55
+ The hostname that should resolve to your function id native domain.
56
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
57
+
58
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
59
+ """
60
+ return pulumi.get(self, "hostname")
61
+
62
+ @hostname.setter
63
+ def hostname(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "hostname", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def region(self) -> Optional[pulumi.Input[str]]:
69
+ """
70
+ (Defaults to provider `region`) The region in where the domain was created.
71
+ """
72
+ return pulumi.get(self, "region")
73
+
74
+ @region.setter
75
+ def region(self, value: Optional[pulumi.Input[str]]):
76
+ pulumi.set(self, "region", value)
77
+
78
+
79
+ @pulumi.input_type
80
+ class _FunctionDomainState:
81
+ def __init__(__self__, *,
82
+ function_id: Optional[pulumi.Input[str]] = None,
83
+ hostname: Optional[pulumi.Input[str]] = None,
84
+ region: Optional[pulumi.Input[str]] = None,
85
+ url: Optional[pulumi.Input[str]] = None):
86
+ """
87
+ Input properties used for looking up and filtering FunctionDomain resources.
88
+ :param pulumi.Input[str] function_id: The ID of the function you want to create a domain with.
89
+ :param pulumi.Input[str] hostname: The hostname that should resolve to your function id native domain.
90
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
91
+
92
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
93
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in where the domain was created.
94
+ :param pulumi.Input[str] url: The URL that triggers the function
95
+ """
96
+ if function_id is not None:
97
+ pulumi.set(__self__, "function_id", function_id)
98
+ if hostname is not None:
99
+ pulumi.set(__self__, "hostname", hostname)
100
+ if region is not None:
101
+ pulumi.set(__self__, "region", region)
102
+ if url is not None:
103
+ pulumi.set(__self__, "url", url)
104
+
105
+ @property
106
+ @pulumi.getter(name="functionId")
107
+ def function_id(self) -> Optional[pulumi.Input[str]]:
108
+ """
109
+ The ID of the function you want to create a domain with.
110
+ """
111
+ return pulumi.get(self, "function_id")
112
+
113
+ @function_id.setter
114
+ def function_id(self, value: Optional[pulumi.Input[str]]):
115
+ pulumi.set(self, "function_id", value)
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def hostname(self) -> Optional[pulumi.Input[str]]:
120
+ """
121
+ The hostname that should resolve to your function id native domain.
122
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
123
+
124
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
125
+ """
126
+ return pulumi.get(self, "hostname")
127
+
128
+ @hostname.setter
129
+ def hostname(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "hostname", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def region(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ (Defaults to provider `region`) The region in where the domain was created.
137
+ """
138
+ return pulumi.get(self, "region")
139
+
140
+ @region.setter
141
+ def region(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "region", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def url(self) -> Optional[pulumi.Input[str]]:
147
+ """
148
+ The URL that triggers the function
149
+ """
150
+ return pulumi.get(self, "url")
151
+
152
+ @url.setter
153
+ def url(self, value: Optional[pulumi.Input[str]]):
154
+ pulumi.set(self, "url", value)
155
+
156
+
157
+ class FunctionDomain(pulumi.CustomResource):
158
+ @overload
159
+ def __init__(__self__,
160
+ resource_name: str,
161
+ opts: Optional[pulumi.ResourceOptions] = None,
162
+ function_id: Optional[pulumi.Input[str]] = None,
163
+ hostname: Optional[pulumi.Input[str]] = None,
164
+ region: Optional[pulumi.Input[str]] = None,
165
+ __props__=None):
166
+ """
167
+ Creates and manages Scaleway Function Domain bindings.
168
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions).
169
+
170
+ ## Example Usage
171
+
172
+ ### Basic
173
+
174
+ ```python
175
+ import pulumi
176
+ import pulumiverse_scaleway as scaleway
177
+
178
+ main_function_namespace = scaleway.FunctionNamespace("main")
179
+ main_function = scaleway.Function("main",
180
+ namespace_id=main_function_namespace.id,
181
+ runtime="go118",
182
+ privacy="private",
183
+ handler="Handle",
184
+ zip_file="testfixture/gofunction.zip",
185
+ deploy=True)
186
+ main = scaleway.FunctionDomain("main",
187
+ function_id=main_function.id,
188
+ hostname="example.com",
189
+ opts = pulumi.ResourceOptions(depends_on=[main_function]))
190
+ ```
191
+
192
+ ## Import
193
+
194
+ Domain can be imported using the `{region}/{id}`, e.g.
195
+
196
+ bash
197
+
198
+ ```sh
199
+ $ pulumi import scaleway:index/functionDomain:FunctionDomain main fr-par/11111111-1111-1111-1111-111111111111
200
+ ```
201
+
202
+ :param str resource_name: The name of the resource.
203
+ :param pulumi.ResourceOptions opts: Options for the resource.
204
+ :param pulumi.Input[str] function_id: The ID of the function you want to create a domain with.
205
+ :param pulumi.Input[str] hostname: The hostname that should resolve to your function id native domain.
206
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
207
+
208
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
209
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in where the domain was created.
210
+ """
211
+ ...
212
+ @overload
213
+ def __init__(__self__,
214
+ resource_name: str,
215
+ args: FunctionDomainArgs,
216
+ opts: Optional[pulumi.ResourceOptions] = None):
217
+ """
218
+ Creates and manages Scaleway Function Domain bindings.
219
+ For more information see [the documentation](https://www.scaleway.com/en/developers/api/serverless-functions).
220
+
221
+ ## Example Usage
222
+
223
+ ### Basic
224
+
225
+ ```python
226
+ import pulumi
227
+ import pulumiverse_scaleway as scaleway
228
+
229
+ main_function_namespace = scaleway.FunctionNamespace("main")
230
+ main_function = scaleway.Function("main",
231
+ namespace_id=main_function_namespace.id,
232
+ runtime="go118",
233
+ privacy="private",
234
+ handler="Handle",
235
+ zip_file="testfixture/gofunction.zip",
236
+ deploy=True)
237
+ main = scaleway.FunctionDomain("main",
238
+ function_id=main_function.id,
239
+ hostname="example.com",
240
+ opts = pulumi.ResourceOptions(depends_on=[main_function]))
241
+ ```
242
+
243
+ ## Import
244
+
245
+ Domain can be imported using the `{region}/{id}`, e.g.
246
+
247
+ bash
248
+
249
+ ```sh
250
+ $ pulumi import scaleway:index/functionDomain:FunctionDomain main fr-par/11111111-1111-1111-1111-111111111111
251
+ ```
252
+
253
+ :param str resource_name: The name of the resource.
254
+ :param FunctionDomainArgs args: The arguments to use to populate this resource's properties.
255
+ :param pulumi.ResourceOptions opts: Options for the resource.
256
+ """
257
+ ...
258
+ def __init__(__self__, resource_name: str, *args, **kwargs):
259
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionDomainArgs, pulumi.ResourceOptions, *args, **kwargs)
260
+ if resource_args is not None:
261
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
262
+ else:
263
+ __self__._internal_init(resource_name, *args, **kwargs)
264
+
265
+ def _internal_init(__self__,
266
+ resource_name: str,
267
+ opts: Optional[pulumi.ResourceOptions] = None,
268
+ function_id: Optional[pulumi.Input[str]] = None,
269
+ hostname: Optional[pulumi.Input[str]] = None,
270
+ region: Optional[pulumi.Input[str]] = None,
271
+ __props__=None):
272
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
273
+ if not isinstance(opts, pulumi.ResourceOptions):
274
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
275
+ if opts.id is None:
276
+ if __props__ is not None:
277
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
278
+ __props__ = FunctionDomainArgs.__new__(FunctionDomainArgs)
279
+
280
+ if function_id is None and not opts.urn:
281
+ raise TypeError("Missing required property 'function_id'")
282
+ __props__.__dict__["function_id"] = function_id
283
+ if hostname is None and not opts.urn:
284
+ raise TypeError("Missing required property 'hostname'")
285
+ __props__.__dict__["hostname"] = hostname
286
+ __props__.__dict__["region"] = region
287
+ __props__.__dict__["url"] = None
288
+ super(FunctionDomain, __self__).__init__(
289
+ 'scaleway:index/functionDomain:FunctionDomain',
290
+ resource_name,
291
+ __props__,
292
+ opts)
293
+
294
+ @staticmethod
295
+ def get(resource_name: str,
296
+ id: pulumi.Input[str],
297
+ opts: Optional[pulumi.ResourceOptions] = None,
298
+ function_id: Optional[pulumi.Input[str]] = None,
299
+ hostname: Optional[pulumi.Input[str]] = None,
300
+ region: Optional[pulumi.Input[str]] = None,
301
+ url: Optional[pulumi.Input[str]] = None) -> 'FunctionDomain':
302
+ """
303
+ Get an existing FunctionDomain resource's state with the given name, id, and optional extra
304
+ properties used to qualify the lookup.
305
+
306
+ :param str resource_name: The unique name of the resulting resource.
307
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
308
+ :param pulumi.ResourceOptions opts: Options for the resource.
309
+ :param pulumi.Input[str] function_id: The ID of the function you want to create a domain with.
310
+ :param pulumi.Input[str] hostname: The hostname that should resolve to your function id native domain.
311
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
312
+
313
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
314
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in where the domain was created.
315
+ :param pulumi.Input[str] url: The URL that triggers the function
316
+ """
317
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
318
+
319
+ __props__ = _FunctionDomainState.__new__(_FunctionDomainState)
320
+
321
+ __props__.__dict__["function_id"] = function_id
322
+ __props__.__dict__["hostname"] = hostname
323
+ __props__.__dict__["region"] = region
324
+ __props__.__dict__["url"] = url
325
+ return FunctionDomain(resource_name, opts=opts, __props__=__props__)
326
+
327
+ @property
328
+ @pulumi.getter(name="functionId")
329
+ def function_id(self) -> pulumi.Output[str]:
330
+ """
331
+ The ID of the function you want to create a domain with.
332
+ """
333
+ return pulumi.get(self, "function_id")
334
+
335
+ @property
336
+ @pulumi.getter
337
+ def hostname(self) -> pulumi.Output[str]:
338
+ """
339
+ The hostname that should resolve to your function id native domain.
340
+ You should use a CNAME domain record that point to your native function `domain_name` for it.
341
+
342
+ > **Important** Updates to `function_id` or `hostname` will recreate the domain.
343
+ """
344
+ return pulumi.get(self, "hostname")
345
+
346
+ @property
347
+ @pulumi.getter
348
+ def region(self) -> pulumi.Output[str]:
349
+ """
350
+ (Defaults to provider `region`) The region in where the domain was created.
351
+ """
352
+ return pulumi.get(self, "region")
353
+
354
+ @property
355
+ @pulumi.getter
356
+ def url(self) -> pulumi.Output[str]:
357
+ """
358
+ The URL that triggers the function
359
+ """
360
+ return pulumi.get(self, "url")
361
+