pulumiverse-scaleway 1.25.0a1742288097__py3-none-any.whl → 1.25.0a1742668904__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.
Files changed (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742288097.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,662 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RouteArgs', 'Route']
20
+
21
+ @pulumi.input_type
22
+ class RouteArgs:
23
+ def __init__(__self__, *,
24
+ hub_id: pulumi.Input[str],
25
+ topic: pulumi.Input[str],
26
+ database: Optional[pulumi.Input['RouteDatabaseArgs']] = None,
27
+ name: Optional[pulumi.Input[str]] = None,
28
+ region: Optional[pulumi.Input[str]] = None,
29
+ rest: Optional[pulumi.Input['RouteRestArgs']] = None,
30
+ s3: Optional[pulumi.Input['RouteS3Args']] = None):
31
+ """
32
+ The set of arguments for constructing a Route resource.
33
+ :param pulumi.Input[str] hub_id: The hub ID to which the Route will be attached to.
34
+ :param pulumi.Input[str] topic: The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
35
+ :param pulumi.Input['RouteDatabaseArgs'] database: Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
36
+ :param pulumi.Input[str] name: The name of the IoT Route you want to create (e.g. `my-route`).
37
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the Route is attached to.
38
+ :param pulumi.Input['RouteRestArgs'] rest: Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
39
+ :param pulumi.Input['RouteS3Args'] s3: Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
40
+ """
41
+ pulumi.set(__self__, "hub_id", hub_id)
42
+ pulumi.set(__self__, "topic", topic)
43
+ if database is not None:
44
+ pulumi.set(__self__, "database", database)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+ if region is not None:
48
+ pulumi.set(__self__, "region", region)
49
+ if rest is not None:
50
+ pulumi.set(__self__, "rest", rest)
51
+ if s3 is not None:
52
+ pulumi.set(__self__, "s3", s3)
53
+
54
+ @property
55
+ @pulumi.getter(name="hubId")
56
+ def hub_id(self) -> pulumi.Input[str]:
57
+ """
58
+ The hub ID to which the Route will be attached to.
59
+ """
60
+ return pulumi.get(self, "hub_id")
61
+
62
+ @hub_id.setter
63
+ def hub_id(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "hub_id", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def topic(self) -> pulumi.Input[str]:
69
+ """
70
+ The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
71
+ """
72
+ return pulumi.get(self, "topic")
73
+
74
+ @topic.setter
75
+ def topic(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "topic", value)
77
+
78
+ @property
79
+ @pulumi.getter
80
+ def database(self) -> Optional[pulumi.Input['RouteDatabaseArgs']]:
81
+ """
82
+ Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
83
+ """
84
+ return pulumi.get(self, "database")
85
+
86
+ @database.setter
87
+ def database(self, value: Optional[pulumi.Input['RouteDatabaseArgs']]):
88
+ pulumi.set(self, "database", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def name(self) -> Optional[pulumi.Input[str]]:
93
+ """
94
+ The name of the IoT Route you want to create (e.g. `my-route`).
95
+ """
96
+ return pulumi.get(self, "name")
97
+
98
+ @name.setter
99
+ def name(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "name", value)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def region(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ (Defaults to provider `region`) The region in which the Route is attached to.
107
+ """
108
+ return pulumi.get(self, "region")
109
+
110
+ @region.setter
111
+ def region(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "region", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def rest(self) -> Optional[pulumi.Input['RouteRestArgs']]:
117
+ """
118
+ Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
119
+ """
120
+ return pulumi.get(self, "rest")
121
+
122
+ @rest.setter
123
+ def rest(self, value: Optional[pulumi.Input['RouteRestArgs']]):
124
+ pulumi.set(self, "rest", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def s3(self) -> Optional[pulumi.Input['RouteS3Args']]:
129
+ """
130
+ Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
131
+ """
132
+ return pulumi.get(self, "s3")
133
+
134
+ @s3.setter
135
+ def s3(self, value: Optional[pulumi.Input['RouteS3Args']]):
136
+ pulumi.set(self, "s3", value)
137
+
138
+
139
+ @pulumi.input_type
140
+ class _RouteState:
141
+ def __init__(__self__, *,
142
+ created_at: Optional[pulumi.Input[str]] = None,
143
+ database: Optional[pulumi.Input['RouteDatabaseArgs']] = None,
144
+ hub_id: Optional[pulumi.Input[str]] = None,
145
+ name: Optional[pulumi.Input[str]] = None,
146
+ region: Optional[pulumi.Input[str]] = None,
147
+ rest: Optional[pulumi.Input['RouteRestArgs']] = None,
148
+ s3: Optional[pulumi.Input['RouteS3Args']] = None,
149
+ topic: Optional[pulumi.Input[str]] = None):
150
+ """
151
+ Input properties used for looking up and filtering Route resources.
152
+ :param pulumi.Input[str] created_at: The date and time the Route was created.
153
+ :param pulumi.Input['RouteDatabaseArgs'] database: Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
154
+ :param pulumi.Input[str] hub_id: The hub ID to which the Route will be attached to.
155
+ :param pulumi.Input[str] name: The name of the IoT Route you want to create (e.g. `my-route`).
156
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the Route is attached to.
157
+ :param pulumi.Input['RouteRestArgs'] rest: Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
158
+ :param pulumi.Input['RouteS3Args'] s3: Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
159
+ :param pulumi.Input[str] topic: The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
160
+ """
161
+ if created_at is not None:
162
+ pulumi.set(__self__, "created_at", created_at)
163
+ if database is not None:
164
+ pulumi.set(__self__, "database", database)
165
+ if hub_id is not None:
166
+ pulumi.set(__self__, "hub_id", hub_id)
167
+ if name is not None:
168
+ pulumi.set(__self__, "name", name)
169
+ if region is not None:
170
+ pulumi.set(__self__, "region", region)
171
+ if rest is not None:
172
+ pulumi.set(__self__, "rest", rest)
173
+ if s3 is not None:
174
+ pulumi.set(__self__, "s3", s3)
175
+ if topic is not None:
176
+ pulumi.set(__self__, "topic", topic)
177
+
178
+ @property
179
+ @pulumi.getter(name="createdAt")
180
+ def created_at(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ The date and time the Route was created.
183
+ """
184
+ return pulumi.get(self, "created_at")
185
+
186
+ @created_at.setter
187
+ def created_at(self, value: Optional[pulumi.Input[str]]):
188
+ pulumi.set(self, "created_at", value)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def database(self) -> Optional[pulumi.Input['RouteDatabaseArgs']]:
193
+ """
194
+ Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
195
+ """
196
+ return pulumi.get(self, "database")
197
+
198
+ @database.setter
199
+ def database(self, value: Optional[pulumi.Input['RouteDatabaseArgs']]):
200
+ pulumi.set(self, "database", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="hubId")
204
+ def hub_id(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ The hub ID to which the Route will be attached to.
207
+ """
208
+ return pulumi.get(self, "hub_id")
209
+
210
+ @hub_id.setter
211
+ def hub_id(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "hub_id", value)
213
+
214
+ @property
215
+ @pulumi.getter
216
+ def name(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ The name of the IoT Route you want to create (e.g. `my-route`).
219
+ """
220
+ return pulumi.get(self, "name")
221
+
222
+ @name.setter
223
+ def name(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "name", value)
225
+
226
+ @property
227
+ @pulumi.getter
228
+ def region(self) -> Optional[pulumi.Input[str]]:
229
+ """
230
+ (Defaults to provider `region`) The region in which the Route is attached to.
231
+ """
232
+ return pulumi.get(self, "region")
233
+
234
+ @region.setter
235
+ def region(self, value: Optional[pulumi.Input[str]]):
236
+ pulumi.set(self, "region", value)
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def rest(self) -> Optional[pulumi.Input['RouteRestArgs']]:
241
+ """
242
+ Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
243
+ """
244
+ return pulumi.get(self, "rest")
245
+
246
+ @rest.setter
247
+ def rest(self, value: Optional[pulumi.Input['RouteRestArgs']]):
248
+ pulumi.set(self, "rest", value)
249
+
250
+ @property
251
+ @pulumi.getter
252
+ def s3(self) -> Optional[pulumi.Input['RouteS3Args']]:
253
+ """
254
+ Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
255
+ """
256
+ return pulumi.get(self, "s3")
257
+
258
+ @s3.setter
259
+ def s3(self, value: Optional[pulumi.Input['RouteS3Args']]):
260
+ pulumi.set(self, "s3", value)
261
+
262
+ @property
263
+ @pulumi.getter
264
+ def topic(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
267
+ """
268
+ return pulumi.get(self, "topic")
269
+
270
+ @topic.setter
271
+ def topic(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "topic", value)
273
+
274
+
275
+ class Route(pulumi.CustomResource):
276
+ @overload
277
+ def __init__(__self__,
278
+ resource_name: str,
279
+ opts: Optional[pulumi.ResourceOptions] = None,
280
+ database: Optional[pulumi.Input[Union['RouteDatabaseArgs', 'RouteDatabaseArgsDict']]] = None,
281
+ hub_id: Optional[pulumi.Input[str]] = None,
282
+ name: Optional[pulumi.Input[str]] = None,
283
+ region: Optional[pulumi.Input[str]] = None,
284
+ rest: Optional[pulumi.Input[Union['RouteRestArgs', 'RouteRestArgsDict']]] = None,
285
+ s3: Optional[pulumi.Input[Union['RouteS3Args', 'RouteS3ArgsDict']]] = None,
286
+ topic: Optional[pulumi.Input[str]] = None,
287
+ __props__=None):
288
+ """
289
+ ## Example Usage
290
+
291
+ ### Database Route
292
+
293
+ ```python
294
+ import pulumi
295
+ import pulumiverse_scaleway as scaleway
296
+
297
+ main_hub = scaleway.iot.Hub("main",
298
+ name="main",
299
+ product_plan="plan_shared")
300
+ iot = scaleway.databases.Instance("iot",
301
+ name="iot",
302
+ node_type="db-dev-s",
303
+ engine="PostgreSQL-12",
304
+ user_name="root",
305
+ password="T3stP4ssw0rdD0N0tUs3!")
306
+ main = scaleway.iot.Route("main",
307
+ name="default",
308
+ hub_id=main_hub.id,
309
+ topic="#",
310
+ database={
311
+ "query": \"\"\"INSERT INTO measurements(
312
+ \\x09push_time,
313
+ \\x09report_time,
314
+ \\x09station_id,
315
+ \\x09temperature,
316
+ \\x09humidity
317
+ ) VALUES (
318
+ \\x09NOW(),
319
+ \\x09TIMESTAMP 'epoch' + (($PAYLOAD::jsonb->'last_reported')::integer * INTERVAL '1 second'),
320
+ \\x09($PAYLOAD::jsonb->'station_id')::uuid,
321
+ \\x09($PAYLOAD::jsonb->'temperature')::decimal,
322
+ \\x09($PAYLOAD::jsonb->'humidity'):decimal:
323
+ );
324
+ \"\"\",
325
+ "host": iot.endpoint_ip,
326
+ "port": iot.endpoint_port,
327
+ "dbname": "rdb",
328
+ "username": iot.user_name,
329
+ "password": iot.password,
330
+ })
331
+ ```
332
+
333
+ ### S3 Route
334
+
335
+ ```python
336
+ import pulumi
337
+ import pulumiverse_scaleway as scaleway
338
+
339
+ main_hub = scaleway.iot.Hub("main",
340
+ name="main",
341
+ product_plan="plan_shared")
342
+ main_bucket = scaleway.object.Bucket("main",
343
+ region="fr-par",
344
+ name="my_awesome-bucket")
345
+ main = scaleway.iot.Route("main",
346
+ name="main",
347
+ hub_id=main_hub.id,
348
+ topic="#",
349
+ s3={
350
+ "bucket_region": main_bucket.region,
351
+ "bucket_name": main_bucket.name,
352
+ "object_prefix": "foo",
353
+ "strategy": "per_topic",
354
+ })
355
+ ```
356
+
357
+ ### Rest Route
358
+
359
+ ```python
360
+ import pulumi
361
+ import pulumiverse_scaleway as scaleway
362
+
363
+ main_hub = scaleway.iot.Hub("main",
364
+ name="main",
365
+ product_plan="plan_shared")
366
+ main = scaleway.iot.Route("main",
367
+ name="main",
368
+ hub_id=main_hub.id,
369
+ topic="#",
370
+ rest={
371
+ "verb": "get",
372
+ "uri": "http://scaleway.com",
373
+ "headers": {
374
+ "X-awesome-header": "my-awesome-value",
375
+ },
376
+ })
377
+ ```
378
+
379
+ ## Import
380
+
381
+ IoT Routes can be imported using the `{region}/{id}`, e.g.
382
+
383
+ bash
384
+
385
+ ```sh
386
+ $ pulumi import scaleway:iot/route:Route route01 fr-par/11111111-1111-1111-1111-111111111111
387
+ ```
388
+
389
+ :param str resource_name: The name of the resource.
390
+ :param pulumi.ResourceOptions opts: Options for the resource.
391
+ :param pulumi.Input[Union['RouteDatabaseArgs', 'RouteDatabaseArgsDict']] database: Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
392
+ :param pulumi.Input[str] hub_id: The hub ID to which the Route will be attached to.
393
+ :param pulumi.Input[str] name: The name of the IoT Route you want to create (e.g. `my-route`).
394
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the Route is attached to.
395
+ :param pulumi.Input[Union['RouteRestArgs', 'RouteRestArgsDict']] rest: Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
396
+ :param pulumi.Input[Union['RouteS3Args', 'RouteS3ArgsDict']] s3: Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
397
+ :param pulumi.Input[str] topic: The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
398
+ """
399
+ ...
400
+ @overload
401
+ def __init__(__self__,
402
+ resource_name: str,
403
+ args: RouteArgs,
404
+ opts: Optional[pulumi.ResourceOptions] = None):
405
+ """
406
+ ## Example Usage
407
+
408
+ ### Database Route
409
+
410
+ ```python
411
+ import pulumi
412
+ import pulumiverse_scaleway as scaleway
413
+
414
+ main_hub = scaleway.iot.Hub("main",
415
+ name="main",
416
+ product_plan="plan_shared")
417
+ iot = scaleway.databases.Instance("iot",
418
+ name="iot",
419
+ node_type="db-dev-s",
420
+ engine="PostgreSQL-12",
421
+ user_name="root",
422
+ password="T3stP4ssw0rdD0N0tUs3!")
423
+ main = scaleway.iot.Route("main",
424
+ name="default",
425
+ hub_id=main_hub.id,
426
+ topic="#",
427
+ database={
428
+ "query": \"\"\"INSERT INTO measurements(
429
+ \\x09push_time,
430
+ \\x09report_time,
431
+ \\x09station_id,
432
+ \\x09temperature,
433
+ \\x09humidity
434
+ ) VALUES (
435
+ \\x09NOW(),
436
+ \\x09TIMESTAMP 'epoch' + (($PAYLOAD::jsonb->'last_reported')::integer * INTERVAL '1 second'),
437
+ \\x09($PAYLOAD::jsonb->'station_id')::uuid,
438
+ \\x09($PAYLOAD::jsonb->'temperature')::decimal,
439
+ \\x09($PAYLOAD::jsonb->'humidity'):decimal:
440
+ );
441
+ \"\"\",
442
+ "host": iot.endpoint_ip,
443
+ "port": iot.endpoint_port,
444
+ "dbname": "rdb",
445
+ "username": iot.user_name,
446
+ "password": iot.password,
447
+ })
448
+ ```
449
+
450
+ ### S3 Route
451
+
452
+ ```python
453
+ import pulumi
454
+ import pulumiverse_scaleway as scaleway
455
+
456
+ main_hub = scaleway.iot.Hub("main",
457
+ name="main",
458
+ product_plan="plan_shared")
459
+ main_bucket = scaleway.object.Bucket("main",
460
+ region="fr-par",
461
+ name="my_awesome-bucket")
462
+ main = scaleway.iot.Route("main",
463
+ name="main",
464
+ hub_id=main_hub.id,
465
+ topic="#",
466
+ s3={
467
+ "bucket_region": main_bucket.region,
468
+ "bucket_name": main_bucket.name,
469
+ "object_prefix": "foo",
470
+ "strategy": "per_topic",
471
+ })
472
+ ```
473
+
474
+ ### Rest Route
475
+
476
+ ```python
477
+ import pulumi
478
+ import pulumiverse_scaleway as scaleway
479
+
480
+ main_hub = scaleway.iot.Hub("main",
481
+ name="main",
482
+ product_plan="plan_shared")
483
+ main = scaleway.iot.Route("main",
484
+ name="main",
485
+ hub_id=main_hub.id,
486
+ topic="#",
487
+ rest={
488
+ "verb": "get",
489
+ "uri": "http://scaleway.com",
490
+ "headers": {
491
+ "X-awesome-header": "my-awesome-value",
492
+ },
493
+ })
494
+ ```
495
+
496
+ ## Import
497
+
498
+ IoT Routes can be imported using the `{region}/{id}`, e.g.
499
+
500
+ bash
501
+
502
+ ```sh
503
+ $ pulumi import scaleway:iot/route:Route route01 fr-par/11111111-1111-1111-1111-111111111111
504
+ ```
505
+
506
+ :param str resource_name: The name of the resource.
507
+ :param RouteArgs args: The arguments to use to populate this resource's properties.
508
+ :param pulumi.ResourceOptions opts: Options for the resource.
509
+ """
510
+ ...
511
+ def __init__(__self__, resource_name: str, *args, **kwargs):
512
+ resource_args, opts = _utilities.get_resource_args_opts(RouteArgs, pulumi.ResourceOptions, *args, **kwargs)
513
+ if resource_args is not None:
514
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
515
+ else:
516
+ __self__._internal_init(resource_name, *args, **kwargs)
517
+
518
+ def _internal_init(__self__,
519
+ resource_name: str,
520
+ opts: Optional[pulumi.ResourceOptions] = None,
521
+ database: Optional[pulumi.Input[Union['RouteDatabaseArgs', 'RouteDatabaseArgsDict']]] = None,
522
+ hub_id: Optional[pulumi.Input[str]] = None,
523
+ name: Optional[pulumi.Input[str]] = None,
524
+ region: Optional[pulumi.Input[str]] = None,
525
+ rest: Optional[pulumi.Input[Union['RouteRestArgs', 'RouteRestArgsDict']]] = None,
526
+ s3: Optional[pulumi.Input[Union['RouteS3Args', 'RouteS3ArgsDict']]] = None,
527
+ topic: Optional[pulumi.Input[str]] = None,
528
+ __props__=None):
529
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
530
+ if not isinstance(opts, pulumi.ResourceOptions):
531
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
532
+ if opts.id is None:
533
+ if __props__ is not None:
534
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
535
+ __props__ = RouteArgs.__new__(RouteArgs)
536
+
537
+ __props__.__dict__["database"] = database
538
+ if hub_id is None and not opts.urn:
539
+ raise TypeError("Missing required property 'hub_id'")
540
+ __props__.__dict__["hub_id"] = hub_id
541
+ __props__.__dict__["name"] = name
542
+ __props__.__dict__["region"] = region
543
+ __props__.__dict__["rest"] = rest
544
+ __props__.__dict__["s3"] = s3
545
+ if topic is None and not opts.urn:
546
+ raise TypeError("Missing required property 'topic'")
547
+ __props__.__dict__["topic"] = topic
548
+ __props__.__dict__["created_at"] = None
549
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/iotRoute:IotRoute")])
550
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
551
+ super(Route, __self__).__init__(
552
+ 'scaleway:iot/route:Route',
553
+ resource_name,
554
+ __props__,
555
+ opts)
556
+
557
+ @staticmethod
558
+ def get(resource_name: str,
559
+ id: pulumi.Input[str],
560
+ opts: Optional[pulumi.ResourceOptions] = None,
561
+ created_at: Optional[pulumi.Input[str]] = None,
562
+ database: Optional[pulumi.Input[Union['RouteDatabaseArgs', 'RouteDatabaseArgsDict']]] = None,
563
+ hub_id: Optional[pulumi.Input[str]] = None,
564
+ name: Optional[pulumi.Input[str]] = None,
565
+ region: Optional[pulumi.Input[str]] = None,
566
+ rest: Optional[pulumi.Input[Union['RouteRestArgs', 'RouteRestArgsDict']]] = None,
567
+ s3: Optional[pulumi.Input[Union['RouteS3Args', 'RouteS3ArgsDict']]] = None,
568
+ topic: Optional[pulumi.Input[str]] = None) -> 'Route':
569
+ """
570
+ Get an existing Route 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 the Route was created.
577
+ :param pulumi.Input[Union['RouteDatabaseArgs', 'RouteDatabaseArgsDict']] database: Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
578
+ :param pulumi.Input[str] hub_id: The hub ID to which the Route will be attached to.
579
+ :param pulumi.Input[str] name: The name of the IoT Route you want to create (e.g. `my-route`).
580
+ :param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the Route is attached to.
581
+ :param pulumi.Input[Union['RouteRestArgs', 'RouteRestArgsDict']] rest: Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
582
+ :param pulumi.Input[Union['RouteS3Args', 'RouteS3ArgsDict']] s3: Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
583
+ :param pulumi.Input[str] topic: The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
584
+ """
585
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
586
+
587
+ __props__ = _RouteState.__new__(_RouteState)
588
+
589
+ __props__.__dict__["created_at"] = created_at
590
+ __props__.__dict__["database"] = database
591
+ __props__.__dict__["hub_id"] = hub_id
592
+ __props__.__dict__["name"] = name
593
+ __props__.__dict__["region"] = region
594
+ __props__.__dict__["rest"] = rest
595
+ __props__.__dict__["s3"] = s3
596
+ __props__.__dict__["topic"] = topic
597
+ return Route(resource_name, opts=opts, __props__=__props__)
598
+
599
+ @property
600
+ @pulumi.getter(name="createdAt")
601
+ def created_at(self) -> pulumi.Output[str]:
602
+ """
603
+ The date and time the Route was created.
604
+ """
605
+ return pulumi.get(self, "created_at")
606
+
607
+ @property
608
+ @pulumi.getter
609
+ def database(self) -> pulumi.Output[Optional['outputs.RouteDatabase']]:
610
+ """
611
+ Configuration block for the database routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
612
+ """
613
+ return pulumi.get(self, "database")
614
+
615
+ @property
616
+ @pulumi.getter(name="hubId")
617
+ def hub_id(self) -> pulumi.Output[str]:
618
+ """
619
+ The hub ID to which the Route will be attached to.
620
+ """
621
+ return pulumi.get(self, "hub_id")
622
+
623
+ @property
624
+ @pulumi.getter
625
+ def name(self) -> pulumi.Output[str]:
626
+ """
627
+ The name of the IoT Route you want to create (e.g. `my-route`).
628
+ """
629
+ return pulumi.get(self, "name")
630
+
631
+ @property
632
+ @pulumi.getter
633
+ def region(self) -> pulumi.Output[str]:
634
+ """
635
+ (Defaults to provider `region`) The region in which the Route is attached to.
636
+ """
637
+ return pulumi.get(self, "region")
638
+
639
+ @property
640
+ @pulumi.getter
641
+ def rest(self) -> pulumi.Output[Optional['outputs.RouteRest']]:
642
+ """
643
+ Configuration block for the rest routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
644
+ """
645
+ return pulumi.get(self, "rest")
646
+
647
+ @property
648
+ @pulumi.getter
649
+ def s3(self) -> pulumi.Output[Optional['outputs.RouteS3']]:
650
+ """
651
+ Configuration block for the S3 routes. See [product documentation](https://www.scaleway.com/en/docs/iot-hub/how-to/create-route/) for a better understanding of the parameters.
652
+ """
653
+ return pulumi.get(self, "s3")
654
+
655
+ @property
656
+ @pulumi.getter
657
+ def topic(self) -> pulumi.Output[str]:
658
+ """
659
+ The topic the Route subscribes to, wildcards allowed (e.g. `thelab/+/temperature/#`).
660
+ """
661
+ return pulumi.get(self, "topic")
662
+