pulumiverse-scaleway 1.30.0a1750140900__py3-none-any.whl → 1.31.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 (499) hide show
  1. pulumiverse_scaleway/__init__.py +38 -1
  2. pulumiverse_scaleway/_inputs.py +2331 -2160
  3. pulumiverse_scaleway/_utilities.py +1 -1
  4. pulumiverse_scaleway/account/__init__.py +2 -1
  5. pulumiverse_scaleway/account/get_availability_zones.py +9 -8
  6. pulumiverse_scaleway/account/get_project.py +21 -20
  7. pulumiverse_scaleway/account/get_projects.py +28 -21
  8. pulumiverse_scaleway/account/get_ssh_key.py +24 -23
  9. pulumiverse_scaleway/account/outputs.py +20 -19
  10. pulumiverse_scaleway/account/project.py +59 -57
  11. pulumiverse_scaleway/account/ssh_key.py +87 -85
  12. pulumiverse_scaleway/account_project.py +59 -57
  13. pulumiverse_scaleway/account_ssh_key.py +87 -85
  14. pulumiverse_scaleway/apple_silicon_server.py +251 -155
  15. pulumiverse_scaleway/applesilicon/__init__.py +2 -1
  16. pulumiverse_scaleway/applesilicon/_inputs.py +89 -34
  17. pulumiverse_scaleway/applesilicon/outputs.py +54 -21
  18. pulumiverse_scaleway/applesilicon/server.py +251 -155
  19. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  20. pulumiverse_scaleway/autoscaling/_inputs.py +559 -0
  21. pulumiverse_scaleway/autoscaling/instance_group.py +808 -0
  22. pulumiverse_scaleway/autoscaling/instance_policy.py +635 -0
  23. pulumiverse_scaleway/autoscaling/instance_template.py +879 -0
  24. pulumiverse_scaleway/autoscaling/outputs.py +439 -0
  25. pulumiverse_scaleway/baremetal_server.py +262 -260
  26. pulumiverse_scaleway/billing/__init__.py +2 -1
  27. pulumiverse_scaleway/billing/get_consumptions.py +10 -9
  28. pulumiverse_scaleway/billing/get_invoices.py +19 -18
  29. pulumiverse_scaleway/billing/outputs.py +73 -72
  30. pulumiverse_scaleway/block/__init__.py +2 -1
  31. pulumiverse_scaleway/block/_inputs.py +12 -11
  32. pulumiverse_scaleway/block/get_snapshot.py +29 -28
  33. pulumiverse_scaleway/block/get_volume.py +28 -27
  34. pulumiverse_scaleway/block/outputs.py +14 -13
  35. pulumiverse_scaleway/block/snapshot.py +73 -71
  36. pulumiverse_scaleway/block/volume.py +115 -113
  37. pulumiverse_scaleway/block_snapshot.py +73 -71
  38. pulumiverse_scaleway/block_volume.py +115 -113
  39. pulumiverse_scaleway/cockpit.py +38 -36
  40. pulumiverse_scaleway/cockpit_alert_manager.py +52 -50
  41. pulumiverse_scaleway/cockpit_grafana_user.py +59 -57
  42. pulumiverse_scaleway/cockpit_source.py +115 -113
  43. pulumiverse_scaleway/cockpit_token.py +66 -64
  44. pulumiverse_scaleway/config/__init__.py +2 -1
  45. pulumiverse_scaleway/config/__init__.pyi +2 -1
  46. pulumiverse_scaleway/config/vars.py +2 -1
  47. pulumiverse_scaleway/container.py +573 -343
  48. pulumiverse_scaleway/container_cron.py +80 -78
  49. pulumiverse_scaleway/container_domain.py +52 -50
  50. pulumiverse_scaleway/container_namespace.py +211 -140
  51. pulumiverse_scaleway/container_token.py +80 -78
  52. pulumiverse_scaleway/container_trigger.py +59 -57
  53. pulumiverse_scaleway/containers/__init__.py +2 -1
  54. pulumiverse_scaleway/containers/_inputs.py +72 -71
  55. pulumiverse_scaleway/containers/container.py +573 -343
  56. pulumiverse_scaleway/containers/cron.py +80 -78
  57. pulumiverse_scaleway/containers/domain.py +52 -50
  58. pulumiverse_scaleway/containers/get_container.py +87 -42
  59. pulumiverse_scaleway/containers/get_namespace.py +43 -31
  60. pulumiverse_scaleway/containers/namespace.py +211 -140
  61. pulumiverse_scaleway/containers/outputs.py +62 -61
  62. pulumiverse_scaleway/containers/token.py +80 -78
  63. pulumiverse_scaleway/containers/trigger.py +59 -57
  64. pulumiverse_scaleway/database.py +66 -64
  65. pulumiverse_scaleway/database_acl.py +31 -29
  66. pulumiverse_scaleway/database_backup.py +101 -99
  67. pulumiverse_scaleway/database_instance.py +297 -295
  68. pulumiverse_scaleway/database_privilege.py +73 -71
  69. pulumiverse_scaleway/database_read_replica.py +45 -43
  70. pulumiverse_scaleway/database_user.py +73 -71
  71. pulumiverse_scaleway/databases/__init__.py +2 -1
  72. pulumiverse_scaleway/databases/_inputs.py +191 -190
  73. pulumiverse_scaleway/databases/acl.py +31 -29
  74. pulumiverse_scaleway/databases/database.py +66 -64
  75. pulumiverse_scaleway/databases/database_backup.py +101 -99
  76. pulumiverse_scaleway/databases/get_acl.py +13 -12
  77. pulumiverse_scaleway/databases/get_database.py +19 -18
  78. pulumiverse_scaleway/databases/get_database_backup.py +34 -33
  79. pulumiverse_scaleway/databases/get_instance.py +43 -42
  80. pulumiverse_scaleway/databases/get_privilege.py +24 -23
  81. pulumiverse_scaleway/databases/instance.py +297 -295
  82. pulumiverse_scaleway/databases/outputs.py +188 -187
  83. pulumiverse_scaleway/databases/privilege.py +73 -71
  84. pulumiverse_scaleway/databases/read_replica.py +45 -43
  85. pulumiverse_scaleway/databases/serverless_database.py +80 -78
  86. pulumiverse_scaleway/databases/snapshot.py +101 -99
  87. pulumiverse_scaleway/databases/user.py +73 -71
  88. pulumiverse_scaleway/domain/__init__.py +2 -1
  89. pulumiverse_scaleway/domain/_inputs.py +531 -530
  90. pulumiverse_scaleway/domain/get_record.py +38 -37
  91. pulumiverse_scaleway/domain/get_zone.py +24 -23
  92. pulumiverse_scaleway/domain/outputs.py +358 -357
  93. pulumiverse_scaleway/domain/record.py +129 -127
  94. pulumiverse_scaleway/domain/registration.py +94 -92
  95. pulumiverse_scaleway/domain/zone.py +87 -85
  96. pulumiverse_scaleway/domain_record.py +129 -127
  97. pulumiverse_scaleway/domain_zone.py +87 -85
  98. pulumiverse_scaleway/edge_services_backend_stage.py +45 -43
  99. pulumiverse_scaleway/edge_services_cache_stage.py +162 -113
  100. pulumiverse_scaleway/edge_services_dns_stage.py +108 -106
  101. pulumiverse_scaleway/edge_services_head_stage.py +31 -29
  102. pulumiverse_scaleway/edge_services_pipeline.py +66 -64
  103. pulumiverse_scaleway/edge_services_plan.py +31 -29
  104. pulumiverse_scaleway/edge_services_route_stage.py +59 -57
  105. pulumiverse_scaleway/edge_services_tls_stage.py +122 -120
  106. pulumiverse_scaleway/edge_services_waf_stage.py +87 -85
  107. pulumiverse_scaleway/elasticmetal/__init__.py +2 -1
  108. pulumiverse_scaleway/elasticmetal/_inputs.py +123 -122
  109. pulumiverse_scaleway/elasticmetal/get_ip.py +56 -39
  110. pulumiverse_scaleway/elasticmetal/get_ips.py +24 -23
  111. pulumiverse_scaleway/elasticmetal/get_offer.py +29 -28
  112. pulumiverse_scaleway/elasticmetal/get_option.py +19 -18
  113. pulumiverse_scaleway/elasticmetal/get_os.py +23 -22
  114. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +29 -28
  115. pulumiverse_scaleway/elasticmetal/get_server.py +39 -38
  116. pulumiverse_scaleway/elasticmetal/ip.py +139 -137
  117. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +87 -85
  118. pulumiverse_scaleway/elasticmetal/outputs.py +233 -232
  119. pulumiverse_scaleway/elasticmetal/server.py +262 -260
  120. pulumiverse_scaleway/file_filesystem.py +552 -0
  121. pulumiverse_scaleway/flexible_ip.py +139 -137
  122. pulumiverse_scaleway/flexible_ip_mac_address.py +87 -85
  123. pulumiverse_scaleway/function.py +394 -284
  124. pulumiverse_scaleway/function_cron.py +80 -78
  125. pulumiverse_scaleway/function_domain.py +52 -50
  126. pulumiverse_scaleway/function_namespace.py +197 -126
  127. pulumiverse_scaleway/function_token.py +80 -78
  128. pulumiverse_scaleway/function_trigger.py +59 -57
  129. pulumiverse_scaleway/functions/__init__.py +2 -1
  130. pulumiverse_scaleway/functions/_inputs.py +42 -41
  131. pulumiverse_scaleway/functions/cron.py +80 -78
  132. pulumiverse_scaleway/functions/domain.py +52 -50
  133. pulumiverse_scaleway/functions/function.py +394 -284
  134. pulumiverse_scaleway/functions/get_function.py +69 -46
  135. pulumiverse_scaleway/functions/get_namespace.py +42 -30
  136. pulumiverse_scaleway/functions/namespace.py +197 -126
  137. pulumiverse_scaleway/functions/outputs.py +26 -25
  138. pulumiverse_scaleway/functions/token.py +80 -78
  139. pulumiverse_scaleway/functions/trigger.py +59 -57
  140. pulumiverse_scaleway/get_account_project.py +21 -20
  141. pulumiverse_scaleway/get_account_ssh_key.py +24 -23
  142. pulumiverse_scaleway/get_availability_zones.py +9 -8
  143. pulumiverse_scaleway/get_baremetal_offer.py +29 -28
  144. pulumiverse_scaleway/get_baremetal_option.py +19 -18
  145. pulumiverse_scaleway/get_baremetal_os.py +23 -22
  146. pulumiverse_scaleway/get_baremetal_server.py +39 -38
  147. pulumiverse_scaleway/get_billing_consumptions.py +10 -9
  148. pulumiverse_scaleway/get_billing_invoices.py +19 -18
  149. pulumiverse_scaleway/get_block_snapshot.py +29 -28
  150. pulumiverse_scaleway/get_block_volume.py +28 -27
  151. pulumiverse_scaleway/get_cockpit.py +10 -9
  152. pulumiverse_scaleway/get_cockpit_source.py +77 -33
  153. pulumiverse_scaleway/get_config.py +13 -12
  154. pulumiverse_scaleway/get_container.py +87 -42
  155. pulumiverse_scaleway/get_container_namespace.py +43 -31
  156. pulumiverse_scaleway/get_database.py +19 -18
  157. pulumiverse_scaleway/get_database_acl.py +13 -12
  158. pulumiverse_scaleway/get_database_backup.py +34 -33
  159. pulumiverse_scaleway/get_database_instance.py +43 -42
  160. pulumiverse_scaleway/get_database_privilege.py +24 -23
  161. pulumiverse_scaleway/get_domain_record.py +38 -37
  162. pulumiverse_scaleway/get_domain_zone.py +24 -23
  163. pulumiverse_scaleway/get_flexible_ip.py +56 -39
  164. pulumiverse_scaleway/get_flexible_ips.py +24 -23
  165. pulumiverse_scaleway/get_function.py +69 -46
  166. pulumiverse_scaleway/get_function_namespace.py +42 -30
  167. pulumiverse_scaleway/get_iam_api_key.py +17 -16
  168. pulumiverse_scaleway/get_iam_application.py +23 -22
  169. pulumiverse_scaleway/get_iam_group.py +25 -24
  170. pulumiverse_scaleway/get_iam_ssh_key.py +24 -23
  171. pulumiverse_scaleway/get_iam_user.py +23 -22
  172. pulumiverse_scaleway/get_instance_image.py +42 -41
  173. pulumiverse_scaleway/get_instance_ip.py +20 -19
  174. pulumiverse_scaleway/get_instance_placement_group.py +28 -27
  175. pulumiverse_scaleway/get_instance_private_nic.py +31 -30
  176. pulumiverse_scaleway/get_instance_security_group.py +31 -30
  177. pulumiverse_scaleway/get_instance_server.py +59 -47
  178. pulumiverse_scaleway/get_instance_servers.py +24 -23
  179. pulumiverse_scaleway/get_instance_snapshot.py +29 -28
  180. pulumiverse_scaleway/get_instance_volume.py +30 -29
  181. pulumiverse_scaleway/get_iot_device.py +31 -30
  182. pulumiverse_scaleway/get_iot_hub.py +39 -38
  183. pulumiverse_scaleway/get_ipam_ip.py +51 -50
  184. pulumiverse_scaleway/get_ipam_ips.py +44 -43
  185. pulumiverse_scaleway/get_k8s_version.py +16 -15
  186. pulumiverse_scaleway/get_kubernetes_cluster.py +39 -38
  187. pulumiverse_scaleway/get_kubernetes_node_pool.py +59 -47
  188. pulumiverse_scaleway/get_lb_acls.py +22 -21
  189. pulumiverse_scaleway/get_lb_backend.py +43 -42
  190. pulumiverse_scaleway/get_lb_backends.py +22 -21
  191. pulumiverse_scaleway/get_lb_frontend.py +26 -25
  192. pulumiverse_scaleway/get_lb_frontends.py +22 -21
  193. pulumiverse_scaleway/get_lb_ips.py +29 -28
  194. pulumiverse_scaleway/get_lb_route.py +16 -15
  195. pulumiverse_scaleway/get_lb_routes.py +17 -16
  196. pulumiverse_scaleway/get_lbs.py +24 -23
  197. pulumiverse_scaleway/get_loadbalancer.py +36 -35
  198. pulumiverse_scaleway/get_loadbalancer_certificate.py +24 -23
  199. pulumiverse_scaleway/get_loadbalancer_ip.py +29 -28
  200. pulumiverse_scaleway/get_marketplace_image.py +23 -22
  201. pulumiverse_scaleway/get_mnq_sns.py +14 -13
  202. pulumiverse_scaleway/get_mnq_sqs.py +14 -13
  203. pulumiverse_scaleway/get_mongo_db_instance.py +35 -34
  204. pulumiverse_scaleway/get_object_bucket.py +22 -21
  205. pulumiverse_scaleway/get_object_bucket_policy.py +17 -16
  206. pulumiverse_scaleway/get_redis_cluster.py +34 -33
  207. pulumiverse_scaleway/get_registry_image.py +37 -36
  208. pulumiverse_scaleway/get_registry_image_tag.py +33 -32
  209. pulumiverse_scaleway/get_registry_namespace.py +27 -26
  210. pulumiverse_scaleway/get_secret.py +41 -40
  211. pulumiverse_scaleway/get_secret_version.py +34 -33
  212. pulumiverse_scaleway/get_tem_domain.py +43 -42
  213. pulumiverse_scaleway/get_vpc.py +47 -35
  214. pulumiverse_scaleway/get_vpc_gateway_network.py +28 -27
  215. pulumiverse_scaleway/get_vpc_private_network.py +44 -32
  216. pulumiverse_scaleway/get_vpc_public_gateway.py +36 -35
  217. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +24 -23
  218. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +33 -32
  219. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +14 -13
  220. pulumiverse_scaleway/get_vpc_public_pat_rule.py +21 -20
  221. pulumiverse_scaleway/get_vpc_routes.py +38 -37
  222. pulumiverse_scaleway/get_vpcs.py +24 -23
  223. pulumiverse_scaleway/get_web_host_offer.py +25 -24
  224. pulumiverse_scaleway/get_webhosting.py +36 -35
  225. pulumiverse_scaleway/hosting/__init__.py +2 -1
  226. pulumiverse_scaleway/hosting/_inputs.py +61 -60
  227. pulumiverse_scaleway/hosting/get_hosting.py +36 -35
  228. pulumiverse_scaleway/hosting/get_offer.py +25 -24
  229. pulumiverse_scaleway/hosting/hosting.py +164 -162
  230. pulumiverse_scaleway/hosting/outputs.py +139 -138
  231. pulumiverse_scaleway/iam/__init__.py +2 -1
  232. pulumiverse_scaleway/iam/_inputs.py +22 -21
  233. pulumiverse_scaleway/iam/api_key.py +115 -113
  234. pulumiverse_scaleway/iam/application.py +80 -78
  235. pulumiverse_scaleway/iam/get_api_key.py +17 -16
  236. pulumiverse_scaleway/iam/get_application.py +23 -22
  237. pulumiverse_scaleway/iam/get_group.py +25 -24
  238. pulumiverse_scaleway/iam/get_ssh_key.py +24 -23
  239. pulumiverse_scaleway/iam/get_user.py +23 -22
  240. pulumiverse_scaleway/iam/group.py +115 -113
  241. pulumiverse_scaleway/iam/group_membership.py +45 -43
  242. pulumiverse_scaleway/iam/outputs.py +14 -13
  243. pulumiverse_scaleway/iam/policy.py +136 -134
  244. pulumiverse_scaleway/iam/ssh_key.py +87 -85
  245. pulumiverse_scaleway/iam/user.py +284 -273
  246. pulumiverse_scaleway/iam_api_key.py +115 -113
  247. pulumiverse_scaleway/iam_application.py +80 -78
  248. pulumiverse_scaleway/iam_group.py +115 -113
  249. pulumiverse_scaleway/iam_group_membership.py +45 -43
  250. pulumiverse_scaleway/iam_policy.py +136 -134
  251. pulumiverse_scaleway/iam_ssh_key.py +87 -85
  252. pulumiverse_scaleway/iam_user.py +284 -273
  253. pulumiverse_scaleway/inference/__init__.py +2 -1
  254. pulumiverse_scaleway/inference/_inputs.py +116 -61
  255. pulumiverse_scaleway/inference/deployment.py +225 -176
  256. pulumiverse_scaleway/inference/get_model.py +27 -26
  257. pulumiverse_scaleway/inference/model.py +129 -127
  258. pulumiverse_scaleway/inference/outputs.py +82 -49
  259. pulumiverse_scaleway/inference_deployment.py +225 -176
  260. pulumiverse_scaleway/instance/__init__.py +2 -1
  261. pulumiverse_scaleway/instance/_inputs.py +296 -295
  262. pulumiverse_scaleway/instance/get_image.py +42 -41
  263. pulumiverse_scaleway/instance/get_ip.py +20 -19
  264. pulumiverse_scaleway/instance/get_placement_group.py +28 -27
  265. pulumiverse_scaleway/instance/get_private_nic.py +31 -30
  266. pulumiverse_scaleway/instance/get_security_group.py +31 -30
  267. pulumiverse_scaleway/instance/get_server.py +59 -47
  268. pulumiverse_scaleway/instance/get_servers.py +24 -23
  269. pulumiverse_scaleway/instance/get_snapshot.py +29 -28
  270. pulumiverse_scaleway/instance/get_volume.py +30 -29
  271. pulumiverse_scaleway/instance/image.py +150 -148
  272. pulumiverse_scaleway/instance/ip.py +94 -92
  273. pulumiverse_scaleway/instance/ip_reverse_dns.py +45 -43
  274. pulumiverse_scaleway/instance/outputs.py +349 -348
  275. pulumiverse_scaleway/instance/placement_group.py +101 -99
  276. pulumiverse_scaleway/instance/private_nic.py +94 -92
  277. pulumiverse_scaleway/instance/security_group.py +150 -148
  278. pulumiverse_scaleway/instance/security_group_rules.py +17 -15
  279. pulumiverse_scaleway/instance/server.py +393 -330
  280. pulumiverse_scaleway/instance/snapshot.py +108 -106
  281. pulumiverse_scaleway/instance/user_data.py +59 -57
  282. pulumiverse_scaleway/instance/volume.py +129 -127
  283. pulumiverse_scaleway/instance_image.py +150 -148
  284. pulumiverse_scaleway/instance_ip.py +94 -92
  285. pulumiverse_scaleway/instance_ip_reverse_dns.py +45 -43
  286. pulumiverse_scaleway/instance_placement_group.py +101 -99
  287. pulumiverse_scaleway/instance_private_nic.py +94 -92
  288. pulumiverse_scaleway/instance_security_group.py +150 -148
  289. pulumiverse_scaleway/instance_security_group_rules.py +17 -15
  290. pulumiverse_scaleway/instance_server.py +393 -330
  291. pulumiverse_scaleway/instance_snapshot.py +108 -106
  292. pulumiverse_scaleway/instance_user_data.py +59 -57
  293. pulumiverse_scaleway/instance_volume.py +129 -127
  294. pulumiverse_scaleway/iot/__init__.py +2 -1
  295. pulumiverse_scaleway/iot/_inputs.py +98 -97
  296. pulumiverse_scaleway/iot/device.py +122 -120
  297. pulumiverse_scaleway/iot/get_device.py +31 -30
  298. pulumiverse_scaleway/iot/get_hub.py +39 -38
  299. pulumiverse_scaleway/iot/hub.py +206 -204
  300. pulumiverse_scaleway/iot/network.py +94 -92
  301. pulumiverse_scaleway/iot/outputs.py +78 -77
  302. pulumiverse_scaleway/iot/route.py +66 -64
  303. pulumiverse_scaleway/iot_device.py +122 -120
  304. pulumiverse_scaleway/iot_hub.py +206 -204
  305. pulumiverse_scaleway/iot_network.py +94 -92
  306. pulumiverse_scaleway/iot_route.py +66 -64
  307. pulumiverse_scaleway/ipam/__init__.py +2 -1
  308. pulumiverse_scaleway/ipam/_inputs.py +87 -86
  309. pulumiverse_scaleway/ipam/get_ip.py +51 -50
  310. pulumiverse_scaleway/ipam/get_ips.py +44 -43
  311. pulumiverse_scaleway/ipam/ip.py +94 -92
  312. pulumiverse_scaleway/ipam/ip_reverse_dns.py +59 -57
  313. pulumiverse_scaleway/ipam/outputs.py +90 -89
  314. pulumiverse_scaleway/ipam_ip.py +94 -92
  315. pulumiverse_scaleway/ipam_ip_reverse_dns.py +59 -57
  316. pulumiverse_scaleway/job/__init__.py +2 -1
  317. pulumiverse_scaleway/job/_inputs.py +38 -37
  318. pulumiverse_scaleway/job/definition.py +143 -141
  319. pulumiverse_scaleway/job/outputs.py +24 -23
  320. pulumiverse_scaleway/job_definition.py +143 -141
  321. pulumiverse_scaleway/kubernetes/__init__.py +2 -1
  322. pulumiverse_scaleway/kubernetes/_inputs.py +190 -189
  323. pulumiverse_scaleway/kubernetes/acl.py +45 -43
  324. pulumiverse_scaleway/kubernetes/cluster.py +234 -232
  325. pulumiverse_scaleway/kubernetes/get_cluster.py +39 -38
  326. pulumiverse_scaleway/kubernetes/get_pool.py +59 -47
  327. pulumiverse_scaleway/kubernetes/get_version.py +16 -15
  328. pulumiverse_scaleway/kubernetes/outputs.py +217 -216
  329. pulumiverse_scaleway/kubernetes/pool.py +351 -288
  330. pulumiverse_scaleway/kubernetes_cluster.py +234 -232
  331. pulumiverse_scaleway/kubernetes_node_pool.py +351 -288
  332. pulumiverse_scaleway/loadbalancer.py +199 -197
  333. pulumiverse_scaleway/loadbalancer_acl.py +80 -78
  334. pulumiverse_scaleway/loadbalancer_backend.py +381 -379
  335. pulumiverse_scaleway/loadbalancer_certificate.py +73 -71
  336. pulumiverse_scaleway/loadbalancer_frontend.py +136 -134
  337. pulumiverse_scaleway/loadbalancer_ip.py +101 -99
  338. pulumiverse_scaleway/loadbalancer_route.py +101 -99
  339. pulumiverse_scaleway/loadbalancers/__init__.py +2 -1
  340. pulumiverse_scaleway/loadbalancers/_inputs.py +263 -222
  341. pulumiverse_scaleway/loadbalancers/acl.py +80 -78
  342. pulumiverse_scaleway/loadbalancers/backend.py +381 -379
  343. pulumiverse_scaleway/loadbalancers/certificate.py +73 -71
  344. pulumiverse_scaleway/loadbalancers/frontend.py +136 -134
  345. pulumiverse_scaleway/loadbalancers/get_acls.py +22 -21
  346. pulumiverse_scaleway/loadbalancers/get_backend.py +43 -42
  347. pulumiverse_scaleway/loadbalancers/get_backends.py +22 -21
  348. pulumiverse_scaleway/loadbalancers/get_certificate.py +24 -23
  349. pulumiverse_scaleway/loadbalancers/get_frontend.py +26 -25
  350. pulumiverse_scaleway/loadbalancers/get_frontends.py +22 -21
  351. pulumiverse_scaleway/loadbalancers/get_ip.py +29 -28
  352. pulumiverse_scaleway/loadbalancers/get_ips.py +29 -28
  353. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +36 -35
  354. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +24 -23
  355. pulumiverse_scaleway/loadbalancers/get_route.py +16 -15
  356. pulumiverse_scaleway/loadbalancers/get_routes.py +17 -16
  357. pulumiverse_scaleway/loadbalancers/ip.py +101 -99
  358. pulumiverse_scaleway/loadbalancers/load_balancer.py +199 -197
  359. pulumiverse_scaleway/loadbalancers/outputs.py +581 -530
  360. pulumiverse_scaleway/loadbalancers/route.py +101 -99
  361. pulumiverse_scaleway/mnq/__init__.py +2 -1
  362. pulumiverse_scaleway/mnq/_inputs.py +32 -31
  363. pulumiverse_scaleway/mnq/get_sns.py +14 -13
  364. pulumiverse_scaleway/mnq/get_sqs.py +14 -13
  365. pulumiverse_scaleway/mnq/nats_account.py +52 -50
  366. pulumiverse_scaleway/mnq/nats_credentials.py +52 -50
  367. pulumiverse_scaleway/mnq/outputs.py +20 -19
  368. pulumiverse_scaleway/mnq/sns.py +38 -36
  369. pulumiverse_scaleway/mnq/sns_credentials.py +59 -57
  370. pulumiverse_scaleway/mnq/sns_topic.py +143 -141
  371. pulumiverse_scaleway/mnq/sns_topic_subscription.py +150 -148
  372. pulumiverse_scaleway/mnq/sqs.py +38 -36
  373. pulumiverse_scaleway/mnq/sqs_credentials.py +59 -57
  374. pulumiverse_scaleway/mnq/sqs_queue.py +192 -190
  375. pulumiverse_scaleway/mnq_nats_account.py +52 -50
  376. pulumiverse_scaleway/mnq_nats_credentials.py +52 -50
  377. pulumiverse_scaleway/mnq_sns.py +38 -36
  378. pulumiverse_scaleway/mnq_sns_credentials.py +59 -57
  379. pulumiverse_scaleway/mnq_sns_topic.py +143 -141
  380. pulumiverse_scaleway/mnq_sns_topic_subscription.py +150 -148
  381. pulumiverse_scaleway/mnq_sqs.py +38 -36
  382. pulumiverse_scaleway/mnq_sqs_credentials.py +59 -57
  383. pulumiverse_scaleway/mnq_sqs_queue.py +192 -190
  384. pulumiverse_scaleway/mongo_db_instance.py +199 -197
  385. pulumiverse_scaleway/mongo_db_snapshot.py +101 -99
  386. pulumiverse_scaleway/mongodb/__init__.py +2 -1
  387. pulumiverse_scaleway/mongodb/_inputs.py +53 -52
  388. pulumiverse_scaleway/mongodb/get_instance.py +35 -34
  389. pulumiverse_scaleway/mongodb/instance.py +199 -197
  390. pulumiverse_scaleway/mongodb/outputs.py +64 -63
  391. pulumiverse_scaleway/mongodb/snapshot.py +101 -99
  392. pulumiverse_scaleway/network/__init__.py +2 -1
  393. pulumiverse_scaleway/network/_inputs.py +140 -139
  394. pulumiverse_scaleway/network/acl.py +59 -57
  395. pulumiverse_scaleway/network/gateway_network.py +143 -141
  396. pulumiverse_scaleway/network/get_gateway_network.py +28 -27
  397. pulumiverse_scaleway/network/get_private_network.py +44 -32
  398. pulumiverse_scaleway/network/get_public_gateway.py +36 -35
  399. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +24 -23
  400. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +33 -32
  401. pulumiverse_scaleway/network/get_public_gateway_ip.py +14 -13
  402. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +21 -20
  403. pulumiverse_scaleway/network/get_routes.py +38 -37
  404. pulumiverse_scaleway/network/get_vpc.py +47 -35
  405. pulumiverse_scaleway/network/get_vpcs.py +24 -23
  406. pulumiverse_scaleway/network/outputs.py +206 -205
  407. pulumiverse_scaleway/network/private_network.py +170 -121
  408. pulumiverse_scaleway/network/public_gateway.py +213 -211
  409. pulumiverse_scaleway/network/public_gateway_dhcp.py +234 -232
  410. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +87 -85
  411. pulumiverse_scaleway/network/public_gateway_ip.py +87 -85
  412. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +45 -43
  413. pulumiverse_scaleway/network/public_gateway_pat_rule.py +108 -106
  414. pulumiverse_scaleway/network/route.py +115 -113
  415. pulumiverse_scaleway/network/vpc.py +149 -100
  416. pulumiverse_scaleway/object/__init__.py +2 -1
  417. pulumiverse_scaleway/object/_inputs.py +157 -134
  418. pulumiverse_scaleway/object/bucket.py +115 -113
  419. pulumiverse_scaleway/object/bucket_acl.py +79 -75
  420. pulumiverse_scaleway/object/bucket_lock_configuration.py +45 -43
  421. pulumiverse_scaleway/object/bucket_policy.py +59 -57
  422. pulumiverse_scaleway/object/bucket_website_configuration.py +85 -65
  423. pulumiverse_scaleway/object/get_bucket.py +22 -21
  424. pulumiverse_scaleway/object/get_bucket_policy.py +17 -16
  425. pulumiverse_scaleway/object/item.py +232 -183
  426. pulumiverse_scaleway/object/outputs.py +133 -118
  427. pulumiverse_scaleway/object_bucket.py +115 -113
  428. pulumiverse_scaleway/object_bucket_acl.py +79 -75
  429. pulumiverse_scaleway/object_bucket_lock_configuration.py +45 -43
  430. pulumiverse_scaleway/object_bucket_policy.py +59 -57
  431. pulumiverse_scaleway/object_bucket_website_configuration.py +85 -65
  432. pulumiverse_scaleway/object_item.py +232 -183
  433. pulumiverse_scaleway/observability/__init__.py +2 -1
  434. pulumiverse_scaleway/observability/_inputs.py +89 -88
  435. pulumiverse_scaleway/observability/alert_manager.py +52 -50
  436. pulumiverse_scaleway/observability/cockpit.py +38 -36
  437. pulumiverse_scaleway/observability/get_instance.py +10 -9
  438. pulumiverse_scaleway/observability/get_source.py +77 -33
  439. pulumiverse_scaleway/observability/grafana_user.py +59 -57
  440. pulumiverse_scaleway/observability/outputs.py +77 -76
  441. pulumiverse_scaleway/observability/source.py +115 -113
  442. pulumiverse_scaleway/observability/token.py +66 -64
  443. pulumiverse_scaleway/outputs.py +2870 -2741
  444. pulumiverse_scaleway/provider.py +87 -65
  445. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  446. pulumiverse_scaleway/rdb_snapshot.py +101 -99
  447. pulumiverse_scaleway/redis/__init__.py +2 -1
  448. pulumiverse_scaleway/redis/_inputs.py +63 -62
  449. pulumiverse_scaleway/redis/cluster.py +178 -176
  450. pulumiverse_scaleway/redis/get_cluster.py +34 -33
  451. pulumiverse_scaleway/redis/outputs.py +74 -73
  452. pulumiverse_scaleway/redis_cluster.py +178 -176
  453. pulumiverse_scaleway/registry/__init__.py +2 -1
  454. pulumiverse_scaleway/registry/get_image.py +37 -36
  455. pulumiverse_scaleway/registry/get_image_tag.py +33 -32
  456. pulumiverse_scaleway/registry/get_namespace.py +27 -26
  457. pulumiverse_scaleway/registry/namespace.py +87 -85
  458. pulumiverse_scaleway/registry_namespace.py +87 -85
  459. pulumiverse_scaleway/sdb_database.py +80 -78
  460. pulumiverse_scaleway/secret.py +143 -141
  461. pulumiverse_scaleway/secret_version.py +87 -85
  462. pulumiverse_scaleway/secrets/__init__.py +2 -1
  463. pulumiverse_scaleway/secrets/_inputs.py +53 -52
  464. pulumiverse_scaleway/secrets/get_secret.py +41 -40
  465. pulumiverse_scaleway/secrets/get_version.py +34 -33
  466. pulumiverse_scaleway/secrets/outputs.py +64 -63
  467. pulumiverse_scaleway/secrets/secret.py +143 -141
  468. pulumiverse_scaleway/secrets/version.py +87 -85
  469. pulumiverse_scaleway/tem/__init__.py +2 -1
  470. pulumiverse_scaleway/tem/_inputs.py +28 -27
  471. pulumiverse_scaleway/tem/blocked_list.py +87 -85
  472. pulumiverse_scaleway/tem/domain.py +199 -197
  473. pulumiverse_scaleway/tem/domain_validation.py +52 -50
  474. pulumiverse_scaleway/tem/get_domain.py +43 -42
  475. pulumiverse_scaleway/tem/get_offer_subscription.py +22 -21
  476. pulumiverse_scaleway/tem/outputs.py +34 -33
  477. pulumiverse_scaleway/tem/webhook.py +108 -106
  478. pulumiverse_scaleway/tem_domain.py +199 -197
  479. pulumiverse_scaleway/tem_domain_validation.py +52 -50
  480. pulumiverse_scaleway/tem_webhook.py +108 -106
  481. pulumiverse_scaleway/vpc.py +149 -100
  482. pulumiverse_scaleway/vpc_gateway_network.py +143 -141
  483. pulumiverse_scaleway/vpc_private_network.py +170 -121
  484. pulumiverse_scaleway/vpc_public_gateway.py +213 -211
  485. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +234 -232
  486. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +87 -85
  487. pulumiverse_scaleway/vpc_public_gateway_ip.py +87 -85
  488. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +45 -43
  489. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +108 -106
  490. pulumiverse_scaleway/vpc_route.py +115 -113
  491. pulumiverse_scaleway/webhosting.py +164 -162
  492. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/METADATA +2 -2
  493. pulumiverse_scaleway-1.31.0.dist-info/RECORD +496 -0
  494. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +0 -177
  495. pulumiverse_scaleway/get_cockpit_plan.py +0 -94
  496. pulumiverse_scaleway/observability/get_plan.py +0 -90
  497. pulumiverse_scaleway-1.30.0a1750140900.dist-info/RECORD +0 -492
  498. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/WHEEL +0 -0
  499. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import builtins
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -19,34 +20,33 @@ __all__ = ['IamUserArgs', 'IamUser']
19
20
  @pulumi.input_type
