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,22 +19,30 @@ __all__ = ['UserArgs', 'User']
19
19
  @pulumi.input_type
20
20
  class UserArgs:
21
21
  def __init__(__self__, *,
22
- instance_id: pulumi.Input[str],
23
- password: pulumi.Input[str],
24
- is_admin: Optional[pulumi.Input[bool]] = None,
25
- name: Optional[pulumi.Input[str]] = None,
26
- region: Optional[pulumi.Input[str]] = None):
22
+ instance_id: pulumi.Input[_builtins.str],
23
+ password: pulumi.Input[_builtins.str],
24
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ region: Optional[pulumi.Input[_builtins.str]] = None):
27
27
  """
28
28
  The set of arguments for constructing a User resource.
29
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
29
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
30
30
 
31
31
  > **Important:** Updates to `instance_id` will recreate the database user.
32
- :param pulumi.Input[str] password: database user password.
33
- :param pulumi.Input[bool] is_admin: Grant admin permissions to the database user.
34
- :param pulumi.Input[str] name: database user name.
32
+ :param pulumi.Input[_builtins.str] password: database user password. The password must meet the following requirements based on ISO27001 standards:
33
+ - **Length**: 8-128 characters
34
+ - **Character types required**:
35
+ - At least 1 lowercase letter (a-z)
36
+ - At least 1 uppercase letter (A-Z)
37
+ - At least 1 digit (0-9)
38
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
39
+
40
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
41
+ :param pulumi.Input[_builtins.bool] is_admin: Grant admin permissions to the database user.
42
+ :param pulumi.Input[_builtins.str] name: database user name.
35
43
 
36
44
  > **Important:** Updates to `name` will recreate the database user.
37
- :param pulumi.Input[str] region: The Scaleway region this resource resides in.
45
+ :param pulumi.Input[_builtins.str] region: The Scaleway region this resource resides in.
38
46
  """
39
47
  pulumi.set(__self__, "instance_id", instance_id)
40
48
  pulumi.set(__self__, "password", password)
@@ -45,9 +53,9 @@ class UserArgs:
45
53
  if region is not None:
46
54
  pulumi.set(__self__, "region", region)
47
55
 
48
- @property
56
+ @_builtins.property
49
57
  @pulumi.getter(name="instanceId")
50
- def instance_id(self) -> pulumi.Input[str]:
58
+ def instance_id(self) -> pulumi.Input[_builtins.str]:
51
59
  """
52
60
  UUID of the Database Instance.
53
61
 
@@ -56,36 +64,44 @@ class UserArgs:
56
64
  return pulumi.get(self, "instance_id")
57
65
 
58
66
  @instance_id.setter
59
- def instance_id(self, value: pulumi.Input[str]):
67
+ def instance_id(self, value: pulumi.Input[_builtins.str]):
60
68
  pulumi.set(self, "instance_id", value)
61
69
 
62
- @property
70
+ @_builtins.property
63
71
  @pulumi.getter
64
- def password(self) -> pulumi.Input[str]:
72
+ def password(self) -> pulumi.Input[_builtins.str]:
65
73
  """
66
- database user password.
74
+ database user password. The password must meet the following requirements based on ISO27001 standards:
75
+ - **Length**: 8-128 characters
76
+ - **Character types required**:
77
+ - At least 1 lowercase letter (a-z)
78
+ - At least 1 uppercase letter (A-Z)
79
+ - At least 1 digit (0-9)
80
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
81
+
82
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
67
83
  """
68
84
  return pulumi.get(self, "password")
69
85
 
70
86
  @password.setter
71
- def password(self, value: pulumi.Input[str]):
87
+ def password(self, value: pulumi.Input[_builtins.str]):
72
88
  pulumi.set(self, "password", value)
73
89
 
74
- @property
90
+ @_builtins.property
75
91
  @pulumi.getter(name="isAdmin")
76
- def is_admin(self) -> Optional[pulumi.Input[bool]]:
92
+ def is_admin(self) -> Optional[pulumi.Input[_builtins.bool]]:
77
93
  """
78
94
  Grant admin permissions to the database user.
79
95
  """
80
96
  return pulumi.get(self, "is_admin")
81
97
 
82
98
  @is_admin.setter
83
- def is_admin(self, value: Optional[pulumi.Input[bool]]):
99
+ def is_admin(self, value: Optional[pulumi.Input[_builtins.bool]]):
84
100
  pulumi.set(self, "is_admin", value)
85
101
 
86
- @property
102
+ @_builtins.property
87
103
  @pulumi.getter
88
- def name(self) -> Optional[pulumi.Input[str]]:
104
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
89
105
  """
