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
@@ -0,0 +1,634 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['InstancePolicyArgs', 'InstancePolicy']
20
+
21
+ @pulumi.input_type
22
+ class InstancePolicyArgs:
23
+ def __init__(__self__, *,
24
+ action: pulumi.Input[_builtins.str],
25
+ instance_group_id: pulumi.Input[_builtins.str],
26
+ priority: pulumi.Input[_builtins.int],
27
+ type: pulumi.Input[_builtins.str],
28
+ value: pulumi.Input[_builtins.int],
29
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None,
31
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
32
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
33
+ """
34
+ The set of arguments for constructing a InstancePolicy resource.
35
+ :param pulumi.Input[_builtins.str] action: The action to execute when the metric-based condition is met.
36
+ :param pulumi.Input[_builtins.str] instance_group_id: The ID of the Instance group related to this policy.
37
+ :param pulumi.Input[_builtins.int] priority: The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
38
+ :param pulumi.Input[_builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
39
+ :param pulumi.Input[_builtins.int] value: The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
40
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
41
+ :param pulumi.Input[_builtins.str] name: The Instance policy name.
42
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
43
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance policy exists.
44
+ """
45
+ pulumi.set(__self__, "action", action)
46
+ pulumi.set(__self__, "instance_group_id", instance_group_id)
47
+ pulumi.set(__self__, "priority", priority)
48
+ pulumi.set(__self__, "type", type)
49
+ pulumi.set(__self__, "value", value)
50
+ if metrics is not None:
51
+ pulumi.set(__self__, "metrics", metrics)
52
+ if name is not None:
53
+ pulumi.set(__self__, "name", name)
54
+ if project_id is not None:
55
+ pulumi.set(__self__, "project_id", project_id)
56
+ if zone is not None:
57
+ pulumi.set(__self__, "zone", zone)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter
61
+ def action(self) -> pulumi.Input[_builtins.str]:
62
+ """
63
+ The action to execute when the metric-based condition is met.
64
+ """
65
+ return pulumi.get(self, "action")
66
+
67
+ @action.setter
68
+ def action(self, value: pulumi.Input[_builtins.str]):
69
+ pulumi.set(self, "action", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="instanceGroupId")
73
+ def instance_group_id(self) -> pulumi.Input[_builtins.str]:
74
+ """
75
+ The ID of the Instance group related to this policy.
76
+ """
77
+ return pulumi.get(self, "instance_group_id")
78
+
79
+ @instance_group_id.setter
80
+ def instance_group_id(self, value: pulumi.Input[_builtins.str]):
81
+ pulumi.set(self, "instance_group_id", value)
82
+
83
+ @_builtins.property
84
+ @pulumi.getter
85
+ def priority(self) -> pulumi.Input[_builtins.int]:
86
+ """
87
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
88
+ """
89
+ return pulumi.get(self, "priority")
90
+
91
+ @priority.setter
92
+ def priority(self, value: pulumi.Input[_builtins.int]):
93
+ pulumi.set(self, "priority", value)
94
+
95
+ @_builtins.property
96
+ @pulumi.getter
97
+ def type(self) -> pulumi.Input[_builtins.str]:
98
+ """
99
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
100
+ """
101
+ return pulumi.get(self, "type")
102
+
103
+ @type.setter
104
+ def type(self, value: pulumi.Input[_builtins.str]):
105
+ pulumi.set(self, "type", value)
106
+
107
+ @_builtins.property
108
+ @pulumi.getter
109
+ def value(self) -> pulumi.Input[_builtins.int]:
110
+ """
111
+ The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
112
+ """
113
+ return pulumi.get(self, "value")
114
+
115
+ @value.setter
116
+ def value(self, value: pulumi.Input[_builtins.int]):
117
+ pulumi.set(self, "value", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter
121
+ def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]:
122
+ """
123
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
124
+ """
125
+ return pulumi.get(self, "metrics")
126
+
127
+ @metrics.setter
128
+ def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]):
129
+ pulumi.set(self, "metrics", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter
133
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
134
+ """
135
+ The Instance policy name.
136
+ """
137
+ return pulumi.get(self, "name")
138
+
139
+ @name.setter
140
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
141
+ pulumi.set(self, "name", value)
142
+
143
+ @_builtins.property
144
+ @pulumi.getter(name="projectId")
145
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
146
+ """
147
+ `project_id`) The ID of the Project the Instance policy is associated with.
148
+ """
149
+ return pulumi.get(self, "project_id")
150
+
151
+ @project_id.setter
152
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
153
+ pulumi.set(self, "project_id", value)
154
+
155
+ @_builtins.property
156
+ @pulumi.getter
157
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
158
+ """
159
+ `zone`) The zone in which the Instance policy exists.
160
+ """
161
+ return pulumi.get(self, "zone")
162
+
163
+ @zone.setter
164
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
165
+ pulumi.set(self, "zone", value)
166
+
167
+
168
+ @pulumi.input_type
169
+ class _InstancePolicyState:
170
+ def __init__(__self__, *,
171
+ action: Optional[pulumi.Input[_builtins.str]] = None,
172
+ instance_group_id: Optional[pulumi.Input[_builtins.str]] = None,
173
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]] = None,
174
+ name: Optional[pulumi.Input[_builtins.str]] = None,
175
+ priority: Optional[pulumi.Input[_builtins.int]] = None,
176
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
177
+ type: Optional[pulumi.Input[_builtins.str]] = None,
178
+ value: Optional[pulumi.Input[_builtins.int]] = None,
179
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
180
+ """
181
+ Input properties used for looking up and filtering InstancePolicy resources.
182
+ :param pulumi.Input[_builtins.str] action: The action to execute when the metric-based condition is met.
183
+ :param pulumi.Input[_builtins.str] instance_group_id: The ID of the Instance group related to this policy.
184
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
185
+ :param pulumi.Input[_builtins.str] name: The Instance policy name.
186
+ :param pulumi.Input[_builtins.int] priority: The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
187
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
188
+ :param pulumi.Input[_builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
189
+ :param pulumi.Input[_builtins.int] value: The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
190
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance policy exists.
191
+ """
192
+ if action is not None:
193
+ pulumi.set(__self__, "action", action)
194
+ if instance_group_id is not None:
195
+ pulumi.set(__self__, "instance_group_id", instance_group_id)
196
+ if metrics is not None:
197
+ pulumi.set(__self__, "metrics", metrics)
198
+ if name is not None:
199
+ pulumi.set(__self__, "name", name)
200
+ if priority is not None:
201
+ pulumi.set(__self__, "priority", priority)
202
+ if project_id is not None:
203
+ pulumi.set(__self__, "project_id", project_id)
204
+ if type is not None:
205
+ pulumi.set(__self__, "type", type)
206
+ if value is not None:
207
+ pulumi.set(__self__, "value", value)
208
+ if zone is not None:
209
+ pulumi.set(__self__, "zone", zone)
210
+
211
+ @_builtins.property
212
+ @pulumi.getter
213
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
214
+ """
215
+ The action to execute when the metric-based condition is met.
216
+ """
217
+ return pulumi.get(self, "action")
218
+
219
+ @action.setter
220
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
221
+ pulumi.set(self, "action", value)
222
+
223
+ @_builtins.property
224
+ @pulumi.getter(name="instanceGroupId")
225
+ def instance_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
226
+ """
227
+ The ID of the Instance group related to this policy.
228
+ """
229
+ return pulumi.get(self, "instance_group_id")
230
+
231
+ @instance_group_id.setter
232
+ def instance_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
+ pulumi.set(self, "instance_group_id", value)
234
+
235
+ @_builtins.property
236
+ @pulumi.getter
237
+ def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]:
238
+ """
239
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
240
+ """
241
+ return pulumi.get(self, "metrics")
242
+
243
+ @metrics.setter
244
+ def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]):
245
+ pulumi.set(self, "metrics", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter
249
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
250
+ """
251
+ The Instance policy name.
252
+ """
253
+ return pulumi.get(self, "name")
254
+
255
+ @name.setter
256
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
257
+ pulumi.set(self, "name", value)
258
+
259
+ @_builtins.property
260
+ @pulumi.getter
261
+ def priority(self) -> Optional[pulumi.Input[_builtins.int]]:
262
+ """
263
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
264
+ """
265
+ return pulumi.get(self, "priority")
266
+
267
+ @priority.setter
268
+ def priority(self, value: Optional[pulumi.Input[_builtins.int]]):
269
+ pulumi.set(self, "priority", value)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter(name="projectId")
273
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
274
+ """
275
+ `project_id`) The ID of the Project the Instance policy is associated with.
276
+ """
277
+ return pulumi.get(self, "project_id")
278
+
279
+ @project_id.setter
280
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
281
+ pulumi.set(self, "project_id", value)
282
+
283
+ @_builtins.property
284
+ @pulumi.getter
285
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
286
+ """
287
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
288
+ """
289
+ return pulumi.get(self, "type")
290
+
291
+ @type.setter
292
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
293
+ pulumi.set(self, "type", value)
294
+
295
+ @_builtins.property
296
+ @pulumi.getter
297
+ def value(self) -> Optional[pulumi.Input[_builtins.int]]:
298
+ """
299
+ The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
300
+ """
301
+ return pulumi.get(self, "value")
302
+
303
+ @value.setter
304
+ def value(self, value: Optional[pulumi.Input[_builtins.int]]):
305
+ pulumi.set(self, "value", value)
306
+
307
+ @_builtins.property
308
+ @pulumi.getter
309
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
310
+ """
311
+ `zone`) The zone in which the Instance policy exists.
312
+ """
313
+ return pulumi.get(self, "zone")
314
+
315
+ @zone.setter
316
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
317
+ pulumi.set(self, "zone", value)
318
+
319
+
320
+ @pulumi.type_token("scaleway:autoscaling/instancePolicy:InstancePolicy")
321
+ class InstancePolicy(pulumi.CustomResource):
322
+ @overload
323
+ def __init__(__self__,
324
+ resource_name: str,
325
+ opts: Optional[pulumi.ResourceOptions] = None,
326
+ action: Optional[pulumi.Input[_builtins.str]] = None,
327
+ instance_group_id: Optional[pulumi.Input[_builtins.str]] = None,
328
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
329
+ name: Optional[pulumi.Input[_builtins.str]] = None,
330
+ priority: Optional[pulumi.Input[_builtins.int]] = None,
331
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
332
+ type: Optional[pulumi.Input[_builtins.str]] = None,
333
+ value: Optional[pulumi.Input[_builtins.int]] = None,
334
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
335
+ __props__=None):
336
+ """
337
+ Books and manages Autoscaling Instance policies.
338
+
339
+ ## Example Usage
340
+
341
+ ### Basic
342
+
343
+ ```python
344
+ import pulumi
345
+ import pulumiverse_scaleway as scaleway
346
+
347
+ up = scaleway.autoscaling.InstancePolicy("up",
348
+ instance_group_id=main["id"],
349
+ name="scale-up-if-cpu-high",
350
+ action="scale_up",
351
+ type="flat_count",
352
+ value=1,
353
+ priority=1,
354
+ metrics=[{
355
+ "name": "cpu scale up",
356
+ "managed_metric": "managed_metric_instance_cpu",
357
+ "operator": "operator_greater_than",
358
+ "aggregate": "aggregate_average",
359
+ "sampling_range_min": 5,
360
+ "threshold": 70,
361
+ }])
362
+ down = scaleway.autoscaling.InstancePolicy("down",
363
+ instance_group_id=main["id"],
364
+ name="scale-down-if-cpu-low",
365
+ action="scale_down",
366
+ type="flat_count",
367
+ value=1,
368
+ priority=2,
369
+ metrics=[{
370
+ "name": "cpu scale down",
371
+ "managed_metric": "managed_metric_instance_cpu",
372
+ "operator": "operator_less_than",
373
+ "aggregate": "aggregate_average",
374
+ "sampling_range_min": 5,
375
+ "threshold": 40,
376
+ }])
377
+ ```
378
+
379
+ ## Import
380
+
381
+ Autoscaling instance policies can be imported using `{zone}/{id}`, e.g.
382
+
383
+ bash
384
+
385
+ ```sh
386
+ $ pulumi import scaleway:autoscaling/instancePolicy:InstancePolicy main fr-par-1/11111111-1111-1111-1111-111111111111
387
+ ```
388
+
389
+ :param str resource_name: The name of the resource.
390
+ :param pulumi.ResourceOptions opts: Options for the resource.
391
+ :param pulumi.Input[_builtins.str] action: The action to execute when the metric-based condition is met.
392
+ :param pulumi.Input[_builtins.str] instance_group_id: The ID of the Instance group related to this policy.
393
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
394
+ :param pulumi.Input[_builtins.str] name: The Instance policy name.
395
+ :param pulumi.Input[_builtins.int] priority: The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
396
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
397
+ :param pulumi.Input[_builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
398
+ :param pulumi.Input[_builtins.int] value: The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
399
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance policy exists.
400
+ """
401
+ ...
402
+ @overload
403
+ def __init__(__self__,
404
+ resource_name: str,
405
+ args: InstancePolicyArgs,
406
+ opts: Optional[pulumi.ResourceOptions] = None):
407
+ """
408
+ Books and manages Autoscaling Instance policies.
409
+
410
+ ## Example Usage
411
+
412
+ ### Basic
413
+
414
+ ```python
415
+ import pulumi
416
+ import pulumiverse_scaleway as scaleway
417
+
418
+ up = scaleway.autoscaling.InstancePolicy("up",
419
+ instance_group_id=main["id"],
420
+ name="scale-up-if-cpu-high",
421
+ action="scale_up",
422
+ type="flat_count",
423
+ value=1,
424
+ priority=1,
425
+ metrics=[{
426
+ "name": "cpu scale up",
427
+ "managed_metric": "managed_metric_instance_cpu",
428
+ "operator": "operator_greater_than",
429
+ "aggregate": "aggregate_average",
430
+ "sampling_range_min": 5,
431
+ "threshold": 70,
432
+ }])
433
+ down = scaleway.autoscaling.InstancePolicy("down",
434
+ instance_group_id=main["id"],
435
+ name="scale-down-if-cpu-low",
436
+ action="scale_down",
437
+ type="flat_count",
438
+ value=1,
439
+ priority=2,
440
+ metrics=[{
441
+ "name": "cpu scale down",
442
+ "managed_metric": "managed_metric_instance_cpu",
443
+ "operator": "operator_less_than",
444
+ "aggregate": "aggregate_average",
445
+ "sampling_range_min": 5,
446
+ "threshold": 40,
447
+ }])
448
+ ```
449
+
450
+ ## Import
451
+
452
+ Autoscaling instance policies can be imported using `{zone}/{id}`, e.g.
453
+
454
+ bash
455
+
456
+ ```sh
457
+ $ pulumi import scaleway:autoscaling/instancePolicy:InstancePolicy main fr-par-1/11111111-1111-1111-1111-111111111111
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param InstancePolicyArgs args: The arguments to use to populate this resource's properties.
462
+ :param pulumi.ResourceOptions opts: Options for the resource.
463
+ """
464
+ ...
465
+ def __init__(__self__, resource_name: str, *args, **kwargs):
466
+ resource_args, opts = _utilities.get_resource_args_opts(InstancePolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
467
+ if resource_args is not None:
468
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
469
+ else:
470
+ __self__._internal_init(resource_name, *args, **kwargs)
471
+
472
+ def _internal_init(__self__,
473
+ resource_name: str,
474
+ opts: Optional[pulumi.ResourceOptions] = None,
475
+ action: Optional[pulumi.Input[_builtins.str]] = None,
476
+ instance_group_id: Optional[pulumi.Input[_builtins.str]] = None,
477
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
478
+ name: Optional[pulumi.Input[_builtins.str]] = None,
479
+ priority: Optional[pulumi.Input[_builtins.int]] = None,
480
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
481
+ type: Optional[pulumi.Input[_builtins.str]] = None,
482
+ value: Optional[pulumi.Input[_builtins.int]] = None,
483
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
484
+ __props__=None):
485
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
486
+ if not isinstance(opts, pulumi.ResourceOptions):
487
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
488
+ if opts.id is None:
489
+ if __props__ is not None:
490
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
491
+ __props__ = InstancePolicyArgs.__new__(InstancePolicyArgs)
492
+
493
+ if action is None and not opts.urn:
494
+ raise TypeError("Missing required property 'action'")
495
+ __props__.__dict__["action"] = action
496
+ if instance_group_id is None and not opts.urn:
497
+ raise TypeError("Missing required property 'instance_group_id'")
498
+ __props__.__dict__["instance_group_id"] = instance_group_id
499
+ __props__.__dict__["metrics"] = metrics
500
+ __props__.__dict__["name"] = name
501
+ if priority is None and not opts.urn:
502
+ raise TypeError("Missing required property 'priority'")
503
+ __props__.__dict__["priority"] = priority
504
+ __props__.__dict__["project_id"] = project_id
505
+ if type is None and not opts.urn:
506
+ raise TypeError("Missing required property 'type'")
507
+ __props__.__dict__["type"] = type
508
+ if value is None and not opts.urn:
509
+ raise TypeError("Missing required property 'value'")
510
+ __props__.__dict__["value"] = value
511
+ __props__.__dict__["zone"] = zone
512
+ super(InstancePolicy, __self__).__init__(
513
+ 'scaleway:autoscaling/instancePolicy:InstancePolicy',
514
+ resource_name,
515
+ __props__,
516
+ opts)
517
+
518
+ @staticmethod
519
+ def get(resource_name: str,
520
+ id: pulumi.Input[str],
521
+ opts: Optional[pulumi.ResourceOptions] = None,
522
+ action: Optional[pulumi.Input[_builtins.str]] = None,
523
+ instance_group_id: Optional[pulumi.Input[_builtins.str]] = None,
524
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
525
+ name: Optional[pulumi.Input[_builtins.str]] = None,
526
+ priority: Optional[pulumi.Input[_builtins.int]] = None,
527
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
528
+ type: Optional[pulumi.Input[_builtins.str]] = None,
529
+ value: Optional[pulumi.Input[_builtins.int]] = None,
530
+ zone: Optional[pulumi.Input[_builtins.str]] = None) -> 'InstancePolicy':
531
+ """
532
+ Get an existing InstancePolicy resource's state with the given name, id, and optional extra
533
+ properties used to qualify the lookup.
534
+
535
+ :param str resource_name: The unique name of the resulting resource.
536
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
537
+ :param pulumi.ResourceOptions opts: Options for the resource.
538
+ :param pulumi.Input[_builtins.str] action: The action to execute when the metric-based condition is met.
539
+ :param pulumi.Input[_builtins.str] instance_group_id: The ID of the Instance group related to this policy.
540
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
541
+ :param pulumi.Input[_builtins.str] name: The Instance policy name.
542
+ :param pulumi.Input[_builtins.int] priority: The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
543
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
544
+ :param pulumi.Input[_builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
545
+ :param pulumi.Input[_builtins.int] value: The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
546
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance policy exists.
547
+ """
548
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
549
+
550
+ __props__ = _InstancePolicyState.__new__(_InstancePolicyState)
551
+
552
+ __props__.__dict__["action"] = action
553
+ __props__.__dict__["instance_group_id"] = instance_group_id
554
+ __props__.__dict__["metrics"] = metrics
555
+ __props__.__dict__["name"] = name
556
+ __props__.__dict__["priority"] = priority
557
+ __props__.__dict__["project_id"] = project_id
558
+ __props__.__dict__["type"] = type
559
+ __props__.__dict__["value"] = value
560
+ __props__.__dict__["zone"] = zone
561
+ return InstancePolicy(resource_name, opts=opts, __props__=__props__)
562
+
563
+ @_builtins.property
564
+ @pulumi.getter
565
+ def action(self) -> pulumi.Output[_builtins.str]:
566
+ """
567
+ The action to execute when the metric-based condition is met.
568
+ """
569
+ return pulumi.get(self, "action")
570
+
571
+ @_builtins.property
572
+ @pulumi.getter(name="instanceGroupId")
573
+ def instance_group_id(self) -> pulumi.Output[_builtins.str]:
574
+ """
575
+ The ID of the Instance group related to this policy.
576
+ """
577
+ return pulumi.get(self, "instance_group_id")
578
+
579
+ @_builtins.property
580
+ @pulumi.getter
581
+ def metrics(self) -> pulumi.Output[Sequence['outputs.InstancePolicyMetric']]:
582
+ """
583
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
584
+ """
585
+ return pulumi.get(self, "metrics")
586
+
587
+ @_builtins.property
588
+ @pulumi.getter
589
+ def name(self) -> pulumi.Output[_builtins.str]:
590
+ """
591
+ The Instance policy name.
592
+ """
593
+ return pulumi.get(self, "name")
594
+
595
+ @_builtins.property
596
+ @pulumi.getter
597
+ def priority(self) -> pulumi.Output[_builtins.int]:
598
+ """
599
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
600
+ """
601
+ return pulumi.get(self, "priority")
602
+
603
+ @_builtins.property
604
+ @pulumi.getter(name="projectId")
605
+ def project_id(self) -> pulumi.Output[_builtins.str]:
606
+ """
607
+ `project_id`) The ID of the Project the Instance policy is associated with.
608
+ """
609
+ return pulumi.get(self, "project_id")
610
+
611
+ @_builtins.property
612
+ @pulumi.getter
613
+ def type(self) -> pulumi.Output[_builtins.str]:
614
+ """
615
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
616
+ """
617
+ return pulumi.get(self, "type")
618
+
619
+ @_builtins.property
620
+ @pulumi.getter
621
+ def value(self) -> pulumi.Output[_builtins.int]:
622
+ """
623
+ The value representing the magnitude of the scaling action to take for the Instance group. Depending on the `type` parameter, this number could represent a total number of Instances in the group, a number of Instances to add, or a percentage to scale the group by.
624
+ """
625
+ return pulumi.get(self, "value")
626
+
627
+ @_builtins.property
628
+ @pulumi.getter
629
+ def zone(self) -> pulumi.Output[Optional[_builtins.str]]:
630
+ """
631
+ `zone`) The zone in which the Instance policy exists.
632
+ """
633
+ return pulumi.get(self, "zone")
634
+