20
21
  class IamUserArgs:
21
22
  def __init__(__self__, *,
22
- email: pulumi.Input[str],
23
- first_name: Optional[pulumi.Input[str]] = None,
24
- last_name: Optional[pulumi.Input[str]] = None,
25
- locale: Optional[pulumi.Input[str]] = None,
26
- organization_id: Optional[pulumi.Input[str]] = None,
27
- password: Optional[pulumi.Input[str]] = None,
28
- phone_number: Optional[pulumi.Input[str]] = None,
29
- send_password_email: Optional[pulumi.Input[bool]] = None,
30
- send_welcome_email: Optional[pulumi.Input[bool]] = None,
31
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
- username: Optional[pulumi.Input[str]] = None):
23
+ email: pulumi.Input[builtins.str],
24
+ username: pulumi.Input[builtins.str],
25
+ first_name: Optional[pulumi.Input[builtins.str]] = None,
26
+ last_name: Optional[pulumi.Input[builtins.str]] = None,
27
+ locale: Optional[pulumi.Input[builtins.str]] = None,
28
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
29
+ password: Optional[pulumi.Input[builtins.str]] = None,
30
+ phone_number: Optional[pulumi.Input[builtins.str]] = None,
31
+ send_password_email: Optional[pulumi.Input[builtins.bool]] = None,
32
+ send_welcome_email: Optional[pulumi.Input[builtins.bool]] = None,
33
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
33
34
  """
34
35
  The set of arguments for constructing a IamUser resource.
35
- :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
36
- :param pulumi.Input[str] first_name: The user's first name.
37
- :param pulumi.Input[str] last_name: The user's last name.
38
- :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
39
-
40
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
41
- :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
42
- :param pulumi.Input[str] password: The password for first access.
43
- :param pulumi.Input[str] phone_number: The user's phone number.
44
- :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
45
- :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
46
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
47
- :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
36
+ :param pulumi.Input[builtins.str] email: The email of the IAM user. For Guest users, this argument is not editable.
37
+ :param pulumi.Input[builtins.str] username: The username of the IAM user.
38
+ :param pulumi.Input[builtins.str] first_name: The user's first name.
39
+ :param pulumi.Input[builtins.str] last_name: The user's last name.
40
+ :param pulumi.Input[builtins.str] locale: The user's locale (e.g., en_US).
41
+ :param pulumi.Input[builtins.str] organization_id: `organization_id`) The ID of the organization the user is associated with.
42
+ :param pulumi.Input[builtins.str] password: The password for first access.
43
+ :param pulumi.Input[builtins.str] phone_number: The user's phone number.
44
+ :param pulumi.Input[builtins.bool] send_password_email: Whether or not to send an email containing the password for first access.
45
+ :param pulumi.Input[builtins.bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
46
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags associated with the user.
48
47
  """