90
106
  database user name.
91
107
 
@@ -94,41 +110,49 @@ class UserArgs:
94
110
  return pulumi.get(self, "name")
95
111
 
96
112
  @name.setter
97
- def name(self, value: Optional[pulumi.Input[str]]):
113
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
98
114
  pulumi.set(self, "name", value)
99
115
 
100
- @property
116
+ @_builtins.property
101
117
  @pulumi.getter
102
- def region(self) -> Optional[pulumi.Input[str]]:
118
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
103
119
  """
104
120
  The Scaleway region this resource resides in.
105
121
  """
106
122
  return pulumi.get(self, "region")
107
123
 
108
124
  @region.setter
109
- def region(self, value: Optional[pulumi.Input[str]]):
125
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
110
126
  pulumi.set(self, "region", value)
111
127
 
112
128
 
113
129
  @pulumi.input_type
114
130
  class _UserState:
115
131
  def __init__(__self__, *,
116
- instance_id: Optional[pulumi.Input[str]] = None,
117
- is_admin: Optional[pulumi.Input[bool]] = None,
118
- name: Optional[pulumi.Input[str]] = None,
119
- password: Optional[pulumi.Input[str]] = None,
120
- region: Optional[pulumi.Input[str]] = None):
132
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
133
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
134
+ name: Optional[pulumi.Input[_builtins.str]] = None,
135
+ password: Optional[pulumi.Input[_builtins.str]] = None,
136
+ region: Optional[pulumi.Input[_builtins.str]] = None):
121
137
  """
122
138
  Input properties used for looking up and filtering User resources.
123
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
139
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
124
140
 
125
141
  > **Important:** Updates to `instance_id` will recreate the database user.
126
- :param pulumi.Input[bool] is_admin: Grant admin permissions to the database user.
127
- :param pulumi.Input[str] name: database user name.
142
+ :param pulumi.Input[_builtins.bool] is_admin: Grant admin permissions to the database user.
143
+ :param pulumi.Input[_builtins.str] name: database user name.
128
144
 
129
145
  > **Important:** Updates to `name` will recreate the database user.
130
- :param pulumi.Input[str] password: database user password.
131
- :param pulumi.Input[str] region: The Scaleway region this resource resides in.
146
+ :param pulumi.Input[_builtins.str] password: database user password. The password must meet the following requirements based on ISO27001 standards:
147
+ - **Length**: 8-128 characters
148
+ - **Character types required**:
149
+ - At least 1 lowercase letter (a-z)
150
+ - At least 1 uppercase letter (A-Z)
151
+ - At least 1 digit (0-9)
152
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
153
+
154
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
155
+ :param pulumi.Input[_builtins.str] region: The Scaleway region this resource resides in.
132
156
  """
133
157
  if instance_id is not None:
134
158
  pulumi.set(__self__, "instance_id", instance_id)
@@ -141,9 +165,9 @@ class _UserState:
141
165
  if region is not None:
142
166
  pulumi.set(__self__, "region", region)
143
167
 
144
- @property
168
+ @_builtins.property
145
169
  @pulumi.getter(name="instanceId")
146
- def instance_id(self) -> Optional[pulumi.Input[str]]:
170
+ def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]:
147
171
  """
148
172
  UUID of the Database Instance.
149
173
 
@@ -152,24 +176,24 @@ class _UserState:
152
176
  return pulumi.get(self, "instance_id")
153
177
 
154
178
  @instance_id.setter
155
- def instance_id(self, value: Optional[pulumi.Input[str]]):
179
+ def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]):
156
180
  pulumi.set(self, "instance_id", value)
157
181
 
158
- @property
182
+ @_builtins.property
159
183
  @pulumi.getter(name="isAdmin")
160
- def is_admin(self) -> Optional[pulumi.Input[bool]]:
184
+ def is_admin(self) -> Optional[pulumi.Input[_builtins.bool]]:
161
185
  """
162
186
  Grant admin permissions to the database user.
163
187
  """
164
188
  return pulumi.get(self, "is_admin")
165
189
 
166
190
  @is_admin.setter
167
- def is_admin(self, value: Optional[pulumi.Input[bool]]):
191
+ def is_admin(self, value: Optional[pulumi.Input[_builtins.bool]]):
168
192
  pulumi.set(self, "is_admin", value)
169
193
 
170
- @property
194
+ @_builtins.property
171
195
  @pulumi.getter
172
- def name(self) -> Optional[pulumi.Input[str]]:
196
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
173
197
  """
