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,400 @@
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__ = ['ContainerDomainArgs', 'ContainerDomain']
18
+
19
+ @pulumi.input_type
20
+ class ContainerDomainArgs:
21
+ def __init__(__self__, *,
22
+ container_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 ContainerDomain resource.
27
+ :param pulumi.Input[str] container_id: The ID of the container.
28
+ :param pulumi.Input[str] hostname: The hostname with a CNAME record.
29
+ :param pulumi.Input[str] region: `region`) The region in which the container exists
30
+ """
31
+ pulumi.set(__self__, "container_id", container_id)
32
+ pulumi.set(__self__, "hostname", hostname)
33
+ if region is not None:
34
+ pulumi.set(__self__, "region", region)
35
+
36
+ @property
37
+ @pulumi.getter(name="containerId")
38
+ def container_id(self) -> pulumi.Input[str]:
39
+ """
40
+ The ID of the container.
41
+ """
42
+ return pulumi.get(self, "container_id")
43
+
44
+ @container_id.setter
45
+ def container_id(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "container_id", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def hostname(self) -> pulumi.Input[str]:
51
+ """
52
+ The hostname with a CNAME record.
53
+ """
54
+ return pulumi.get(self, "hostname")
55
+
56
+ @hostname.setter
57
+ def hostname(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "hostname", value)
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def region(self) -> Optional[pulumi.Input[str]]:
63
+ """
64
+ `region`) The region in which the container exists
65
+ """
66
+ return pulumi.get(self, "region")
67
+
68
+ @region.setter
69
+ def region(self, value: Optional[pulumi.Input[str]]):
70
+ pulumi.set(self, "region", value)
71
+
72
+
73
+ @pulumi.input_type
74
+ class _ContainerDomainState:
75
+ def __init__(__self__, *,
76
+ container_id: Optional[pulumi.Input[str]] = None,
77
+ hostname: Optional[pulumi.Input[str]] = None,
78
+ region: Optional[pulumi.Input[str]] = None,
79
+ url: Optional[pulumi.Input[str]] = None):
80
+ """
81
+ Input properties used for looking up and filtering ContainerDomain resources.
82
+ :param pulumi.Input[str] container_id: The ID of the container.
83
+ :param pulumi.Input[str] hostname: The hostname with a CNAME record.
84
+ :param pulumi.Input[str] region: `region`) The region in which the container exists
85
+ :param pulumi.Input[str] url: The URL used to query the container
86
+ """
87
+ if container_id is not None:
88
+ pulumi.set(__self__, "container_id", container_id)
89
+ if hostname is not None:
90
+ pulumi.set(__self__, "hostname", hostname)
91
+ if region is not None:
92
+ pulumi.set(__self__, "region", region)
93
+ if url is not None:
94
+ pulumi.set(__self__, "url", url)
95
+
96
+ @property
97
+ @pulumi.getter(name="containerId")
98
+ def container_id(self) -> Optional[pulumi.Input[str]]:
99
+ """
100
+ The ID of the container.
101
+ """
102
+ return pulumi.get(self, "container_id")
103
+
104
+ @container_id.setter
105
+ def container_id(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "container_id", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def hostname(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ The hostname with a CNAME record.
113
+ """
114
+ return pulumi.get(self, "hostname")
115
+
116
+ @hostname.setter
117
+ def hostname(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "hostname", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def region(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ `region`) The region in which the container exists
125
+ """
126
+ return pulumi.get(self, "region")
127
+
128
+ @region.setter
129
+ def region(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "region", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def url(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ The URL used to query the container
137
+ """
138
+ return pulumi.get(self, "url")
139
+
140
+ @url.setter
141
+ def url(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "url", value)
143
+
144
+
145
+ class ContainerDomain(pulumi.CustomResource):
146
+ @overload
147
+ def __init__(__self__,
148
+ resource_name: str,
149
+ opts: Optional[pulumi.ResourceOptions] = None,
150
+ container_id: Optional[pulumi.Input[str]] = None,
151
+ hostname: Optional[pulumi.Input[str]] = None,
152
+ region: Optional[pulumi.Input[str]] = None,
153
+ __props__=None):
154
+ """
155
+ Creates and manages Scaleway Container domain name bindings.
156
+ You can check our [containers guide](https://www.scaleway.com/en/docs/compute/containers/how-to/add-a-custom-domain-to-a-container/) for further information.
157
+
158
+ ## Example Usage
159
+
160
+ ### Simple
161
+
162
+ ```python
163
+ import pulumi
164
+ import pulumiverse_scaleway as scaleway
165
+
166
+ app = scaleway.Container("app")
167
+ app_container_domain = scaleway.ContainerDomain("app",
168
+ container_id=app.id,
169
+ hostname="container.domain.tld")
170
+ ```
171
+
172
+ ### Complete example with domain
173
+
174
+ ```python
175
+ import pulumi
176
+ import pulumiverse_scaleway as scaleway
177
+
178
+ main = scaleway.ContainerNamespace("main",
179
+ name="my-ns-test",
180
+ description="test container")
181
+ app = scaleway.Container("app",
182
+ name="app",
183
+ namespace_id=main.id,
184
+ registry_image=main.registry_endpoint.apply(lambda registry_endpoint: f"{registry_endpoint}/nginx:alpine"),
185
+ port=80,
186
+ cpu_limit=140,
187
+ memory_limit=256,
188
+ min_scale=1,
189
+ max_scale=1,
190
+ timeout=600,
191
+ max_concurrency=80,
192
+ privacy="public",
193
+ protocol="http1",
194
+ deploy=True)
195
+ app_domain_record = scaleway.DomainRecord("app",
196
+ dns_zone="domain.tld",
197
+ name="subdomain",
198
+ type="CNAME",
199
+ data=app.domain_name.apply(lambda domain_name: f"{domain_name}."),
200
+ ttl=3600)
201
+ app_container_domain = scaleway.ContainerDomain("app",
202
+ container_id=app.id,
203
+ hostname=pulumi.Output.all(
204
+ name=app_domain_record.name,
205
+ dns_zone=app_domain_record.dns_zone
206
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['name']}.{resolved_outputs['dns_zone']}")
207
+ )
208
+ ```
209
+
210
+ ## Import
211
+
212
+ Container domain binding can be imported using the `{region}/{id}`, e.g.
213
+
214
+ bash
215
+
216
+ ```sh
217
+ $ pulumi import scaleway:index/containerDomain:ContainerDomain main fr-par/11111111-1111-1111-1111-111111111111
218
+ ```
219
+
220
+ :param str resource_name: The name of the resource.
221
+ :param pulumi.ResourceOptions opts: Options for the resource.
222
+ :param pulumi.Input[str] container_id: The ID of the container.
223
+ :param pulumi.Input[str] hostname: The hostname with a CNAME record.
224
+ :param pulumi.Input[str] region: `region`) The region in which the container exists
225
+ """
226
+ ...
227
+ @overload
228
+ def __init__(__self__,
229
+ resource_name: str,
230
+ args: ContainerDomainArgs,
231
+ opts: Optional[pulumi.ResourceOptions] = None):
232
+ """
233
+ Creates and manages Scaleway Container domain name bindings.
234
+ You can check our [containers guide](https://www.scaleway.com/en/docs/compute/containers/how-to/add-a-custom-domain-to-a-container/) for further information.
235
+
236
+ ## Example Usage
237
+
238
+ ### Simple
239
+
240
+ ```python
241
+ import pulumi
242
+ import pulumiverse_scaleway as scaleway
243
+
244
+ app = scaleway.Container("app")
245
+ app_container_domain = scaleway.ContainerDomain("app",
246
+ container_id=app.id,
247
+ hostname="container.domain.tld")
248
+ ```
249
+
250
+ ### Complete example with domain
251
+
252
+ ```python
253
+ import pulumi
254
+ import pulumiverse_scaleway as scaleway
255
+
256
+ main = scaleway.ContainerNamespace("main",
257
+ name="my-ns-test",
258
+ description="test container")
259
+ app = scaleway.Container("app",
260
+ name="app",
261
+ namespace_id=main.id,
262
+ registry_image=main.registry_endpoint.apply(lambda registry_endpoint: f"{registry_endpoint}/nginx:alpine"),
263
+ port=80,
264
+ cpu_limit=140,
265
+ memory_limit=256,
266
+ min_scale=1,
267
+ max_scale=1,
268
+ timeout=600,
269
+ max_concurrency=80,
270
+ privacy="public",
271
+ protocol="http1",
272
+ deploy=True)
273
+ app_domain_record = scaleway.DomainRecord("app",
274
+ dns_zone="domain.tld",
275
+ name="subdomain",
276
+ type="CNAME",
277
+ data=app.domain_name.apply(lambda domain_name: f"{domain_name}."),
278
+ ttl=3600)
279
+ app_container_domain = scaleway.ContainerDomain("app",
280
+ container_id=app.id,
281
+ hostname=pulumi.Output.all(
282
+ name=app_domain_record.name,
283
+ dns_zone=app_domain_record.dns_zone
284
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['name']}.{resolved_outputs['dns_zone']}")
285
+ )
286
+ ```
287
+
288
+ ## Import
289
+
290
+ Container domain binding can be imported using the `{region}/{id}`, e.g.
291
+
292
+ bash
293
+
294
+ ```sh
295
+ $ pulumi import scaleway:index/containerDomain:ContainerDomain main fr-par/11111111-1111-1111-1111-111111111111
296
+ ```
297
+
298
+ :param str resource_name: The name of the resource.
299
+ :param ContainerDomainArgs args: The arguments to use to populate this resource's properties.
300
+ :param pulumi.ResourceOptions opts: Options for the resource.
301
+ """
302
+ ...
303
+ def __init__(__self__, resource_name: str, *args, **kwargs):
304
+ resource_args, opts = _utilities.get_resource_args_opts(ContainerDomainArgs, pulumi.ResourceOptions, *args, **kwargs)
305
+ if resource_args is not None:
306
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
307
+ else:
308
+ __self__._internal_init(resource_name, *args, **kwargs)
309
+
310
+ def _internal_init(__self__,
311
+ resource_name: str,
312
+ opts: Optional[pulumi.ResourceOptions] = None,
313
+ container_id: Optional[pulumi.Input[str]] = None,
314
+ hostname: Optional[pulumi.Input[str]] = None,
315
+ region: Optional[pulumi.Input[str]] = None,
316
+ __props__=None):
317
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
318
+ if not isinstance(opts, pulumi.ResourceOptions):
319
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
320
+ if opts.id is None:
321
+ if __props__ is not None:
322
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
323
+ __props__ = ContainerDomainArgs.__new__(ContainerDomainArgs)
324
+
325
+ if container_id is None and not opts.urn:
326
+ raise TypeError("Missing required property 'container_id'")
327
+ __props__.__dict__["container_id"] = container_id
328
+ if hostname is None and not opts.urn:
329
+ raise TypeError("Missing required property 'hostname'")
330
+ __props__.__dict__["hostname"] = hostname
331
+ __props__.__dict__["region"] = region
332
+ __props__.__dict__["url"] = None
333
+ super(ContainerDomain, __self__).__init__(
334
+ 'scaleway:index/containerDomain:ContainerDomain',
335
+ resource_name,
336
+ __props__,
337
+ opts)
338
+
339
+ @staticmethod
340
+ def get(resource_name: str,
341
+ id: pulumi.Input[str],
342
+ opts: Optional[pulumi.ResourceOptions] = None,
343
+ container_id: Optional[pulumi.Input[str]] = None,
344
+ hostname: Optional[pulumi.Input[str]] = None,
345
+ region: Optional[pulumi.Input[str]] = None,
346
+ url: Optional[pulumi.Input[str]] = None) -> 'ContainerDomain':
347
+ """
348
+ Get an existing ContainerDomain resource's state with the given name, id, and optional extra
349
+ properties used to qualify the lookup.
350
+
351
+ :param str resource_name: The unique name of the resulting resource.
352
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
353
+ :param pulumi.ResourceOptions opts: Options for the resource.
354
+ :param pulumi.Input[str] container_id: The ID of the container.
355
+ :param pulumi.Input[str] hostname: The hostname with a CNAME record.
356
+ :param pulumi.Input[str] region: `region`) The region in which the container exists
357
+ :param pulumi.Input[str] url: The URL used to query the container
358
+ """
359
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
360
+
361
+ __props__ = _ContainerDomainState.__new__(_ContainerDomainState)
362
+
363
+ __props__.__dict__["container_id"] = container_id
364
+ __props__.__dict__["hostname"] = hostname
365
+ __props__.__dict__["region"] = region
366
+ __props__.__dict__["url"] = url
367
+ return ContainerDomain(resource_name, opts=opts, __props__=__props__)
368
+
369
+ @property
370
+ @pulumi.getter(name="containerId")
371
+ def container_id(self) -> pulumi.Output[str]:
372
+ """
373
+ The ID of the container.
374
+ """
375
+ return pulumi.get(self, "container_id")
376
+
377
+ @property
378
+ @pulumi.getter
379
+ def hostname(self) -> pulumi.Output[str]:
380
+ """
381
+ The hostname with a CNAME record.
382
+ """
383
+ return pulumi.get(self, "hostname")
384
+
385
+ @property
386
+ @pulumi.getter
387
+ def region(self) -> pulumi.Output[str]:
388
+ """
389
+ `region`) The region in which the container exists
390
+ """
391
+ return pulumi.get(self, "region")
392
+
393
+ @property
394
+ @pulumi.getter
395
+ def url(self) -> pulumi.Output[str]:
396
+ """
397
+ The URL used to query the container
398
+ """
399
+ return pulumi.get(self, "url")
400
+