pulumiverse-scaleway 1.30.0a1750140900__py3-none-any.whl → 1.31.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. pulumiverse_scaleway/__init__.py +38 -1
  2. pulumiverse_scaleway/_inputs.py +2331 -2160
  3. pulumiverse_scaleway/_utilities.py +1 -1
  4. pulumiverse_scaleway/account/__init__.py +2 -1
  5. pulumiverse_scaleway/account/get_availability_zones.py +9 -8
  6. pulumiverse_scaleway/account/get_project.py +21 -20
  7. pulumiverse_scaleway/account/get_projects.py +28 -21
  8. pulumiverse_scaleway/account/get_ssh_key.py +24 -23
  9. pulumiverse_scaleway/account/outputs.py +20 -19
  10. pulumiverse_scaleway/account/project.py +59 -57
  11. pulumiverse_scaleway/account/ssh_key.py +87 -85
  12. pulumiverse_scaleway/account_project.py +59 -57
  13. pulumiverse_scaleway/account_ssh_key.py +87 -85
  14. pulumiverse_scaleway/apple_silicon_server.py +251 -155
  15. pulumiverse_scaleway/applesilicon/__init__.py +2 -1
  16. pulumiverse_scaleway/applesilicon/_inputs.py +89 -34
  17. pulumiverse_scaleway/applesilicon/outputs.py +54 -21
  18. pulumiverse_scaleway/applesilicon/server.py +251 -155
  19. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  20. pulumiverse_scaleway/autoscaling/_inputs.py +559 -0
  21. pulumiverse_scaleway/autoscaling/instance_group.py +808 -0
  22. pulumiverse_scaleway/autoscaling/instance_policy.py +635 -0
  23. pulumiverse_scaleway/autoscaling/instance_template.py +879 -0
  24. pulumiverse_scaleway/autoscaling/outputs.py +439 -0
  25. pulumiverse_scaleway/baremetal_server.py +262 -260
  26. pulumiverse_scaleway/billing/__init__.py +2 -1
  27. pulumiverse_scaleway/billing/get_consumptions.py +10 -9
  28. pulumiverse_scaleway/billing/get_invoices.py +19 -18
  29. pulumiverse_scaleway/billing/outputs.py +73 -72
  30. pulumiverse_scaleway/block/__init__.py +2 -1
  31. pulumiverse_scaleway/block/_inputs.py +12 -11
  32. pulumiverse_scaleway/block/get_snapshot.py +29 -28
  33. pulumiverse_scaleway/block/get_volume.py +28 -27
  34. pulumiverse_scaleway/block/outputs.py +14 -13
  35. pulumiverse_scaleway/block/snapshot.py +73 -71
  36. pulumiverse_scaleway/block/volume.py +115 -113
  37. pulumiverse_scaleway/block_snapshot.py +73 -71
  38. pulumiverse_scaleway/block_volume.py +115 -113
  39. pulumiverse_scaleway/cockpit.py +38 -36
  40. pulumiverse_scaleway/cockpit_alert_manager.py +52 -50
  41. pulumiverse_scaleway/cockpit_grafana_user.py +59 -57
  42. pulumiverse_scaleway/cockpit_source.py +115 -113
  43. pulumiverse_scaleway/cockpit_token.py +66 -64
  44. pulumiverse_scaleway/config/__init__.py +2 -1
  45. pulumiverse_scaleway/config/__init__.pyi +2 -1
  46. pulumiverse_scaleway/config/vars.py +2 -1
  47. pulumiverse_scaleway/container.py +573 -343
  48. pulumiverse_scaleway/container_cron.py +80 -78
  49. pulumiverse_scaleway/container_domain.py +52 -50
  50. pulumiverse_scaleway/container_namespace.py +211 -140
  51. pulumiverse_scaleway/container_token.py +80 -78
  52. pulumiverse_scaleway/container_trigger.py +59 -57
  53. pulumiverse_scaleway/containers/__init__.py +2 -1
  54. pulumiverse_scaleway/containers/_inputs.py +72 -71
  55. pulumiverse_scaleway/containers/container.py +573 -343
  56. pulumiverse_scaleway/containers/cron.py +80 -78
  57. pulumiverse_scaleway/containers/domain.py +52 -50
  58. pulumiverse_scaleway/containers/get_container.py +87 -42
  59. pulumiverse_scaleway/containers/get_namespace.py +43 -31
  60. pulumiverse_scaleway/containers/namespace.py +211 -140
  61. pulumiverse_scaleway/containers/outputs.py +62 -61
  62. pulumiverse_scaleway/containers/token.py +80 -78
  63. pulumiverse_scaleway/containers/trigger.py +59 -57
  64. pulumiverse_scaleway/database.py +66 -64
  65. pulumiverse_scaleway/database_acl.py +31 -29
  66. pulumiverse_scaleway/database_backup.py +101 -99
  67. pulumiverse_scaleway/database_instance.py +297 -295
  68. pulumiverse_scaleway/database_privilege.py +73 -71
  69. pulumiverse_scaleway/database_read_replica.py +45 -43
  70. pulumiverse_scaleway/database_user.py +73 -71
  71. pulumiverse_scaleway/databases/__init__.py +2 -1
  72. pulumiverse_scaleway/databases/_inputs.py +191 -190
  73. pulumiverse_scaleway/databases/acl.py +31 -29
  74. pulumiverse_scaleway/databases/database.py +66 -64
  75. pulumiverse_scaleway/databases/database_backup.py +101 -99
  76. pulumiverse_scaleway/databases/get_acl.py +13 -12
  77. pulumiverse_scaleway/databases/get_database.py +19 -18
  78. pulumiverse_scaleway/databases/get_database_backup.py +34 -33
  79. pulumiverse_scaleway/databases/get_instance.py +43 -42
  80. pulumiverse_scaleway/databases/get_privilege.py +24 -23
  81. pulumiverse_scaleway/databases/instance.py +297 -295
  82. pulumiverse_scaleway/databases/outputs.py +188 -187
  83. pulumiverse_scaleway/databases/privilege.py +73 -71
  84. pulumiverse_scaleway/databases/read_replica.py +45 -43
  85. pulumiverse_scaleway/databases/serverless_database.py +80 -78
  86. pulumiverse_scaleway/databases/snapshot.py +101 -99
  87. pulumiverse_scaleway/databases/user.py +73 -71
  88. pulumiverse_scaleway/domain/__init__.py +2 -1
  89. pulumiverse_scaleway/domain/_inputs.py +531 -530
  90. pulumiverse_scaleway/domain/get_record.py +38 -37
  91. pulumiverse_scaleway/domain/get_zone.py +24 -23
  92. pulumiverse_scaleway/domain/outputs.py +358 -357
  93. pulumiverse_scaleway/domain/record.py +129 -127
  94. pulumiverse_scaleway/domain/registration.py +94 -92
  95. pulumiverse_scaleway/domain/zone.py +87 -85
  96. pulumiverse_scaleway/domain_record.py +129 -127
  97. pulumiverse_scaleway/domain_zone.py +87 -85
  98. pulumiverse_scaleway/edge_services_backend_stage.py +45 -43
  99. pulumiverse_scaleway/edge_services_cache_stage.py +162 -113
  100. pulumiverse_scaleway/edge_services_dns_stage.py +108 -106
  101. pulumiverse_scaleway/edge_services_head_stage.py +31 -29
  102. pulumiverse_scaleway/edge_services_pipeline.py +66 -64
  103. pulumiverse_scaleway/edge_services_plan.py +31 -29
  104. pulumiverse_scaleway/edge_services_route_stage.py +59 -57
  105. pulumiverse_scaleway/edge_services_tls_stage.py +122 -120
  106. pulumiverse_scaleway/edge_services_waf_stage.py +87 -85
  107. pulumiverse_scaleway/elasticmetal/__init__.py +2 -1
  108. pulumiverse_scaleway/elasticmetal/_inputs.py +123 -122
  109. pulumiverse_scaleway/elasticmetal/get_ip.py +56 -39
  110. pulumiverse_scaleway/elasticmetal/get_ips.py +24 -23
  111. pulumiverse_scaleway/elasticmetal/get_offer.py +29 -28
  112. pulumiverse_scaleway/elasticmetal/get_option.py +19 -18
  113. pulumiverse_scaleway/elasticmetal/get_os.py +23 -22
  114. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +29 -28
  115. pulumiverse_scaleway/elasticmetal/get_server.py +39 -38
  116. pulumiverse_scaleway/elasticmetal/ip.py +139 -137
  117. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +87 -85
  118. pulumiverse_scaleway/elasticmetal/outputs.py +233 -232
  119. pulumiverse_scaleway/elasticmetal/server.py +262 -260
  120. pulumiverse_scaleway/file_filesystem.py +552 -0
  121. pulumiverse_scaleway/flexible_ip.py +139 -137
  122. pulumiverse_scaleway/flexible_ip_mac_address.py +87 -85
  123. pulumiverse_scaleway/function.py +394 -284
  124. pulumiverse_scaleway/function_cron.py +80 -78
  125. pulumiverse_scaleway/function_domain.py +52 -50
  126. pulumiverse_scaleway/function_namespace.py +197 -126
  127. pulumiverse_scaleway/function_token.py +80 -78
  128. pulumiverse_scaleway/function_trigger.py +59 -57
  129. pulumiverse_scaleway/functions/__init__.py +2 -1
  130. pulumiverse_scaleway/functions/_inputs.py +42 -41
  131. pulumiverse_scaleway/functions/cron.py +80 -78
  132. pulumiverse_scaleway/functions/domain.py +52 -50
  133. pulumiverse_scaleway/functions/function.py +394 -284
  134. pulumiverse_scaleway/functions/get_function.py +69 -46
  135. pulumiverse_scaleway/functions/get_namespace.py +42 -30
  136. pulumiverse_scaleway/functions/namespace.py +197 -126
  137. pulumiverse_scaleway/functions/outputs.py +26 -25
  138. pulumiverse_scaleway/functions/token.py +80 -78
  139. pulumiverse_scaleway/functions/trigger.py +59 -57
  140. pulumiverse_scaleway/get_account_project.py +21 -20
  141. pulumiverse_scaleway/get_account_ssh_key.py +24 -23
  142. pulumiverse_scaleway/get_availability_zones.py +9 -8
  143. pulumiverse_scaleway/get_baremetal_offer.py +29 -28
  144. pulumiverse_scaleway/get_baremetal_option.py +19 -18
  145. pulumiverse_scaleway/get_baremetal_os.py +23 -22
  146. pulumiverse_scaleway/get_baremetal_server.py +39 -38
  147. pulumiverse_scaleway/get_billing_consumptions.py +10 -9
  148. pulumiverse_scaleway/get_billing_invoices.py +19 -18
  149. pulumiverse_scaleway/get_block_snapshot.py +29 -28
  150. pulumiverse_scaleway/get_block_volume.py +28 -27
  151. pulumiverse_scaleway/get_cockpit.py +10 -9
  152. pulumiverse_scaleway/get_cockpit_source.py +77 -33
  153. pulumiverse_scaleway/get_config.py +13 -12
  154. pulumiverse_scaleway/get_container.py +87 -42
  155. pulumiverse_scaleway/get_container_namespace.py +43 -31
  156. pulumiverse_scaleway/get_database.py +19 -18
  157. pulumiverse_scaleway/get_database_acl.py +13 -12
  158. pulumiverse_scaleway/get_database_backup.py +34 -33
  159. pulumiverse_scaleway/get_database_instance.py +43 -42
  160. pulumiverse_scaleway/get_database_privilege.py +24 -23
  161. pulumiverse_scaleway/get_domain_record.py +38 -37
  162. pulumiverse_scaleway/get_domain_zone.py +24 -23
  163. pulumiverse_scaleway/get_flexible_ip.py +56 -39
  164. pulumiverse_scaleway/get_flexible_ips.py +24 -23
  165. pulumiverse_scaleway/get_function.py +69 -46
  166. pulumiverse_scaleway/get_function_namespace.py +42 -30
  167. pulumiverse_scaleway/get_iam_api_key.py +17 -16
  168. pulumiverse_scaleway/get_iam_application.py +23 -22
  169. pulumiverse_scaleway/get_iam_group.py +25 -24
  170. pulumiverse_scaleway/get_iam_ssh_key.py +24 -23
  171. pulumiverse_scaleway/get_iam_user.py +23 -22
  172. pulumiverse_scaleway/get_instance_image.py +42 -41
  173. pulumiverse_scaleway/get_instance_ip.py +20 -19
  174. pulumiverse_scaleway/get_instance_placement_group.py +28 -27
  175. pulumiverse_scaleway/get_instance_private_nic.py +31 -30
  176. pulumiverse_scaleway/get_instance_security_group.py +31 -30
  177. pulumiverse_scaleway/get_instance_server.py +59 -47
  178. pulumiverse_scaleway/get_instance_servers.py +24 -23
  179. pulumiverse_scaleway/get_instance_snapshot.py +29 -28
  180. pulumiverse_scaleway/get_instance_volume.py +30 -29
  181. pulumiverse_scaleway/get_iot_device.py +31 -30
  182. pulumiverse_scaleway/get_iot_hub.py +39 -38
  183. pulumiverse_scaleway/get_ipam_ip.py +51 -50
  184. pulumiverse_scaleway/get_ipam_ips.py +44 -43
  185. pulumiverse_scaleway/get_k8s_version.py +16 -15
  186. pulumiverse_scaleway/get_kubernetes_cluster.py +39 -38
  187. pulumiverse_scaleway/get_kubernetes_node_pool.py +59 -47
  188. pulumiverse_scaleway/get_lb_acls.py +22 -21
  189. pulumiverse_scaleway/get_lb_backend.py +43 -42
  190. pulumiverse_scaleway/get_lb_backends.py +22 -21
  191. pulumiverse_scaleway/get_lb_frontend.py +26 -25
  192. pulumiverse_scaleway/get_lb_frontends.py +22 -21
  193. pulumiverse_scaleway/get_lb_ips.py +29 -28
  194. pulumiverse_scaleway/get_lb_route.py +16 -15
  195. pulumiverse_scaleway/get_lb_routes.py +17 -16
  196. pulumiverse_scaleway/get_lbs.py +24 -23
  197. pulumiverse_scaleway/get_loadbalancer.py +36 -35
  198. pulumiverse_scaleway/get_loadbalancer_certificate.py +24 -23
  199. pulumiverse_scaleway/get_loadbalancer_ip.py +29 -28
  200. pulumiverse_scaleway/get_marketplace_image.py +23 -22
  201. pulumiverse_scaleway/get_mnq_sns.py +14 -13
  202. pulumiverse_scaleway/get_mnq_sqs.py +14 -13
  203. pulumiverse_scaleway/get_mongo_db_instance.py +35 -34
  204. pulumiverse_scaleway/get_object_bucket.py +22 -21
  205. pulumiverse_scaleway/get_object_bucket_policy.py +17 -16
  206. pulumiverse_scaleway/get_redis_cluster.py +34 -33
  207. pulumiverse_scaleway/get_registry_image.py +37 -36
  208. pulumiverse_scaleway/get_registry_image_tag.py +33 -32
  209. pulumiverse_scaleway/get_registry_namespace.py +27 -26
  210. pulumiverse_scaleway/get_secret.py +41 -40
  211. pulumiverse_scaleway/get_secret_version.py +34 -33
  212. pulumiverse_scaleway/get_tem_domain.py +43 -42
  213. pulumiverse_scaleway/get_vpc.py +47 -35
  214. pulumiverse_scaleway/get_vpc_gateway_network.py +28 -27
  215. pulumiverse_scaleway/get_vpc_private_network.py +44 -32
  216. pulumiverse_scaleway/get_vpc_public_gateway.py +36 -35
  217. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +24 -23
  218. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +33 -32
  219. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +14 -13
  220. pulumiverse_scaleway/get_vpc_public_pat_rule.py +21 -20
  221. pulumiverse_scaleway/get_vpc_routes.py +38 -37
  222. pulumiverse_scaleway/get_vpcs.py +24 -23
  223. pulumiverse_scaleway/get_web_host_offer.py +25 -24
  224. pulumiverse_scaleway/get_webhosting.py +36 -35
  225. pulumiverse_scaleway/hosting/__init__.py +2 -1
  226. pulumiverse_scaleway/hosting/_inputs.py +61 -60
  227. pulumiverse_scaleway/hosting/get_hosting.py +36 -35
  228. pulumiverse_scaleway/hosting/get_offer.py +25 -24
  229. pulumiverse_scaleway/hosting/hosting.py +164 -162
  230. pulumiverse_scaleway/hosting/outputs.py +139 -138
  231. pulumiverse_scaleway/iam/__init__.py +2 -1
  232. pulumiverse_scaleway/iam/_inputs.py +22 -21
  233. pulumiverse_scaleway/iam/api_key.py +115 -113
  234. pulumiverse_scaleway/iam/application.py +80 -78
  235. pulumiverse_scaleway/iam/get_api_key.py +17 -16
  236. pulumiverse_scaleway/iam/get_application.py +23 -22
  237. pulumiverse_scaleway/iam/get_group.py +25 -24
  238. pulumiverse_scaleway/iam/get_ssh_key.py +24 -23
  239. pulumiverse_scaleway/iam/get_user.py +23 -22
  240. pulumiverse_scaleway/iam/group.py +115 -113
  241. pulumiverse_scaleway/iam/group_membership.py +45 -43
  242. pulumiverse_scaleway/iam/outputs.py +14 -13
  243. pulumiverse_scaleway/iam/policy.py +136 -134
  244. pulumiverse_scaleway/iam/ssh_key.py +87 -85
  245. pulumiverse_scaleway/iam/user.py +284 -273
  246. pulumiverse_scaleway/iam_api_key.py +115 -113
  247. pulumiverse_scaleway/iam_application.py +80 -78
  248. pulumiverse_scaleway/iam_group.py +115 -113
  249. pulumiverse_scaleway/iam_group_membership.py +45 -43
  250. pulumiverse_scaleway/iam_policy.py +136 -134
  251. pulumiverse_scaleway/iam_ssh_key.py +87 -85
  252. pulumiverse_scaleway/iam_user.py +284 -273
  253. pulumiverse_scaleway/inference/__init__.py +2 -1
  254. pulumiverse_scaleway/inference/_inputs.py +116 -61
  255. pulumiverse_scaleway/inference/deployment.py +225 -176
  256. pulumiverse_scaleway/inference/get_model.py +27 -26
  257. pulumiverse_scaleway/inference/model.py +129 -127
  258. pulumiverse_scaleway/inference/outputs.py +82 -49
  259. pulumiverse_scaleway/inference_deployment.py +225 -176
  260. pulumiverse_scaleway/instance/__init__.py +2 -1
  261. pulumiverse_scaleway/instance/_inputs.py +296 -295
  262. pulumiverse_scaleway/instance/get_image.py +42 -41
  263. pulumiverse_scaleway/instance/get_ip.py +20 -19
  264. pulumiverse_scaleway/instance/get_placement_group.py +28 -27
  265. pulumiverse_scaleway/instance/get_private_nic.py +31 -30
  266. pulumiverse_scaleway/instance/get_security_group.py +31 -30
  267. pulumiverse_scaleway/instance/get_server.py +59 -47
  268. pulumiverse_scaleway/instance/get_servers.py +24 -23
  269. pulumiverse_scaleway/instance/get_snapshot.py +29 -28
  270. pulumiverse_scaleway/instance/get_volume.py +30 -29
  271. pulumiverse_scaleway/instance/image.py +150 -148
  272. pulumiverse_scaleway/instance/ip.py +94 -92
  273. pulumiverse_scaleway/instance/ip_reverse_dns.py +45 -43
  274. pulumiverse_scaleway/instance/outputs.py +349 -348
  275. pulumiverse_scaleway/instance/placement_group.py +101 -99
  276. pulumiverse_scaleway/instance/private_nic.py +94 -92
  277. pulumiverse_scaleway/instance/security_group.py +150 -148
  278. pulumiverse_scaleway/instance/security_group_rules.py +17 -15
  279. pulumiverse_scaleway/instance/server.py +393 -330
  280. pulumiverse_scaleway/instance/snapshot.py +108 -106
  281. pulumiverse_scaleway/instance/user_data.py +59 -57
  282. pulumiverse_scaleway/instance/volume.py +129 -127
  283. pulumiverse_scaleway/instance_image.py +150 -148
  284. pulumiverse_scaleway/instance_ip.py +94 -92
  285. pulumiverse_scaleway/instance_ip_reverse_dns.py +45 -43
  286. pulumiverse_scaleway/instance_placement_group.py +101 -99
  287. pulumiverse_scaleway/instance_private_nic.py +94 -92
  288. pulumiverse_scaleway/instance_security_group.py +150 -148
  289. pulumiverse_scaleway/instance_security_group_rules.py +17 -15
  290. pulumiverse_scaleway/instance_server.py +393 -330
  291. pulumiverse_scaleway/instance_snapshot.py +108 -106
  292. pulumiverse_scaleway/instance_user_data.py +59 -57
  293. pulumiverse_scaleway/instance_volume.py +129 -127
  294. pulumiverse_scaleway/iot/__init__.py +2 -1
  295. pulumiverse_scaleway/iot/_inputs.py +98 -97
  296. pulumiverse_scaleway/iot/device.py +122 -120
  297. pulumiverse_scaleway/iot/get_device.py +31 -30
  298. pulumiverse_scaleway/iot/get_hub.py +39 -38
  299. pulumiverse_scaleway/iot/hub.py +206 -204
  300. pulumiverse_scaleway/iot/network.py +94 -92
  301. pulumiverse_scaleway/iot/outputs.py +78 -77
  302. pulumiverse_scaleway/iot/route.py +66 -64
  303. pulumiverse_scaleway/iot_device.py +122 -120
  304. pulumiverse_scaleway/iot_hub.py +206 -204
  305. pulumiverse_scaleway/iot_network.py +94 -92
  306. pulumiverse_scaleway/iot_route.py +66 -64
  307. pulumiverse_scaleway/ipam/__init__.py +2 -1
  308. pulumiverse_scaleway/ipam/_inputs.py +87 -86
  309. pulumiverse_scaleway/ipam/get_ip.py +51 -50
  310. pulumiverse_scaleway/ipam/get_ips.py +44 -43
  311. pulumiverse_scaleway/ipam/ip.py +94 -92
  312. pulumiverse_scaleway/ipam/ip_reverse_dns.py +59 -57
  313. pulumiverse_scaleway/ipam/outputs.py +90 -89
  314. pulumiverse_scaleway/ipam_ip.py +94 -92
  315. pulumiverse_scaleway/ipam_ip_reverse_dns.py +59 -57
  316. pulumiverse_scaleway/job/__init__.py +2 -1
  317. pulumiverse_scaleway/job/_inputs.py +38 -37
  318. pulumiverse_scaleway/job/definition.py +143 -141
  319. pulumiverse_scaleway/job/outputs.py +24 -23
  320. pulumiverse_scaleway/job_definition.py +143 -141
  321. pulumiverse_scaleway/kubernetes/__init__.py +2 -1
  322. pulumiverse_scaleway/kubernetes/_inputs.py +190 -189
  323. pulumiverse_scaleway/kubernetes/acl.py +45 -43
  324. pulumiverse_scaleway/kubernetes/cluster.py +234 -232
  325. pulumiverse_scaleway/kubernetes/get_cluster.py +39 -38
  326. pulumiverse_scaleway/kubernetes/get_pool.py +59 -47
  327. pulumiverse_scaleway/kubernetes/get_version.py +16 -15
  328. pulumiverse_scaleway/kubernetes/outputs.py +217 -216
  329. pulumiverse_scaleway/kubernetes/pool.py +351 -288
  330. pulumiverse_scaleway/kubernetes_cluster.py +234 -232
  331. pulumiverse_scaleway/kubernetes_node_pool.py +351 -288
  332. pulumiverse_scaleway/loadbalancer.py +199 -197
  333. pulumiverse_scaleway/loadbalancer_acl.py +80 -78
  334. pulumiverse_scaleway/loadbalancer_backend.py +381 -379
  335. pulumiverse_scaleway/loadbalancer_certificate.py +73 -71
  336. pulumiverse_scaleway/loadbalancer_frontend.py +136 -134
  337. pulumiverse_scaleway/loadbalancer_ip.py +101 -99
  338. pulumiverse_scaleway/loadbalancer_route.py +101 -99
  339. pulumiverse_scaleway/loadbalancers/__init__.py +2 -1
  340. pulumiverse_scaleway/loadbalancers/_inputs.py +263 -222
  341. pulumiverse_scaleway/loadbalancers/acl.py +80 -78
  342. pulumiverse_scaleway/loadbalancers/backend.py +381 -379
  343. pulumiverse_scaleway/loadbalancers/certificate.py +73 -71
  344. pulumiverse_scaleway/loadbalancers/frontend.py +136 -134
  345. pulumiverse_scaleway/loadbalancers/get_acls.py +22 -21
  346. pulumiverse_scaleway/loadbalancers/get_backend.py +43 -42
  347. pulumiverse_scaleway/loadbalancers/get_backends.py +22 -21
  348. pulumiverse_scaleway/loadbalancers/get_certificate.py +24 -23
  349. pulumiverse_scaleway/loadbalancers/get_frontend.py +26 -25
  350. pulumiverse_scaleway/loadbalancers/get_frontends.py +22 -21
  351. pulumiverse_scaleway/loadbalancers/get_ip.py +29 -28
  352. pulumiverse_scaleway/loadbalancers/get_ips.py +29 -28
  353. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +36 -35
  354. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +24 -23
  355. pulumiverse_scaleway/loadbalancers/get_route.py +16 -15
  356. pulumiverse_scaleway/loadbalancers/get_routes.py +17 -16
  357. pulumiverse_scaleway/loadbalancers/ip.py +101 -99
  358. pulumiverse_scaleway/loadbalancers/load_balancer.py +199 -197
  359. pulumiverse_scaleway/loadbalancers/outputs.py +581 -530
  360. pulumiverse_scaleway/loadbalancers/route.py +101 -99
  361. pulumiverse_scaleway/mnq/__init__.py +2 -1
  362. pulumiverse_scaleway/mnq/_inputs.py +32 -31
  363. pulumiverse_scaleway/mnq/get_sns.py +14 -13
  364. pulumiverse_scaleway/mnq/get_sqs.py +14 -13
  365. pulumiverse_scaleway/mnq/nats_account.py +52 -50
  366. pulumiverse_scaleway/mnq/nats_credentials.py +52 -50
  367. pulumiverse_scaleway/mnq/outputs.py +20 -19
  368. pulumiverse_scaleway/mnq/sns.py +38 -36
  369. pulumiverse_scaleway/mnq/sns_credentials.py +59 -57
  370. pulumiverse_scaleway/mnq/sns_topic.py +143 -141
  371. pulumiverse_scaleway/mnq/sns_topic_subscription.py +150 -148
  372. pulumiverse_scaleway/mnq/sqs.py +38 -36
  373. pulumiverse_scaleway/mnq/sqs_credentials.py +59 -57
  374. pulumiverse_scaleway/mnq/sqs_queue.py +192 -190
  375. pulumiverse_scaleway/mnq_nats_account.py +52 -50
  376. pulumiverse_scaleway/mnq_nats_credentials.py +52 -50
  377. pulumiverse_scaleway/mnq_sns.py +38 -36
  378. pulumiverse_scaleway/mnq_sns_credentials.py +59 -57
  379. pulumiverse_scaleway/mnq_sns_topic.py +143 -141
  380. pulumiverse_scaleway/mnq_sns_topic_subscription.py +150 -148
  381. pulumiverse_scaleway/mnq_sqs.py +38 -36
  382. pulumiverse_scaleway/mnq_sqs_credentials.py +59 -57
  383. pulumiverse_scaleway/mnq_sqs_queue.py +192 -190
  384. pulumiverse_scaleway/mongo_db_instance.py +199 -197
  385. pulumiverse_scaleway/mongo_db_snapshot.py +101 -99
  386. pulumiverse_scaleway/mongodb/__init__.py +2 -1
  387. pulumiverse_scaleway/mongodb/_inputs.py +53 -52
  388. pulumiverse_scaleway/mongodb/get_instance.py +35 -34
  389. pulumiverse_scaleway/mongodb/instance.py +199 -197
  390. pulumiverse_scaleway/mongodb/outputs.py +64 -63
  391. pulumiverse_scaleway/mongodb/snapshot.py +101 -99
  392. pulumiverse_scaleway/network/__init__.py +2 -1
  393. pulumiverse_scaleway/network/_inputs.py +140 -139
  394. pulumiverse_scaleway/network/acl.py +59 -57
  395. pulumiverse_scaleway/network/gateway_network.py +143 -141
  396. pulumiverse_scaleway/network/get_gateway_network.py +28 -27
  397. pulumiverse_scaleway/network/get_private_network.py +44 -32
  398. pulumiverse_scaleway/network/get_public_gateway.py +36 -35
  399. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +24 -23
  400. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +33 -32
  401. pulumiverse_scaleway/network/get_public_gateway_ip.py +14 -13
  402. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +21 -20
  403. pulumiverse_scaleway/network/get_routes.py +38 -37
  404. pulumiverse_scaleway/network/get_vpc.py +47 -35
  405. pulumiverse_scaleway/network/get_vpcs.py +24 -23
  406. pulumiverse_scaleway/network/outputs.py +206 -205
  407. pulumiverse_scaleway/network/private_network.py +170 -121
  408. pulumiverse_scaleway/network/public_gateway.py +213 -211
  409. pulumiverse_scaleway/network/public_gateway_dhcp.py +234 -232
  410. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +87 -85
  411. pulumiverse_scaleway/network/public_gateway_ip.py +87 -85
  412. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +45 -43
  413. pulumiverse_scaleway/network/public_gateway_pat_rule.py +108 -106
  414. pulumiverse_scaleway/network/route.py +115 -113
  415. pulumiverse_scaleway/network/vpc.py +149 -100
  416. pulumiverse_scaleway/object/__init__.py +2 -1
  417. pulumiverse_scaleway/object/_inputs.py +157 -134
  418. pulumiverse_scaleway/object/bucket.py +115 -113
  419. pulumiverse_scaleway/object/bucket_acl.py +79 -75
  420. pulumiverse_scaleway/object/bucket_lock_configuration.py +45 -43
  421. pulumiverse_scaleway/object/bucket_policy.py +59 -57
  422. pulumiverse_scaleway/object/bucket_website_configuration.py +85 -65
  423. pulumiverse_scaleway/object/get_bucket.py +22 -21
  424. pulumiverse_scaleway/object/get_bucket_policy.py +17 -16
  425. pulumiverse_scaleway/object/item.py +232 -183
  426. pulumiverse_scaleway/object/outputs.py +133 -118
  427. pulumiverse_scaleway/object_bucket.py +115 -113
  428. pulumiverse_scaleway/object_bucket_acl.py +79 -75
  429. pulumiverse_scaleway/object_bucket_lock_configuration.py +45 -43
  430. pulumiverse_scaleway/object_bucket_policy.py +59 -57
  431. pulumiverse_scaleway/object_bucket_website_configuration.py +85 -65
  432. pulumiverse_scaleway/object_item.py +232 -183
  433. pulumiverse_scaleway/observability/__init__.py +2 -1
  434. pulumiverse_scaleway/observability/_inputs.py +89 -88
  435. pulumiverse_scaleway/observability/alert_manager.py +52 -50
  436. pulumiverse_scaleway/observability/cockpit.py +38 -36
  437. pulumiverse_scaleway/observability/get_instance.py +10 -9
  438. pulumiverse_scaleway/observability/get_source.py +77 -33
  439. pulumiverse_scaleway/observability/grafana_user.py +59 -57
  440. pulumiverse_scaleway/observability/outputs.py +77 -76
  441. pulumiverse_scaleway/observability/source.py +115 -113
  442. pulumiverse_scaleway/observability/token.py +66 -64
  443. pulumiverse_scaleway/outputs.py +2870 -2741
  444. pulumiverse_scaleway/provider.py +87 -65
  445. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  446. pulumiverse_scaleway/rdb_snapshot.py +101 -99
  447. pulumiverse_scaleway/redis/__init__.py +2 -1
  448. pulumiverse_scaleway/redis/_inputs.py +63 -62
  449. pulumiverse_scaleway/redis/cluster.py +178 -176
  450. pulumiverse_scaleway/redis/get_cluster.py +34 -33
  451. pulumiverse_scaleway/redis/outputs.py +74 -73
  452. pulumiverse_scaleway/redis_cluster.py +178 -176
  453. pulumiverse_scaleway/registry/__init__.py +2 -1
  454. pulumiverse_scaleway/registry/get_image.py +37 -36
  455. pulumiverse_scaleway/registry/get_image_tag.py +33 -32
  456. pulumiverse_scaleway/registry/get_namespace.py +27 -26
  457. pulumiverse_scaleway/registry/namespace.py +87 -85
  458. pulumiverse_scaleway/registry_namespace.py +87 -85
  459. pulumiverse_scaleway/sdb_database.py +80 -78
  460. pulumiverse_scaleway/secret.py +143 -141
  461. pulumiverse_scaleway/secret_version.py +87 -85
  462. pulumiverse_scaleway/secrets/__init__.py +2 -1
  463. pulumiverse_scaleway/secrets/_inputs.py +53 -52
  464. pulumiverse_scaleway/secrets/get_secret.py +41 -40
  465. pulumiverse_scaleway/secrets/get_version.py +34 -33
  466. pulumiverse_scaleway/secrets/outputs.py +64 -63
  467. pulumiverse_scaleway/secrets/secret.py +143 -141
  468. pulumiverse_scaleway/secrets/version.py +87 -85
  469. pulumiverse_scaleway/tem/__init__.py +2 -1
  470. pulumiverse_scaleway/tem/_inputs.py +28 -27
  471. pulumiverse_scaleway/tem/blocked_list.py +87 -85
  472. pulumiverse_scaleway/tem/domain.py +199 -197
  473. pulumiverse_scaleway/tem/domain_validation.py +52 -50
  474. pulumiverse_scaleway/tem/get_domain.py +43 -42
  475. pulumiverse_scaleway/tem/get_offer_subscription.py +22 -21
  476. pulumiverse_scaleway/tem/outputs.py +34 -33
  477. pulumiverse_scaleway/tem/webhook.py +108 -106
  478. pulumiverse_scaleway/tem_domain.py +199 -197
  479. pulumiverse_scaleway/tem_domain_validation.py +52 -50
  480. pulumiverse_scaleway/tem_webhook.py +108 -106
  481. pulumiverse_scaleway/vpc.py +149 -100
  482. pulumiverse_scaleway/vpc_gateway_network.py +143 -141
  483. pulumiverse_scaleway/vpc_private_network.py +170 -121
  484. pulumiverse_scaleway/vpc_public_gateway.py +213 -211
  485. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +234 -232
  486. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +87 -85
  487. pulumiverse_scaleway/vpc_public_gateway_ip.py +87 -85
  488. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +45 -43
  489. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +108 -106
  490. pulumiverse_scaleway/vpc_route.py +115 -113
  491. pulumiverse_scaleway/webhosting.py +164 -162
  492. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/METADATA +2 -2
  493. pulumiverse_scaleway-1.31.0.dist-info/RECORD +496 -0
  494. pulumiverse_scaleway/elasticmetal/get_easy_partitioning.py +0 -177
  495. pulumiverse_scaleway/get_cockpit_plan.py +0 -94
  496. pulumiverse_scaleway/observability/get_plan.py +0 -90
  497. pulumiverse_scaleway-1.30.0a1750140900.dist-info/RECORD +0 -492
  498. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/WHEEL +0 -0
  499. {pulumiverse_scaleway-1.30.0a1750140900.dist-info → pulumiverse_scaleway-1.31.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,635 @@
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
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['InstancePolicyArgs', 'InstancePolicy']
21
+
22
+ @pulumi.input_type
23
+ class InstancePolicyArgs:
24
+ def __init__(__self__, *,
25
+ action: pulumi.Input[builtins.str],
26
+ instance_group_id: pulumi.Input[builtins.str],
27
+ priority: pulumi.Input[builtins.int],
28
+ type: pulumi.Input[builtins.str],
29
+ value: pulumi.Input[builtins.int],
30
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]] = None,
31
+ name: Optional[pulumi.Input[builtins.str]] = None,
32
+ project_id: Optional[pulumi.Input[builtins.str]] = None,
33
+ zone: Optional[pulumi.Input[builtins.str]] = None):
34
+ """
35
+ The set of arguments for constructing a InstancePolicy resource.
36
+ :param pulumi.Input[builtins.str] action: The action to execute when the metric-based condition is met.
37
+ :param pulumi.Input[builtins.str] instance_group_id: The ID of the Instance group related to this policy.
38
+ :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.
39
+ :param pulumi.Input[builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
40
+ :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.
41
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
42
+ :param pulumi.Input[builtins.str] name: The Instance policy name.
43
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
44
+ :param pulumi.Input[builtins.str] zone: `zone`) The zone in which the Instance policy exists.
45
+ """
46
+ pulumi.set(__self__, "action", action)
47
+ pulumi.set(__self__, "instance_group_id", instance_group_id)
48
+ pulumi.set(__self__, "priority", priority)
49
+ pulumi.set(__self__, "type", type)
50
+ pulumi.set(__self__, "value", value)
51
+ if metrics is not None:
52
+ pulumi.set(__self__, "metrics", metrics)
53
+ if name is not None:
54
+ pulumi.set(__self__, "name", name)
55
+ if project_id is not None:
56
+ pulumi.set(__self__, "project_id", project_id)
57
+ if zone is not None:
58
+ pulumi.set(__self__, "zone", zone)
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def action(self) -> pulumi.Input[builtins.str]:
63
+ """
64
+ The action to execute when the metric-based condition is met.
65
+ """
66
+ return pulumi.get(self, "action")
67
+
68
+ @action.setter
69
+ def action(self, value: pulumi.Input[builtins.str]):
70
+ pulumi.set(self, "action", value)
71
+
72
+ @property
73
+ @pulumi.getter(name="instanceGroupId")
74
+ def instance_group_id(self) -> pulumi.Input[builtins.str]:
75
+ """
76
+ The ID of the Instance group related to this policy.
77
+ """
78
+ return pulumi.get(self, "instance_group_id")
79
+
80
+ @instance_group_id.setter
81
+ def instance_group_id(self, value: pulumi.Input[builtins.str]):
82
+ pulumi.set(self, "instance_group_id", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def priority(self) -> pulumi.Input[builtins.int]:
87
+ """
88
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
89
+ """
90
+ return pulumi.get(self, "priority")
91
+
92
+ @priority.setter
93
+ def priority(self, value: pulumi.Input[builtins.int]):
94
+ pulumi.set(self, "priority", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def type(self) -> pulumi.Input[builtins.str]:
99
+ """
100
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
101
+ """
102
+ return pulumi.get(self, "type")
103
+
104
+ @type.setter
105
+ def type(self, value: pulumi.Input[builtins.str]):
106
+ pulumi.set(self, "type", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def value(self) -> pulumi.Input[builtins.int]:
111
+ """
112
+ 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.
113
+ """
114
+ return pulumi.get(self, "value")
115
+
116
+ @value.setter
117
+ def value(self, value: pulumi.Input[builtins.int]):
118
+ pulumi.set(self, "value", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]:
123
+ """
124
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
125
+ """
126
+ return pulumi.get(self, "metrics")
127
+
128
+ @metrics.setter
129
+ def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]):
130
+ pulumi.set(self, "metrics", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
135
+ """
136
+ The Instance policy name.
137
+ """
138
+ return pulumi.get(self, "name")
139
+
140
+ @name.setter
141
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
142
+ pulumi.set(self, "name", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="projectId")
146
+ def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
147
+ """
148
+ `project_id`) The ID of the Project the Instance policy is associated with.
149
+ """
150
+ return pulumi.get(self, "project_id")
151
+
152
+ @project_id.setter
153
+ def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
154
+ pulumi.set(self, "project_id", value)
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def zone(self) -> Optional[pulumi.Input[builtins.str]]:
159
+ """
160
+ `zone`) The zone in which the Instance policy exists.
161
+ """
162
+ return pulumi.get(self, "zone")
163
+
164
+ @zone.setter
165
+ def zone(self, value: Optional[pulumi.Input[builtins.str]]):
166
+ pulumi.set(self, "zone", value)
167
+
168
+
169
+ @pulumi.input_type
170
+ class _InstancePolicyState:
171
+ def __init__(__self__, *,
172
+ action: Optional[pulumi.Input[builtins.str]] = None,
173
+ instance_group_id: Optional[pulumi.Input[builtins.str]] = None,
174
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]] = None,
175
+ name: Optional[pulumi.Input[builtins.str]] = None,
176
+ priority: Optional[pulumi.Input[builtins.int]] = None,
177
+ project_id: Optional[pulumi.Input[builtins.str]] = None,
178
+ type: Optional[pulumi.Input[builtins.str]] = None,
179
+ value: Optional[pulumi.Input[builtins.int]] = None,
180
+ zone: Optional[pulumi.Input[builtins.str]] = None):
181
+ """
182
+ Input properties used for looking up and filtering InstancePolicy resources.
183
+ :param pulumi.Input[builtins.str] action: The action to execute when the metric-based condition is met.
184
+ :param pulumi.Input[builtins.str] instance_group_id: The ID of the Instance group related to this policy.
185
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
186
+ :param pulumi.Input[builtins.str] name: The Instance policy name.
187
+ :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.
188
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
189
+ :param pulumi.Input[builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
190
+ :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.
191
+ :param pulumi.Input[builtins.str] zone: `zone`) The zone in which the Instance policy exists.
192
+ """
193
+ if action is not None:
194
+ pulumi.set(__self__, "action", action)
195
+ if instance_group_id is not None:
196
+ pulumi.set(__self__, "instance_group_id", instance_group_id)
197
+ if metrics is not None:
198
+ pulumi.set(__self__, "metrics", metrics)
199
+ if name is not None:
200
+ pulumi.set(__self__, "name", name)
201
+ if priority is not None:
202
+ pulumi.set(__self__, "priority", priority)
203
+ if project_id is not None:
204
+ pulumi.set(__self__, "project_id", project_id)
205
+ if type is not None:
206
+ pulumi.set(__self__, "type", type)
207
+ if value is not None:
208
+ pulumi.set(__self__, "value", value)
209
+ if zone is not None:
210
+ pulumi.set(__self__, "zone", zone)
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def action(self) -> Optional[pulumi.Input[builtins.str]]:
215
+ """
216
+ The action to execute when the metric-based condition is met.
217
+ """
218
+ return pulumi.get(self, "action")
219
+
220
+ @action.setter
221
+ def action(self, value: Optional[pulumi.Input[builtins.str]]):
222
+ pulumi.set(self, "action", value)
223
+
224
+ @property
225
+ @pulumi.getter(name="instanceGroupId")
226
+ def instance_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
227
+ """
228
+ The ID of the Instance group related to this policy.
229
+ """
230
+ return pulumi.get(self, "instance_group_id")
231
+
232
+ @instance_group_id.setter
233
+ def instance_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
234
+ pulumi.set(self, "instance_group_id", value)
235
+
236
+ @property
237
+ @pulumi.getter
238
+ def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]:
239
+ """
240
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
241
+ """
242
+ return pulumi.get(self, "metrics")
243
+
244
+ @metrics.setter
245
+ def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePolicyMetricArgs']]]]):
246
+ pulumi.set(self, "metrics", value)
247
+
248
+ @property
249
+ @pulumi.getter
250
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
251
+ """
252
+ The Instance policy name.
253
+ """
254
+ return pulumi.get(self, "name")
255
+
256
+ @name.setter
257
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
258
+ pulumi.set(self, "name", value)
259
+
260
+ @property
261
+ @pulumi.getter
262
+ def priority(self) -> Optional[pulumi.Input[builtins.int]]:
263
+ """
264
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
265
+ """
266
+ return pulumi.get(self, "priority")
267
+
268
+ @priority.setter
269
+ def priority(self, value: Optional[pulumi.Input[builtins.int]]):
270
+ pulumi.set(self, "priority", value)
271
+
272
+ @property
273
+ @pulumi.getter(name="projectId")
274
+ def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
275
+ """
276
+ `project_id`) The ID of the Project the Instance policy is associated with.
277
+ """
278
+ return pulumi.get(self, "project_id")
279
+
280
+ @project_id.setter
281
+ def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
282
+ pulumi.set(self, "project_id", value)
283
+
284
+ @property
285
+ @pulumi.getter
286
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
287
+ """
288
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
289
+ """
290
+ return pulumi.get(self, "type")
291
+
292
+ @type.setter
293
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
294
+ pulumi.set(self, "type", value)
295
+
296
+ @property
297
+ @pulumi.getter
298
+ def value(self) -> Optional[pulumi.Input[builtins.int]]:
299
+ """
300
+ 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.
301
+ """
302
+ return pulumi.get(self, "value")
303
+
304
+ @value.setter
305
+ def value(self, value: Optional[pulumi.Input[builtins.int]]):
306
+ pulumi.set(self, "value", value)
307
+
308
+ @property
309
+ @pulumi.getter
310
+ def zone(self) -> Optional[pulumi.Input[builtins.str]]:
311
+ """
312
+ `zone`) The zone in which the Instance policy exists.
313
+ """
314
+ return pulumi.get(self, "zone")
315
+
316
+ @zone.setter
317
+ def zone(self, value: Optional[pulumi.Input[builtins.str]]):
318
+ pulumi.set(self, "zone", value)
319
+
320
+
321
+ @pulumi.type_token("scaleway:autoscaling/instancePolicy:InstancePolicy")
322
+ class InstancePolicy(pulumi.CustomResource):
323
+ @overload
324
+ def __init__(__self__,
325
+ resource_name: str,
326
+ opts: Optional[pulumi.ResourceOptions] = None,
327
+ action: Optional[pulumi.Input[builtins.str]] = None,
328
+ instance_group_id: Optional[pulumi.Input[builtins.str]] = None,
329
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
330
+ name: Optional[pulumi.Input[builtins.str]] = None,
331
+ priority: Optional[pulumi.Input[builtins.int]] = None,
332
+ project_id: Optional[pulumi.Input[builtins.str]] = None,
333
+ type: Optional[pulumi.Input[builtins.str]] = None,
334
+ value: Optional[pulumi.Input[builtins.int]] = None,
335
+ zone: Optional[pulumi.Input[builtins.str]] = None,
336
+ __props__=None):
337
+ """
338
+ Books and manages Autoscaling Instance policies.
339
+
340
+ ## Example Usage
341
+
342
+ ### Basic
343
+
344
+ ```python
345
+ import pulumi
346
+ import pulumiverse_scaleway as scaleway
347
+
348
+ up = scaleway.autoscaling.InstancePolicy("up",
349
+ instance_group_id=main["id"],
350
+ name="scale-up-if-cpu-high",
351
+ action="scale_up",
352
+ type="flat_count",
353
+ value=1,
354
+ priority=1,
355
+ metrics=[{
356
+ "name": "cpu scale up",
357
+ "managed_metric": "managed_metric_instance_cpu",
358
+ "operator": "operator_greater_than",
359
+ "aggregate": "aggregate_average",
360
+ "sampling_range_min": 5,
361
+ "threshold": 70,
362
+ }])
363
+ down = scaleway.autoscaling.InstancePolicy("down",
364
+ instance_group_id=main["id"],
365
+ name="scale-down-if-cpu-low",
366
+ action="scale_down",
367
+ type="flat_count",
368
+ value=1,
369
+ priority=2,
370
+ metrics=[{
371
+ "name": "cpu scale down",
372
+ "managed_metric": "managed_metric_instance_cpu",
373
+ "operator": "operator_less_than",
374
+ "aggregate": "aggregate_average",
375
+ "sampling_range_min": 5,
376
+ "threshold": 40,
377
+ }])
378
+ ```
379
+
380
+ ## Import
381
+
382
+ Autoscaling instance policies can be imported using `{zone}/{id}`, e.g.
383
+
384
+ bash
385
+
386
+ ```sh
387
+ $ pulumi import scaleway:autoscaling/instancePolicy:InstancePolicy main fr-par-1/11111111-1111-1111-1111-111111111111
388
+ ```
389
+
390
+ :param str resource_name: The name of the resource.
391
+ :param pulumi.ResourceOptions opts: Options for the resource.
392
+ :param pulumi.Input[builtins.str] action: The action to execute when the metric-based condition is met.
393
+ :param pulumi.Input[builtins.str] instance_group_id: The ID of the Instance group related to this policy.
394
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
395
+ :param pulumi.Input[builtins.str] name: The Instance policy name.
396
+ :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.
397
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
398
+ :param pulumi.Input[builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
399
+ :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.
400
+ :param pulumi.Input[builtins.str] zone: `zone`) The zone in which the Instance policy exists.
401
+ """
402
+ ...
403
+ @overload
404
+ def __init__(__self__,
405
+ resource_name: str,
406
+ args: InstancePolicyArgs,
407
+ opts: Optional[pulumi.ResourceOptions] = None):
408
+ """
409
+ Books and manages Autoscaling Instance policies.
410
+
411
+ ## Example Usage
412
+
413
+ ### Basic
414
+
415
+ ```python
416
+ import pulumi
417
+ import pulumiverse_scaleway as scaleway
418
+
419
+ up = scaleway.autoscaling.InstancePolicy("up",
420
+ instance_group_id=main["id"],
421
+ name="scale-up-if-cpu-high",
422
+ action="scale_up",
423
+ type="flat_count",
424
+ value=1,
425
+ priority=1,
426
+ metrics=[{
427
+ "name": "cpu scale up",
428
+ "managed_metric": "managed_metric_instance_cpu",
429
+ "operator": "operator_greater_than",
430
+ "aggregate": "aggregate_average",
431
+ "sampling_range_min": 5,
432
+ "threshold": 70,
433
+ }])
434
+ down = scaleway.autoscaling.InstancePolicy("down",
435
+ instance_group_id=main["id"],
436
+ name="scale-down-if-cpu-low",
437
+ action="scale_down",
438
+ type="flat_count",
439
+ value=1,
440
+ priority=2,
441
+ metrics=[{
442
+ "name": "cpu scale down",
443
+ "managed_metric": "managed_metric_instance_cpu",
444
+ "operator": "operator_less_than",
445
+ "aggregate": "aggregate_average",
446
+ "sampling_range_min": 5,
447
+ "threshold": 40,
448
+ }])
449
+ ```
450
+
451
+ ## Import
452
+
453
+ Autoscaling instance policies can be imported using `{zone}/{id}`, e.g.
454
+
455
+ bash
456
+
457
+ ```sh
458
+ $ pulumi import scaleway:autoscaling/instancePolicy:InstancePolicy main fr-par-1/11111111-1111-1111-1111-111111111111
459
+ ```
460
+
461
+ :param str resource_name: The name of the resource.
462
+ :param InstancePolicyArgs args: The arguments to use to populate this resource's properties.
463
+ :param pulumi.ResourceOptions opts: Options for the resource.
464
+ """
465
+ ...
466
+ def __init__(__self__, resource_name: str, *args, **kwargs):
467
+ resource_args, opts = _utilities.get_resource_args_opts(InstancePolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
468
+ if resource_args is not None:
469
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
470
+ else:
471
+ __self__._internal_init(resource_name, *args, **kwargs)
472
+
473
+ def _internal_init(__self__,
474
+ resource_name: str,
475
+ opts: Optional[pulumi.ResourceOptions] = None,
476
+ action: Optional[pulumi.Input[builtins.str]] = None,
477
+ instance_group_id: Optional[pulumi.Input[builtins.str]] = None,
478
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
479
+ name: Optional[pulumi.Input[builtins.str]] = None,
480
+ priority: Optional[pulumi.Input[builtins.int]] = None,
481
+ project_id: Optional[pulumi.Input[builtins.str]] = None,
482
+ type: Optional[pulumi.Input[builtins.str]] = None,
483
+ value: Optional[pulumi.Input[builtins.int]] = None,
484
+ zone: Optional[pulumi.Input[builtins.str]] = None,
485
+ __props__=None):
486
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
487
+ if not isinstance(opts, pulumi.ResourceOptions):
488
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
489
+ if opts.id is None:
490
+ if __props__ is not None:
491
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
492
+ __props__ = InstancePolicyArgs.__new__(InstancePolicyArgs)
493
+
494
+ if action is None and not opts.urn:
495
+ raise TypeError("Missing required property 'action'")
496
+ __props__.__dict__["action"] = action
497
+ if instance_group_id is None and not opts.urn:
498
+ raise TypeError("Missing required property 'instance_group_id'")
499
+ __props__.__dict__["instance_group_id"] = instance_group_id
500
+ __props__.__dict__["metrics"] = metrics
501
+ __props__.__dict__["name"] = name
502
+ if priority is None and not opts.urn:
503
+ raise TypeError("Missing required property 'priority'")
504
+ __props__.__dict__["priority"] = priority
505
+ __props__.__dict__["project_id"] = project_id
506
+ if type is None and not opts.urn:
507
+ raise TypeError("Missing required property 'type'")
508
+ __props__.__dict__["type"] = type
509
+ if value is None and not opts.urn:
510
+ raise TypeError("Missing required property 'value'")
511
+ __props__.__dict__["value"] = value
512
+ __props__.__dict__["zone"] = zone
513
+ super(InstancePolicy, __self__).__init__(
514
+ 'scaleway:autoscaling/instancePolicy:InstancePolicy',
515
+ resource_name,
516
+ __props__,
517
+ opts)
518
+
519
+ @staticmethod
520
+ def get(resource_name: str,
521
+ id: pulumi.Input[str],
522
+ opts: Optional[pulumi.ResourceOptions] = None,
523
+ action: Optional[pulumi.Input[builtins.str]] = None,
524
+ instance_group_id: Optional[pulumi.Input[builtins.str]] = None,
525
+ metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]]] = None,
526
+ name: Optional[pulumi.Input[builtins.str]] = None,
527
+ priority: Optional[pulumi.Input[builtins.int]] = None,
528
+ project_id: Optional[pulumi.Input[builtins.str]] = None,
529
+ type: Optional[pulumi.Input[builtins.str]] = None,
530
+ value: Optional[pulumi.Input[builtins.int]] = None,
531
+ zone: Optional[pulumi.Input[builtins.str]] = None) -> 'InstancePolicy':
532
+ """
533
+ Get an existing InstancePolicy resource's state with the given name, id, and optional extra
534
+ properties used to qualify the lookup.
535
+
536
+ :param str resource_name: The unique name of the resulting resource.
537
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
538
+ :param pulumi.ResourceOptions opts: Options for the resource.
539
+ :param pulumi.Input[builtins.str] action: The action to execute when the metric-based condition is met.
540
+ :param pulumi.Input[builtins.str] instance_group_id: The ID of the Instance group related to this policy.
541
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstancePolicyMetricArgs', 'InstancePolicyMetricArgsDict']]]] metrics: Cockpit metric to use when determining whether to trigger a scale up/down action.
542
+ :param pulumi.Input[builtins.str] name: The Instance policy name.
543
+ :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.
544
+ :param pulumi.Input[builtins.str] project_id: `project_id`) The ID of the Project the Instance policy is associated with.
545
+ :param pulumi.Input[builtins.str] type: How to use the number defined in `value` when determining by how many Instances to scale up/down.
546
+ :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.
547
+ :param pulumi.Input[builtins.str] zone: `zone`) The zone in which the Instance policy exists.
548
+ """
549
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
550
+
551
+ __props__ = _InstancePolicyState.__new__(_InstancePolicyState)
552
+
553
+ __props__.__dict__["action"] = action
554
+ __props__.__dict__["instance_group_id"] = instance_group_id
555
+ __props__.__dict__["metrics"] = metrics
556
+ __props__.__dict__["name"] = name
557
+ __props__.__dict__["priority"] = priority
558
+ __props__.__dict__["project_id"] = project_id
559
+ __props__.__dict__["type"] = type
560
+ __props__.__dict__["value"] = value
561
+ __props__.__dict__["zone"] = zone
562
+ return InstancePolicy(resource_name, opts=opts, __props__=__props__)
563
+
564
+ @property
565
+ @pulumi.getter
566
+ def action(self) -> pulumi.Output[builtins.str]:
567
+ """
568
+ The action to execute when the metric-based condition is met.
569
+ """
570
+ return pulumi.get(self, "action")
571
+
572
+ @property
573
+ @pulumi.getter(name="instanceGroupId")
574
+ def instance_group_id(self) -> pulumi.Output[builtins.str]:
575
+ """
576
+ The ID of the Instance group related to this policy.
577
+ """
578
+ return pulumi.get(self, "instance_group_id")
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def metrics(self) -> pulumi.Output[Sequence['outputs.InstancePolicyMetric']]:
583
+ """
584
+ Cockpit metric to use when determining whether to trigger a scale up/down action.
585
+ """
586
+ return pulumi.get(self, "metrics")
587
+
588
+ @property
589
+ @pulumi.getter
590
+ def name(self) -> pulumi.Output[builtins.str]:
591
+ """
592
+ The Instance policy name.
593
+ """
594
+ return pulumi.get(self, "name")
595
+
596
+ @property
597
+ @pulumi.getter
598
+ def priority(self) -> pulumi.Output[builtins.int]:
599
+ """
600
+ The priority of this policy compared to all other scaling policies. This determines the processing order. The lower the number, the higher the priority.
601
+ """
602
+ return pulumi.get(self, "priority")
603
+
604
+ @property
605
+ @pulumi.getter(name="projectId")
606
+ def project_id(self) -> pulumi.Output[builtins.str]:
607
+ """
608
+ `project_id`) The ID of the Project the Instance policy is associated with.
609
+ """
610
+ return pulumi.get(self, "project_id")
611
+
612
+ @property
613
+ @pulumi.getter
614
+ def type(self) -> pulumi.Output[builtins.str]:
615
+ """
616
+ How to use the number defined in `value` when determining by how many Instances to scale up/down.
617
+ """
618
+ return pulumi.get(self, "type")
619
+
620
+ @property
621
+ @pulumi.getter
622
+ def value(self) -> pulumi.Output[builtins.int]:
623
+ """
624
+ 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.
625
+ """
626
+ return pulumi.get(self, "value")
627
+
628
+ @property
629
+ @pulumi.getter
630
+ def zone(self) -> pulumi.Output[builtins.str]:
631
+ """
632
+ `zone`) The zone in which the Instance policy exists.
633
+ """
634
+ return pulumi.get(self, "zone")
635
+