174
198
  database user name.
175
199
 
@@ -178,44 +202,53 @@ class _UserState:
178
202
  return pulumi.get(self, "name")
179
203
 
180
204
  @name.setter
181
- def name(self, value: Optional[pulumi.Input[str]]):
205
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
182
206
  pulumi.set(self, "name", value)
183
207
 
184
- @property
208
+ @_builtins.property
185
209
  @pulumi.getter
186
- def password(self) -> Optional[pulumi.Input[str]]:
210
+ def password(self) -> Optional[pulumi.Input[_builtins.str]]:
187
211
  """
188
- database user password.
212
+ database user password. The password must meet the following requirements based on ISO27001 standards:
213
+ - **Length**: 8-128 characters
214
+ - **Character types required**:
215
+ - At least 1 lowercase letter (a-z)
216
+ - At least 1 uppercase letter (A-Z)
217
+ - At least 1 digit (0-9)
218
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
219
+
220
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
189
221
  """
190
222
  return pulumi.get(self, "password")
191
223
 
192
224
  @password.setter
193
- def password(self, value: Optional[pulumi.Input[str]]):
225
+ def password(self, value: Optional[pulumi.Input[_builtins.str]]):
194
226
  pulumi.set(self, "password", value)
195
227
 
196
- @property
228
+ @_builtins.property
197
229
  @pulumi.getter
198
- def region(self) -> Optional[pulumi.Input[str]]:
230
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
199
231
  """
200
232
  The Scaleway region this resource resides in.
201
233
  """
202
234
  return pulumi.get(self, "region")
203
235
 
204
236
  @region.setter
205
- def region(self, value: Optional[pulumi.Input[str]]):
237
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
206
238
  pulumi.set(self, "region", value)
207
239
 
208
240
 
241
+ @pulumi.type_token("scaleway:databases/user:User")
209
242
  class User(pulumi.CustomResource):
210
243
  @overload
211
244
  def __init__(__self__,
212
245
  resource_name: str,
213
246
  opts: Optional[pulumi.ResourceOptions] = None,
214
- instance_id: Optional[pulumi.Input[str]] = None,
215
- is_admin: Optional[pulumi.Input[bool]] = None,
216
- name: Optional[pulumi.Input[str]] = None,
217
- password: Optional[pulumi.Input[str]] = None,
218
- region: Optional[pulumi.Input[str]] = None,
247
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
248
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
249
+ name: Optional[pulumi.Input[_builtins.str]] = None,
250
+ password: Optional[pulumi.Input[_builtins.str]] = None,
251
+ region: Optional[pulumi.Input[_builtins.str]] = None,
219
252
  __props__=None):
220
253
  """
221
254
  Creates and manages database users.
@@ -238,13 +271,21 @@ class User(pulumi.CustomResource):
238
271
  disable_backup=True,
239
272
  user_name="my_initial_user",
240
273
  password="thiZ_is_v&ry_s3cret")
241
- db_password = random.RandomPassword("db_password",
242
- length=16,
243
- special=True)
274
+ db_password = random.index.Password("db_password",
275
+ length=20,
276
+ special=True,
277
+ upper=True,
278
+ lower=True,
279
+ numeric=True,
280
+ min_upper=1,
281
+ min_lower=1,
282
+ min_numeric=1,
283
+ min_special=1,
284
+ override_special=!@#$%^&*()_+-=[]{}|;:,.<>?)
244
285
  db_admin = scaleway.databases.User("db_admin",
245
286
  instance_id=main.id,
246
287
  name="devtools",
247
- password=db_password.result,
288
+ password=db_password["result"],
248
289
  is_admin=True)
249
290
  ```
250
291
 
@@ -260,15 +301,23 @@ class User(pulumi.CustomResource):
260
301
 
261
302
  :param str resource_name: The name of the resource.
262
303
  :param pulumi.ResourceOptions opts: Options for the resource.
263
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
304
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
264
305
 
265
306
  > **Important:** Updates to `instance_id` will recreate the database user.
266
- :param pulumi.Input[bool] is_admin: Grant admin permissions to the database user.
267
- :param pulumi.Input[str] name: database user name.
307
+ :param pulumi.Input[_builtins.bool] is_admin: Grant admin permissions to the database user.
308
+ :param pulumi.Input[_builtins.str] name: database user name.
268
309
 
269
310
  > **Important:** Updates to `name` will recreate the database user.
270
- :param pulumi.Input[str] password: database user password.
271
- :param pulumi.Input[str] region: The Scaleway region this resource resides in.
311
+ :param pulumi.Input[_builtins.str] password: database user password. The password must meet the following requirements based on ISO27001 standards:
312
+ - **Length**: 8-128 characters
313
+ - **Character types required**:
314
+ - At least 1 lowercase letter (a-z)
315
+ - At least 1 uppercase letter (A-Z)
316
+ - At least 1 digit (0-9)
317
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
318
+
319
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
320
+ :param pulumi.Input[_builtins.str] region: The Scaleway region this resource resides in.
272
321
  """