49
48
  pulumi.set(__self__, "email", email)
49
+ pulumi.set(__self__, "username", username)
50
50
  if first_name is not None:
51
51
  pulumi.set(__self__, "first_name", first_name)
52
52
  if last_name is not None:
@@ -65,191 +65,185 @@ class IamUserArgs:
65
65
  pulumi.set(__self__, "send_welcome_email", send_welcome_email)
66
66
  if tags is not None:
67
67
  pulumi.set(__self__, "tags", tags)
68
- if username is not None:
69
- pulumi.set(__self__, "username", username)
70
68
 
71
69
  @property
72
70
  @pulumi.getter
73
- def email(self) -> pulumi.Input[str]:
71
+ def email(self) -> pulumi.Input[builtins.str]:
74
72
  """
75
73
  The email of the IAM user. For Guest users, this argument is not editable.
76
74
  """
77
75
  return pulumi.get(self, "email")
78
76
 
79
77
  @email.setter
80
- def email(self, value: pulumi.Input[str]):
78
+ def email(self, value: pulumi.Input[builtins.str]):
81
79
  pulumi.set(self, "email", value)
82
80
 
81
+ @property
82
+ @pulumi.getter
83
+ def username(self) -> pulumi.Input[builtins.str]:
84
+ """
85
+ The username of the IAM user.
86
+ """
87
+ return pulumi.get(self, "username")
88
+
89
+ @username.setter
90
+ def username(self, value: pulumi.Input[builtins.str]):
91
+ pulumi.set(self, "username", value)
92
+
83
93
  @property
