pulumiverse-scaleway 1.24.0a1741680905__py3-none-any.whl → 1.25.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.
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.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.24.0a1741680905.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,752 @@
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__ = ['DeviceArgs', 'Device']
20
+
21
+ @pulumi.input_type
22
+ class DeviceArgs:
23
+ def __init__(__self__, *,
24
+ hub_id: pulumi.Input[str],
25
+ allow_insecure: Optional[pulumi.Input[bool]] = None,
26
+ allow_multiple_connections: Optional[pulumi.Input[bool]] = None,
27
+ certificate: Optional[pulumi.Input['DeviceCertificateArgs']] = None,
28
+ description: Optional[pulumi.Input[str]] = None,
29
+ message_filters: Optional[pulumi.Input['DeviceMessageFiltersArgs']] = None,
30
+ name: Optional[pulumi.Input[str]] = None,
31
+ region: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a Device resource.
34
+ :param pulumi.Input[str] hub_id: The ID of the hub on which this device will be created.
35
+ :param pulumi.Input[bool] allow_insecure: Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
36
+
37
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
38
+ :param pulumi.Input[bool] allow_multiple_connections: Allow more than one simultaneous connection using the same device credentials.
39
+
40
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
41
+ :param pulumi.Input['DeviceCertificateArgs'] certificate: The certificate bundle of the device.
42
+ :param pulumi.Input[str] description: The description of the IoT device (e.g. `living room`).
43
+ :param pulumi.Input['DeviceMessageFiltersArgs'] message_filters: Rules that define which messages are authorized or denied based on their topic.
44
+ :param pulumi.Input[str] name: The name of the IoT device you want to create (e.g. `my-device`).
45
+
46
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
47
+ :param pulumi.Input[str] region: The region you want to attach the resource to
48
+ """
49
+ pulumi.set(__self__, "hub_id", hub_id)
50
+ if allow_insecure is not None:
51
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
52
+ if allow_multiple_connections is not None:
53
+ pulumi.set(__self__, "allow_multiple_connections", allow_multiple_connections)
54
+ if certificate is not None:
55
+ pulumi.set(__self__, "certificate", certificate)
56
+ if description is not None:
57
+ pulumi.set(__self__, "description", description)
58
+ if message_filters is not None:
59
+ pulumi.set(__self__, "message_filters", message_filters)
60
+ if name is not None:
61
+ pulumi.set(__self__, "name", name)
62
+ if region is not None:
63
+ pulumi.set(__self__, "region", region)
64
+
65
+ @property
66
+ @pulumi.getter(name="hubId")
67
+ def hub_id(self) -> pulumi.Input[str]:
68
+ """
69
+ The ID of the hub on which this device will be created.
70
+ """
71
+ return pulumi.get(self, "hub_id")
72
+
73
+ @hub_id.setter
74
+ def hub_id(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "hub_id", value)
76
+
77
+ @property
78
+ @pulumi.getter(name="allowInsecure")
79
+ def allow_insecure(self) -> Optional[pulumi.Input[bool]]:
80
+ """
81
+ Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
82
+
83
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
84
+ """
85
+ return pulumi.get(self, "allow_insecure")
86
+
87
+ @allow_insecure.setter
88
+ def allow_insecure(self, value: Optional[pulumi.Input[bool]]):
89
+ pulumi.set(self, "allow_insecure", value)
90
+
91
+ @property
92
+ @pulumi.getter(name="allowMultipleConnections")
93
+ def allow_multiple_connections(self) -> Optional[pulumi.Input[bool]]:
94
+ """
95
+ Allow more than one simultaneous connection using the same device credentials.
96
+
97
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
98
+ """
99
+ return pulumi.get(self, "allow_multiple_connections")
100
+
101
+ @allow_multiple_connections.setter
102
+ def allow_multiple_connections(self, value: Optional[pulumi.Input[bool]]):
103
+ pulumi.set(self, "allow_multiple_connections", value)
104
+
105
+ @property
106
+ @pulumi.getter
107
+ def certificate(self) -> Optional[pulumi.Input['DeviceCertificateArgs']]:
108
+ """
109
+ The certificate bundle of the device.
110
+ """
111
+ return pulumi.get(self, "certificate")
112
+
113
+ @certificate.setter
114
+ def certificate(self, value: Optional[pulumi.Input['DeviceCertificateArgs']]):
115
+ pulumi.set(self, "certificate", value)
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def description(self) -> Optional[pulumi.Input[str]]:
120
+ """
121
+ The description of the IoT device (e.g. `living room`).
122
+ """
123
+ return pulumi.get(self, "description")
124
+
125
+ @description.setter
126
+ def description(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "description", value)
128
+
129
+ @property
130
+ @pulumi.getter(name="messageFilters")
131
+ def message_filters(self) -> Optional[pulumi.Input['DeviceMessageFiltersArgs']]:
132
+ """
133
+ Rules that define which messages are authorized or denied based on their topic.
134
+ """
135
+ return pulumi.get(self, "message_filters")
136
+
137
+ @message_filters.setter
138
+ def message_filters(self, value: Optional[pulumi.Input['DeviceMessageFiltersArgs']]):
139
+ pulumi.set(self, "message_filters", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def name(self) -> Optional[pulumi.Input[str]]:
144
+ """
145
+ The name of the IoT device you want to create (e.g. `my-device`).
146
+
147
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
148
+ """
149
+ return pulumi.get(self, "name")
150
+
151
+ @name.setter
152
+ def name(self, value: Optional[pulumi.Input[str]]):
153
+ pulumi.set(self, "name", value)
154
+
155
+ @property
156
+ @pulumi.getter
157
+ def region(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ The region you want to attach the resource to
160
+ """
161
+ return pulumi.get(self, "region")
162
+
163
+ @region.setter
164
+ def region(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "region", value)
166
+
167
+
168
+ @pulumi.input_type
169
+ class _DeviceState:
170
+ def __init__(__self__, *,
171
+ allow_insecure: Optional[pulumi.Input[bool]] = None,
172
+ allow_multiple_connections: Optional[pulumi.Input[bool]] = None,
173
+ certificate: Optional[pulumi.Input['DeviceCertificateArgs']] = None,
174
+ created_at: Optional[pulumi.Input[str]] = None,
175
+ description: Optional[pulumi.Input[str]] = None,
176
+ hub_id: Optional[pulumi.Input[str]] = None,
177
+ is_connected: Optional[pulumi.Input[bool]] = None,
178
+ last_activity_at: Optional[pulumi.Input[str]] = None,
179
+ message_filters: Optional[pulumi.Input['DeviceMessageFiltersArgs']] = None,
180
+ name: Optional[pulumi.Input[str]] = None,
181
+ region: Optional[pulumi.Input[str]] = None,
182
+ status: Optional[pulumi.Input[str]] = None,
183
+ updated_at: Optional[pulumi.Input[str]] = None):
184
+ """
185
+ Input properties used for looking up and filtering Device resources.
186
+ :param pulumi.Input[bool] allow_insecure: Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
187
+
188
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
189
+ :param pulumi.Input[bool] allow_multiple_connections: Allow more than one simultaneous connection using the same device credentials.
190
+
191
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
192
+ :param pulumi.Input['DeviceCertificateArgs'] certificate: The certificate bundle of the device.
193
+ :param pulumi.Input[str] created_at: The date and time the device was created.
194
+ :param pulumi.Input[str] description: The description of the IoT device (e.g. `living room`).
195
+ :param pulumi.Input[str] hub_id: The ID of the hub on which this device will be created.
196
+ :param pulumi.Input[bool] is_connected: The current connection status of the device.
197
+ :param pulumi.Input[str] last_activity_at: The last MQTT activity of the device.
198
+ :param pulumi.Input['DeviceMessageFiltersArgs'] message_filters: Rules that define which messages are authorized or denied based on their topic.
199
+ :param pulumi.Input[str] name: The name of the IoT device you want to create (e.g. `my-device`).
200
+
201
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
202
+ :param pulumi.Input[str] region: The region you want to attach the resource to
203
+ :param pulumi.Input[str] status: The current status of the device.
204
+ :param pulumi.Input[str] updated_at: The date and time the device resource was updated.
205
+ """
206
+ if allow_insecure is not None:
207
+ pulumi.set(__self__, "allow_insecure", allow_insecure)
208
+ if allow_multiple_connections is not None:
209
+ pulumi.set(__self__, "allow_multiple_connections", allow_multiple_connections)
210
+ if certificate is not None:
211
+ pulumi.set(__self__, "certificate", certificate)
212
+ if created_at is not None:
213
+ pulumi.set(__self__, "created_at", created_at)
214
+ if description is not None:
215
+ pulumi.set(__self__, "description", description)
216
+ if hub_id is not None:
217
+ pulumi.set(__self__, "hub_id", hub_id)
218
+ if is_connected is not None:
219
+ pulumi.set(__self__, "is_connected", is_connected)
220
+ if last_activity_at is not None:
221
+ pulumi.set(__self__, "last_activity_at", last_activity_at)
222
+ if message_filters is not None:
223
+ pulumi.set(__self__, "message_filters", message_filters)
224
+ if name is not None:
225
+ pulumi.set(__self__, "name", name)
226
+ if region is not None:
227
+ pulumi.set(__self__, "region", region)
228
+ if status is not None:
229
+ pulumi.set(__self__, "status", status)
230
+ if updated_at is not None:
231
+ pulumi.set(__self__, "updated_at", updated_at)
232
+
233
+ @property
234
+ @pulumi.getter(name="allowInsecure")
235
+ def allow_insecure(self) -> Optional[pulumi.Input[bool]]:
236
+ """
237
+ Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
238
+
239
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
240
+ """
241
+ return pulumi.get(self, "allow_insecure")
242
+
243
+ @allow_insecure.setter
244
+ def allow_insecure(self, value: Optional[pulumi.Input[bool]]):
245
+ pulumi.set(self, "allow_insecure", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="allowMultipleConnections")
249
+ def allow_multiple_connections(self) -> Optional[pulumi.Input[bool]]:
250
+ """
251
+ Allow more than one simultaneous connection using the same device credentials.
252
+
253
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
254
+ """
255
+ return pulumi.get(self, "allow_multiple_connections")
256
+
257
+ @allow_multiple_connections.setter
258
+ def allow_multiple_connections(self, value: Optional[pulumi.Input[bool]]):
259
+ pulumi.set(self, "allow_multiple_connections", value)
260
+
261
+ @property
262
+ @pulumi.getter
263
+ def certificate(self) -> Optional[pulumi.Input['DeviceCertificateArgs']]:
264
+ """
265
+ The certificate bundle of the device.
266
+ """
267
+ return pulumi.get(self, "certificate")
268
+
269
+ @certificate.setter
270
+ def certificate(self, value: Optional[pulumi.Input['DeviceCertificateArgs']]):
271
+ pulumi.set(self, "certificate", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="createdAt")
275
+ def created_at(self) -> Optional[pulumi.Input[str]]:
276
+ """
277
+ The date and time the device was created.
278
+ """
279
+ return pulumi.get(self, "created_at")
280
+
281
+ @created_at.setter
282
+ def created_at(self, value: Optional[pulumi.Input[str]]):
283
+ pulumi.set(self, "created_at", value)
284
+
285
+ @property
286
+ @pulumi.getter
287
+ def description(self) -> Optional[pulumi.Input[str]]:
288
+ """
289
+ The description of the IoT device (e.g. `living room`).
290
+ """
291
+ return pulumi.get(self, "description")
292
+
293
+ @description.setter
294
+ def description(self, value: Optional[pulumi.Input[str]]):
295
+ pulumi.set(self, "description", value)
296
+
297
+ @property
298
+ @pulumi.getter(name="hubId")
299
+ def hub_id(self) -> Optional[pulumi.Input[str]]:
300
+ """
301
+ The ID of the hub on which this device will be created.
302
+ """
303
+ return pulumi.get(self, "hub_id")
304
+
305
+ @hub_id.setter
306
+ def hub_id(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "hub_id", value)
308
+
309
+ @property
310
+ @pulumi.getter(name="isConnected")
311
+ def is_connected(self) -> Optional[pulumi.Input[bool]]:
312
+ """
313
+ The current connection status of the device.
314
+ """
315
+ return pulumi.get(self, "is_connected")
316
+
317
+ @is_connected.setter
318
+ def is_connected(self, value: Optional[pulumi.Input[bool]]):
319
+ pulumi.set(self, "is_connected", value)
320
+
321
+ @property
322
+ @pulumi.getter(name="lastActivityAt")
323
+ def last_activity_at(self) -> Optional[pulumi.Input[str]]:
324
+ """
325
+ The last MQTT activity of the device.
326
+ """
327
+ return pulumi.get(self, "last_activity_at")
328
+
329
+ @last_activity_at.setter
330
+ def last_activity_at(self, value: Optional[pulumi.Input[str]]):
331
+ pulumi.set(self, "last_activity_at", value)
332
+
333
+ @property
334
+ @pulumi.getter(name="messageFilters")
335
+ def message_filters(self) -> Optional[pulumi.Input['DeviceMessageFiltersArgs']]:
336
+ """
337
+ Rules that define which messages are authorized or denied based on their topic.
338
+ """
339
+ return pulumi.get(self, "message_filters")
340
+
341
+ @message_filters.setter
342
+ def message_filters(self, value: Optional[pulumi.Input['DeviceMessageFiltersArgs']]):
343
+ pulumi.set(self, "message_filters", value)
344
+
345
+ @property
346
+ @pulumi.getter
347
+ def name(self) -> Optional[pulumi.Input[str]]:
348
+ """
349
+ The name of the IoT device you want to create (e.g. `my-device`).
350
+
351
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
352
+ """
353
+ return pulumi.get(self, "name")
354
+
355
+ @name.setter
356
+ def name(self, value: Optional[pulumi.Input[str]]):
357
+ pulumi.set(self, "name", value)
358
+
359
+ @property
360
+ @pulumi.getter
361
+ def region(self) -> Optional[pulumi.Input[str]]:
362
+ """
363
+ The region you want to attach the resource to
364
+ """
365
+ return pulumi.get(self, "region")
366
+
367
+ @region.setter
368
+ def region(self, value: Optional[pulumi.Input[str]]):
369
+ pulumi.set(self, "region", value)
370
+
371
+ @property
372
+ @pulumi.getter
373
+ def status(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ The current status of the device.
376
+ """
377
+ return pulumi.get(self, "status")
378
+
379
+ @status.setter
380
+ def status(self, value: Optional[pulumi.Input[str]]):
381
+ pulumi.set(self, "status", value)
382
+
383
+ @property
384
+ @pulumi.getter(name="updatedAt")
385
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
386
+ """
387
+ The date and time the device resource was updated.
388
+ """
389
+ return pulumi.get(self, "updated_at")
390
+
391
+ @updated_at.setter
392
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
393
+ pulumi.set(self, "updated_at", value)
394
+
395
+
396
+ class Device(pulumi.CustomResource):
397
+ @overload
398
+ def __init__(__self__,
399
+ resource_name: str,
400
+ opts: Optional[pulumi.ResourceOptions] = None,
401
+ allow_insecure: Optional[pulumi.Input[bool]] = None,
402
+ allow_multiple_connections: Optional[pulumi.Input[bool]] = None,
403
+ certificate: Optional[pulumi.Input[Union['DeviceCertificateArgs', 'DeviceCertificateArgsDict']]] = None,
404
+ description: Optional[pulumi.Input[str]] = None,
405
+ hub_id: Optional[pulumi.Input[str]] = None,
406
+ message_filters: Optional[pulumi.Input[Union['DeviceMessageFiltersArgs', 'DeviceMessageFiltersArgsDict']]] = None,
407
+ name: Optional[pulumi.Input[str]] = None,
408
+ region: Optional[pulumi.Input[str]] = None,
409
+ __props__=None):
410
+ """
411
+ ## Example Usage
412
+
413
+ ### Basic
414
+
415
+ ```python
416
+ import pulumi
417
+ import pulumiverse_scaleway as scaleway
418
+
419
+ main = scaleway.iot.Hub("main",
420
+ name="test-iot",
421
+ product_plan="plan_shared")
422
+ main_device = scaleway.iot.Device("main",
423
+ hub_id=main.id,
424
+ name="test-iot")
425
+ ```
426
+
427
+ ### With custom certificate
428
+
429
+ ```python
430
+ import pulumi
431
+ import pulumi_local as local
432
+ import pulumiverse_scaleway as scaleway
433
+
434
+ main = scaleway.iot.Hub("main",
435
+ name="test-iot",
436
+ product_plan="plan_shared")
437
+ device_cert = local.get_file(filename="device-certificate.pem")
438
+ main_device = scaleway.iot.Device("main",
439
+ hub_id=main.id,
440
+ name="test-iot",
441
+ certificate={
442
+ "crt": device_cert.content,
443
+ })
444
+ ```
445
+
446
+ ## Import
447
+
448
+ IoT devices can be imported using the `{region}/{id}`, e.g.
449
+
450
+ bash
451
+
452
+ ```sh
453
+ $ pulumi import scaleway:iot/device:Device device01 fr-par/11111111-1111-1111-1111-111111111111
454
+ ```
455
+
456
+ :param str resource_name: The name of the resource.
457
+ :param pulumi.ResourceOptions opts: Options for the resource.
458
+ :param pulumi.Input[bool] allow_insecure: Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
459
+
460
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
461
+ :param pulumi.Input[bool] allow_multiple_connections: Allow more than one simultaneous connection using the same device credentials.
462
+
463
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
464
+ :param pulumi.Input[Union['DeviceCertificateArgs', 'DeviceCertificateArgsDict']] certificate: The certificate bundle of the device.
465
+ :param pulumi.Input[str] description: The description of the IoT device (e.g. `living room`).
466
+ :param pulumi.Input[str] hub_id: The ID of the hub on which this device will be created.
467
+ :param pulumi.Input[Union['DeviceMessageFiltersArgs', 'DeviceMessageFiltersArgsDict']] message_filters: Rules that define which messages are authorized or denied based on their topic.
468
+ :param pulumi.Input[str] name: The name of the IoT device you want to create (e.g. `my-device`).
469
+
470
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
471
+ :param pulumi.Input[str] region: The region you want to attach the resource to
472
+ """
473
+ ...
474
+ @overload
475
+ def __init__(__self__,
476
+ resource_name: str,
477
+ args: DeviceArgs,
478
+ opts: Optional[pulumi.ResourceOptions] = None):
479
+ """
480
+ ## Example Usage
481
+
482
+ ### Basic
483
+
484
+ ```python
485
+ import pulumi
486
+ import pulumiverse_scaleway as scaleway
487
+
488
+ main = scaleway.iot.Hub("main",
489
+ name="test-iot",
490
+ product_plan="plan_shared")
491
+ main_device = scaleway.iot.Device("main",
492
+ hub_id=main.id,
493
+ name="test-iot")
494
+ ```
495
+
496
+ ### With custom certificate
497
+
498
+ ```python
499
+ import pulumi
500
+ import pulumi_local as local
501
+ import pulumiverse_scaleway as scaleway
502
+
503
+ main = scaleway.iot.Hub("main",
504
+ name="test-iot",
505
+ product_plan="plan_shared")
506
+ device_cert = local.get_file(filename="device-certificate.pem")
507
+ main_device = scaleway.iot.Device("main",
508
+ hub_id=main.id,
509
+ name="test-iot",
510
+ certificate={
511
+ "crt": device_cert.content,
512
+ })
513
+ ```
514
+
515
+ ## Import
516
+
517
+ IoT devices can be imported using the `{region}/{id}`, e.g.
518
+
519
+ bash
520
+
521
+ ```sh
522
+ $ pulumi import scaleway:iot/device:Device device01 fr-par/11111111-1111-1111-1111-111111111111
523
+ ```
524
+
525
+ :param str resource_name: The name of the resource.
526
+ :param DeviceArgs args: The arguments to use to populate this resource's properties.
527
+ :param pulumi.ResourceOptions opts: Options for the resource.
528
+ """
529
+ ...
530
+ def __init__(__self__, resource_name: str, *args, **kwargs):
531
+ resource_args, opts = _utilities.get_resource_args_opts(DeviceArgs, pulumi.ResourceOptions, *args, **kwargs)
532
+ if resource_args is not None:
533
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
534
+ else:
535
+ __self__._internal_init(resource_name, *args, **kwargs)
536
+
537
+ def _internal_init(__self__,
538
+ resource_name: str,
539
+ opts: Optional[pulumi.ResourceOptions] = None,
540
+ allow_insecure: Optional[pulumi.Input[bool]] = None,
541
+ allow_multiple_connections: Optional[pulumi.Input[bool]] = None,
542
+ certificate: Optional[pulumi.Input[Union['DeviceCertificateArgs', 'DeviceCertificateArgsDict']]] = None,
543
+ description: Optional[pulumi.Input[str]] = None,
544
+ hub_id: Optional[pulumi.Input[str]] = None,
545
+ message_filters: Optional[pulumi.Input[Union['DeviceMessageFiltersArgs', 'DeviceMessageFiltersArgsDict']]] = None,
546
+ name: Optional[pulumi.Input[str]] = None,
547
+ region: Optional[pulumi.Input[str]] = None,
548
+ __props__=None):
549
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
550
+ if not isinstance(opts, pulumi.ResourceOptions):
551
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
552
+ if opts.id is None:
553
+ if __props__ is not None:
554
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
555
+ __props__ = DeviceArgs.__new__(DeviceArgs)
556
+
557
+ __props__.__dict__["allow_insecure"] = allow_insecure
558
+ __props__.__dict__["allow_multiple_connections"] = allow_multiple_connections
559
+ __props__.__dict__["certificate"] = certificate
560
+ __props__.__dict__["description"] = description
561
+ if hub_id is None and not opts.urn:
562
+ raise TypeError("Missing required property 'hub_id'")
563
+ __props__.__dict__["hub_id"] = hub_id
564
+ __props__.__dict__["message_filters"] = message_filters
565
+ __props__.__dict__["name"] = name
566
+ __props__.__dict__["region"] = region
567
+ __props__.__dict__["created_at"] = None
568
+ __props__.__dict__["is_connected"] = None
569
+ __props__.__dict__["last_activity_at"] = None
570
+ __props__.__dict__["status"] = None
571
+ __props__.__dict__["updated_at"] = None
572
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/iotDevice:IotDevice")])
573
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
574
+ super(Device, __self__).__init__(
575
+ 'scaleway:iot/device:Device',
576
+ resource_name,
577
+ __props__,
578
+ opts)
579
+
580
+ @staticmethod
581
+ def get(resource_name: str,
582
+ id: pulumi.Input[str],
583
+ opts: Optional[pulumi.ResourceOptions] = None,
584
+ allow_insecure: Optional[pulumi.Input[bool]] = None,
585
+ allow_multiple_connections: Optional[pulumi.Input[bool]] = None,
586
+ certificate: Optional[pulumi.Input[Union['DeviceCertificateArgs', 'DeviceCertificateArgsDict']]] = None,
587
+ created_at: Optional[pulumi.Input[str]] = None,
588
+ description: Optional[pulumi.Input[str]] = None,
589
+ hub_id: Optional[pulumi.Input[str]] = None,
590
+ is_connected: Optional[pulumi.Input[bool]] = None,
591
+ last_activity_at: Optional[pulumi.Input[str]] = None,
592
+ message_filters: Optional[pulumi.Input[Union['DeviceMessageFiltersArgs', 'DeviceMessageFiltersArgsDict']]] = None,
593
+ name: Optional[pulumi.Input[str]] = None,
594
+ region: Optional[pulumi.Input[str]] = None,
595
+ status: Optional[pulumi.Input[str]] = None,
596
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'Device':
597
+ """
598
+ Get an existing Device resource's state with the given name, id, and optional extra
599
+ properties used to qualify the lookup.
600
+
601
+ :param str resource_name: The unique name of the resulting resource.
602
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
603
+ :param pulumi.ResourceOptions opts: Options for the resource.
604
+ :param pulumi.Input[bool] allow_insecure: Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
605
+
606
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
607
+ :param pulumi.Input[bool] allow_multiple_connections: Allow more than one simultaneous connection using the same device credentials.
608
+
609
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
610
+ :param pulumi.Input[Union['DeviceCertificateArgs', 'DeviceCertificateArgsDict']] certificate: The certificate bundle of the device.
611
+ :param pulumi.Input[str] created_at: The date and time the device was created.
612
+ :param pulumi.Input[str] description: The description of the IoT device (e.g. `living room`).
613
+ :param pulumi.Input[str] hub_id: The ID of the hub on which this device will be created.
614
+ :param pulumi.Input[bool] is_connected: The current connection status of the device.
615
+ :param pulumi.Input[str] last_activity_at: The last MQTT activity of the device.
616
+ :param pulumi.Input[Union['DeviceMessageFiltersArgs', 'DeviceMessageFiltersArgsDict']] message_filters: Rules that define which messages are authorized or denied based on their topic.
617
+ :param pulumi.Input[str] name: The name of the IoT device you want to create (e.g. `my-device`).
618
+
619
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
620
+ :param pulumi.Input[str] region: The region you want to attach the resource to
621
+ :param pulumi.Input[str] status: The current status of the device.
622
+ :param pulumi.Input[str] updated_at: The date and time the device resource was updated.
623
+ """
624
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
625
+
626
+ __props__ = _DeviceState.__new__(_DeviceState)
627
+
628
+ __props__.__dict__["allow_insecure"] = allow_insecure
629
+ __props__.__dict__["allow_multiple_connections"] = allow_multiple_connections
630
+ __props__.__dict__["certificate"] = certificate
631
+ __props__.__dict__["created_at"] = created_at
632
+ __props__.__dict__["description"] = description
633
+ __props__.__dict__["hub_id"] = hub_id
634
+ __props__.__dict__["is_connected"] = is_connected
635
+ __props__.__dict__["last_activity_at"] = last_activity_at
636
+ __props__.__dict__["message_filters"] = message_filters
637
+ __props__.__dict__["name"] = name
638
+ __props__.__dict__["region"] = region
639
+ __props__.__dict__["status"] = status
640
+ __props__.__dict__["updated_at"] = updated_at
641
+ return Device(resource_name, opts=opts, __props__=__props__)
642
+
643
+ @property
644
+ @pulumi.getter(name="allowInsecure")
645
+ def allow_insecure(self) -> pulumi.Output[Optional[bool]]:
646
+ """
647
+ Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.
648
+
649
+ > **Important:** Updates to `allow_insecure` can disconnect eventually connected devices.
650
+ """
651
+ return pulumi.get(self, "allow_insecure")
652
+
653
+ @property
654
+ @pulumi.getter(name="allowMultipleConnections")
655
+ def allow_multiple_connections(self) -> pulumi.Output[Optional[bool]]:
656
+ """
657
+ Allow more than one simultaneous connection using the same device credentials.
658
+
659
+ > **Important:** Updates to `allow_multiple_connections` can disconnect eventually connected devices.
660
+ """
661
+ return pulumi.get(self, "allow_multiple_connections")
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def certificate(self) -> pulumi.Output['outputs.DeviceCertificate']:
666
+ """
667
+ The certificate bundle of the device.
668
+ """
669
+ return pulumi.get(self, "certificate")
670
+
671
+ @property
672
+ @pulumi.getter(name="createdAt")
673
+ def created_at(self) -> pulumi.Output[str]:
674
+ """
675
+ The date and time the device was created.
676
+ """
677
+ return pulumi.get(self, "created_at")
678
+
679
+ @property
680
+ @pulumi.getter
681
+ def description(self) -> pulumi.Output[Optional[str]]:
682
+ """
683
+ The description of the IoT device (e.g. `living room`).
684
+ """
685
+ return pulumi.get(self, "description")
686
+
687
+ @property
688
+ @pulumi.getter(name="hubId")
689
+ def hub_id(self) -> pulumi.Output[str]:
690
+ """
691
+ The ID of the hub on which this device will be created.
692
+ """
693
+ return pulumi.get(self, "hub_id")
694
+
695
+ @property
696
+ @pulumi.getter(name="isConnected")
697
+ def is_connected(self) -> pulumi.Output[bool]:
698
+ """
699
+ The current connection status of the device.
700
+ """
701
+ return pulumi.get(self, "is_connected")
702
+
703
+ @property
704
+ @pulumi.getter(name="lastActivityAt")
705
+ def last_activity_at(self) -> pulumi.Output[str]:
706
+ """
707
+ The last MQTT activity of the device.
708
+ """
709
+ return pulumi.get(self, "last_activity_at")
710
+
711
+ @property
712
+ @pulumi.getter(name="messageFilters")
713
+ def message_filters(self) -> pulumi.Output[Optional['outputs.DeviceMessageFilters']]:
714
+ """
715
+ Rules that define which messages are authorized or denied based on their topic.
716
+ """
717
+ return pulumi.get(self, "message_filters")
718
+
719
+ @property
720
+ @pulumi.getter
721
+ def name(self) -> pulumi.Output[str]:
722
+ """
723
+ The name of the IoT device you want to create (e.g. `my-device`).
724
+
725
+ > **Important:** Updates to `name` will destroy and recreate a new resource.
726
+ """
727
+ return pulumi.get(self, "name")
728
+
729
+ @property
730
+ @pulumi.getter
731
+ def region(self) -> pulumi.Output[str]:
732
+ """
733
+ The region you want to attach the resource to
734
+ """
735
+ return pulumi.get(self, "region")
736
+
737
+ @property
738
+ @pulumi.getter
739
+ def status(self) -> pulumi.Output[str]:
740
+ """
741
+ The current status of the device.
742
+ """
743
+ return pulumi.get(self, "status")
744
+
745
+ @property
746
+ @pulumi.getter(name="updatedAt")
747
+ def updated_at(self) -> pulumi.Output[str]:
748
+ """
749
+ The date and time the device resource was updated.
750
+ """
751
+ return pulumi.get(self, "updated_at")
752
+