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