84
94
  @pulumi.getter(name="firstName")
85
- def first_name(self) -> Optional[pulumi.Input[str]]:
95
+ def first_name(self) -> Optional[pulumi.Input[builtins.str]]:
86
96
  """
87
97
  The user's first name.
88
98
  """
89
99
  return pulumi.get(self, "first_name")
90
100
 
91
101
  @first_name.setter
92
- def first_name(self, value: Optional[pulumi.Input[str]]):
102
+ def first_name(self, value: Optional[pulumi.Input[builtins.str]]):
93
103
  pulumi.set(self, "first_name", value)
94
104
 
95
105
  @property
96
106
  @pulumi.getter(name="lastName")
97
- def last_name(self) -> Optional[pulumi.Input[str]]:
107
+ def last_name(self) -> Optional[pulumi.Input[builtins.str]]:
98
108
  """
99
109
  The user's last name.
100
110
  """
101
111
  return pulumi.get(self, "last_name")
102
112
 
103
113
  @last_name.setter
104
- def last_name(self, value: Optional[pulumi.Input[str]]):
114
+ def last_name(self, value: Optional[pulumi.Input[builtins.str]]):
105
115
  pulumi.set(self, "last_name", value)
106
116
 
107
117
  @property
108
118
  @pulumi.getter
109
- def locale(self) -> Optional[pulumi.Input[str]]:
119
+ def locale(self) -> Optional[pulumi.Input[builtins.str]]:
110
120
  """
111
121
  The user's locale (e.g., en_US).
112
-
113
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
114
122
  """
115
123
  return pulumi.get(self, "locale")
116
124
 
117
125
  @locale.setter
118
- def locale(self, value: Optional[pulumi.Input[str]]):
126
+ def locale(self, value: Optional[pulumi.Input[builtins.str]]):
119
127
  pulumi.set(self, "locale", value)
120
128
 
121
129
  @property
122
130
  @pulumi.getter(name="organizationId")
123
- def organization_id(self) -> Optional[pulumi.Input[str]]:
131
+ def organization_id(self) -> Optional[pulumi.Input[builtins.str]]:
124
132
  """
125
133
  `organization_id`) The ID of the organization the user is associated with.
126
134
  """
127
135
  return pulumi.get(self, "organization_id")
128
136
 
129
137
  @organization_id.setter
130
- def organization_id(self, value: Optional[pulumi.Input[str]]):
138
+ def organization_id(self, value: Optional[pulumi.Input[builtins.str]]):
131
139
  pulumi.set(self, "organization_id", value)
132
140
 
133
141
  @property
134
142
  @pulumi.getter
135
- def password(self) -> Optional[pulumi.Input[str]]:
143
+ def password(self) -> Optional[pulumi.Input[builtins.str]]:
136
144
  """
137
145
  The password for first access.
138
146
  """
139
147
  return pulumi.get(self, "password")
140
148
 
141
149
  @password.setter
142
- def password(self, value: Optional[pulumi.Input[str]]):
150
+ def password(self, value: Optional[pulumi.Input[builtins.str]]):
143
151
  pulumi.set(self, "password", value)
144
152
 
145
153
  @property
146
154
  @pulumi.getter(name="phoneNumber")
147
- def phone_number(self) -> Optional[pulumi.Input[str]]:
155
+ def phone_number(self) -> Optional[pulumi.Input[builtins.str]]:
148
156
  """
149
157
  The user's phone number.
150
158
  """
151
159
  return pulumi.get(self, "phone_number")
152
160
 
153
161
  @phone_number.setter
154
- def phone_number(self, value: Optional[pulumi.Input[str]]):
162
+ def phone_number(self, value: Optional[pulumi.Input[builtins.str]]):
155
163
  pulumi.set(self, "phone_number", value)
156
164
 
157
165
  @property
158
166
  @pulumi.getter(name="sendPasswordEmail")
159
- def send_password_email(self) -> Optional[pulumi.Input[bool]]:
167
+ def send_password_email(self) -> Optional[pulumi.Input[builtins.bool]]:
160
168
  """
161
169
  Whether or not to send an email containing the password for first access.
162
170
  """
163
171
  return pulumi.get(self, "send_password_email")
164
172
 
165
173
  @send_password_email.setter
