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,481 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['PlacementGroupArgs', 'PlacementGroup']
18
+
19
+ @pulumi.input_type
20
+ class PlacementGroupArgs:
21
+ def __init__(__self__, *,
22
+ name: Optional[pulumi.Input[str]] = None,
23
+ policy_mode: Optional[pulumi.Input[str]] = None,
24
+ policy_type: Optional[pulumi.Input[str]] = None,
25
+ project_id: Optional[pulumi.Input[str]] = None,
26
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
+ zone: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a PlacementGroup resource.
30
+ :param pulumi.Input[str] name: The name of the placement group.
31
+ :param pulumi.Input[str] policy_mode: The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
32
+ :param pulumi.Input[str] policy_type: The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
33
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the placement group is associated with.
34
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the placement group.
35
+ :param pulumi.Input[str] zone: `zone`) The zone in which the placement group should be created.
36
+ """
37
+ if name is not None:
38
+ pulumi.set(__self__, "name", name)
39
+ if policy_mode is not None:
40
+ pulumi.set(__self__, "policy_mode", policy_mode)
41
+ if policy_type is not None:
42
+ pulumi.set(__self__, "policy_type", policy_type)
43
+ if project_id is not None:
44
+ pulumi.set(__self__, "project_id", project_id)
45
+ if tags is not None:
46
+ pulumi.set(__self__, "tags", tags)
47
+ if zone is not None:
48
+ pulumi.set(__self__, "zone", zone)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def name(self) -> Optional[pulumi.Input[str]]:
53
+ """
54
+ The name of the placement group.
55
+ """
56
+ return pulumi.get(self, "name")
57
+
58
+ @name.setter
59
+ def name(self, value: Optional[pulumi.Input[str]]):
60
+ pulumi.set(self, "name", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="policyMode")
64
+ def policy_mode(self) -> Optional[pulumi.Input[str]]:
65
+ """
66
+ The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
67
+ """
68
+ return pulumi.get(self, "policy_mode")
69
+
70
+ @policy_mode.setter
71
+ def policy_mode(self, value: Optional[pulumi.Input[str]]):
72
+ pulumi.set(self, "policy_mode", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="policyType")
76
+ def policy_type(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
79
+ """
80
+ return pulumi.get(self, "policy_type")
81
+
82
+ @policy_type.setter
83
+ def policy_type(self, value: Optional[pulumi.Input[str]]):
84
+ pulumi.set(self, "policy_type", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="projectId")
88
+ def project_id(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ `project_id`) The ID of the project the placement group is associated with.
91
+ """
92
+ return pulumi.get(self, "project_id")
93
+
94
+ @project_id.setter
95
+ def project_id(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "project_id", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
101
+ """
102
+ A list of tags to apply to the placement group.
103
+ """
104
+ return pulumi.get(self, "tags")
105
+
106
+ @tags.setter
107
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
108
+ pulumi.set(self, "tags", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def zone(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ `zone`) The zone in which the placement group should be created.
115
+ """
116
+ return pulumi.get(self, "zone")
117
+
118
+ @zone.setter
119
+ def zone(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "zone", value)
121
+
122
+
123
+ @pulumi.input_type
124
+ class _PlacementGroupState:
125
+ def __init__(__self__, *,
126
+ name: Optional[pulumi.Input[str]] = None,
127
+ organization_id: Optional[pulumi.Input[str]] = None,
128
+ policy_mode: Optional[pulumi.Input[str]] = None,
129
+ policy_respected: Optional[pulumi.Input[bool]] = None,
130
+ policy_type: Optional[pulumi.Input[str]] = None,
131
+ project_id: Optional[pulumi.Input[str]] = None,
132
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
133
+ zone: Optional[pulumi.Input[str]] = None):
134
+ """
135
+ Input properties used for looking up and filtering PlacementGroup resources.
136
+ :param pulumi.Input[str] name: The name of the placement group.
137
+ :param pulumi.Input[str] organization_id: The organization ID the placement group is associated with.
138
+ :param pulumi.Input[str] policy_mode: The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
139
+ :param pulumi.Input[bool] policy_respected: Is true when the policy is respected.
140
+ :param pulumi.Input[str] policy_type: The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
141
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the placement group is associated with.
142
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the placement group.
143
+ :param pulumi.Input[str] zone: `zone`) The zone in which the placement group should be created.
144
+ """
145
+ if name is not None:
146
+ pulumi.set(__self__, "name", name)
147
+ if organization_id is not None:
148
+ pulumi.set(__self__, "organization_id", organization_id)
149
+ if policy_mode is not None:
150
+ pulumi.set(__self__, "policy_mode", policy_mode)
151
+ if policy_respected is not None:
152
+ pulumi.set(__self__, "policy_respected", policy_respected)
153
+ if policy_type is not None:
154
+ pulumi.set(__self__, "policy_type", policy_type)
155
+ if project_id is not None:
156
+ pulumi.set(__self__, "project_id", project_id)
157
+ if tags is not None:
158
+ pulumi.set(__self__, "tags", tags)
159
+ if zone is not None:
160
+ pulumi.set(__self__, "zone", zone)
161
+
162
+ @property
163
+ @pulumi.getter
164
+ def name(self) -> Optional[pulumi.Input[str]]:
165
+ """
166
+ The name of the placement group.
167
+ """
168
+ return pulumi.get(self, "name")
169
+
170
+ @name.setter
171
+ def name(self, value: Optional[pulumi.Input[str]]):
172
+ pulumi.set(self, "name", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="organizationId")
176
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ The organization ID the placement group is associated with.
179
+ """
180
+ return pulumi.get(self, "organization_id")
181
+
182
+ @organization_id.setter
183
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "organization_id", value)
185
+
186
+ @property
187
+ @pulumi.getter(name="policyMode")
188
+ def policy_mode(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
191
+ """
192
+ return pulumi.get(self, "policy_mode")
193
+
194
+ @policy_mode.setter
195
+ def policy_mode(self, value: Optional[pulumi.Input[str]]):
196
+ pulumi.set(self, "policy_mode", value)
197
+
198
+ @property
199
+ @pulumi.getter(name="policyRespected")
200
+ def policy_respected(self) -> Optional[pulumi.Input[bool]]:
201
+ """
202
+ Is true when the policy is respected.
203
+ """
204
+ return pulumi.get(self, "policy_respected")
205
+
206
+ @policy_respected.setter
207
+ def policy_respected(self, value: Optional[pulumi.Input[bool]]):
208
+ pulumi.set(self, "policy_respected", value)
209
+
210
+ @property
211
+ @pulumi.getter(name="policyType")
212
+ def policy_type(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
215
+ """
216
+ return pulumi.get(self, "policy_type")
217
+
218
+ @policy_type.setter
219
+ def policy_type(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "policy_type", value)
221
+
222
+ @property
223
+ @pulumi.getter(name="projectId")
224
+ def project_id(self) -> Optional[pulumi.Input[str]]:
225
+ """
226
+ `project_id`) The ID of the project the placement group is associated with.
227
+ """
228
+ return pulumi.get(self, "project_id")
229
+
230
+ @project_id.setter
231
+ def project_id(self, value: Optional[pulumi.Input[str]]):
232
+ pulumi.set(self, "project_id", value)
233
+
234
+ @property
235
+ @pulumi.getter
236
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
237
+ """
238
+ A list of tags to apply to the placement group.
239
+ """
240
+ return pulumi.get(self, "tags")
241
+
242
+ @tags.setter
243
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
244
+ pulumi.set(self, "tags", value)
245
+
246
+ @property
247
+ @pulumi.getter
248
+ def zone(self) -> Optional[pulumi.Input[str]]:
249
+ """
250
+ `zone`) The zone in which the placement group should be created.
251
+ """
252
+ return pulumi.get(self, "zone")
253
+
254
+ @zone.setter
255
+ def zone(self, value: Optional[pulumi.Input[str]]):
256
+ pulumi.set(self, "zone", value)
257
+
258
+
259
+ class PlacementGroup(pulumi.CustomResource):
260
+ @overload
261
+ def __init__(__self__,
262
+ resource_name: str,
263
+ opts: Optional[pulumi.ResourceOptions] = None,
264
+ name: Optional[pulumi.Input[str]] = None,
265
+ policy_mode: Optional[pulumi.Input[str]] = None,
266
+ policy_type: Optional[pulumi.Input[str]] = None,
267
+ project_id: Optional[pulumi.Input[str]] = None,
268
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
269
+ zone: Optional[pulumi.Input[str]] = None,
270
+ __props__=None):
271
+ """
272
+ Creates and manages Compute Instance Placement Groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-list-placement-groups).
273
+
274
+ ## Example Usage
275
+
276
+ ```python
277
+ import pulumi
278
+ import pulumiverse_scaleway as scaleway
279
+
280
+ availability_group = scaleway.instance.PlacementGroup("availability_group")
281
+ ```
282
+
283
+ ## Import
284
+
285
+ Placement groups can be imported using the `{zone}/{id}`, e.g.
286
+
287
+ bash
288
+
289
+ ```sh
290
+ $ pulumi import scaleway:instance/placementGroup:PlacementGroup availability_group fr-par-1/11111111-1111-1111-1111-111111111111
291
+ ```
292
+
293
+ :param str resource_name: The name of the resource.
294
+ :param pulumi.ResourceOptions opts: Options for the resource.
295
+ :param pulumi.Input[str] name: The name of the placement group.
296
+ :param pulumi.Input[str] policy_mode: The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
297
+ :param pulumi.Input[str] policy_type: The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
298
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the placement group is associated with.
299
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the placement group.
300
+ :param pulumi.Input[str] zone: `zone`) The zone in which the placement group should be created.
301
+ """
302
+ ...
303
+ @overload
304
+ def __init__(__self__,
305
+ resource_name: str,
306
+ args: Optional[PlacementGroupArgs] = None,
307
+ opts: Optional[pulumi.ResourceOptions] = None):
308
+ """
309
+ Creates and manages Compute Instance Placement Groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-list-placement-groups).
310
+
311
+ ## Example Usage
312
+
313
+ ```python
314
+ import pulumi
315
+ import pulumiverse_scaleway as scaleway
316
+
317
+ availability_group = scaleway.instance.PlacementGroup("availability_group")
318
+ ```
319
+
320
+ ## Import
321
+
322
+ Placement groups can be imported using the `{zone}/{id}`, e.g.
323
+
324
+ bash
325
+
326
+ ```sh
327
+ $ pulumi import scaleway:instance/placementGroup:PlacementGroup availability_group fr-par-1/11111111-1111-1111-1111-111111111111
328
+ ```
329
+
330
+ :param str resource_name: The name of the resource.
331
+ :param PlacementGroupArgs args: The arguments to use to populate this resource's properties.
332
+ :param pulumi.ResourceOptions opts: Options for the resource.
333
+ """
334
+ ...
335
+ def __init__(__self__, resource_name: str, *args, **kwargs):
336
+ resource_args, opts = _utilities.get_resource_args_opts(PlacementGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
337
+ if resource_args is not None:
338
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
339
+ else:
340
+ __self__._internal_init(resource_name, *args, **kwargs)
341
+
342
+ def _internal_init(__self__,
343
+ resource_name: str,
344
+ opts: Optional[pulumi.ResourceOptions] = None,
345
+ name: Optional[pulumi.Input[str]] = None,
346
+ policy_mode: Optional[pulumi.Input[str]] = None,
347
+ policy_type: Optional[pulumi.Input[str]] = None,
348
+ project_id: Optional[pulumi.Input[str]] = None,
349
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
350
+ zone: Optional[pulumi.Input[str]] = None,
351
+ __props__=None):
352
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
353
+ if not isinstance(opts, pulumi.ResourceOptions):
354
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
355
+ if opts.id is None:
356
+ if __props__ is not None:
357
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
358
+ __props__ = PlacementGroupArgs.__new__(PlacementGroupArgs)
359
+
360
+ __props__.__dict__["name"] = name
361
+ __props__.__dict__["policy_mode"] = policy_mode
362
+ __props__.__dict__["policy_type"] = policy_type
363
+ __props__.__dict__["project_id"] = project_id
364
+ __props__.__dict__["tags"] = tags
365
+ __props__.__dict__["zone"] = zone
366
+ __props__.__dict__["organization_id"] = None
367
+ __props__.__dict__["policy_respected"] = None
368
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instancePlacementGroup:InstancePlacementGroup")])
369
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
370
+ super(PlacementGroup, __self__).__init__(
371
+ 'scaleway:instance/placementGroup:PlacementGroup',
372
+ resource_name,
373
+ __props__,
374
+ opts)
375
+
376
+ @staticmethod
377
+ def get(resource_name: str,
378
+ id: pulumi.Input[str],
379
+ opts: Optional[pulumi.ResourceOptions] = None,
380
+ name: Optional[pulumi.Input[str]] = None,
381
+ organization_id: Optional[pulumi.Input[str]] = None,
382
+ policy_mode: Optional[pulumi.Input[str]] = None,
383
+ policy_respected: Optional[pulumi.Input[bool]] = None,
384
+ policy_type: Optional[pulumi.Input[str]] = None,
385
+ project_id: Optional[pulumi.Input[str]] = None,
386
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
387
+ zone: Optional[pulumi.Input[str]] = None) -> 'PlacementGroup':
388
+ """
389
+ Get an existing PlacementGroup resource's state with the given name, id, and optional extra
390
+ properties used to qualify the lookup.
391
+
392
+ :param str resource_name: The unique name of the resulting resource.
393
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
394
+ :param pulumi.ResourceOptions opts: Options for the resource.
395
+ :param pulumi.Input[str] name: The name of the placement group.
396
+ :param pulumi.Input[str] organization_id: The organization ID the placement group is associated with.
397
+ :param pulumi.Input[str] policy_mode: The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
398
+ :param pulumi.Input[bool] policy_respected: Is true when the policy is respected.
399
+ :param pulumi.Input[str] policy_type: The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
400
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the placement group is associated with.
401
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the placement group.
402
+ :param pulumi.Input[str] zone: `zone`) The zone in which the placement group should be created.
403
+ """
404
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
405
+
406
+ __props__ = _PlacementGroupState.__new__(_PlacementGroupState)
407
+
408
+ __props__.__dict__["name"] = name
409
+ __props__.__dict__["organization_id"] = organization_id
410
+ __props__.__dict__["policy_mode"] = policy_mode
411
+ __props__.__dict__["policy_respected"] = policy_respected
412
+ __props__.__dict__["policy_type"] = policy_type
413
+ __props__.__dict__["project_id"] = project_id
414
+ __props__.__dict__["tags"] = tags
415
+ __props__.__dict__["zone"] = zone
416
+ return PlacementGroup(resource_name, opts=opts, __props__=__props__)
417
+
418
+ @property
419
+ @pulumi.getter
420
+ def name(self) -> pulumi.Output[str]:
421
+ """
422
+ The name of the placement group.
423
+ """
424
+ return pulumi.get(self, "name")
425
+
426
+ @property
427
+ @pulumi.getter(name="organizationId")
428
+ def organization_id(self) -> pulumi.Output[str]:
429
+ """
430
+ The organization ID the placement group is associated with.
431
+ """
432
+ return pulumi.get(self, "organization_id")
433
+
434
+ @property
435
+ @pulumi.getter(name="policyMode")
436
+ def policy_mode(self) -> pulumi.Output[Optional[str]]:
437
+ """
438
+ The [policy mode](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-group) of the placement group. Possible values are: `optional` or `enforced`.
439
+ """
440
+ return pulumi.get(self, "policy_mode")
441
+
442
+ @property
443
+ @pulumi.getter(name="policyRespected")
444
+ def policy_respected(self) -> pulumi.Output[bool]:
445
+ """
446
+ Is true when the policy is respected.
447
+ """
448
+ return pulumi.get(self, "policy_respected")
449
+
450
+ @property
451
+ @pulumi.getter(name="policyType")
452
+ def policy_type(self) -> pulumi.Output[Optional[str]]:
453
+ """
454
+ The [policy type](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-create-a-placement-grou) of the placement group. Possible values are: `low_latency` or `max_availability`.
455
+ """
456
+ return pulumi.get(self, "policy_type")
457
+
458
+ @property
459
+ @pulumi.getter(name="projectId")
460
+ def project_id(self) -> pulumi.Output[str]:
461
+ """
462
+ `project_id`) The ID of the project the placement group is associated with.
463
+ """
464
+ return pulumi.get(self, "project_id")
465
+
466
+ @property
467
+ @pulumi.getter
468
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
469
+ """
470
+ A list of tags to apply to the placement group.
471
+ """
472
+ return pulumi.get(self, "tags")
473
+
474
+ @property
475
+ @pulumi.getter
476
+ def zone(self) -> pulumi.Output[str]:
477
+ """
478
+ `zone`) The zone in which the placement group should be created.
479
+ """
480
+ return pulumi.get(self, "zone")
481
+