273
322
  ...
274
323
  @overload
@@ -297,13 +346,21 @@ class User(pulumi.CustomResource):
297
346
  disable_backup=True,
298
347
  user_name="my_initial_user",
299
348
  password="thiZ_is_v&ry_s3cret")
300
- db_password = random.RandomPassword("db_password",
301
- length=16,
302
- special=True)
349
+ db_password = random.index.Password("db_password",
350
+ length=20,
351
+ special=True,
352
+ upper=True,
353
+ lower=True,
354
+ numeric=True,
355
+ min_upper=1,
356
+ min_lower=1,
357
+ min_numeric=1,
358
+ min_special=1,
359
+ override_special=!@#$%^&*()_+-=[]{}|;:,.<>?)
303
360
  db_admin = scaleway.databases.User("db_admin",
304
361
  instance_id=main.id,
305
362
  name="devtools",
306
- password=db_password.result,
363
+ password=db_password["result"],
307
364
  is_admin=True)
308
365
  ```
309
366
 
@@ -332,11 +389,11 @@ class User(pulumi.CustomResource):
332
389
  def _internal_init(__self__,
333
390
  resource_name: str,
334
391
  opts: Optional[pulumi.ResourceOptions] = None,
335
- instance_id: Optional[pulumi.Input[str]] = None,
336
- is_admin: Optional[pulumi.Input[bool]] = None,
337
- name: Optional[pulumi.Input[str]] = None,
338
- password: Optional[pulumi.Input[str]] = None,
339
- region: Optional[pulumi.Input[str]] = None,
392
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
393
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
394
+ name: Optional[pulumi.Input[_builtins.str]] = None,
395
+ password: Optional[pulumi.Input[_builtins.str]] = None,
396
+ region: Optional[pulumi.Input[_builtins.str]] = None,
340
397
  __props__=None):
341
398
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
342
399
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -369,11 +426,11 @@ class User(pulumi.CustomResource):
369
426
  def get(resource_name: str,
370
427
  id: pulumi.Input[str],
371
428
  opts: Optional[pulumi.ResourceOptions] = None,
372
- instance_id: Optional[pulumi.Input[str]] = None,
373
- is_admin: Optional[pulumi.Input[bool]] = None,
374
- name: Optional[pulumi.Input[str]] = None,
375
- password: Optional[pulumi.Input[str]] = None,
376
- region: Optional[pulumi.Input[str]] = None) -> 'User':
429
+ instance_id: Optional[pulumi.Input[_builtins.str]] = None,
430
+ is_admin: Optional[pulumi.Input[_builtins.bool]] = None,
431
+ name: Optional[pulumi.Input[_builtins.str]] = None,
432
+ password: Optional[pulumi.Input[_builtins.str]] = None,
433
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'User':
377
434
  """
378
435
  Get an existing User resource's state with the given name, id, and optional extra
379
436
  properties used to qualify the lookup.
@@ -381,15 +438,23 @@ class User(pulumi.CustomResource):
381
438
  :param str resource_name: The unique name of the resulting resource.
382
439
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
383
440
  :param pulumi.ResourceOptions opts: Options for the resource.
384
- :param pulumi.Input[str] instance_id: UUID of the Database Instance.
441
+ :param pulumi.Input[_builtins.str] instance_id: UUID of the Database Instance.
385
442
 
386
443
  > **Important:** Updates to `instance_id` will recreate the database user.
387
- :param pulumi.Input[bool] is_admin: Grant admin permissions to the database user.
388
- :param pulumi.Input[str] name: database user name.
444
+ :param pulumi.Input[_builtins.bool] is_admin: Grant admin permissions to the database user.
445
+ :param pulumi.Input[_builtins.str] name: database user name.
389
446
 
390
447
  > **Important:** Updates to `name` will recreate the database user.
391
- :param pulumi.Input[str] password: database user password.
392
- :param pulumi.Input[str] region: The Scaleway region this resource resides in.
448
+ :param pulumi.Input[_builtins.str] password: database user password. The password must meet the following requirements based on ISO27001 standards:
449
+ - **Length**: 8-128 characters
450
+ - **Character types required**:
451
+ - At least 1 lowercase letter (a-z)
452
+ - At least 1 uppercase letter (A-Z)
453
+ - At least 1 digit (0-9)
454
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
455
+
456
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
457
+ :param pulumi.Input[_builtins.str] region: The Scaleway region this resource resides in.
393
458
  """
394
459
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
395
460
 
@@ -402,9 +467,9 @@ class User(pulumi.CustomResource):
402
467
  __props__.__dict__["region"] = region
403
468
  return User(resource_name, opts=opts, __props__=__props__)
404
469
 
405
- @property
470
+ @_builtins.property
406
471
  @pulumi.getter(name="instanceId")
407
- def instance_id(self) -> pulumi.Output[str]:
472
+ def instance_id(self) -> pulumi.Output[_builtins.str]:
408
473
  """
409
474
  UUID of the Database Instance.
410
475
 
@@ -412,17 +477,17 @@ class User(pulumi.CustomResource):
412
477
  """
413
478
  return pulumi.get(self, "instance_id")
414
479
 
415
- @property
480
+ @_builtins.property
416
481
  @pulumi.getter(name="isAdmin")
417
- def is_admin(self) -> pulumi.Output[Optional[bool]]:
482
+ def is_admin(self) -> pulumi.Output[Optional[_builtins.bool]]:
418
483
  """
419
484
  Grant admin permissions to the database user.
420
485
  """
421
486
  return pulumi.get(self, "is_admin")
422
487
 
423
- @property
488
+ @_builtins.property
424
489
  @pulumi.getter
425
- def name(self) -> pulumi.Output[str]:
490
+ def name(self) -> pulumi.Output[_builtins.str]:
426
491
  """
427
492
  database user name.
428
493
 
@@ -430,17 +495,25 @@ class User(pulumi.CustomResource):
430
495
  """
431
496
  return pulumi.get(self, "name")
432
497
 
433
- @property
498
+ @_builtins.property
434
499
  @pulumi.getter
435
- def password(self) -> pulumi.Output[str]:
500
+ def password(self) -> pulumi.Output[_builtins.str]:
436
501
  """
437
- database user password.
502
+ database user password. The password must meet the following requirements based on ISO27001 standards:
503
+ - **Length**: 8-128 characters
504
+ - **Character types required**:
505
+ - At least 1 lowercase letter (a-z)
506
+ - At least 1 uppercase letter (A-Z)
507
+ - At least 1 digit (0-9)
508
+ - At least 1 special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
509
+
510
+ For secure password generation, consider using the `random_password` resource with appropriate parameters.
438
511
  """
439
512
  return pulumi.get(self, "password")
440
513
 
441
- @property
514
+ @_builtins.property
442
515
  @pulumi.getter
443
- def region(self) -> pulumi.Output[str]:
516
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
444
517
  """
445
518
  The Scaleway region this resource resides in.
446
519
  """
@@ -0,0 +1,13 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ from .. import _utilities
7
+ import typing
8
+ # Export this package's modules as members:
9
+ from .database import *
10
+ from .deployment import *
11
+ from .user import *
12
+ from ._inputs import *
13
+ from . import outputs
@@ -0,0 +1,149 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'DeploymentPublicNetworkArgs',
19
+ 'DeploymentPublicNetworkArgsDict',
20
+ 'DeploymentPublicNetworkServiceArgs',
21
+ 'DeploymentPublicNetworkServiceArgsDict',
22
+ ]
23
+
24
+ MYPY = False
25
+
26
+ if not MYPY:
27
+ class DeploymentPublicNetworkArgsDict(TypedDict):
28
+ dns_record: NotRequired[pulumi.Input[_builtins.str]]
29
+ """
30
+ DNS record for the public endpoint.
31
+ """
32
+ id: NotRequired[pulumi.Input[_builtins.str]]
33
+ """
34
+ The ID of the public endpoint.
35
+ """
36
+ services: NotRequired[pulumi.Input[Sequence[pulumi.Input['DeploymentPublicNetworkServiceArgsDict']]]]
37
+ """
38
+ List of services exposed on the public endpoint.
39
+ """
40
+ elif False:
41
+ DeploymentPublicNetworkArgsDict: TypeAlias = Mapping[str, Any]
42
+
43
+ @pulumi.input_type
44
+ class DeploymentPublicNetworkArgs:
45
+ def __init__(__self__, *,
46
+ dns_record: Optional[pulumi.Input[_builtins.str]] = None,
47
+ id: Optional[pulumi.Input[_builtins.str]] = None,
48
+ services: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentPublicNetworkServiceArgs']]]] = None):
49
+ """
50
+ :param pulumi.Input[_builtins.str] dns_record: DNS record for the public endpoint.
51
+ :param pulumi.Input[_builtins.str] id: The ID of the public endpoint.
52
+ :param pulumi.Input[Sequence[pulumi.Input['DeploymentPublicNetworkServiceArgs']]] services: List of services exposed on the public endpoint.
53
+ """
54
+ if dns_record is not None:
55
+ pulumi.set(__self__, "dns_record", dns_record)
56
+ if id is not None:
57
+ pulumi.set(__self__, "id", id)
58
+ if services is not None:
59
+ pulumi.set(__self__, "services", services)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter(name="dnsRecord")
63
+ def dns_record(self) -> Optional[pulumi.Input[_builtins.str]]:
64
+ """
65
+ DNS record for the public endpoint.
66
+ """
67
+ return pulumi.get(self, "dns_record")
68
+
69
+ @dns_record.setter
70
+ def dns_record(self, value: Optional[pulumi.Input[_builtins.str]]):
71
+ pulumi.set(self, "dns_record", value)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter
75
+ def id(self) -> Optional[pulumi.Input[_builtins.str]]:
76
+ """
77
+ The ID of the public endpoint.
78
+ """
79
+ return pulumi.get(self, "id")
80
+
81
+ @id.setter
82
+ def id(self, value: Optional[pulumi.Input[_builtins.str]]):
83
+ pulumi.set(self, "id", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentPublicNetworkServiceArgs']]]]:
88
+ """
89
+ List of services exposed on the public endpoint.
90
+ """
91
+ return pulumi.get(self, "services")
92
+
93
+ @services.setter
94
+ def services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentPublicNetworkServiceArgs']]]]):
95
+ pulumi.set(self, "services", value)
96
+
97
+
98
+ if not MYPY:
99
+ class DeploymentPublicNetworkServiceArgsDict(TypedDict):
100
+ port: NotRequired[pulumi.Input[_builtins.int]]
101
+ """
102
+ TCP port number.
103
+ """
104
+ protocol: NotRequired[pulumi.Input[_builtins.str]]
105
+ """
106
+ Service protocol (e.g., "tcp", "https", "mysql").
107
+ """
108
+ elif False:
109
+ DeploymentPublicNetworkServiceArgsDict: TypeAlias = Mapping[str, Any]
110
+
111
+ @pulumi.input_type
112
+ class DeploymentPublicNetworkServiceArgs:
113
+ def __init__(__self__, *,
114
+ port: Optional[pulumi.Input[_builtins.int]] = None,
115
+ protocol: Optional[pulumi.Input[_builtins.str]] = None):
116
+ """
117
+ :param pulumi.Input[_builtins.int] port: TCP port number.
118
+ :param pulumi.Input[_builtins.str] protocol: Service protocol (e.g., "tcp", "https", "mysql").
119
+ """
120
+ if port is not None:
121
+ pulumi.set(__self__, "port", port)
122
+ if protocol is not None:
123
+ pulumi.set(__self__, "protocol", protocol)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter
127
+ def port(self) -> Optional[pulumi.Input[_builtins.int]]:
128
+ """
129
+ TCP port number.
130
+ """
131
+ return pulumi.get(self, "port")
132
+
133
+ @port.setter
134
+ def port(self, value: Optional[pulumi.Input[_builtins.int]]):
135
+ pulumi.set(self, "port", value)
136
+
137
+ @_builtins.property
138
+ @pulumi.getter
139
+ def protocol(self) -> Optional[pulumi.Input[_builtins.str]]:
140
+ """
141
+ Service protocol (e.g., "tcp", "https", "mysql").
142
+ """
143
+ return pulumi.get(self, "protocol")
144
+
145
+ @protocol.setter
146
+ def protocol(self, value: Optional[pulumi.Input[_builtins.str]]):
147
+ pulumi.set(self, "protocol", value)
148
+
149
+