166
- def send_password_email(self, value: Optional[pulumi.Input[bool]]):
174
+ def send_password_email(self, value: Optional[pulumi.Input[builtins.bool]]):
167
175
  pulumi.set(self, "send_password_email", value)
168
176
 
169
177
  @property
170
178
  @pulumi.getter(name="sendWelcomeEmail")
171
- def send_welcome_email(self) -> Optional[pulumi.Input[bool]]:
179
+ def send_welcome_email(self) -> Optional[pulumi.Input[builtins.bool]]:
172
180
  """
173
181
  Whether or not to send a welcome email that includes onboarding information.
174
182
  """
175
183
  return pulumi.get(self, "send_welcome_email")
176
184
 
177
185
  @send_welcome_email.setter
178
- def send_welcome_email(self, value: Optional[pulumi.Input[bool]]):
186
+ def send_welcome_email(self, value: Optional[pulumi.Input[builtins.bool]]):
179
187
  pulumi.set(self, "send_welcome_email", value)
180
188
 
181
189
  @property
182
190
  @pulumi.getter
183
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
191
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
184
192
  """
185
193
  The tags associated with the user.
186
194
  """
187
195
  return pulumi.get(self, "tags")
188
196
 
189
197
  @tags.setter
190
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
198
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
191
199
  pulumi.set(self, "tags", value)
192
200
 
193
- @property
194
- @pulumi.getter
195
- def username(self) -> Optional[pulumi.Input[str]]:
196
- """
197
- The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
198
- """
199
- return pulumi.get(self, "username")
200
-
201
- @username.setter
202
- def username(self, value: Optional[pulumi.Input[str]]):
203
- pulumi.set(self, "username", value)
204
-
205
201
 
206
202
  @pulumi.input_type
207
203
  class _IamUserState:
208
204
  def __init__(__self__, *,
209
- account_root_user_id: Optional[pulumi.Input[str]] = None,
210
- created_at: Optional[pulumi.Input[str]] = None,
211
- deletable: Optional[pulumi.Input[bool]] = None,
212
- email: Optional[pulumi.Input[str]] = None,
213
- first_name: Optional[pulumi.Input[str]] = None,
214
- last_login_at: Optional[pulumi.Input[str]] = None,
215
- last_name: Optional[pulumi.Input[str]] = None,
216
- locale: Optional[pulumi.Input[str]] = None,
217
- locked: Optional[pulumi.Input[bool]] = None,
218
- mfa: Optional[pulumi.Input[bool]] = None,
219
- organization_id: Optional[pulumi.Input[str]] = None,
220
- password: Optional[pulumi.Input[str]] = None,
221
- phone_number: Optional[pulumi.Input[str]] = None,
222
- send_password_email: Optional[pulumi.Input[bool]] = None,
223
- send_welcome_email: Optional[pulumi.Input[bool]] = None,
224
- status: Optional[pulumi.Input[str]] = None,
225
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
226
- type: Optional[pulumi.Input[str]] = None,
227
- updated_at: Optional[pulumi.Input[str]] = None,
228
- username: Optional[pulumi.Input[str]] = None):
205
+ account_root_user_id: Optional[pulumi.Input[builtins.str]] = None,
206
+ created_at: Optional[pulumi.Input[builtins.str]] = None,
207
+ deletable: Optional[pulumi.Input[builtins.bool]] = None,
208
+ email: Optional[pulumi.Input[builtins.str]] = None,
209
+ first_name: Optional[pulumi.Input[builtins.str]] = None,
210
+ last_login_at: Optional[pulumi.Input[builtins.str]] = None,
211
+ last_name: Optional[pulumi.Input[builtins.str]] = None,
212
+ locale: Optional[pulumi.Input[builtins.str]] = None,
213
+ locked: Optional[pulumi.Input[builtins.bool]] = None,
214
+ mfa: Optional[pulumi.Input[builtins.bool]] = None,
215
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
216
+ password: Optional[pulumi.Input[builtins.str]] = None,
217
+ phone_number: Optional[pulumi.Input[builtins.str]] = None,
218
+ send_password_email: Optional[pulumi.Input[builtins.bool]] = None,
219
+ send_welcome_email: Optional[pulumi.Input[builtins.bool]] = None,
220
+ status: Optional[pulumi.Input[builtins.str]] = None,
221
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
222
+ type: Optional[pulumi.Input[builtins.str]] = None,
223
+ updated_at: Optional[pulumi.Input[builtins.str]] = None,
224
+ username: Optional[pulumi.Input[builtins.str]] = None):
229
225
  """
230
226
  Input properties used for looking up and filtering IamUser resources.
231
- :param pulumi.Input[str] account_root_user_id: The ID of the account root user associated with the user.
232
- :param pulumi.Input[str] created_at: The date and time of the creation of the IAM user.
233
- :param pulumi.Input[bool] deletable: Whether the IAM user is deletable.
234
- :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
235
- :param pulumi.Input[str] first_name: The user's first name.
236
- :param pulumi.Input[str] last_login_at: The date of the last login.
237
- :param pulumi.Input[str] last_name: The user's last name.
238
- :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
239
-
240
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
241
- :param pulumi.Input[bool] locked: Whether the user is locked.
242
- :param pulumi.Input[bool] mfa: Whether the MFA is enabled.
243
- :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
244
- :param pulumi.Input[str] password: The password for first access.
245
- :param pulumi.Input[str] phone_number: The user's phone number.
246
- :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
247
- :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
248
- :param pulumi.Input[str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
249
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
250
- :param pulumi.Input[str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
251
- :param pulumi.Input[str] updated_at: The date and time of the last update of the IAM user.
252
- :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
227
+ :param pulumi.Input[builtins.str] account_root_user_id: The ID of the account root user associated with the user.
228
+ :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the IAM user.
229
+ :param pulumi.Input[builtins.bool] deletable: Whether the IAM user is deletable.
230
+ :param pulumi.Input[builtins.str] email: The email of the IAM user. For Guest users, this argument is not editable.
231
+ :param pulumi.Input[builtins.str] first_name: The user's first name.
232
+ :param pulumi.Input[builtins.str] last_login_at: The date of the last login.
233
+ :param pulumi.Input[builtins.str] last_name: The user's last name.
234
+ :param pulumi.Input[builtins.str] locale: The user's locale (e.g., en_US).
235
+ :param pulumi.Input[builtins.bool] locked: Whether the user is locked.
236
+ :param pulumi.Input[builtins.bool] mfa: Whether the MFA is enabled.
237
+ :param pulumi.Input[builtins.str] organization_id: `organization_id`) The ID of the organization the user is associated with.
238
+ :param pulumi.Input[builtins.str] password: The password for first access.
239
+ :param pulumi.Input[builtins.str] phone_number: The user's phone number.
240
+ :param pulumi.Input[builtins.bool] send_password_email: Whether or not to send an email containing the password for first access.
241
+ :param pulumi.Input[builtins.bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
242
+ :param pulumi.Input[builtins.str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
243
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags associated with the user.
244
+ :param pulumi.Input[builtins.str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
245
+ :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the IAM user.
246
+ :param pulumi.Input[builtins.str] username: The username of the IAM user.
253
247
  """
254
248
  if account_root_user_id is not None:
255
249
  pulumi.set(__self__, "account_root_user_id", account_root_user_id)
@@ -294,250 +288,249 @@ class _IamUserState:
294
288
 
295
289
  @property
296
290
  @pulumi.getter(name="accountRootUserId")
297
- def account_root_user_id(self) -> Optional[pulumi.Input[str]]:
291
+ def account_root_user_id(self) -> Optional[pulumi.Input[builtins.str]]:
298
292
  """
299
293
  The ID of the account root user associated with the user.
300
294
  """
301
295
  return pulumi.get(self, "account_root_user_id")
302
296
 
303
297
  @account_root_user_id.setter
304
- def account_root_user_id(self, value: Optional[pulumi.Input[str]]):
298
+ def account_root_user_id(self, value: Optional[pulumi.Input[builtins.str]]):
305
299
  pulumi.set(self, "account_root_user_id", value)
306
300
 
307
301
  @property
308
302
  @pulumi.getter(name="createdAt")
309
- def created_at(self) -> Optional[pulumi.Input[str]]:
303
+ def created_at(self) -> Optional[pulumi.Input[builtins.str]]:
310
304
  """
311
305
  The date and time of the creation of the IAM user.
312
306
  """
313
307
  return pulumi.get(self, "created_at")
314
308
 
315
309
  @created_at.setter
316
- def created_at(self, value: Optional[pulumi.Input[str]]):
310
+ def created_at(self, value: Optional[pulumi.Input[builtins.str]]):
317
311
  pulumi.set(self, "created_at", value)
318
312
 
319
313
  @property
320
314
  @pulumi.getter
321
- def deletable(self) -> Optional[pulumi.Input[bool]]:
315
+ def deletable(self) -> Optional[pulumi.Input[builtins.bool]]:
322
316
  """
323
317
  Whether the IAM user is deletable.
324
318
  """
325
319
  return pulumi.get(self, "deletable")
326
320
 
327
321
  @deletable.setter
328
- def deletable(self, value: Optional[pulumi.Input[bool]]):
322
+ def deletable(self, value: Optional[pulumi.Input[builtins.bool]]):
329
323
  pulumi.set(self, "deletable", value)
330
324
 
331
325
  @property
332
326
  @pulumi.getter
333
- def email(self) -> Optional[pulumi.Input[str]]:
327
+ def email(self) -> Optional[pulumi.Input[builtins.str]]:
334
328
  """
335
329
  The email of the IAM user. For Guest users, this argument is not editable.
336
330
  """
337
331
  return pulumi.get(self, "email")
338
332
 
339
333
  @email.setter
340
- def email(self, value: Optional[pulumi.Input[str]]):
334
+ def email(self, value: Optional[pulumi.Input[builtins.str]]):
341
335
  pulumi.set(self, "email", value)
342
336
 
343
337
  @property
344
338
  @pulumi.getter(name="firstName")
345
- def first_name(self) -> Optional[pulumi.Input[str]]:
339
+ def first_name(self) -> Optional[pulumi.Input[builtins.str]]:
346
340
  """
347
341
  The user's first name.
348
342
  """
349
343
  return pulumi.get(self, "first_name")
350
344
 
351
345
  @first_name.setter
352
- def first_name(self, value: Optional[pulumi.Input[str]]):
346
+ def first_name(self, value: Optional[pulumi.Input[builtins.str]]):
353
347
  pulumi.set(self, "first_name", value)
354
348
 
355
349
  @property
356
350
  @pulumi.getter(name="lastLoginAt")
357
- def last_login_at(self) -> Optional[pulumi.Input[str]]:
351
+ def last_login_at(self) -> Optional[pulumi.Input[builtins.str]]:
358
352
  """
359
353
  The date of the last login.
360
354
  """
361
355
  return pulumi.get(self, "last_login_at")
362
356
 
363
357
  @last_login_at.setter
364
- def last_login_at(self, value: Optional[pulumi.Input[str]]):
358
+ def last_login_at(self, value: Optional[pulumi.Input[builtins.str]]):
365
359
  pulumi.set(self, "last_login_at", value)
366
360
 
367
361
  @property
368
362
  @pulumi.getter(name="lastName")
