pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.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 (476) hide show
  1. pulumiverse_scaleway/__init__.py +1034 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/account/__init__.py +12 -0
  4. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  5. pulumiverse_scaleway/account/get_project.py +170 -0
  6. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  7. pulumiverse_scaleway/account/project.py +318 -0
  8. pulumiverse_scaleway/account/ssh_key.py +456 -0
  9. pulumiverse_scaleway/account_project.py +6 -0
  10. pulumiverse_scaleway/account_ssh_key.py +12 -6
  11. pulumiverse_scaleway/apple_silicon_server.py +113 -2
  12. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  13. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  14. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  15. pulumiverse_scaleway/applesilicon/server.py +795 -0
  16. pulumiverse_scaleway/baremetal_server.py +64 -58
  17. pulumiverse_scaleway/billing/__init__.py +10 -0
  18. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  19. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  20. pulumiverse_scaleway/billing/outputs.py +288 -0
  21. pulumiverse_scaleway/block/__init__.py +11 -0
  22. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  23. pulumiverse_scaleway/block/get_volume.py +199 -0
  24. pulumiverse_scaleway/block/snapshot.py +403 -0
  25. pulumiverse_scaleway/block/volume.py +576 -0
  26. pulumiverse_scaleway/block_snapshot.py +12 -6
  27. pulumiverse_scaleway/block_volume.py +16 -10
  28. pulumiverse_scaleway/cockpit.py +10 -4
  29. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  30. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  31. pulumiverse_scaleway/cockpit_source.py +12 -6
  32. pulumiverse_scaleway/cockpit_token.py +16 -10
  33. pulumiverse_scaleway/container.py +16 -10
  34. pulumiverse_scaleway/container_cron.py +14 -8
  35. pulumiverse_scaleway/container_domain.py +24 -18
  36. pulumiverse_scaleway/container_namespace.py +10 -4
  37. pulumiverse_scaleway/container_token.py +32 -26
  38. pulumiverse_scaleway/container_trigger.py +12 -6
  39. pulumiverse_scaleway/containers/__init__.py +17 -0
  40. pulumiverse_scaleway/containers/_inputs.py +389 -0
  41. pulumiverse_scaleway/containers/container.py +1635 -0
  42. pulumiverse_scaleway/containers/cron.py +460 -0
  43. pulumiverse_scaleway/containers/domain.py +408 -0
  44. pulumiverse_scaleway/containers/get_container.py +562 -0
  45. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  46. pulumiverse_scaleway/containers/namespace.py +638 -0
  47. pulumiverse_scaleway/containers/outputs.py +412 -0
  48. pulumiverse_scaleway/containers/token.py +454 -0
  49. pulumiverse_scaleway/containers/trigger.py +482 -0
  50. pulumiverse_scaleway/database.py +10 -4
  51. pulumiverse_scaleway/database_acl.py +10 -4
  52. pulumiverse_scaleway/database_backup.py +14 -8
  53. pulumiverse_scaleway/database_instance.py +24 -18
  54. pulumiverse_scaleway/database_privilege.py +16 -10
  55. pulumiverse_scaleway/database_read_replica.py +22 -16
  56. pulumiverse_scaleway/database_user.py +10 -4
  57. pulumiverse_scaleway/databases/__init__.py +23 -0
  58. pulumiverse_scaleway/databases/_inputs.py +822 -0
  59. pulumiverse_scaleway/databases/acl.py +334 -0
  60. pulumiverse_scaleway/databases/database.py +409 -0
  61. pulumiverse_scaleway/databases/database_backup.py +576 -0
  62. pulumiverse_scaleway/databases/get_acl.py +143 -0
  63. pulumiverse_scaleway/databases/get_database.py +187 -0
  64. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  65. pulumiverse_scaleway/databases/get_instance.py +415 -0
  66. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  67. pulumiverse_scaleway/databases/instance.py +1696 -0
  68. pulumiverse_scaleway/databases/outputs.py +866 -0
  69. pulumiverse_scaleway/databases/privilege.py +424 -0
  70. pulumiverse_scaleway/databases/read_replica.py +530 -0
  71. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  72. pulumiverse_scaleway/databases/snapshot.py +610 -0
  73. pulumiverse_scaleway/databases/user.py +448 -0
  74. pulumiverse_scaleway/domain/__init__.py +14 -0
  75. pulumiverse_scaleway/domain/_inputs.py +3038 -0
  76. pulumiverse_scaleway/domain/get_record.py +340 -0
  77. pulumiverse_scaleway/domain/get_zone.py +201 -0
  78. pulumiverse_scaleway/domain/outputs.py +2553 -0
  79. pulumiverse_scaleway/domain/record.py +1118 -0
  80. pulumiverse_scaleway/domain/registration.py +777 -0
  81. pulumiverse_scaleway/domain/zone.py +432 -0
  82. pulumiverse_scaleway/domain_record.py +36 -30
  83. pulumiverse_scaleway/domain_zone.py +6 -0
  84. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  85. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  86. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  87. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  88. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  89. pulumiverse_scaleway/edge_services_plan.py +239 -0
  90. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  91. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  92. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  93. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  94. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  95. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  96. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  97. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  98. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  99. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  100. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  101. pulumiverse_scaleway/elasticmetal/ip.py +710 -0
  102. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  103. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  104. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  105. pulumiverse_scaleway/flexible_ip.py +35 -23
  106. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  107. pulumiverse_scaleway/function.py +6 -0
  108. pulumiverse_scaleway/function_cron.py +16 -10
  109. pulumiverse_scaleway/function_domain.py +16 -10
  110. pulumiverse_scaleway/function_namespace.py +10 -4
  111. pulumiverse_scaleway/function_token.py +32 -26
  112. pulumiverse_scaleway/function_trigger.py +12 -6
  113. pulumiverse_scaleway/functions/__init__.py +17 -0
  114. pulumiverse_scaleway/functions/_inputs.py +211 -0
  115. pulumiverse_scaleway/functions/cron.py +464 -0
  116. pulumiverse_scaleway/functions/domain.py +372 -0
  117. pulumiverse_scaleway/functions/function.py +1105 -0
  118. pulumiverse_scaleway/functions/get_function.py +365 -0
  119. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  120. pulumiverse_scaleway/functions/namespace.py +582 -0
  121. pulumiverse_scaleway/functions/outputs.py +168 -0
  122. pulumiverse_scaleway/functions/token.py +462 -0
  123. pulumiverse_scaleway/functions/trigger.py +482 -0
  124. pulumiverse_scaleway/get_account_project.py +6 -2
  125. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  126. pulumiverse_scaleway/get_availability_zones.py +8 -4
  127. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  128. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  129. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  130. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  131. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  132. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  133. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  134. pulumiverse_scaleway/get_block_volume.py +6 -2
  135. pulumiverse_scaleway/get_cockpit.py +12 -8
  136. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  137. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  138. pulumiverse_scaleway/get_container.py +16 -12
  139. pulumiverse_scaleway/get_container_namespace.py +10 -6
  140. pulumiverse_scaleway/get_database.py +6 -2
  141. pulumiverse_scaleway/get_database_acl.py +6 -2
  142. pulumiverse_scaleway/get_database_backup.py +10 -6
  143. pulumiverse_scaleway/get_database_instance.py +4 -0
  144. pulumiverse_scaleway/get_database_privilege.py +6 -2
  145. pulumiverse_scaleway/get_domain_record.py +10 -6
  146. pulumiverse_scaleway/get_domain_zone.py +4 -0
  147. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  148. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  149. pulumiverse_scaleway/get_function.py +6 -2
  150. pulumiverse_scaleway/get_function_namespace.py +6 -2
  151. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  152. pulumiverse_scaleway/get_iam_application.py +8 -4
  153. pulumiverse_scaleway/get_iam_group.py +8 -4
  154. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  155. pulumiverse_scaleway/get_iam_user.py +8 -4
  156. pulumiverse_scaleway/get_instance_image.py +4 -0
  157. pulumiverse_scaleway/get_instance_ip.py +4 -0
  158. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  159. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  160. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  161. pulumiverse_scaleway/get_instance_server.py +4 -0
  162. pulumiverse_scaleway/get_instance_servers.py +4 -0
  163. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  164. pulumiverse_scaleway/get_instance_volume.py +4 -0
  165. pulumiverse_scaleway/get_iot_device.py +4 -0
  166. pulumiverse_scaleway/get_iot_hub.py +4 -0
  167. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  168. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  169. pulumiverse_scaleway/get_k8s_version.py +8 -4
  170. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  171. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  172. pulumiverse_scaleway/get_lb_acls.py +8 -4
  173. pulumiverse_scaleway/get_lb_backend.py +18 -14
  174. pulumiverse_scaleway/get_lb_backends.py +8 -4
  175. pulumiverse_scaleway/get_lb_frontend.py +28 -13
  176. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  177. pulumiverse_scaleway/get_lb_ips.py +4 -0
  178. pulumiverse_scaleway/get_lb_route.py +28 -13
  179. pulumiverse_scaleway/get_lb_routes.py +8 -4
  180. pulumiverse_scaleway/get_lbs.py +4 -0
  181. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  182. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  183. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  184. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  185. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  186. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  187. pulumiverse_scaleway/get_object_bucket.py +12 -8
  188. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  189. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  190. pulumiverse_scaleway/get_registry_image.py +4 -0
  191. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  192. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  193. pulumiverse_scaleway/get_secret.py +27 -12
  194. pulumiverse_scaleway/get_secret_version.py +14 -10
  195. pulumiverse_scaleway/get_tem_domain.py +4 -0
  196. pulumiverse_scaleway/get_vpc.py +10 -6
  197. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  198. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  199. pulumiverse_scaleway/get_vpc_public_gateway.py +44 -7
  200. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +16 -4
  201. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +78 -66
  202. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  203. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  204. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  205. pulumiverse_scaleway/get_vpcs.py +4 -0
  206. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  207. pulumiverse_scaleway/get_webhosting.py +8 -4
  208. pulumiverse_scaleway/hosting/__init__.py +12 -0
  209. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  210. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  211. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  212. pulumiverse_scaleway/hosting/hosting.py +870 -0
  213. pulumiverse_scaleway/hosting/outputs.py +626 -0
  214. pulumiverse_scaleway/iam/__init__.py +21 -0
  215. pulumiverse_scaleway/iam/_inputs.py +138 -0
  216. pulumiverse_scaleway/iam/api_key.py +622 -0
  217. pulumiverse_scaleway/iam/application.py +419 -0
  218. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  219. pulumiverse_scaleway/iam/get_application.py +210 -0
  220. pulumiverse_scaleway/iam/get_group.py +236 -0
  221. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  222. pulumiverse_scaleway/iam/get_user.py +177 -0
  223. pulumiverse_scaleway/iam/group.py +568 -0
  224. pulumiverse_scaleway/iam/group_membership.py +325 -0
  225. pulumiverse_scaleway/iam/outputs.py +111 -0
  226. pulumiverse_scaleway/iam/policy.py +775 -0
  227. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  228. pulumiverse_scaleway/iam/user.py +515 -0
  229. pulumiverse_scaleway/iam_api_key.py +16 -10
  230. pulumiverse_scaleway/iam_application.py +8 -2
  231. pulumiverse_scaleway/iam_group.py +12 -6
  232. pulumiverse_scaleway/iam_group_membership.py +12 -6
  233. pulumiverse_scaleway/iam_policy.py +18 -12
  234. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  235. pulumiverse_scaleway/iam_user.py +8 -2
  236. pulumiverse_scaleway/inference/__init__.py +10 -0
  237. pulumiverse_scaleway/inference/_inputs.py +209 -0
  238. pulumiverse_scaleway/inference/deployment.py +824 -0
  239. pulumiverse_scaleway/inference/outputs.py +169 -0
  240. pulumiverse_scaleway/inference_deployment.py +8 -2
  241. pulumiverse_scaleway/instance/__init__.py +29 -0
  242. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  243. pulumiverse_scaleway/instance/get_image.py +305 -0
  244. pulumiverse_scaleway/instance/get_ip.py +204 -0
  245. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  246. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  247. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  248. pulumiverse_scaleway/instance/get_server.py +488 -0
  249. pulumiverse_scaleway/instance/get_servers.py +187 -0
  250. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  251. pulumiverse_scaleway/instance/get_volume.py +226 -0
  252. pulumiverse_scaleway/instance/image.py +752 -0
  253. pulumiverse_scaleway/instance/ip.py +471 -0
  254. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  255. pulumiverse_scaleway/instance/outputs.py +1533 -0
  256. pulumiverse_scaleway/instance/placement_group.py +481 -0
  257. pulumiverse_scaleway/instance/private_nic.py +557 -0
  258. pulumiverse_scaleway/instance/security_group.py +722 -0
  259. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  260. pulumiverse_scaleway/instance/server.py +1938 -0
  261. pulumiverse_scaleway/instance/snapshot.py +671 -0
  262. pulumiverse_scaleway/instance/user_data.py +437 -0
  263. pulumiverse_scaleway/instance/volume.py +584 -0
  264. pulumiverse_scaleway/instance_image.py +18 -12
  265. pulumiverse_scaleway/instance_ip.py +8 -2
  266. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  267. pulumiverse_scaleway/instance_placement_group.py +8 -2
  268. pulumiverse_scaleway/instance_private_nic.py +24 -18
  269. pulumiverse_scaleway/instance_security_group.py +6 -0
  270. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  271. pulumiverse_scaleway/instance_server.py +74 -68
  272. pulumiverse_scaleway/instance_snapshot.py +22 -16
  273. pulumiverse_scaleway/instance_user_data.py +16 -10
  274. pulumiverse_scaleway/instance_volume.py +8 -2
  275. pulumiverse_scaleway/iot/__init__.py +15 -0
  276. pulumiverse_scaleway/iot/_inputs.py +539 -0
  277. pulumiverse_scaleway/iot/device.py +752 -0
  278. pulumiverse_scaleway/iot/get_device.py +257 -0
  279. pulumiverse_scaleway/iot/get_hub.py +322 -0
  280. pulumiverse_scaleway/iot/hub.py +898 -0
  281. pulumiverse_scaleway/iot/network.py +474 -0
  282. pulumiverse_scaleway/iot/outputs.py +465 -0
  283. pulumiverse_scaleway/iot/route.py +662 -0
  284. pulumiverse_scaleway/iot_device.py +14 -8
  285. pulumiverse_scaleway/iot_hub.py +8 -2
  286. pulumiverse_scaleway/iot_network.py +12 -6
  287. pulumiverse_scaleway/iot_route.py +32 -26
  288. pulumiverse_scaleway/ipam/__init__.py +13 -0
  289. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  290. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  291. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  292. pulumiverse_scaleway/ipam/ip.py +759 -0
  293. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  294. pulumiverse_scaleway/ipam/outputs.py +481 -0
  295. pulumiverse_scaleway/ipam_ip.py +30 -24
  296. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  297. pulumiverse_scaleway/job/__init__.py +10 -0
  298. pulumiverse_scaleway/job/_inputs.py +73 -0
  299. pulumiverse_scaleway/job/definition.py +694 -0
  300. pulumiverse_scaleway/job/outputs.py +49 -0
  301. pulumiverse_scaleway/job_definition.py +8 -2
  302. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  303. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  304. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  305. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  306. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  307. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  308. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  309. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  310. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  311. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  312. pulumiverse_scaleway/loadbalancer.py +35 -29
  313. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  314. pulumiverse_scaleway/loadbalancer_backend.py +12 -6
  315. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  316. pulumiverse_scaleway/loadbalancer_frontend.py +57 -4
  317. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  318. pulumiverse_scaleway/loadbalancer_route.py +74 -21
  319. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  320. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  321. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  322. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  323. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  324. pulumiverse_scaleway/loadbalancers/frontend.py +878 -0
  325. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  326. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  327. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  328. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  329. pulumiverse_scaleway/loadbalancers/get_frontend.py +285 -0
  330. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  331. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  332. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  333. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  334. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  335. pulumiverse_scaleway/loadbalancers/get_route.py +228 -0
  336. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  337. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  338. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  339. pulumiverse_scaleway/loadbalancers/outputs.py +2502 -0
  340. pulumiverse_scaleway/loadbalancers/route.py +572 -0
  341. pulumiverse_scaleway/mnq/__init__.py +20 -0
  342. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  343. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  344. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  345. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  346. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  347. pulumiverse_scaleway/mnq/outputs.py +149 -0
  348. pulumiverse_scaleway/mnq/sns.py +308 -0
  349. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  350. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  351. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  352. pulumiverse_scaleway/mnq/sqs.py +306 -0
  353. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  354. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  355. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  356. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  357. pulumiverse_scaleway/mnq_sns.py +12 -6
  358. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  359. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  360. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  361. pulumiverse_scaleway/mnq_sqs.py +12 -6
  362. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  363. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  364. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  365. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  366. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  367. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  368. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  369. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  370. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  371. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  372. pulumiverse_scaleway/network/__init__.py +30 -0
  373. pulumiverse_scaleway/network/_inputs.py +577 -0
  374. pulumiverse_scaleway/network/acl.py +415 -0
  375. pulumiverse_scaleway/network/gateway_network.py +850 -0
  376. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  377. pulumiverse_scaleway/network/get_private_network.py +282 -0
  378. pulumiverse_scaleway/network/get_public_gateway.py +337 -0
  379. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +313 -0
  380. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +390 -0
  381. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  382. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  383. pulumiverse_scaleway/network/get_routes.py +208 -0
  384. pulumiverse_scaleway/network/get_vpc.py +246 -0
  385. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  386. pulumiverse_scaleway/network/outputs.py +886 -0
  387. pulumiverse_scaleway/network/private_network.py +736 -0
  388. pulumiverse_scaleway/network/public_gateway.py +894 -0
  389. pulumiverse_scaleway/network/public_gateway_dhcp.py +957 -0
  390. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +524 -0
  391. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  392. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  393. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  394. pulumiverse_scaleway/network/route.py +579 -0
  395. pulumiverse_scaleway/network/vpc.py +538 -0
  396. pulumiverse_scaleway/object/__init__.py +17 -0
  397. pulumiverse_scaleway/object/_inputs.py +831 -0
  398. pulumiverse_scaleway/object/bucket.py +876 -0
  399. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  400. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  401. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  402. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  403. pulumiverse_scaleway/object/get_bucket.py +290 -0
  404. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  405. pulumiverse_scaleway/object/item.py +778 -0
  406. pulumiverse_scaleway/object/outputs.py +802 -0
  407. pulumiverse_scaleway/object_bucket.py +28 -22
  408. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  409. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  410. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  411. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  412. pulumiverse_scaleway/object_item.py +8 -2
  413. pulumiverse_scaleway/observability/__init__.py +17 -0
  414. pulumiverse_scaleway/observability/_inputs.py +417 -0
  415. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  416. pulumiverse_scaleway/observability/cockpit.py +325 -0
  417. pulumiverse_scaleway/observability/get_instance.py +205 -0
  418. pulumiverse_scaleway/observability/get_plan.py +125 -0
  419. pulumiverse_scaleway/observability/get_source.py +262 -0
  420. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  421. pulumiverse_scaleway/observability/outputs.py +425 -0
  422. pulumiverse_scaleway/observability/source.py +569 -0
  423. pulumiverse_scaleway/observability/token.py +481 -0
  424. pulumiverse_scaleway/outputs.py +662 -2
  425. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  426. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  427. pulumiverse_scaleway/redis/__init__.py +11 -0
  428. pulumiverse_scaleway/redis/_inputs.py +330 -0
  429. pulumiverse_scaleway/redis/cluster.py +1203 -0
  430. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  431. pulumiverse_scaleway/redis/outputs.py +356 -0
  432. pulumiverse_scaleway/redis_cluster.py +14 -8
  433. pulumiverse_scaleway/registry/__init__.py +11 -0
  434. pulumiverse_scaleway/registry/get_image.py +239 -0
  435. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  436. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  437. pulumiverse_scaleway/registry/namespace.py +460 -0
  438. pulumiverse_scaleway/registry_namespace.py +8 -2
  439. pulumiverse_scaleway/sdb_database.py +10 -4
  440. pulumiverse_scaleway/secret.py +28 -2
  441. pulumiverse_scaleway/secret_version.py +18 -12
  442. pulumiverse_scaleway/secrets/__init__.py +13 -0
  443. pulumiverse_scaleway/secrets/_inputs.py +248 -0
  444. pulumiverse_scaleway/secrets/get_secret.py +349 -0
  445. pulumiverse_scaleway/secrets/get_version.py +340 -0
  446. pulumiverse_scaleway/secrets/outputs.py +320 -0
  447. pulumiverse_scaleway/secrets/secret.py +685 -0
  448. pulumiverse_scaleway/secrets/version.py +489 -0
  449. pulumiverse_scaleway/tem/__init__.py +15 -0
  450. pulumiverse_scaleway/tem/_inputs.py +135 -0
  451. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  452. pulumiverse_scaleway/tem/domain.py +1039 -0
  453. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  454. pulumiverse_scaleway/tem/get_domain.py +378 -0
  455. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  456. pulumiverse_scaleway/tem/outputs.py +171 -0
  457. pulumiverse_scaleway/tem/webhook.py +642 -0
  458. pulumiverse_scaleway/tem_domain.py +27 -14
  459. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  460. pulumiverse_scaleway/tem_webhook.py +28 -22
  461. pulumiverse_scaleway/vpc.py +10 -4
  462. pulumiverse_scaleway/vpc_gateway_network.py +128 -140
  463. pulumiverse_scaleway/vpc_private_network.py +10 -4
  464. pulumiverse_scaleway/vpc_public_gateway.py +132 -23
  465. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +23 -9
  466. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +40 -26
  467. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  468. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  469. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  470. pulumiverse_scaleway/vpc_route.py +16 -10
  471. pulumiverse_scaleway/webhosting.py +10 -4
  472. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/METADATA +1 -1
  473. pulumiverse_scaleway-1.26.0.dist-info/RECORD +483 -0
  474. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/WHEEL +1 -1
  475. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  476. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,325 @@
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__ = ['GroupMembershipArgs', 'GroupMembership']
18
+
19
+ @pulumi.input_type
20
+ class GroupMembershipArgs:
21
+ def __init__(__self__, *,
22
+ group_id: pulumi.Input[str],
23
+ application_id: Optional[pulumi.Input[str]] = None,
24
+ user_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a GroupMembership resource.
27
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
28
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
29
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
30
+
31
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
32
+ """
33
+ pulumi.set(__self__, "group_id", group_id)
34
+ if application_id is not None:
35
+ pulumi.set(__self__, "application_id", application_id)
36
+ if user_id is not None:
37
+ pulumi.set(__self__, "user_id", user_id)
38
+
39
+ @property
40
+ @pulumi.getter(name="groupId")
41
+ def group_id(self) -> pulumi.Input[str]:
42
+ """
43
+ ID of the group to add members to.
44
+ """
45
+ return pulumi.get(self, "group_id")
46
+
47
+ @group_id.setter
48
+ def group_id(self, value: pulumi.Input[str]):
49
+ pulumi.set(self, "group_id", value)
50
+
51
+ @property
52
+ @pulumi.getter(name="applicationId")
53
+ def application_id(self) -> Optional[pulumi.Input[str]]:
54
+ """
55
+ The ID of the application that will be added to the group.
56
+ """
57
+ return pulumi.get(self, "application_id")
58
+
59
+ @application_id.setter
60
+ def application_id(self, value: Optional[pulumi.Input[str]]):
61
+ pulumi.set(self, "application_id", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="userId")
65
+ def user_id(self) -> Optional[pulumi.Input[str]]:
66
+ """
67
+ The ID of the user that will be added to the group
68
+
69
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
70
+ """
71
+ return pulumi.get(self, "user_id")
72
+
73
+ @user_id.setter
74
+ def user_id(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "user_id", value)
76
+
77
+
78
+ @pulumi.input_type
79
+ class _GroupMembershipState:
80
+ def __init__(__self__, *,
81
+ application_id: Optional[pulumi.Input[str]] = None,
82
+ group_id: Optional[pulumi.Input[str]] = None,
83
+ user_id: Optional[pulumi.Input[str]] = None):
84
+ """
85
+ Input properties used for looking up and filtering GroupMembership resources.
86
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
87
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
88
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
89
+
90
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
91
+ """
92
+ if application_id is not None:
93
+ pulumi.set(__self__, "application_id", application_id)
94
+ if group_id is not None:
95
+ pulumi.set(__self__, "group_id", group_id)
96
+ if user_id is not None:
97
+ pulumi.set(__self__, "user_id", user_id)
98
+
99
+ @property
100
+ @pulumi.getter(name="applicationId")
101
+ def application_id(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ The ID of the application that will be added to the group.
104
+ """
105
+ return pulumi.get(self, "application_id")
106
+
107
+ @application_id.setter
108
+ def application_id(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "application_id", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="groupId")
113
+ def group_id(self) -> Optional[pulumi.Input[str]]:
114
+ """
115
+ ID of the group to add members to.
116
+ """
117
+ return pulumi.get(self, "group_id")
118
+
119
+ @group_id.setter
120
+ def group_id(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "group_id", value)
122
+
123
+ @property
124
+ @pulumi.getter(name="userId")
125
+ def user_id(self) -> Optional[pulumi.Input[str]]:
126
+ """
127
+ The ID of the user that will be added to the group
128
+
129
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
130
+ """
131
+ return pulumi.get(self, "user_id")
132
+
133
+ @user_id.setter
134
+ def user_id(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "user_id", value)
136
+
137
+
138
+ class GroupMembership(pulumi.CustomResource):
139
+ @overload
140
+ def __init__(__self__,
141
+ resource_name: str,
142
+ opts: Optional[pulumi.ResourceOptions] = None,
143
+ application_id: Optional[pulumi.Input[str]] = None,
144
+ group_id: Optional[pulumi.Input[str]] = None,
145
+ user_id: Optional[pulumi.Input[str]] = None,
146
+ __props__=None):
147
+ """
148
+ Add members to an IAM group.
149
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
150
+
151
+ ## Example Usage
152
+
153
+ ### Application Membership
154
+
155
+ ```python
156
+ import pulumi
157
+ import pulumiverse_scaleway as scaleway
158
+
159
+ group = scaleway.iam.Group("group",
160
+ name="my_group",
161
+ external_membership=True)
162
+ app = scaleway.iam.Application("app", name="my_app")
163
+ member = scaleway.iam.GroupMembership("member",
164
+ group_id=group.id,
165
+ application_id=app.id)
166
+ ```
167
+
168
+ ## Import
169
+
170
+ IAM group memberships can be imported using two format:
171
+
172
+ - For user: `{group_id}/user/{user_id}`
173
+
174
+ - For application: `{group_id}/app/{application_id}`
175
+
176
+ bash
177
+
178
+ ```sh
179
+ $ pulumi import scaleway:iam/groupMembership:GroupMembership app 11111111-1111-1111-1111-111111111111/app/11111111-1111-1111-1111-111111111111
180
+ ```
181
+
182
+ :param str resource_name: The name of the resource.
183
+ :param pulumi.ResourceOptions opts: Options for the resource.
184
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
185
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
186
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
187
+
188
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
189
+ """
190
+ ...
191
+ @overload
192
+ def __init__(__self__,
193
+ resource_name: str,
194
+ args: GroupMembershipArgs,
195
+ opts: Optional[pulumi.ResourceOptions] = None):
196
+ """
197
+ Add members to an IAM group.
198
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
199
+
200
+ ## Example Usage
201
+
202
+ ### Application Membership
203
+
204
+ ```python
205
+ import pulumi
206
+ import pulumiverse_scaleway as scaleway
207
+
208
+ group = scaleway.iam.Group("group",
209
+ name="my_group",
210
+ external_membership=True)
211
+ app = scaleway.iam.Application("app", name="my_app")
212
+ member = scaleway.iam.GroupMembership("member",
213
+ group_id=group.id,
214
+ application_id=app.id)
215
+ ```
216
+
217
+ ## Import
218
+
219
+ IAM group memberships can be imported using two format:
220
+
221
+ - For user: `{group_id}/user/{user_id}`
222
+
223
+ - For application: `{group_id}/app/{application_id}`
224
+
225
+ bash
226
+
227
+ ```sh
228
+ $ pulumi import scaleway:iam/groupMembership:GroupMembership app 11111111-1111-1111-1111-111111111111/app/11111111-1111-1111-1111-111111111111
229
+ ```
230
+
231
+ :param str resource_name: The name of the resource.
232
+ :param GroupMembershipArgs args: The arguments to use to populate this resource's properties.
233
+ :param pulumi.ResourceOptions opts: Options for the resource.
234
+ """
235
+ ...
236
+ def __init__(__self__, resource_name: str, *args, **kwargs):
237
+ resource_args, opts = _utilities.get_resource_args_opts(GroupMembershipArgs, pulumi.ResourceOptions, *args, **kwargs)
238
+ if resource_args is not None:
239
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
240
+ else:
241
+ __self__._internal_init(resource_name, *args, **kwargs)
242
+
243
+ def _internal_init(__self__,
244
+ resource_name: str,
245
+ opts: Optional[pulumi.ResourceOptions] = None,
246
+ application_id: Optional[pulumi.Input[str]] = None,
247
+ group_id: Optional[pulumi.Input[str]] = None,
248
+ user_id: Optional[pulumi.Input[str]] = None,
249
+ __props__=None):
250
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
251
+ if not isinstance(opts, pulumi.ResourceOptions):
252
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
253
+ if opts.id is None:
254
+ if __props__ is not None:
255
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
256
+ __props__ = GroupMembershipArgs.__new__(GroupMembershipArgs)
257
+
258
+ __props__.__dict__["application_id"] = application_id
259
+ if group_id is None and not opts.urn:
260
+ raise TypeError("Missing required property 'group_id'")
261
+ __props__.__dict__["group_id"] = group_id
262
+ __props__.__dict__["user_id"] = user_id
263
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/iamGroupMembership:IamGroupMembership")])
264
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
265
+ super(GroupMembership, __self__).__init__(
266
+ 'scaleway:iam/groupMembership:GroupMembership',
267
+ resource_name,
268
+ __props__,
269
+ opts)
270
+
271
+ @staticmethod
272
+ def get(resource_name: str,
273
+ id: pulumi.Input[str],
274
+ opts: Optional[pulumi.ResourceOptions] = None,
275
+ application_id: Optional[pulumi.Input[str]] = None,
276
+ group_id: Optional[pulumi.Input[str]] = None,
277
+ user_id: Optional[pulumi.Input[str]] = None) -> 'GroupMembership':
278
+ """
279
+ Get an existing GroupMembership resource's state with the given name, id, and optional extra
280
+ properties used to qualify the lookup.
281
+
282
+ :param str resource_name: The unique name of the resulting resource.
283
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
284
+ :param pulumi.ResourceOptions opts: Options for the resource.
285
+ :param pulumi.Input[str] application_id: The ID of the application that will be added to the group.
286
+ :param pulumi.Input[str] group_id: ID of the group to add members to.
287
+ :param pulumi.Input[str] user_id: The ID of the user that will be added to the group
288
+
289
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
290
+ """
291
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
292
+
293
+ __props__ = _GroupMembershipState.__new__(_GroupMembershipState)
294
+
295
+ __props__.__dict__["application_id"] = application_id
296
+ __props__.__dict__["group_id"] = group_id
297
+ __props__.__dict__["user_id"] = user_id
298
+ return GroupMembership(resource_name, opts=opts, __props__=__props__)
299
+
300
+ @property
301
+ @pulumi.getter(name="applicationId")
302
+ def application_id(self) -> pulumi.Output[Optional[str]]:
303
+ """
304
+ The ID of the application that will be added to the group.
305
+ """
306
+ return pulumi.get(self, "application_id")
307
+
308
+ @property
309
+ @pulumi.getter(name="groupId")
310
+ def group_id(self) -> pulumi.Output[str]:
311
+ """
312
+ ID of the group to add members to.
313
+ """
314
+ return pulumi.get(self, "group_id")
315
+
316
+ @property
317
+ @pulumi.getter(name="userId")
318
+ def user_id(self) -> pulumi.Output[Optional[str]]:
319
+ """
320
+ The ID of the user that will be added to the group
321
+
322
+ > **Note** You must specify at least one: `application_id` and/or `user_id`.
323
+ """
324
+ return pulumi.get(self, "user_id")
325
+
@@ -0,0 +1,111 @@
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__ = [
18
+ 'PolicyRule',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class PolicyRule(dict):
23
+ @staticmethod
24
+ def __key_warning(key: str):
25
+ suggest = None
26
+ if key == "permissionSetNames":
27
+ suggest = "permission_set_names"
28
+ elif key == "organizationId":
29
+ suggest = "organization_id"
30
+ elif key == "projectIds":
31
+ suggest = "project_ids"
32
+
33
+ if suggest:
34
+ pulumi.log.warn(f"Key '{key}' not found in PolicyRule. Access the value via the '{suggest}' property getter instead.")
35
+
36
+ def __getitem__(self, key: str) -> Any:
37
+ PolicyRule.__key_warning(key)
38
+ return super().__getitem__(key)
39
+
40
+ def get(self, key: str, default = None) -> Any:
41
+ PolicyRule.__key_warning(key)
42
+ return super().get(key, default)
43
+
44
+ def __init__(__self__, *,
45
+ permission_set_names: Sequence[str],
46
+ condition: Optional[str] = None,
47
+ organization_id: Optional[str] = None,
48
+ project_ids: Optional[Sequence[str]] = None):
49
+ """
50
+ :param Sequence[str] permission_set_names: Names of permission sets bind to the rule.
51
+ :param str condition: The condition of the rule.
52
+
53
+ **_TIP:_** You can use the Scaleway CLI to list the permissions details. e.g:
54
+
55
+ ```shell
56
+ scw iam permission-set list
57
+ ```
58
+ :param str organization_id: ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
59
+ :param Sequence[str] project_ids: List of project IDs scoped to the rule.
60
+
61
+ > **Important** One `organization_id` or `project_ids` must be set per rule.
62
+ """
63
+ pulumi.set(__self__, "permission_set_names", permission_set_names)
64
+ if condition is not None:
65
+ pulumi.set(__self__, "condition", condition)
66
+ if organization_id is not None:
67
+ pulumi.set(__self__, "organization_id", organization_id)
68
+ if project_ids is not None:
69
+ pulumi.set(__self__, "project_ids", project_ids)
70
+
71
+ @property
72
+ @pulumi.getter(name="permissionSetNames")
73
+ def permission_set_names(self) -> Sequence[str]:
74
+ """
75
+ Names of permission sets bind to the rule.
76
+ """
77
+ return pulumi.get(self, "permission_set_names")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def condition(self) -> Optional[str]:
82
+ """
83
+ The condition of the rule.
84
+
85
+ **_TIP:_** You can use the Scaleway CLI to list the permissions details. e.g:
86
+
87
+ ```shell
88
+ scw iam permission-set list
89
+ ```
90
+ """
91
+ return pulumi.get(self, "condition")
92
+
93
+ @property
94
+ @pulumi.getter(name="organizationId")
95
+ def organization_id(self) -> Optional[str]:
96
+ """
97
+ ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
98
+ """
99
+ return pulumi.get(self, "organization_id")
100
+
101
+ @property
102
+ @pulumi.getter(name="projectIds")
103
+ def project_ids(self) -> Optional[Sequence[str]]:
104
+ """
105
+ List of project IDs scoped to the rule.
106
+
107
+ > **Important** One `organization_id` or `project_ids` must be set per rule.
108
+ """
109
+ return pulumi.get(self, "project_ids")
110
+
111
+