pulumiverse-scaleway 1.25.0a1742464679__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.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,568 @@
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__ = ['GroupArgs', 'Group']
18
+
19
+ @pulumi.input_type
20
+ class GroupArgs:
21
+ def __init__(__self__, *,
22
+ application_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
+ description: Optional[pulumi.Input[str]] = None,
24
+ external_membership: Optional[pulumi.Input[bool]] = None,
25
+ name: Optional[pulumi.Input[str]] = None,
26
+ organization_id: Optional[pulumi.Input[str]] = None,
27
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
+ user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
29
+ """
30
+ The set of arguments for constructing a Group resource.
31
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_ids: The list of IDs of the applications attached to the group.
32
+ :param pulumi.Input[str] description: The description of the IAM group.
33
+ :param pulumi.Input[bool] external_membership: Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
34
+ :param pulumi.Input[str] name: The name of the IAM group.
35
+ :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the group is associated with.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the group.
37
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] user_ids: The list of IDs of the users attached to the group.
38
+ """
39
+ if application_ids is not None:
40
+ pulumi.set(__self__, "application_ids", application_ids)
41
+ if description is not None:
42
+ pulumi.set(__self__, "description", description)
43
+ if external_membership is not None:
44
+ pulumi.set(__self__, "external_membership", external_membership)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+ if organization_id is not None:
48
+ pulumi.set(__self__, "organization_id", organization_id)
49
+ if tags is not None:
50
+ pulumi.set(__self__, "tags", tags)
51
+ if user_ids is not None:
52
+ pulumi.set(__self__, "user_ids", user_ids)
53
+
54
+ @property
55
+ @pulumi.getter(name="applicationIds")
56
+ def application_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
57
+ """
58
+ The list of IDs of the applications attached to the group.
59
+ """
60
+ return pulumi.get(self, "application_ids")
61
+
62
+ @application_ids.setter
63
+ def application_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
64
+ pulumi.set(self, "application_ids", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def description(self) -> Optional[pulumi.Input[str]]:
69
+ """
70
+ The description of the IAM group.
71
+ """
72
+ return pulumi.get(self, "description")
73
+
74
+ @description.setter
75
+ def description(self, value: Optional[pulumi.Input[str]]):
76
+ pulumi.set(self, "description", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="externalMembership")
80
+ def external_membership(self) -> Optional[pulumi.Input[bool]]:
81
+ """
82
+ Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
83
+ """
84
+ return pulumi.get(self, "external_membership")
85
+
86
+ @external_membership.setter
87
+ def external_membership(self, value: Optional[pulumi.Input[bool]]):
88
+ pulumi.set(self, "external_membership", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def name(self) -> Optional[pulumi.Input[str]]:
93
+ """
94
+ The name of the IAM group.
95
+ """
96
+ return pulumi.get(self, "name")
97
+
98
+ @name.setter
99
+ def name(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "name", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="organizationId")
104
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ `organization_id`) The ID of the organization the group is associated with.
107
+ """
108
+ return pulumi.get(self, "organization_id")
109
+
110
+ @organization_id.setter
111
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "organization_id", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
117
+ """
118
+ The tags associated with the group.
119
+ """
120
+ return pulumi.get(self, "tags")
121
+
122
+ @tags.setter
123
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
124
+ pulumi.set(self, "tags", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="userIds")
128
+ def user_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
129
+ """
130
+ The list of IDs of the users attached to the group.
131
+ """
132
+ return pulumi.get(self, "user_ids")
133
+
134
+ @user_ids.setter
135
+ def user_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
136
+ pulumi.set(self, "user_ids", value)
137
+
138
+
139
+ @pulumi.input_type
140
+ class _GroupState:
141
+ def __init__(__self__, *,
142
+ application_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
143
+ created_at: Optional[pulumi.Input[str]] = None,
144
+ description: Optional[pulumi.Input[str]] = None,
145
+ external_membership: Optional[pulumi.Input[bool]] = None,
146
+ name: Optional[pulumi.Input[str]] = None,
147
+ organization_id: Optional[pulumi.Input[str]] = None,
148
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
149
+ updated_at: Optional[pulumi.Input[str]] = None,
150
+ user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
151
+ """
152
+ Input properties used for looking up and filtering Group resources.
153
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_ids: The list of IDs of the applications attached to the group.
154
+ :param pulumi.Input[str] created_at: The date and time of the creation of the group
155
+ :param pulumi.Input[str] description: The description of the IAM group.
156
+ :param pulumi.Input[bool] external_membership: Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
157
+ :param pulumi.Input[str] name: The name of the IAM group.
158
+ :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the group is associated with.
159
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the group.
160
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the group
161
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] user_ids: The list of IDs of the users attached to the group.
162
+ """
163
+ if application_ids is not None:
164
+ pulumi.set(__self__, "application_ids", application_ids)
165
+ if created_at is not None:
166
+ pulumi.set(__self__, "created_at", created_at)
167
+ if description is not None:
168
+ pulumi.set(__self__, "description", description)
169
+ if external_membership is not None:
170
+ pulumi.set(__self__, "external_membership", external_membership)
171
+ if name is not None:
172
+ pulumi.set(__self__, "name", name)
173
+ if organization_id is not None:
174
+ pulumi.set(__self__, "organization_id", organization_id)
175
+ if tags is not None:
176
+ pulumi.set(__self__, "tags", tags)
177
+ if updated_at is not None:
178
+ pulumi.set(__self__, "updated_at", updated_at)
179
+ if user_ids is not None:
180
+ pulumi.set(__self__, "user_ids", user_ids)
181
+
182
+ @property
183
+ @pulumi.getter(name="applicationIds")
184
+ def application_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
185
+ """
186
+ The list of IDs of the applications attached to the group.
187
+ """
188
+ return pulumi.get(self, "application_ids")
189
+
190
+ @application_ids.setter
191
+ def application_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
192
+ pulumi.set(self, "application_ids", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="createdAt")
196
+ def created_at(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The date and time of the creation of the group
199
+ """
200
+ return pulumi.get(self, "created_at")
201
+
202
+ @created_at.setter
203
+ def created_at(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "created_at", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def description(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ The description of the IAM group.
211
+ """
212
+ return pulumi.get(self, "description")
213
+
214
+ @description.setter
215
+ def description(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "description", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="externalMembership")
220
+ def external_membership(self) -> Optional[pulumi.Input[bool]]:
221
+ """
222
+ Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
223
+ """
224
+ return pulumi.get(self, "external_membership")
225
+
226
+ @external_membership.setter
227
+ def external_membership(self, value: Optional[pulumi.Input[bool]]):
228
+ pulumi.set(self, "external_membership", value)
229
+
230
+ @property
231
+ @pulumi.getter
232
+ def name(self) -> Optional[pulumi.Input[str]]:
233
+ """
234
+ The name of the IAM group.
235
+ """
236
+ return pulumi.get(self, "name")
237
+
238
+ @name.setter
239
+ def name(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "name", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="organizationId")
244
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ `organization_id`) The ID of the organization the group is associated with.
247
+ """
248
+ return pulumi.get(self, "organization_id")
249
+
250
+ @organization_id.setter
251
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "organization_id", value)
253
+
254
+ @property
255
+ @pulumi.getter
256
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
257
+ """
258
+ The tags associated with the group.
259
+ """
260
+ return pulumi.get(self, "tags")
261
+
262
+ @tags.setter
263
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
264
+ pulumi.set(self, "tags", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="updatedAt")
268
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The date and time of the last update of the group
271
+ """
272
+ return pulumi.get(self, "updated_at")
273
+
274
+ @updated_at.setter
275
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "updated_at", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="userIds")
280
+ def user_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
281
+ """
282
+ The list of IDs of the users attached to the group.
283
+ """
284
+ return pulumi.get(self, "user_ids")
285
+
286
+ @user_ids.setter
287
+ def user_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
288
+ pulumi.set(self, "user_ids", value)
289
+
290
+
291
+ class Group(pulumi.CustomResource):
292
+ @overload
293
+ def __init__(__self__,
294
+ resource_name: str,
295
+ opts: Optional[pulumi.ResourceOptions] = None,
296
+ application_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
297
+ description: Optional[pulumi.Input[str]] = None,
298
+ external_membership: Optional[pulumi.Input[bool]] = None,
299
+ name: Optional[pulumi.Input[str]] = None,
300
+ organization_id: Optional[pulumi.Input[str]] = None,
301
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
302
+ user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
303
+ __props__=None):
304
+ """
305
+ Creates and manages Scaleway IAM Groups.
306
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
307
+
308
+ ## Example Usage
309
+
310
+ ### Basic
311
+
312
+ ```python
313
+ import pulumi
314
+ import pulumiverse_scaleway as scaleway
315
+
316
+ basic = scaleway.iam.Group("basic",
317
+ name="iam_group_basic",
318
+ description="basic description",
319
+ application_ids=[],
320
+ user_ids=[])
321
+ ```
322
+
323
+ ### With applications
324
+
325
+ ```python
326
+ import pulumi
327
+ import pulumiverse_scaleway as scaleway
328
+
329
+ app = scaleway.iam.Application("app")
330
+ with_app = scaleway.iam.Group("with_app",
331
+ name="iam_group_with_app",
332
+ application_ids=[app.id],
333
+ user_ids=[])
334
+ ```
335
+
336
+ ## Import
337
+
338
+ IAM groups can be imported using the `{id}`, e.g.
339
+
340
+ bash
341
+
342
+ ```sh
343
+ $ pulumi import scaleway:iam/group:Group basic 11111111-1111-1111-1111-111111111111
344
+ ```
345
+
346
+ :param str resource_name: The name of the resource.
347
+ :param pulumi.ResourceOptions opts: Options for the resource.
348
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_ids: The list of IDs of the applications attached to the group.
349
+ :param pulumi.Input[str] description: The description of the IAM group.
350
+ :param pulumi.Input[bool] external_membership: Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
351
+ :param pulumi.Input[str] name: The name of the IAM group.
352
+ :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the group is associated with.
353
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the group.
354
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] user_ids: The list of IDs of the users attached to the group.
355
+ """
356
+ ...
357
+ @overload
358
+ def __init__(__self__,
359
+ resource_name: str,
360
+ args: Optional[GroupArgs] = None,
361
+ opts: Optional[pulumi.ResourceOptions] = None):
362
+ """
363
+ Creates and manages Scaleway IAM Groups.
364
+ For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#groups-f592eb).
365
+
366
+ ## Example Usage
367
+
368
+ ### Basic
369
+
370
+ ```python
371
+ import pulumi
372
+ import pulumiverse_scaleway as scaleway
373
+
374
+ basic = scaleway.iam.Group("basic",
375
+ name="iam_group_basic",
376
+ description="basic description",
377
+ application_ids=[],
378
+ user_ids=[])
379
+ ```
380
+
381
+ ### With applications
382
+
383
+ ```python
384
+ import pulumi
385
+ import pulumiverse_scaleway as scaleway
386
+
387
+ app = scaleway.iam.Application("app")
388
+ with_app = scaleway.iam.Group("with_app",
389
+ name="iam_group_with_app",
390
+ application_ids=[app.id],
391
+ user_ids=[])
392
+ ```
393
+
394
+ ## Import
395
+
396
+ IAM groups can be imported using the `{id}`, e.g.
397
+
398
+ bash
399
+
400
+ ```sh
401
+ $ pulumi import scaleway:iam/group:Group basic 11111111-1111-1111-1111-111111111111
402
+ ```
403
+
404
+ :param str resource_name: The name of the resource.
405
+ :param GroupArgs args: The arguments to use to populate this resource's properties.
406
+ :param pulumi.ResourceOptions opts: Options for the resource.
407
+ """
408
+ ...
409
+ def __init__(__self__, resource_name: str, *args, **kwargs):
410
+ resource_args, opts = _utilities.get_resource_args_opts(GroupArgs, pulumi.ResourceOptions, *args, **kwargs)
411
+ if resource_args is not None:
412
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
413
+ else:
414
+ __self__._internal_init(resource_name, *args, **kwargs)
415
+
416
+ def _internal_init(__self__,
417
+ resource_name: str,
418
+ opts: Optional[pulumi.ResourceOptions] = None,
419
+ application_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
420
+ description: Optional[pulumi.Input[str]] = None,
421
+ external_membership: Optional[pulumi.Input[bool]] = None,
422
+ name: Optional[pulumi.Input[str]] = None,
423
+ organization_id: Optional[pulumi.Input[str]] = None,
424
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
425
+ user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
426
+ __props__=None):
427
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
428
+ if not isinstance(opts, pulumi.ResourceOptions):
429
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
430
+ if opts.id is None:
431
+ if __props__ is not None:
432
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
433
+ __props__ = GroupArgs.__new__(GroupArgs)
434
+
435
+ __props__.__dict__["application_ids"] = application_ids
436
+ __props__.__dict__["description"] = description
437
+ __props__.__dict__["external_membership"] = external_membership
438
+ __props__.__dict__["name"] = name
439
+ __props__.__dict__["organization_id"] = organization_id
440
+ __props__.__dict__["tags"] = tags
441
+ __props__.__dict__["user_ids"] = user_ids
442
+ __props__.__dict__["created_at"] = None
443
+ __props__.__dict__["updated_at"] = None
444
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/iamGroup:IamGroup")])
445
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
446
+ super(Group, __self__).__init__(
447
+ 'scaleway:iam/group:Group',
448
+ resource_name,
449
+ __props__,
450
+ opts)
451
+
452
+ @staticmethod
453
+ def get(resource_name: str,
454
+ id: pulumi.Input[str],
455
+ opts: Optional[pulumi.ResourceOptions] = None,
456
+ application_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
457
+ created_at: Optional[pulumi.Input[str]] = None,
458
+ description: Optional[pulumi.Input[str]] = None,
459
+ external_membership: Optional[pulumi.Input[bool]] = None,
460
+ name: Optional[pulumi.Input[str]] = None,
461
+ organization_id: Optional[pulumi.Input[str]] = None,
462
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
463
+ updated_at: Optional[pulumi.Input[str]] = None,
464
+ user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Group':
465
+ """
466
+ Get an existing Group resource's state with the given name, id, and optional extra
467
+ properties used to qualify the lookup.
468
+
469
+ :param str resource_name: The unique name of the resulting resource.
470
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
471
+ :param pulumi.ResourceOptions opts: Options for the resource.
472
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] application_ids: The list of IDs of the applications attached to the group.
473
+ :param pulumi.Input[str] created_at: The date and time of the creation of the group
474
+ :param pulumi.Input[str] description: The description of the IAM group.
475
+ :param pulumi.Input[bool] external_membership: Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
476
+ :param pulumi.Input[str] name: The name of the IAM group.
477
+ :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the group is associated with.
478
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the group.
479
+ :param pulumi.Input[str] updated_at: The date and time of the last update of the group
480
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] user_ids: The list of IDs of the users attached to the group.
481
+ """
482
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
483
+
484
+ __props__ = _GroupState.__new__(_GroupState)
485
+
486
+ __props__.__dict__["application_ids"] = application_ids
487
+ __props__.__dict__["created_at"] = created_at
488
+ __props__.__dict__["description"] = description
489
+ __props__.__dict__["external_membership"] = external_membership
490
+ __props__.__dict__["name"] = name
491
+ __props__.__dict__["organization_id"] = organization_id
492
+ __props__.__dict__["tags"] = tags
493
+ __props__.__dict__["updated_at"] = updated_at
494
+ __props__.__dict__["user_ids"] = user_ids
495
+ return Group(resource_name, opts=opts, __props__=__props__)
496
+
497
+ @property
498
+ @pulumi.getter(name="applicationIds")
499
+ def application_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
500
+ """
501
+ The list of IDs of the applications attached to the group.
502
+ """
503
+ return pulumi.get(self, "application_ids")
504
+
505
+ @property
506
+ @pulumi.getter(name="createdAt")
507
+ def created_at(self) -> pulumi.Output[str]:
508
+ """
509
+ The date and time of the creation of the group
510
+ """
511
+ return pulumi.get(self, "created_at")
512
+
513
+ @property
514
+ @pulumi.getter
515
+ def description(self) -> pulumi.Output[Optional[str]]:
516
+ """
517
+ The description of the IAM group.
518
+ """
519
+ return pulumi.get(self, "description")
520
+
521
+ @property
522
+ @pulumi.getter(name="externalMembership")
523
+ def external_membership(self) -> pulumi.Output[Optional[bool]]:
524
+ """
525
+ Manage membership externally. This make the resource ignore user_ids and application_ids. Should be used when using iam_group_membership
526
+ """
527
+ return pulumi.get(self, "external_membership")
528
+
529
+ @property
530
+ @pulumi.getter
531
+ def name(self) -> pulumi.Output[str]:
532
+ """
533
+ The name of the IAM group.
534
+ """
535
+ return pulumi.get(self, "name")
536
+
537
+ @property
538
+ @pulumi.getter(name="organizationId")
539
+ def organization_id(self) -> pulumi.Output[str]:
540
+ """
541
+ `organization_id`) The ID of the organization the group is associated with.
542
+ """
543
+ return pulumi.get(self, "organization_id")
544
+
545
+ @property
546
+ @pulumi.getter
547
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
548
+ """
549
+ The tags associated with the group.
550
+ """
551
+ return pulumi.get(self, "tags")
552
+
553
+ @property
554
+ @pulumi.getter(name="updatedAt")
555
+ def updated_at(self) -> pulumi.Output[str]:
556
+ """
557
+ The date and time of the last update of the group
558
+ """
559
+ return pulumi.get(self, "updated_at")
560
+
561
+ @property
562
+ @pulumi.getter(name="userIds")
563
+ def user_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
564
+ """
565
+ The list of IDs of the users attached to the group.
566
+ """
567
+ return pulumi.get(self, "user_ids")
568
+