369
- def last_name(self) -> Optional[pulumi.Input[str]]:
363
+ def last_name(self) -> Optional[pulumi.Input[builtins.str]]:
370
364
  """
371
365
  The user's last name.
372
366
  """
373
367
  return pulumi.get(self, "last_name")
374
368
 
375
369
  @last_name.setter
376
- def last_name(self, value: Optional[pulumi.Input[str]]):
370
+ def last_name(self, value: Optional[pulumi.Input[builtins.str]]):
377
371
  pulumi.set(self, "last_name", value)
378
372
 
379
373
  @property
380
374
  @pulumi.getter
381
- def locale(self) -> Optional[pulumi.Input[str]]:
375
+ def locale(self) -> Optional[pulumi.Input[builtins.str]]:
382
376
  """
383
377
  The user's locale (e.g., en_US).
384
-
385
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
386
378
  """
387
379
  return pulumi.get(self, "locale")
388
380
 
389
381
  @locale.setter
390
- def locale(self, value: Optional[pulumi.Input[str]]):
382
+ def locale(self, value: Optional[pulumi.Input[builtins.str]]):
391
383
  pulumi.set(self, "locale", value)
392
384
 
393
385
  @property
394
386
  @pulumi.getter
395
- def locked(self) -> Optional[pulumi.Input[bool]]:
387
+ def locked(self) -> Optional[pulumi.Input[builtins.bool]]:
396
388
  """
397
389
  Whether the user is locked.
398
390
  """
399
391
  return pulumi.get(self, "locked")
400
392
 
401
393
  @locked.setter
402
- def locked(self, value: Optional[pulumi.Input[bool]]):
394
+ def locked(self, value: Optional[pulumi.Input[builtins.bool]]):
403
395
  pulumi.set(self, "locked", value)
404
396
 
405
397
  @property
406
398
  @pulumi.getter
407
- def mfa(self) -> Optional[pulumi.Input[bool]]:
399
+ def mfa(self) -> Optional[pulumi.Input[builtins.bool]]:
408
400
  """
409
401
  Whether the MFA is enabled.
410
402
  """
411
403
  return pulumi.get(self, "mfa")
412
404
 
413
405
  @mfa.setter
414
- def mfa(self, value: Optional[pulumi.Input[bool]]):
406
+ def mfa(self, value: Optional[pulumi.Input[builtins.bool]]):
415
407
  pulumi.set(self, "mfa", value)
416
408
 
417
409
  @property
418
410
  @pulumi.getter(name="organizationId")
419
- def organization_id(self) -> Optional[pulumi.Input[str]]:
411
+ def organization_id(self) -> Optional[pulumi.Input[builtins.str]]:
420
412
  """
421
413
  `organization_id`) The ID of the organization the user is associated with.
422
414
  """
423
415
  return pulumi.get(self, "organization_id")
424
416
 
425
417
  @organization_id.setter
426
- def organization_id(self, value: Optional[pulumi.Input[str]]):
418
+ def organization_id(self, value: Optional[pulumi.Input[builtins.str]]):
427
419
  pulumi.set(self, "organization_id", value)
428
420
 
429
421
  @property
430
422
  @pulumi.getter
431
- def password(self) -> Optional[pulumi.Input[str]]:
423
+ def password(self) -> Optional[pulumi.Input[builtins.str]]:
432
424
  """
433
425
  The password for first access.
434
426
  """
435
427
  return pulumi.get(self, "password")
436
428
 
437
429
  @password.setter
438
- def password(self, value: Optional[pulumi.Input[str]]):
430
+ def password(self, value: Optional[pulumi.Input[builtins.str]]):
439
431
  pulumi.set(self, "password", value)
440
432
 
441
433
  @property
442
434
  @pulumi.getter(name="phoneNumber")
443
- def phone_number(self) -> Optional[pulumi.Input[str]]:
435
+ def phone_number(self) -> Optional[pulumi.Input[builtins.str]]:
444
436
  """
445
437
  The user's phone number.
446
438
  """
447
439
  return pulumi.get(self, "phone_number")
448
440
 
449
441
  @phone_number.setter
450
- def phone_number(self, value: Optional[pulumi.Input[str]]):
442
+ def phone_number(self, value: Optional[pulumi.Input[builtins.str]]):
451
443
  pulumi.set(self, "phone_number", value)
452
444
 
453
445
  @property
454
446
  @pulumi.getter(name="sendPasswordEmail")
455
- def send_password_email(self) -> Optional[pulumi.Input[bool]]:
447
+ def send_password_email(self) -> Optional[pulumi.Input[builtins.bool]]:
456
448
  """
457
449
  Whether or not to send an email containing the password for first access.
458
450
  """
459
451
  return pulumi.get(self, "send_password_email")
460
452
 
461
453
  @send_password_email.setter
462
- def send_password_email(self, value: Optional[pulumi.Input[bool]]):
454
+ def send_password_email(self, value: Optional[pulumi.Input[builtins.bool]]):
463
455
  pulumi.set(self, "send_password_email", value)
464
456
 
465
457
  @property
466
458
  @pulumi.getter(name="sendWelcomeEmail")
467
- def send_welcome_email(self) -> Optional[pulumi.Input[bool]]:
459
+ def send_welcome_email(self) -> Optional[pulumi.Input[builtins.bool]]:
468
460
  """
469
461
  Whether or not to send a welcome email that includes onboarding information.
470
462
  """
471
463
  return pulumi.get(self, "send_welcome_email")
472
464
 
473
465
  @send_welcome_email.setter
474
- def send_welcome_email(self, value: Optional[pulumi.Input[bool]]):
466
+ def send_welcome_email(self, value: Optional[pulumi.Input[builtins.bool]]):
475
467
  pulumi.set(self, "send_welcome_email", value)
476
468
 
477
469
  @property
478
470
  @pulumi.getter
479
- def status(self) -> Optional[pulumi.Input[str]]:
471
+ def status(self) -> Optional[pulumi.Input[builtins.str]]:
480
472
  """
481
473
  The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
482
474
  """
483
475
  return pulumi.get(self, "status")
484
476
 
485
477
  @status.setter
486
- def status(self, value: Optional[pulumi.Input[str]]):
478
+ def status(self, value: Optional[pulumi.Input[builtins.str]]):
487
479
  pulumi.set(self, "status", value)
488
480
 
489
481
  @property
490
482
  @pulumi.getter
491
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
483
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
492
484
  """
493
485
  The tags associated with the user.
494
486
  """
495
487
  return pulumi.get(self, "tags")
496
488
 
497
489
  @tags.setter
498
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
490
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
499
491
  pulumi.set(self, "tags", value)
500
492
 
501
493
  @property
502
494
  @pulumi.getter
503
- def type(self) -> Optional[pulumi.Input[str]]:
495
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
504
496
  """
505
497
  The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
506
498
  """
507
499
  return pulumi.get(self, "type")
508
500
 
509
501
  @type.setter
510
- def type(self, value: Optional[pulumi.Input[str]]):
502
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
511
503
  pulumi.set(self, "type", value)
512
504
 
513
505
  @property
514
506
  @pulumi.getter(name="updatedAt")
515
- def updated_at(self) -> Optional[pulumi.Input[str]]:
507
+ def updated_at(self) -> Optional[pulumi.Input[builtins.str]]:
516
508
  """
517
509
  The date and time of the last update of the IAM user.
518
510
  """
519
511
  return pulumi.get(self, "updated_at")
520
512
 
521
513
  @updated_at.setter
522
- def updated_at(self, value: Optional[pulumi.Input[str]]):
514
+ def updated_at(self, value: Optional[pulumi.Input[builtins.str]]):
523
515
  pulumi.set(self, "updated_at", value)
524
516
 
525
517
  @property
526
518
  @pulumi.getter
527
- def username(self) -> Optional[pulumi.Input[str]]:
519
+ def username(self) -> Optional[pulumi.Input[builtins.str]]:
528
520
  """
529
- The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
521
+ The username of the IAM user.
530
522
  """
531
523
  return pulumi.get(self, "username")
532
524
 
533
525
  @username.setter
534
- def username(self, value: Optional[pulumi.Input[str]]):
526
+ def username(self, value: Optional[pulumi.Input[builtins.str]]):
535
527
  pulumi.set(self, "username", value)
536
528
 
537
529
 
538
530
  warnings.warn("""scaleway.index/iamuser.IamUser has been deprecated in favor of scaleway.iam/user.User""", DeprecationWarning)
539
531
 
540
532
 
533
+ @pulumi.type_token("scaleway:index/iamUser:IamUser")
541
534
  class IamUser(pulumi.CustomResource):
542
535
  warnings.warn("""scaleway.index/iamuser.IamUser has been deprecated in favor of scaleway.iam/user.User""", DeprecationWarning)
543
536
 
@@ -545,51 +538,61 @@ class IamUser(pulumi.CustomResource):
545
538
  def __init__(__self__,
546
539
  resource_name: str,
547
540
  opts: Optional[pulumi.ResourceOptions] = None,
548
- email: Optional[pulumi.Input[str]] = None,
549
- first_name: Optional[pulumi.Input[str]] = None,
550
- last_name: Optional[pulumi.Input[str]] = None,
551
- locale: Optional[pulumi.Input[str]] = None,
552
- organization_id: Optional[pulumi.Input[str]] = None,
553
- password: Optional[pulumi.Input[str]] = None,
554
- phone_number: Optional[pulumi.Input[str]] = None,
555
- send_password_email: Optional[pulumi.Input[bool]] = None,
556
- send_welcome_email: Optional[pulumi.Input[bool]] = None,
557
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
558
- username: Optional[pulumi.Input[str]] = None,
541
+ email: Optional[pulumi.Input[builtins.str]] = None,
542
+ first_name: Optional[pulumi.Input[builtins.str]] = None,
543
+ last_name: Optional[pulumi.Input[builtins.str]] = None,
544
+ locale: Optional[pulumi.Input[builtins.str]] = None,
545
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
546
+ password: Optional[pulumi.Input[builtins.str]] = None,
547
+ phone_number: Optional[pulumi.Input[builtins.str]] = None,
548
+ send_password_email: Optional[pulumi.Input[builtins.bool]] = None,
549
+ send_welcome_email: Optional[pulumi.Input[builtins.bool]] = None,
550
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
551
+ username: Optional[pulumi.Input[builtins.str]] = None,
559
552
  __props__=None):
