pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__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 (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1105 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['FunctionArgs', 'Function']
18
+
19
+ @pulumi.input_type
20
+ class FunctionArgs:
21
+ def __init__(__self__, *,
22
+ handler: pulumi.Input[str],
23
+ namespace_id: pulumi.Input[str],
24
+ privacy: pulumi.Input[str],
25
+ runtime: pulumi.Input[str],
26
+ deploy: Optional[pulumi.Input[bool]] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ http_option: Optional[pulumi.Input[str]] = None,
30
+ max_scale: Optional[pulumi.Input[int]] = None,
31
+ memory_limit: Optional[pulumi.Input[int]] = None,
32
+ min_scale: Optional[pulumi.Input[int]] = None,
33
+ name: Optional[pulumi.Input[str]] = None,
34
+ project_id: Optional[pulumi.Input[str]] = None,
35
+ region: Optional[pulumi.Input[str]] = None,
36
+ sandbox: Optional[pulumi.Input[str]] = None,
37
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
38
+ timeout: Optional[pulumi.Input[int]] = None,
39
+ zip_file: Optional[pulumi.Input[str]] = None,
40
+ zip_hash: Optional[pulumi.Input[str]] = None):
41
+ """
42
+ The set of arguments for constructing a Function resource.
43
+ :param pulumi.Input[str] handler: Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
44
+ :param pulumi.Input[str] namespace_id: The Functions namespace ID of the function.
45
+
46
+ > **Important** Updating the `name` argument will recreate the function.
47
+ :param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
48
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
49
+ :param pulumi.Input[str] description: The description of the function.
50
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
51
+ :param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
52
+ :param pulumi.Input[int] max_scale: The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
53
+ :param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each function. Defaults to 256 MB.
54
+ :param pulumi.Input[int] min_scale: The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
55
+ :param pulumi.Input[str] name: The unique name of the function name.
56
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the functions namespace is associated with.
57
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
58
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
59
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
60
+ :param pulumi.Input[int] timeout: The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
61
+ :param pulumi.Input[str] zip_file: Path to the zip file containing your function sources to upload.
62
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
63
+ """
64
+ pulumi.set(__self__, "handler", handler)
65
+ pulumi.set(__self__, "namespace_id", namespace_id)
66
+ pulumi.set(__self__, "privacy", privacy)
67
+ pulumi.set(__self__, "runtime", runtime)
68
+ if deploy is not None:
69
+ pulumi.set(__self__, "deploy", deploy)
70
+ if description is not None:
71
+ pulumi.set(__self__, "description", description)
72
+ if environment_variables is not None:
73
+ pulumi.set(__self__, "environment_variables", environment_variables)
74
+ if http_option is not None:
75
+ pulumi.set(__self__, "http_option", http_option)
76
+ if max_scale is not None:
77
+ pulumi.set(__self__, "max_scale", max_scale)
78
+ if memory_limit is not None:
79
+ pulumi.set(__self__, "memory_limit", memory_limit)
80
+ if min_scale is not None:
81
+ pulumi.set(__self__, "min_scale", min_scale)
82
+ if name is not None:
83
+ pulumi.set(__self__, "name", name)
84
+ if project_id is not None:
85
+ pulumi.set(__self__, "project_id", project_id)
86
+ if region is not None:
87
+ pulumi.set(__self__, "region", region)
88
+ if sandbox is not None:
89
+ pulumi.set(__self__, "sandbox", sandbox)
90
+ if secret_environment_variables is not None:
91
+ pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
92
+ if timeout is not None:
93
+ pulumi.set(__self__, "timeout", timeout)
94
+ if zip_file is not None:
95
+ pulumi.set(__self__, "zip_file", zip_file)
96
+ if zip_hash is not None:
97
+ pulumi.set(__self__, "zip_hash", zip_hash)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def handler(self) -> pulumi.Input[str]:
102
+ """
103
+ Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
104
+ """
105
+ return pulumi.get(self, "handler")
106
+
107
+ @handler.setter
108
+ def handler(self, value: pulumi.Input[str]):
109
+ pulumi.set(self, "handler", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="namespaceId")
113
+ def namespace_id(self) -> pulumi.Input[str]:
114
+ """
115
+ The Functions namespace ID of the function.
116
+
117
+ > **Important** Updating the `name` argument will recreate the function.
118
+ """
119
+ return pulumi.get(self, "namespace_id")
120
+
121
+ @namespace_id.setter
122
+ def namespace_id(self, value: pulumi.Input[str]):
123
+ pulumi.set(self, "namespace_id", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def privacy(self) -> pulumi.Input[str]:
128
+ """
129
+ The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
130
+ """
131
+ return pulumi.get(self, "privacy")
132
+
133
+ @privacy.setter
134
+ def privacy(self, value: pulumi.Input[str]):
135
+ pulumi.set(self, "privacy", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def runtime(self) -> pulumi.Input[str]:
140
+ """
141
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
142
+ """
143
+ return pulumi.get(self, "runtime")
144
+
145
+ @runtime.setter
146
+ def runtime(self, value: pulumi.Input[str]):
147
+ pulumi.set(self, "runtime", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def deploy(self) -> Optional[pulumi.Input[bool]]:
152
+ return pulumi.get(self, "deploy")
153
+
154
+ @deploy.setter
155
+ def deploy(self, value: Optional[pulumi.Input[bool]]):
156
+ pulumi.set(self, "deploy", value)
157
+
158
+ @property
159
+ @pulumi.getter
160
+ def description(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ The description of the function.
163
+ """
164
+ return pulumi.get(self, "description")
165
+
166
+ @description.setter
167
+ def description(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "description", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="environmentVariables")
172
+ def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
173
+ """
174
+ The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
175
+ """
176
+ return pulumi.get(self, "environment_variables")
177
+
178
+ @environment_variables.setter
179
+ def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
180
+ pulumi.set(self, "environment_variables", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="httpOption")
184
+ def http_option(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
187
+ """
188
+ return pulumi.get(self, "http_option")
189
+
190
+ @http_option.setter
191
+ def http_option(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "http_option", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="maxScale")
196
+ def max_scale(self) -> Optional[pulumi.Input[int]]:
197
+ """
198
+ The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
199
+ """
200
+ return pulumi.get(self, "max_scale")
201
+
202
+ @max_scale.setter
203
+ def max_scale(self, value: Optional[pulumi.Input[int]]):
204
+ pulumi.set(self, "max_scale", value)
205
+
206
+ @property
207
+ @pulumi.getter(name="memoryLimit")
208
+ def memory_limit(self) -> Optional[pulumi.Input[int]]:
209
+ """
210
+ The memory resources in MB to allocate to each function. Defaults to 256 MB.
211
+ """
212
+ return pulumi.get(self, "memory_limit")
213
+
214
+ @memory_limit.setter
215
+ def memory_limit(self, value: Optional[pulumi.Input[int]]):
216
+ pulumi.set(self, "memory_limit", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="minScale")
220
+ def min_scale(self) -> Optional[pulumi.Input[int]]:
221
+ """
222
+ The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
223
+ """
224
+ return pulumi.get(self, "min_scale")
225
+
226
+ @min_scale.setter
227
+ def min_scale(self, value: Optional[pulumi.Input[int]]):
228
+ pulumi.set(self, "min_scale", value)
229
+
230
+ @property
231
+ @pulumi.getter
232
+ def name(self) -> Optional[pulumi.Input[str]]:
233
+ """
234
+ The unique name of the function name.
235
+ """
236
+ return pulumi.get(self, "name")
237
+
238
+ @name.setter
239
+ def name(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "name", value)
241
+
242
+ @property
243
+ @pulumi.getter(name="projectId")
244
+ def project_id(self) -> Optional[pulumi.Input[str]]:
245
+ """
246
+ `project_id`) The ID of the project the functions namespace is associated with.
247
+ """
248
+ return pulumi.get(self, "project_id")
249
+
250
+ @project_id.setter
251
+ def project_id(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "project_id", value)
253
+
254
+ @property
255
+ @pulumi.getter
256
+ def region(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ `region`). The region in which the namespace should be created.
259
+ """
260
+ return pulumi.get(self, "region")
261
+
262
+ @region.setter
263
+ def region(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "region", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def sandbox(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ Execution environment of the function.
271
+ """
272
+ return pulumi.get(self, "sandbox")
273
+
274
+ @sandbox.setter
275
+ def sandbox(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "sandbox", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="secretEnvironmentVariables")
280
+ def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
281
+ """
282
+ The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
283
+ """
284
+ return pulumi.get(self, "secret_environment_variables")
285
+
286
+ @secret_environment_variables.setter
287
+ def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
288
+ pulumi.set(self, "secret_environment_variables", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def timeout(self) -> Optional[pulumi.Input[int]]:
293
+ """
294
+ The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
295
+ """
296
+ return pulumi.get(self, "timeout")
297
+
298
+ @timeout.setter
299
+ def timeout(self, value: Optional[pulumi.Input[int]]):
300
+ pulumi.set(self, "timeout", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="zipFile")
304
+ def zip_file(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ Path to the zip file containing your function sources to upload.
307
+ """
308
+ return pulumi.get(self, "zip_file")
309
+
310
+ @zip_file.setter
311
+ def zip_file(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "zip_file", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="zipHash")
316
+ def zip_hash(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ The hash of your source zip file, changing it will re-apply function. Can be any string
319
+ """
320
+ return pulumi.get(self, "zip_hash")
321
+
322
+ @zip_hash.setter
323
+ def zip_hash(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "zip_hash", value)
325
+
326
+
327
+ @pulumi.input_type
328
+ class _FunctionState:
329
+ def __init__(__self__, *,
330
+ cpu_limit: Optional[pulumi.Input[int]] = None,
331
+ deploy: Optional[pulumi.Input[bool]] = None,
332
+ description: Optional[pulumi.Input[str]] = None,
333
+ domain_name: Optional[pulumi.Input[str]] = None,
334
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
335
+ handler: Optional[pulumi.Input[str]] = None,
336
+ http_option: Optional[pulumi.Input[str]] = None,
337
+ max_scale: Optional[pulumi.Input[int]] = None,
338
+ memory_limit: Optional[pulumi.Input[int]] = None,
339
+ min_scale: Optional[pulumi.Input[int]] = None,
340
+ name: Optional[pulumi.Input[str]] = None,
341
+ namespace_id: Optional[pulumi.Input[str]] = None,
342
+ organization_id: Optional[pulumi.Input[str]] = None,
343
+ privacy: Optional[pulumi.Input[str]] = None,
344
+ project_id: Optional[pulumi.Input[str]] = None,
345
+ region: Optional[pulumi.Input[str]] = None,
346
+ runtime: Optional[pulumi.Input[str]] = None,
347
+ sandbox: Optional[pulumi.Input[str]] = None,
348
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
349
+ timeout: Optional[pulumi.Input[int]] = None,
350
+ zip_file: Optional[pulumi.Input[str]] = None,
351
+ zip_hash: Optional[pulumi.Input[str]] = None):
352
+ """
353
+ Input properties used for looking up and filtering Function resources.
354
+ :param pulumi.Input[int] cpu_limit: The CPU limit in mVCPU for your function.
355
+ :param pulumi.Input[str] description: The description of the function.
356
+ :param pulumi.Input[str] domain_name: The native domain name of the function.
357
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
358
+ :param pulumi.Input[str] handler: Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
359
+ :param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
360
+ :param pulumi.Input[int] max_scale: The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
361
+ :param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each function. Defaults to 256 MB.
362
+ :param pulumi.Input[int] min_scale: The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
363
+ :param pulumi.Input[str] name: The unique name of the function name.
364
+ :param pulumi.Input[str] namespace_id: The Functions namespace ID of the function.
365
+
366
+ > **Important** Updating the `name` argument will recreate the function.
367
+ :param pulumi.Input[str] organization_id: The organization ID the function is associated with.
368
+ :param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
369
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the functions namespace is associated with.
370
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
371
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
372
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
373
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
374
+ :param pulumi.Input[int] timeout: The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
375
+ :param pulumi.Input[str] zip_file: Path to the zip file containing your function sources to upload.
376
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
377
+ """
378
+ if cpu_limit is not None:
379
+ pulumi.set(__self__, "cpu_limit", cpu_limit)
380
+ if deploy is not None:
381
+ pulumi.set(__self__, "deploy", deploy)
382
+ if description is not None:
383
+ pulumi.set(__self__, "description", description)
384
+ if domain_name is not None:
385
+ pulumi.set(__self__, "domain_name", domain_name)
386
+ if environment_variables is not None:
387
+ pulumi.set(__self__, "environment_variables", environment_variables)
388
+ if handler is not None:
389
+ pulumi.set(__self__, "handler", handler)
390
+ if http_option is not None:
391
+ pulumi.set(__self__, "http_option", http_option)
392
+ if max_scale is not None:
393
+ pulumi.set(__self__, "max_scale", max_scale)
394
+ if memory_limit is not None:
395
+ pulumi.set(__self__, "memory_limit", memory_limit)
396
+ if min_scale is not None:
397
+ pulumi.set(__self__, "min_scale", min_scale)
398
+ if name is not None:
399
+ pulumi.set(__self__, "name", name)
400
+ if namespace_id is not None:
401
+ pulumi.set(__self__, "namespace_id", namespace_id)
402
+ if organization_id is not None:
403
+ pulumi.set(__self__, "organization_id", organization_id)
404
+ if privacy is not None:
405
+ pulumi.set(__self__, "privacy", privacy)
406
+ if project_id is not None:
407
+ pulumi.set(__self__, "project_id", project_id)
408
+ if region is not None:
409
+ pulumi.set(__self__, "region", region)
410
+ if runtime is not None:
411
+ pulumi.set(__self__, "runtime", runtime)
412
+ if sandbox is not None:
413
+ pulumi.set(__self__, "sandbox", sandbox)
414
+ if secret_environment_variables is not None:
415
+ pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
416
+ if timeout is not None:
417
+ pulumi.set(__self__, "timeout", timeout)
418
+ if zip_file is not None:
419
+ pulumi.set(__self__, "zip_file", zip_file)
420
+ if zip_hash is not None:
421
+ pulumi.set(__self__, "zip_hash", zip_hash)
422
+
423
+ @property
424
+ @pulumi.getter(name="cpuLimit")
425
+ def cpu_limit(self) -> Optional[pulumi.Input[int]]:
426
+ """
427
+ The CPU limit in mVCPU for your function.
428
+ """
429
+ return pulumi.get(self, "cpu_limit")
430
+
431
+ @cpu_limit.setter
432
+ def cpu_limit(self, value: Optional[pulumi.Input[int]]):
433
+ pulumi.set(self, "cpu_limit", value)
434
+
435
+ @property
436
+ @pulumi.getter
437
+ def deploy(self) -> Optional[pulumi.Input[bool]]:
438
+ return pulumi.get(self, "deploy")
439
+
440
+ @deploy.setter
441
+ def deploy(self, value: Optional[pulumi.Input[bool]]):
442
+ pulumi.set(self, "deploy", value)
443
+
444
+ @property
445
+ @pulumi.getter
446
+ def description(self) -> Optional[pulumi.Input[str]]:
447
+ """
448
+ The description of the function.
449
+ """
450
+ return pulumi.get(self, "description")
451
+
452
+ @description.setter
453
+ def description(self, value: Optional[pulumi.Input[str]]):
454
+ pulumi.set(self, "description", value)
455
+
456
+ @property
457
+ @pulumi.getter(name="domainName")
458
+ def domain_name(self) -> Optional[pulumi.Input[str]]:
459
+ """
460
+ The native domain name of the function.
461
+ """
462
+ return pulumi.get(self, "domain_name")
463
+
464
+ @domain_name.setter
465
+ def domain_name(self, value: Optional[pulumi.Input[str]]):
466
+ pulumi.set(self, "domain_name", value)
467
+
468
+ @property
469
+ @pulumi.getter(name="environmentVariables")
470
+ def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
471
+ """
472
+ The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
473
+ """
474
+ return pulumi.get(self, "environment_variables")
475
+
476
+ @environment_variables.setter
477
+ def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
478
+ pulumi.set(self, "environment_variables", value)
479
+
480
+ @property
481
+ @pulumi.getter
482
+ def handler(self) -> Optional[pulumi.Input[str]]:
483
+ """
484
+ Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
485
+ """
486
+ return pulumi.get(self, "handler")
487
+
488
+ @handler.setter
489
+ def handler(self, value: Optional[pulumi.Input[str]]):
490
+ pulumi.set(self, "handler", value)
491
+
492
+ @property
493
+ @pulumi.getter(name="httpOption")
494
+ def http_option(self) -> Optional[pulumi.Input[str]]:
495
+ """
496
+ Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
497
+ """
498
+ return pulumi.get(self, "http_option")
499
+
500
+ @http_option.setter
501
+ def http_option(self, value: Optional[pulumi.Input[str]]):
502
+ pulumi.set(self, "http_option", value)
503
+
504
+ @property
505
+ @pulumi.getter(name="maxScale")
506
+ def max_scale(self) -> Optional[pulumi.Input[int]]:
507
+ """
508
+ The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
509
+ """
510
+ return pulumi.get(self, "max_scale")
511
+
512
+ @max_scale.setter
513
+ def max_scale(self, value: Optional[pulumi.Input[int]]):
514
+ pulumi.set(self, "max_scale", value)
515
+
516
+ @property
517
+ @pulumi.getter(name="memoryLimit")
518
+ def memory_limit(self) -> Optional[pulumi.Input[int]]:
519
+ """
520
+ The memory resources in MB to allocate to each function. Defaults to 256 MB.
521
+ """
522
+ return pulumi.get(self, "memory_limit")
523
+
524
+ @memory_limit.setter
525
+ def memory_limit(self, value: Optional[pulumi.Input[int]]):
526
+ pulumi.set(self, "memory_limit", value)
527
+
528
+ @property
529
+ @pulumi.getter(name="minScale")
530
+ def min_scale(self) -> Optional[pulumi.Input[int]]:
531
+ """
532
+ The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
533
+ """
534
+ return pulumi.get(self, "min_scale")
535
+
536
+ @min_scale.setter
537
+ def min_scale(self, value: Optional[pulumi.Input[int]]):
538
+ pulumi.set(self, "min_scale", value)
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def name(self) -> Optional[pulumi.Input[str]]:
543
+ """
544
+ The unique name of the function name.
545
+ """
546
+ return pulumi.get(self, "name")
547
+
548
+ @name.setter
549
+ def name(self, value: Optional[pulumi.Input[str]]):
550
+ pulumi.set(self, "name", value)
551
+
552
+ @property
553
+ @pulumi.getter(name="namespaceId")
554
+ def namespace_id(self) -> Optional[pulumi.Input[str]]:
555
+ """
556
+ The Functions namespace ID of the function.
557
+
558
+ > **Important** Updating the `name` argument will recreate the function.
559
+ """
560
+ return pulumi.get(self, "namespace_id")
561
+
562
+ @namespace_id.setter
563
+ def namespace_id(self, value: Optional[pulumi.Input[str]]):
564
+ pulumi.set(self, "namespace_id", value)
565
+
566
+ @property
567
+ @pulumi.getter(name="organizationId")
568
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
569
+ """
570
+ The organization ID the function is associated with.
571
+ """
572
+ return pulumi.get(self, "organization_id")
573
+
574
+ @organization_id.setter
575
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
576
+ pulumi.set(self, "organization_id", value)
577
+
578
+ @property
579
+ @pulumi.getter
580
+ def privacy(self) -> Optional[pulumi.Input[str]]:
581
+ """
582
+ The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
583
+ """
584
+ return pulumi.get(self, "privacy")
585
+
586
+ @privacy.setter
587
+ def privacy(self, value: Optional[pulumi.Input[str]]):
588
+ pulumi.set(self, "privacy", value)
589
+
590
+ @property
591
+ @pulumi.getter(name="projectId")
592
+ def project_id(self) -> Optional[pulumi.Input[str]]:
593
+ """
594
+ `project_id`) The ID of the project the functions namespace is associated with.
595
+ """
596
+ return pulumi.get(self, "project_id")
597
+
598
+ @project_id.setter
599
+ def project_id(self, value: Optional[pulumi.Input[str]]):
600
+ pulumi.set(self, "project_id", value)
601
+
602
+ @property
603
+ @pulumi.getter
604
+ def region(self) -> Optional[pulumi.Input[str]]:
605
+ """
606
+ `region`). The region in which the namespace should be created.
607
+ """
608
+ return pulumi.get(self, "region")
609
+
610
+ @region.setter
611
+ def region(self, value: Optional[pulumi.Input[str]]):
612
+ pulumi.set(self, "region", value)
613
+
614
+ @property
615
+ @pulumi.getter
616
+ def runtime(self) -> Optional[pulumi.Input[str]]:
617
+ """
618
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
619
+ """
620
+ return pulumi.get(self, "runtime")
621
+
622
+ @runtime.setter
623
+ def runtime(self, value: Optional[pulumi.Input[str]]):
624
+ pulumi.set(self, "runtime", value)
625
+
626
+ @property
627
+ @pulumi.getter
628
+ def sandbox(self) -> Optional[pulumi.Input[str]]:
629
+ """
630
+ Execution environment of the function.
631
+ """
632
+ return pulumi.get(self, "sandbox")
633
+
634
+ @sandbox.setter
635
+ def sandbox(self, value: Optional[pulumi.Input[str]]):
636
+ pulumi.set(self, "sandbox", value)
637
+
638
+ @property
639
+ @pulumi.getter(name="secretEnvironmentVariables")
640
+ def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
641
+ """
642
+ The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
643
+ """
644
+ return pulumi.get(self, "secret_environment_variables")
645
+
646
+ @secret_environment_variables.setter
647
+ def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
648
+ pulumi.set(self, "secret_environment_variables", value)
649
+
650
+ @property
651
+ @pulumi.getter
652
+ def timeout(self) -> Optional[pulumi.Input[int]]:
653
+ """
654
+ The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
655
+ """
656
+ return pulumi.get(self, "timeout")
657
+
658
+ @timeout.setter
659
+ def timeout(self, value: Optional[pulumi.Input[int]]):
660
+ pulumi.set(self, "timeout", value)
661
+
662
+ @property
663
+ @pulumi.getter(name="zipFile")
664
+ def zip_file(self) -> Optional[pulumi.Input[str]]:
665
+ """
666
+ Path to the zip file containing your function sources to upload.
667
+ """
668
+ return pulumi.get(self, "zip_file")
669
+
670
+ @zip_file.setter
671
+ def zip_file(self, value: Optional[pulumi.Input[str]]):
672
+ pulumi.set(self, "zip_file", value)
673
+
674
+ @property
675
+ @pulumi.getter(name="zipHash")
676
+ def zip_hash(self) -> Optional[pulumi.Input[str]]:
677
+ """
678
+ The hash of your source zip file, changing it will re-apply function. Can be any string
679
+ """
680
+ return pulumi.get(self, "zip_hash")
681
+
682
+ @zip_hash.setter
683
+ def zip_hash(self, value: Optional[pulumi.Input[str]]):
684
+ pulumi.set(self, "zip_hash", value)
685
+
686
+
687
+ class Function(pulumi.CustomResource):
688
+ @overload
689
+ def __init__(__self__,
690
+ resource_name: str,
691
+ opts: Optional[pulumi.ResourceOptions] = None,
692
+ deploy: Optional[pulumi.Input[bool]] = None,
693
+ description: Optional[pulumi.Input[str]] = None,
694
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
695
+ handler: Optional[pulumi.Input[str]] = None,
696
+ http_option: Optional[pulumi.Input[str]] = None,
697
+ max_scale: Optional[pulumi.Input[int]] = None,
698
+ memory_limit: Optional[pulumi.Input[int]] = None,
699
+ min_scale: Optional[pulumi.Input[int]] = None,
700
+ name: Optional[pulumi.Input[str]] = None,
701
+ namespace_id: Optional[pulumi.Input[str]] = None,
702
+ privacy: Optional[pulumi.Input[str]] = None,
703
+ project_id: Optional[pulumi.Input[str]] = None,
704
+ region: Optional[pulumi.Input[str]] = None,
705
+ runtime: Optional[pulumi.Input[str]] = None,
706
+ sandbox: Optional[pulumi.Input[str]] = None,
707
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
708
+ timeout: Optional[pulumi.Input[int]] = None,
709
+ zip_file: Optional[pulumi.Input[str]] = None,
710
+ zip_hash: Optional[pulumi.Input[str]] = None,
711
+ __props__=None):
712
+ """
713
+ ## Import
714
+
715
+ Functions can be imported using, `{region}/{id}`, as shown below:
716
+
717
+ bash
718
+
719
+ ```sh
720
+ $ pulumi import scaleway:functions/function:Function main fr-par/11111111-1111-1111-1111-111111111111
721
+ ```
722
+
723
+ :param str resource_name: The name of the resource.
724
+ :param pulumi.ResourceOptions opts: Options for the resource.
725
+ :param pulumi.Input[str] description: The description of the function.
726
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
727
+ :param pulumi.Input[str] handler: Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
728
+ :param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
729
+ :param pulumi.Input[int] max_scale: The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
730
+ :param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each function. Defaults to 256 MB.
731
+ :param pulumi.Input[int] min_scale: The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
732
+ :param pulumi.Input[str] name: The unique name of the function name.
733
+ :param pulumi.Input[str] namespace_id: The Functions namespace ID of the function.
734
+
735
+ > **Important** Updating the `name` argument will recreate the function.
736
+ :param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
737
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the functions namespace is associated with.
738
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
739
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
740
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
741
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
742
+ :param pulumi.Input[int] timeout: The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
743
+ :param pulumi.Input[str] zip_file: Path to the zip file containing your function sources to upload.
744
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
745
+ """
746
+ ...
747
+ @overload
748
+ def __init__(__self__,
749
+ resource_name: str,
750
+ args: FunctionArgs,
751
+ opts: Optional[pulumi.ResourceOptions] = None):
752
+ """
753
+ ## Import
754
+
755
+ Functions can be imported using, `{region}/{id}`, as shown below:
756
+
757
+ bash
758
+
759
+ ```sh
760
+ $ pulumi import scaleway:functions/function:Function main fr-par/11111111-1111-1111-1111-111111111111
761
+ ```
762
+
763
+ :param str resource_name: The name of the resource.
764
+ :param FunctionArgs args: The arguments to use to populate this resource's properties.
765
+ :param pulumi.ResourceOptions opts: Options for the resource.
766
+ """
767
+ ...
768
+ def __init__(__self__, resource_name: str, *args, **kwargs):
769
+ resource_args, opts = _utilities.get_resource_args_opts(FunctionArgs, pulumi.ResourceOptions, *args, **kwargs)
770
+ if resource_args is not None:
771
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
772
+ else:
773
+ __self__._internal_init(resource_name, *args, **kwargs)
774
+
775
+ def _internal_init(__self__,
776
+ resource_name: str,
777
+ opts: Optional[pulumi.ResourceOptions] = None,
778
+ deploy: Optional[pulumi.Input[bool]] = None,
779
+ description: Optional[pulumi.Input[str]] = None,
780
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
781
+ handler: Optional[pulumi.Input[str]] = None,
782
+ http_option: Optional[pulumi.Input[str]] = None,
783
+ max_scale: Optional[pulumi.Input[int]] = None,
784
+ memory_limit: Optional[pulumi.Input[int]] = None,
785
+ min_scale: Optional[pulumi.Input[int]] = None,
786
+ name: Optional[pulumi.Input[str]] = None,
787
+ namespace_id: Optional[pulumi.Input[str]] = None,
788
+ privacy: Optional[pulumi.Input[str]] = None,
789
+ project_id: Optional[pulumi.Input[str]] = None,
790
+ region: Optional[pulumi.Input[str]] = None,
791
+ runtime: Optional[pulumi.Input[str]] = None,
792
+ sandbox: Optional[pulumi.Input[str]] = None,
793
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
794
+ timeout: Optional[pulumi.Input[int]] = None,
795
+ zip_file: Optional[pulumi.Input[str]] = None,
796
+ zip_hash: Optional[pulumi.Input[str]] = None,
797
+ __props__=None):
798
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
799
+ if not isinstance(opts, pulumi.ResourceOptions):
800
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
801
+ if opts.id is None:
802
+ if __props__ is not None:
803
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
804
+ __props__ = FunctionArgs.__new__(FunctionArgs)
805
+
806
+ __props__.__dict__["deploy"] = deploy
807
+ __props__.__dict__["description"] = description
808
+ __props__.__dict__["environment_variables"] = environment_variables
809
+ if handler is None and not opts.urn:
810
+ raise TypeError("Missing required property 'handler'")
811
+ __props__.__dict__["handler"] = handler
812
+ __props__.__dict__["http_option"] = http_option
813
+ __props__.__dict__["max_scale"] = max_scale
814
+ __props__.__dict__["memory_limit"] = memory_limit
815
+ __props__.__dict__["min_scale"] = min_scale
816
+ __props__.__dict__["name"] = name
817
+ if namespace_id is None and not opts.urn:
818
+ raise TypeError("Missing required property 'namespace_id'")
819
+ __props__.__dict__["namespace_id"] = namespace_id
820
+ if privacy is None and not opts.urn:
821
+ raise TypeError("Missing required property 'privacy'")
822
+ __props__.__dict__["privacy"] = privacy
823
+ __props__.__dict__["project_id"] = project_id
824
+ __props__.__dict__["region"] = region
825
+ if runtime is None and not opts.urn:
826
+ raise TypeError("Missing required property 'runtime'")
827
+ __props__.__dict__["runtime"] = runtime
828
+ __props__.__dict__["sandbox"] = sandbox
829
+ __props__.__dict__["secret_environment_variables"] = None if secret_environment_variables is None else pulumi.Output.secret(secret_environment_variables)
830
+ __props__.__dict__["timeout"] = timeout
831
+ __props__.__dict__["zip_file"] = zip_file
832
+ __props__.__dict__["zip_hash"] = zip_hash
833
+ __props__.__dict__["cpu_limit"] = None
834
+ __props__.__dict__["domain_name"] = None
835
+ __props__.__dict__["organization_id"] = None
836
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/function:Function")])
837
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
838
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretEnvironmentVariables"])
839
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
840
+ super(Function, __self__).__init__(
841
+ 'scaleway:functions/function:Function',
842
+ resource_name,
843
+ __props__,
844
+ opts)
845
+
846
+ @staticmethod
847
+ def get(resource_name: str,
848
+ id: pulumi.Input[str],
849
+ opts: Optional[pulumi.ResourceOptions] = None,
850
+ cpu_limit: Optional[pulumi.Input[int]] = None,
851
+ deploy: Optional[pulumi.Input[bool]] = None,
852
+ description: Optional[pulumi.Input[str]] = None,
853
+ domain_name: Optional[pulumi.Input[str]] = None,
854
+ environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
855
+ handler: Optional[pulumi.Input[str]] = None,
856
+ http_option: Optional[pulumi.Input[str]] = None,
857
+ max_scale: Optional[pulumi.Input[int]] = None,
858
+ memory_limit: Optional[pulumi.Input[int]] = None,
859
+ min_scale: Optional[pulumi.Input[int]] = None,
860
+ name: Optional[pulumi.Input[str]] = None,
861
+ namespace_id: Optional[pulumi.Input[str]] = None,
862
+ organization_id: Optional[pulumi.Input[str]] = None,
863
+ privacy: Optional[pulumi.Input[str]] = None,
864
+ project_id: Optional[pulumi.Input[str]] = None,
865
+ region: Optional[pulumi.Input[str]] = None,
866
+ runtime: Optional[pulumi.Input[str]] = None,
867
+ sandbox: Optional[pulumi.Input[str]] = None,
868
+ secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
869
+ timeout: Optional[pulumi.Input[int]] = None,
870
+ zip_file: Optional[pulumi.Input[str]] = None,
871
+ zip_hash: Optional[pulumi.Input[str]] = None) -> 'Function':
872
+ """
873
+ Get an existing Function resource's state with the given name, id, and optional extra
874
+ properties used to qualify the lookup.
875
+
876
+ :param str resource_name: The unique name of the resulting resource.
877
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
878
+ :param pulumi.ResourceOptions opts: Options for the resource.
879
+ :param pulumi.Input[int] cpu_limit: The CPU limit in mVCPU for your function.
880
+ :param pulumi.Input[str] description: The description of the function.
881
+ :param pulumi.Input[str] domain_name: The native domain name of the function.
882
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
883
+ :param pulumi.Input[str] handler: Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
884
+ :param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
885
+ :param pulumi.Input[int] max_scale: The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
886
+ :param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each function. Defaults to 256 MB.
887
+ :param pulumi.Input[int] min_scale: The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
888
+ :param pulumi.Input[str] name: The unique name of the function name.
889
+ :param pulumi.Input[str] namespace_id: The Functions namespace ID of the function.
890
+
891
+ > **Important** Updating the `name` argument will recreate the function.
892
+ :param pulumi.Input[str] organization_id: The organization ID the function is associated with.
893
+ :param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
894
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the functions namespace is associated with.
895
+ :param pulumi.Input[str] region: `region`). The region in which the namespace should be created.
896
+ :param pulumi.Input[str] runtime: Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
897
+ :param pulumi.Input[str] sandbox: Execution environment of the function.
898
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
899
+ :param pulumi.Input[int] timeout: The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
900
+ :param pulumi.Input[str] zip_file: Path to the zip file containing your function sources to upload.
901
+ :param pulumi.Input[str] zip_hash: The hash of your source zip file, changing it will re-apply function. Can be any string
902
+ """
903
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
904
+
905
+ __props__ = _FunctionState.__new__(_FunctionState)
906
+
907
+ __props__.__dict__["cpu_limit"] = cpu_limit
908
+ __props__.__dict__["deploy"] = deploy
909
+ __props__.__dict__["description"] = description
910
+ __props__.__dict__["domain_name"] = domain_name
911
+ __props__.__dict__["environment_variables"] = environment_variables
912
+ __props__.__dict__["handler"] = handler
913
+ __props__.__dict__["http_option"] = http_option
914
+ __props__.__dict__["max_scale"] = max_scale
915
+ __props__.__dict__["memory_limit"] = memory_limit
916
+ __props__.__dict__["min_scale"] = min_scale
917
+ __props__.__dict__["name"] = name
918
+ __props__.__dict__["namespace_id"] = namespace_id
919
+ __props__.__dict__["organization_id"] = organization_id
920
+ __props__.__dict__["privacy"] = privacy
921
+ __props__.__dict__["project_id"] = project_id
922
+ __props__.__dict__["region"] = region
923
+ __props__.__dict__["runtime"] = runtime
924
+ __props__.__dict__["sandbox"] = sandbox
925
+ __props__.__dict__["secret_environment_variables"] = secret_environment_variables
926
+ __props__.__dict__["timeout"] = timeout
927
+ __props__.__dict__["zip_file"] = zip_file
928
+ __props__.__dict__["zip_hash"] = zip_hash
929
+ return Function(resource_name, opts=opts, __props__=__props__)
930
+
931
+ @property
932
+ @pulumi.getter(name="cpuLimit")
933
+ def cpu_limit(self) -> pulumi.Output[int]:
934
+ """
935
+ The CPU limit in mVCPU for your function.
936
+ """
937
+ return pulumi.get(self, "cpu_limit")
938
+
939
+ @property
940
+ @pulumi.getter
941
+ def deploy(self) -> pulumi.Output[Optional[bool]]:
942
+ return pulumi.get(self, "deploy")
943
+
944
+ @property
945
+ @pulumi.getter
946
+ def description(self) -> pulumi.Output[Optional[str]]:
947
+ """
948
+ The description of the function.
949
+ """
950
+ return pulumi.get(self, "description")
951
+
952
+ @property
953
+ @pulumi.getter(name="domainName")
954
+ def domain_name(self) -> pulumi.Output[str]:
955
+ """
956
+ The native domain name of the function.
957
+ """
958
+ return pulumi.get(self, "domain_name")
959
+
960
+ @property
961
+ @pulumi.getter(name="environmentVariables")
962
+ def environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
963
+ """
964
+ The [environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#environment-variables) of the function.
965
+ """
966
+ return pulumi.get(self, "environment_variables")
967
+
968
+ @property
969
+ @pulumi.getter
970
+ def handler(self) -> pulumi.Output[str]:
971
+ """
972
+ Handler of the function, depends on the runtime. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-create-a-new-function) for the list of supported runtimes.
973
+ """
974
+ return pulumi.get(self, "handler")
975
+
976
+ @property
977
+ @pulumi.getter(name="httpOption")
978
+ def http_option(self) -> pulumi.Output[Optional[str]]:
979
+ """
980
+ Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
981
+ """
982
+ return pulumi.get(self, "http_option")
983
+
984
+ @property
985
+ @pulumi.getter(name="maxScale")
986
+ def max_scale(self) -> pulumi.Output[Optional[int]]:
987
+ """
988
+ The maximum number of instances this function can scale to. Default to 20. Your function will scale automatically based on the incoming workload, but will never exceed the configured `max_scale` value.
989
+ """
990
+ return pulumi.get(self, "max_scale")
991
+
992
+ @property
993
+ @pulumi.getter(name="memoryLimit")
994
+ def memory_limit(self) -> pulumi.Output[Optional[int]]:
995
+ """
996
+ The memory resources in MB to allocate to each function. Defaults to 256 MB.
997
+ """
998
+ return pulumi.get(self, "memory_limit")
999
+
1000
+ @property
1001
+ @pulumi.getter(name="minScale")
1002
+ def min_scale(self) -> pulumi.Output[Optional[int]]:
1003
+ """
1004
+ The minimum number of function instances running continuously. Defaults to 0. Functions are billed when executed, and using a `min_scale` greater than 0 will cause your function to run constantly.
1005
+ """
1006
+ return pulumi.get(self, "min_scale")
1007
+
1008
+ @property
1009
+ @pulumi.getter
1010
+ def name(self) -> pulumi.Output[str]:
1011
+ """
1012
+ The unique name of the function name.
1013
+ """
1014
+ return pulumi.get(self, "name")
1015
+
1016
+ @property
1017
+ @pulumi.getter(name="namespaceId")
1018
+ def namespace_id(self) -> pulumi.Output[str]:
1019
+ """
1020
+ The Functions namespace ID of the function.
1021
+
1022
+ > **Important** Updating the `name` argument will recreate the function.
1023
+ """
1024
+ return pulumi.get(self, "namespace_id")
1025
+
1026
+ @property
1027
+ @pulumi.getter(name="organizationId")
1028
+ def organization_id(self) -> pulumi.Output[str]:
1029
+ """
1030
+ The organization ID the function is associated with.
1031
+ """
1032
+ return pulumi.get(self, "organization_id")
1033
+
1034
+ @property
1035
+ @pulumi.getter
1036
+ def privacy(self) -> pulumi.Output[str]:
1037
+ """
1038
+ The privacy type defines the way to authenticate to your function. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-functions/#protocol-9dd4c8).
1039
+ """
1040
+ return pulumi.get(self, "privacy")
1041
+
1042
+ @property
1043
+ @pulumi.getter(name="projectId")
1044
+ def project_id(self) -> pulumi.Output[str]:
1045
+ """
1046
+ `project_id`) The ID of the project the functions namespace is associated with.
1047
+ """
1048
+ return pulumi.get(self, "project_id")
1049
+
1050
+ @property
1051
+ @pulumi.getter
1052
+ def region(self) -> pulumi.Output[str]:
1053
+ """
1054
+ `region`). The region in which the namespace should be created.
1055
+ """
1056
+ return pulumi.get(self, "region")
1057
+
1058
+ @property
1059
+ @pulumi.getter
1060
+ def runtime(self) -> pulumi.Output[str]:
1061
+ """
1062
+ Runtime of the function. Runtimes can be fetched using [specific route](https://www.scaleway.com/en/developers/api/serverless-functions/#path-functions-get-a-function)
1063
+ """
1064
+ return pulumi.get(self, "runtime")
1065
+
1066
+ @property
1067
+ @pulumi.getter
1068
+ def sandbox(self) -> pulumi.Output[str]:
1069
+ """
1070
+ Execution environment of the function.
1071
+ """
1072
+ return pulumi.get(self, "sandbox")
1073
+
1074
+ @property
1075
+ @pulumi.getter(name="secretEnvironmentVariables")
1076
+ def secret_environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1077
+ """
1078
+ The [secret environment variables](https://www.scaleway.com/en/docs/compute/functions/concepts/#secrets) of the function.
1079
+ """
1080
+ return pulumi.get(self, "secret_environment_variables")
1081
+
1082
+ @property
1083
+ @pulumi.getter
1084
+ def timeout(self) -> pulumi.Output[int]:
1085
+ """
1086
+ The maximum amount of time your function can spend processing a request before being stopped. Defaults to 300s.
1087
+ """
1088
+ return pulumi.get(self, "timeout")
1089
+
1090
+ @property
1091
+ @pulumi.getter(name="zipFile")
1092
+ def zip_file(self) -> pulumi.Output[Optional[str]]:
1093
+ """
1094
+ Path to the zip file containing your function sources to upload.
1095
+ """
1096
+ return pulumi.get(self, "zip_file")
1097
+
1098
+ @property
1099
+ @pulumi.getter(name="zipHash")
1100
+ def zip_hash(self) -> pulumi.Output[Optional[str]]:
1101
+ """
1102
+ The hash of your source zip file, changing it will re-apply function. Can be any string
1103
+ """
1104
+ return pulumi.get(self, "zip_hash")
1105
+