560
553
  """
561
- Creates and manages Scaleway IAM Users.
554
+ Creates and manages Scaleway IAM [Users](https://www.scaleway.com/en/docs/iam/concepts/#member).
562
555
  For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/iam/#path-users-list-users-of-an-organization).
563
556
 
564
557
  ## Example Usage
565
558
 
566
- ### Guest user
559
+ ### User
567
560
 
568
561
  ```python
569
562
  import pulumi
570
563
  import pulumiverse_scaleway as scaleway
571
564
 
572
- guest = scaleway.iam.User("guest",
565
+ user = scaleway.iam.User("user",
573
566
  email="foo@test.com",
574
- tags=["test-tag"])
567
+ tags=["test-tag"],
568
+ username="foo",
569
+ first_name="Foo",
570
+ last_name="Bar")
575
571
  ```
576
572
 
577
- ### Member user
573
+ ### Multiple users
578
574
 
579
575
  ```python
580
576
  import pulumi
581
577
  import pulumiverse_scaleway as scaleway
582
578
 
583
- member = scaleway.iam.User("member",
584
- email="foo@test.com",
585
- tags=["test-tag"],
586
- username="foo",
587
- first_name="Foo",
588
- last_name="Bar")
579
+ users = [
580
+ {
581
+ "email": "test@test.com",
582
+ "username": "test",
583
+ },
584
+ {
585
+ "email": "test2@test.com",
586
+ "username": "test2",
587
+ },
588
+ ]
589
+ users_user = []
590
+ for range in [{"value": i} for i in range(0, len(users))]:
591
+ users_user.append(scaleway.iam.User(f"users-{range['value']}",
592
+ email=users[range["value"]]["email"],
593
+ username=users[range["value"]]["username"]))
589
594
  ```
590
595
 
591
- When `username` is set, the user is created as a [Member](https://www.scaleway.com/en/docs/iam/concepts/#member). Otherwise, it is created as a [Guest](https://www.scaleway.com/en/docs/iam/concepts/#guest).
592
-
593
596
  ## Import
594
597
 
595
598
  IAM users can be imported using the `{id}`, e.g.
@@ -602,19 +605,17 @@ class IamUser(pulumi.CustomResource):
602
605
 
603
606
  :param str resource_name: The name of the resource.
604
607
  :param pulumi.ResourceOptions opts: Options for the resource.
605
- :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
606
- :param pulumi.Input[str] first_name: The user's first name.
607
- :param pulumi.Input[str] last_name: The user's last name.
608
- :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
609
-
610
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
611
- :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
612
- :param pulumi.Input[str] password: The password for first access.
613
- :param pulumi.Input[str] phone_number: The user's phone number.
614
- :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
615
- :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
616
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
617
- :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
608
+ :param pulumi.Input[builtins.str] email: The email of the IAM user. For Guest users, this argument is not editable.
609
+ :param pulumi.Input[builtins.str] first_name: The user's first name.
610
+ :param pulumi.Input[builtins.str] last_name: The user's last name.
611
+ :param pulumi.Input[builtins.str] locale: The user's locale (e.g., en_US).
612
+ :param pulumi.Input[builtins.str] organization_id: `organization_id`) The ID of the organization the user is associated with.
613
+ :param pulumi.Input[builtins.str] password: The password for first access.
614
+ :param pulumi.Input[builtins.str] phone_number: The user's phone number.
615
+ :param pulumi.Input[builtins.bool] send_password_email: Whether or not to send an email containing the password for first access.
616
+ :param pulumi.Input[builtins.bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
617
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags associated with the user.
618
+ :param pulumi.Input[builtins.str] username: The username of the IAM user.
618
619
  """
619
620
  ...
620
621
  @overload
@@ -623,38 +624,48 @@ class IamUser(pulumi.CustomResource):
623
624
  args: IamUserArgs,
624
625
  opts: Optional[pulumi.ResourceOptions] = None):
625
626
  """
626
- Creates and manages Scaleway IAM Users.
627
+ Creates and manages Scaleway IAM [Users](https://www.scaleway.com/en/docs/iam/concepts/#member).
627
628
  For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/iam/#path-users-list-users-of-an-organization).
628
629
 
629
630
  ## Example Usage
630
631
 
631
- ### Guest user
632
+ ### User
632
633
 
633
634
  ```python
634
635
  import pulumi
635
636
  import pulumiverse_scaleway as scaleway
636
637
 
637
- guest = scaleway.iam.User("guest",
638
+ user = scaleway.iam.User("user",
638
639
  email="foo@test.com",
639
- tags=["test-tag"])
640
+ tags=["test-tag"],
641
+ username="foo",
642
+ first_name="Foo",
643
+ last_name="Bar")
640
644
  ```
641
645
 
642
- ### Member user
646
+ ### Multiple users
643
647
 
644
648
  ```python
645
649
  import pulumi
646
650
  import pulumiverse_scaleway as scaleway
647
651
 
648
- member = scaleway.iam.User("member",
649
- email="foo@test.com",
650
- tags=["test-tag"],
651
- username="foo",
652
- first_name="Foo",
653
- last_name="Bar")
652
+ users = [
653
+ {
654
+ "email": "test@test.com",
655
+ "username": "test",
656
+ },
657
+ {
658
+ "email": "test2@test.com",
659
+ "username": "test2",
660
+ },
661
+ ]
662
+ users_user = []
663
+ for range in [{"value": i} for i in range(0, len(users))]:
664
+ users_user.append(scaleway.iam.User(f"users-{range['value']}",
665
+ email=users[range["value"]]["email"],
666
+ username=users[range["value"]]["username"]))
654
667
  ```
655
668
 
656
- When `username` is set, the user is created as a [Member](https://www.scaleway.com/en/docs/iam/concepts/#member). Otherwise, it is created as a [Guest](https://www.scaleway.com/en/docs/iam/concepts/#guest).
657
-
658
669
  ## Import
659
670
 
660
671
  IAM users can be imported using the `{id}`, e.g.
@@ -680,17 +691,17 @@ class IamUser(pulumi.CustomResource):
680
691
  def _internal_init(__self__,
681
692
  resource_name: str,
682
693
  opts: Optional[pulumi.ResourceOptions] = None,
683
- email: Optional[pulumi.Input[str]] = None,
684
- first_name: Optional[pulumi.Input[str]] = None,
685
- last_name: Optional[pulumi.Input[str]] = None,
686
- locale: Optional[pulumi.Input[str]] = None,
687
- organization_id: Optional[pulumi.Input[str]] = None,
688
- password: Optional[pulumi.Input[str]] = None,
689
- phone_number: Optional[pulumi.Input[str]] = None,
690
- send_password_email: Optional[pulumi.Input[bool]] = None,
691
- send_welcome_email: Optional[pulumi.Input[bool]] = None,
692
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
693
- username: Optional[pulumi.Input[str]] = None,
694
+ email: Optional[pulumi.Input[builtins.str]] = None,
695
+ first_name: Optional[pulumi.Input[builtins.str]] = None,
696
+ last_name: Optional[pulumi.Input[builtins.str]] = None,
697
+ locale: Optional[pulumi.Input[builtins.str]] = None,
698
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
699
+ password: Optional[pulumi.Input[builtins.str]] = None,
700
+ phone_number: Optional[pulumi.Input[builtins.str]] = None,
701
+ send_password_email: Optional[pulumi.Input[builtins.bool]] = None,
702
+ send_welcome_email: Optional[pulumi.Input[builtins.bool]] = None,
703
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
704
+ username: Optional[pulumi.Input[builtins.str]] = None,
694
705
  __props__=None):
695
706
  pulumi.log.warn("""IamUser is deprecated: scaleway.index/iamuser.IamUser has been deprecated in favor of scaleway.iam/user.User""")
696
707
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -708,11 +719,13 @@ class IamUser(pulumi.CustomResource):
708
719
  __props__.__dict__["last_name"] = last_name
709
720
  __props__.__dict__["locale"] = locale
710
721
  __props__.__dict__["organization_id"] = organization_id
711
- __props__.__dict__["password"] = password
722
+ __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
712
723
  __props__.__dict__["phone_number"] = phone_number
713
724
  __props__.__dict__["send_password_email"] = send_password_email
714
725
  __props__.__dict__["send_welcome_email"] = send_welcome_email
715
726
  __props__.__dict__["tags"] = tags
727
+ if username is None and not opts.urn:
728
+ raise TypeError("Missing required property 'username'")
716
729
  __props__.__dict__["username"] = username
717
730
  __props__.__dict__["account_root_user_id"] = None
718
731
  __props__.__dict__["created_at"] = None
@@ -723,6 +736,8 @@ class IamUser(pulumi.CustomResource):
723
736
  __props__.__dict__["status"] = None
724
737
  __props__.__dict__["type"] = None
725
738
  __props__.__dict__["updated_at"] = None
739
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
740
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
726
741
  super(IamUser, __self__).__init__(
727
742
  'scaleway:index/iamUser:IamUser',
728
743
  resource_name,
@@ -733,26 +748,26 @@ class IamUser(pulumi.CustomResource):
733
748
  def get(resource_name: str,
734
749
  id: pulumi.Input[str],
735
750
  opts: Optional[pulumi.ResourceOptions] = None,
736
- account_root_user_id: Optional[pulumi.Input[str]] = None,
737
- created_at: Optional[pulumi.Input[str]] = None,
738
- deletable: Optional[pulumi.Input[bool]] = None,
739
- email: Optional[pulumi.Input[str]] = None,
740
- first_name: Optional[pulumi.Input[str]] = None,
741
- last_login_at: Optional[pulumi.Input[str]] = None,
742
- last_name: Optional[pulumi.Input[str]] = None,
743
- locale: Optional[pulumi.Input[str]] = None,
744
- locked: Optional[pulumi.Input[bool]] = None,
745
- mfa: Optional[pulumi.Input[bool]] = None,
746
- organization_id: Optional[pulumi.Input[str]] = None,
747
- password: Optional[pulumi.Input[str]] = None,
748
- phone_number: Optional[pulumi.Input[str]] = None,
749
- send_password_email: Optional[pulumi.Input[bool]] = None,
750
- send_welcome_email: Optional[pulumi.Input[bool]] = None,
751
- status: Optional[pulumi.Input[str]] = None,
752
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
753
- type: Optional[pulumi.Input[str]] = None,
754
- updated_at: Optional[pulumi.Input[str]] = None,
755
- username: Optional[pulumi.Input[str]] = None) -> 'IamUser':
751
+ account_root_user_id: Optional[pulumi.Input[builtins.str]] = None,
752
+ created_at: Optional[pulumi.Input[builtins.str]] = None,
753
+ deletable: Optional[pulumi.Input[builtins.bool]] = None,
754
+ email: Optional[pulumi.Input[builtins.str]] = None,
755
+ first_name: Optional[pulumi.Input[builtins.str]] = None,
756
+ last_login_at: Optional[pulumi.Input[builtins.str]] = None,
757
+ last_name: Optional[pulumi.Input[builtins.str]] = None,
758
+ locale: Optional[pulumi.Input[builtins.str]] = None,
759
+ locked: Optional[pulumi.Input[builtins.bool]] = None,
760
+ mfa: Optional[pulumi.Input[builtins.bool]] = None,
761
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
762
+ password: Optional[pulumi.Input[builtins.str]] = None,
763
+ phone_number: Optional[pulumi.Input[builtins.str]] = None,
764
+ send_password_email: Optional[pulumi.Input[builtins.bool]] = None,
765
+ send_welcome_email: Optional[pulumi.Input[builtins.bool]] = None,
766
+ status: Optional[pulumi.Input[builtins.str]] = None,
767
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
768
+ type: Optional[pulumi.Input[builtins.str]] = None,
769
+ updated_at: Optional[pulumi.Input[builtins.str]] = None,
770
+ username: Optional[pulumi.Input[builtins.str]] = None) -> 'IamUser':
756
771
  """
757
772
  Get an existing IamUser resource's state with the given name, id, and optional extra
758
773
  properties used to qualify the lookup.
@@ -760,28 +775,26 @@ class IamUser(pulumi.CustomResource):
760
775
  :param str resource_name: The unique name of the resulting resource.
761
776
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
762
777
  :param pulumi.ResourceOptions opts: Options for the resource.
763
- :param pulumi.Input[str] account_root_user_id: The ID of the account root user associated with the user.
764
- :param pulumi.Input[str] created_at: The date and time of the creation of the IAM user.
765
- :param pulumi.Input[bool] deletable: Whether the IAM user is deletable.
766
- :param pulumi.Input[str] email: The email of the IAM user. For Guest users, this argument is not editable.
767
- :param pulumi.Input[str] first_name: The user's first name.
768
- :param pulumi.Input[str] last_login_at: The date of the last login.
769
- :param pulumi.Input[str] last_name: The user's last name.
770
- :param pulumi.Input[str] locale: The user's locale (e.g., en_US).
771
-
772
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
773
- :param pulumi.Input[bool] locked: Whether the user is locked.
774
- :param pulumi.Input[bool] mfa: Whether the MFA is enabled.
775
- :param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the user is associated with.
776
- :param pulumi.Input[str] password: The password for first access.
777
- :param pulumi.Input[str] phone_number: The user's phone number.
778
- :param pulumi.Input[bool] send_password_email: Whether or not to send an email containing the password for first access.
779
- :param pulumi.Input[bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
780
- :param pulumi.Input[str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
781
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the user.
782
- :param pulumi.Input[str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
783
- :param pulumi.Input[str] updated_at: The date and time of the last update of the IAM user.
784
- :param pulumi.Input[str] username: The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
778
+ :param pulumi.Input[builtins.str] account_root_user_id: The ID of the account root user associated with the user.
779
+ :param pulumi.Input[builtins.str] created_at: The date and time of the creation of the IAM user.
780
+ :param pulumi.Input[builtins.bool] deletable: Whether the IAM user is deletable.
781
+ :param pulumi.Input[builtins.str] email: The email of the IAM user. For Guest users, this argument is not editable.
782
+ :param pulumi.Input[builtins.str] first_name: The user's first name.
783
+ :param pulumi.Input[builtins.str] last_login_at: The date of the last login.
784
+ :param pulumi.Input[builtins.str] last_name: The user's last name.
785
+ :param pulumi.Input[builtins.str] locale: The user's locale (e.g., en_US).
786
+ :param pulumi.Input[builtins.bool] locked: Whether the user is locked.
787
+ :param pulumi.Input[builtins.bool] mfa: Whether the MFA is enabled.
788
+ :param pulumi.Input[builtins.str] organization_id: `organization_id`) The ID of the organization the user is associated with.
789
+ :param pulumi.Input[builtins.str] password: The password for first access.
790
+ :param pulumi.Input[builtins.str] phone_number: The user's phone number.
791
+ :param pulumi.Input[builtins.bool] send_password_email: Whether or not to send an email containing the password for first access.
792
+ :param pulumi.Input[builtins.bool] send_welcome_email: Whether or not to send a welcome email that includes onboarding information.
793
+ :param pulumi.Input[builtins.str] status: The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
794
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: The tags associated with the user.
795
+ :param pulumi.Input[builtins.str] type: The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
796
+ :param pulumi.Input[builtins.str] updated_at: The date and time of the last update of the IAM user.
797
+ :param pulumi.Input[builtins.str] username: The username of the IAM user.
785
798
  """
786
799
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
787
800
 
@@ -811,7 +824,7 @@ class IamUser(pulumi.CustomResource):
811
824
 
812
825
  @property
813
826
  @pulumi.getter(name="accountRootUserId")
814
- def account_root_user_id(self) -> pulumi.Output[str]:
827
+ def account_root_user_id(self) -> pulumi.Output[builtins.str]:
815
828
  """
816
829
  The ID of the account root user associated with the user.
817
830
  """
@@ -819,7 +832,7 @@ class IamUser(pulumi.CustomResource):
819
832
 
820
833
  @property
821
834
  @pulumi.getter(name="createdAt")
822
- def created_at(self) -> pulumi.Output[str]:
835
+ def created_at(self) -> pulumi.Output[builtins.str]:
823
836
  """
824
837
  The date and time of the creation of the IAM user.
825
838
  """
@@ -827,7 +840,7 @@ class IamUser(pulumi.CustomResource):
827
840
 
828
841
  @property
829
842
  @pulumi.getter
830
- def deletable(self) -> pulumi.Output[bool]:
843
+ def deletable(self) -> pulumi.Output[builtins.bool]:
831
844
  """
832
845
  Whether the IAM user is deletable.
833
846
  """
@@ -835,7 +848,7 @@ class IamUser(pulumi.CustomResource):
835
848
 
836
849
  @property
837
850
  @pulumi.getter
838
- def email(self) -> pulumi.Output[str]:
851
+ def email(self) -> pulumi.Output[builtins.str]:
839
852
  """
840
853
  The email of the IAM user. For Guest users, this argument is not editable.
841
854
  """
@@ -843,7 +856,7 @@ class IamUser(pulumi.CustomResource):
843
856
 
844
857
  @property
845
858
  @pulumi.getter(name="firstName")
846
- def first_name(self) -> pulumi.Output[Optional[str]]:
859
+ def first_name(self) -> pulumi.Output[Optional[builtins.str]]:
847
860
  """
848
861
  The user's first name.
849
862
  """
@@ -851,7 +864,7 @@ class IamUser(pulumi.CustomResource):
851
864
 
852
865
  @property
853
866
  @pulumi.getter(name="lastLoginAt")
854
- def last_login_at(self) -> pulumi.Output[str]:
867
+ def last_login_at(self) -> pulumi.Output[builtins.str]:
855
868
  """
856
869
  The date of the last login.
857
870
  """
@@ -859,7 +872,7 @@ class IamUser(pulumi.CustomResource):
859
872
 
860
873
  @property
861
874
  @pulumi.getter(name="lastName")
862
- def last_name(self) -> pulumi.Output[Optional[str]]:
875
+ def last_name(self) -> pulumi.Output[Optional[builtins.str]]:
863
876
  """
864
877
  The user's last name.
865
878
  """
@@ -867,17 +880,15 @@ class IamUser(pulumi.CustomResource):
867
880
 
868
881
  @property
869
882
  @pulumi.getter
870
- def locale(self) -> pulumi.Output[str]:
883
+ def locale(self) -> pulumi.Output[builtins.str]:
871
884
  """
872
885
  The user's locale (e.g., en_US).
873
-
874
- Important: When creating a Guest user, all arguments are ignored, except for `organization_id`, `email` and `tags`.
875
886
  """
876
887
  return pulumi.get(self, "locale")
877
888
 
878
889
  @property
879
890
  @pulumi.getter
880
- def locked(self) -> pulumi.Output[bool]:
891
+ def locked(self) -> pulumi.Output[builtins.bool]:
881
892
  """
882
893
  Whether the user is locked.
883
894
  """
@@ -885,7 +896,7 @@ class IamUser(pulumi.CustomResource):
885
896
 
886
897
  @property
887
898
  @pulumi.getter
888
- def mfa(self) -> pulumi.Output[bool]:
899
+ def mfa(self) -> pulumi.Output[builtins.bool]:
889
900
  """
890
901
  Whether the MFA is enabled.
891
902
  """
@@ -893,7 +904,7 @@ class IamUser(pulumi.CustomResource):
893
904
 
894
905
  @property
895
906
  @pulumi.getter(name="organizationId")
896
- def organization_id(self) -> pulumi.Output[str]:
907
+ def organization_id(self) -> pulumi.Output[builtins.str]:
897
908
  """
898
909
  `organization_id`) The ID of the organization the user is associated with.
899
910
  """
@@ -901,7 +912,7 @@ class IamUser(pulumi.CustomResource):
901
912
 
902
913
  @property
903
914
  @pulumi.getter
904
- def password(self) -> pulumi.Output[Optional[str]]:
915
+ def password(self) -> pulumi.Output[Optional[builtins.str]]:
905
916
  """
906
917
  The password for first access.
907
918
  """
@@ -909,7 +920,7 @@ class IamUser(pulumi.CustomResource):
909
920
 
910
921
  @property
911
922
  @pulumi.getter(name="phoneNumber")
912
- def phone_number(self) -> pulumi.Output[Optional[str]]:
923
+ def phone_number(self) -> pulumi.Output[Optional[builtins.str]]:
913
924
  """
914
925
  The user's phone number.
915
926
  """
@@ -917,7 +928,7 @@ class IamUser(pulumi.CustomResource):
917
928
 
918
929
  @property
919
930
  @pulumi.getter(name="sendPasswordEmail")
920
- def send_password_email(self) -> pulumi.Output[Optional[bool]]:
931
+ def send_password_email(self) -> pulumi.Output[Optional[builtins.bool]]:
921
932
  """
922
933
  Whether or not to send an email containing the password for first access.
923
934
  """
@@ -925,7 +936,7 @@ class IamUser(pulumi.CustomResource):
925
936
 
926
937
  @property
927
938
  @pulumi.getter(name="sendWelcomeEmail")
928
- def send_welcome_email(self) -> pulumi.Output[Optional[bool]]:
939
+ def send_welcome_email(self) -> pulumi.Output[Optional[builtins.bool]]:
929
940
  """
930
941
  Whether or not to send a welcome email that includes onboarding information.
931
942
  """
@@ -933,7 +944,7 @@ class IamUser(pulumi.CustomResource):
933
944
 
934
945
  @property
935
946
  @pulumi.getter
936
- def status(self) -> pulumi.Output[str]:
947
+ def status(self) -> pulumi.Output[builtins.str]:
937
948
  """
938
949
  The status of user invitation. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
939
950
  """
@@ -941,7 +952,7 @@ class IamUser(pulumi.CustomResource):
941
952
 
942
953
  @property
943
954
  @pulumi.getter
944
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
955
+ def tags(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
945
956
  """
946
957
  The tags associated with the user.
947
958
  """
@@ -949,7 +960,7 @@ class IamUser(pulumi.CustomResource):
949
960
 
950
961
  @property
951
962
  @pulumi.getter
952
- def type(self) -> pulumi.Output[str]:
963
+ def type(self) -> pulumi.Output[builtins.str]:
953
964
  """
954
965
  The type of user. Check the possible values in the [API doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
955
966
  """
@@ -957,7 +968,7 @@ class IamUser(pulumi.CustomResource):
957
968
 
958
969
  @property
959
970
  @pulumi.getter(name="updatedAt")
960
- def updated_at(self) -> pulumi.Output[str]:
971
+ def updated_at(self) -> pulumi.Output[builtins.str]:
961
972
  """
962
973
  The date and time of the last update of the IAM user.
963
974
  """
@@ -965,9 +976,9 @@ class IamUser(pulumi.CustomResource):
965
976
 
966
977
  @property
967
978
  @pulumi.getter
968
- def username(self) -> pulumi.Output[str]:
979
+ def username(self) -> pulumi.Output[builtins.str]:
969
980
  """
970
- The username of the IAM user. When it is set, the user is created as a Member. When it is not set, the user is created as a Guest and the username is set as equal to the email.
981
+ The username of the IAM user.
971
982
  """
972
983
  return pulumi.get(self, "username")
973
984