pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.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 (476) hide show
  1. pulumiverse_scaleway/__init__.py +1034 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/account/__init__.py +12 -0
  4. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  5. pulumiverse_scaleway/account/get_project.py +170 -0
  6. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  7. pulumiverse_scaleway/account/project.py +318 -0
  8. pulumiverse_scaleway/account/ssh_key.py +456 -0
  9. pulumiverse_scaleway/account_project.py +6 -0
  10. pulumiverse_scaleway/account_ssh_key.py +12 -6
  11. pulumiverse_scaleway/apple_silicon_server.py +113 -2
  12. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  13. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  14. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  15. pulumiverse_scaleway/applesilicon/server.py +795 -0
  16. pulumiverse_scaleway/baremetal_server.py +64 -58
  17. pulumiverse_scaleway/billing/__init__.py +10 -0
  18. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  19. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  20. pulumiverse_scaleway/billing/outputs.py +288 -0
  21. pulumiverse_scaleway/block/__init__.py +11 -0
  22. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  23. pulumiverse_scaleway/block/get_volume.py +199 -0
  24. pulumiverse_scaleway/block/snapshot.py +403 -0
  25. pulumiverse_scaleway/block/volume.py +576 -0
  26. pulumiverse_scaleway/block_snapshot.py +12 -6
  27. pulumiverse_scaleway/block_volume.py +16 -10
  28. pulumiverse_scaleway/cockpit.py +10 -4
  29. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  30. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  31. pulumiverse_scaleway/cockpit_source.py +12 -6
  32. pulumiverse_scaleway/cockpit_token.py +16 -10
  33. pulumiverse_scaleway/container.py +16 -10
  34. pulumiverse_scaleway/container_cron.py +14 -8
  35. pulumiverse_scaleway/container_domain.py +24 -18
  36. pulumiverse_scaleway/container_namespace.py +10 -4
  37. pulumiverse_scaleway/container_token.py +32 -26
  38. pulumiverse_scaleway/container_trigger.py +12 -6
  39. pulumiverse_scaleway/containers/__init__.py +17 -0
  40. pulumiverse_scaleway/containers/_inputs.py +389 -0
  41. pulumiverse_scaleway/containers/container.py +1635 -0
  42. pulumiverse_scaleway/containers/cron.py +460 -0
  43. pulumiverse_scaleway/containers/domain.py +408 -0
  44. pulumiverse_scaleway/containers/get_container.py +562 -0
  45. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  46. pulumiverse_scaleway/containers/namespace.py +638 -0
  47. pulumiverse_scaleway/containers/outputs.py +412 -0
  48. pulumiverse_scaleway/containers/token.py +454 -0
  49. pulumiverse_scaleway/containers/trigger.py +482 -0
  50. pulumiverse_scaleway/database.py +10 -4
  51. pulumiverse_scaleway/database_acl.py +10 -4
  52. pulumiverse_scaleway/database_backup.py +14 -8
  53. pulumiverse_scaleway/database_instance.py +24 -18
  54. pulumiverse_scaleway/database_privilege.py +16 -10
  55. pulumiverse_scaleway/database_read_replica.py +22 -16
  56. pulumiverse_scaleway/database_user.py +10 -4
  57. pulumiverse_scaleway/databases/__init__.py +23 -0
  58. pulumiverse_scaleway/databases/_inputs.py +822 -0
  59. pulumiverse_scaleway/databases/acl.py +334 -0
  60. pulumiverse_scaleway/databases/database.py +409 -0
  61. pulumiverse_scaleway/databases/database_backup.py +576 -0
  62. pulumiverse_scaleway/databases/get_acl.py +143 -0
  63. pulumiverse_scaleway/databases/get_database.py +187 -0
  64. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  65. pulumiverse_scaleway/databases/get_instance.py +415 -0
  66. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  67. pulumiverse_scaleway/databases/instance.py +1696 -0
  68. pulumiverse_scaleway/databases/outputs.py +866 -0
  69. pulumiverse_scaleway/databases/privilege.py +424 -0
  70. pulumiverse_scaleway/databases/read_replica.py +530 -0
  71. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  72. pulumiverse_scaleway/databases/snapshot.py +610 -0
  73. pulumiverse_scaleway/databases/user.py +448 -0
  74. pulumiverse_scaleway/domain/__init__.py +14 -0
  75. pulumiverse_scaleway/domain/_inputs.py +3038 -0
  76. pulumiverse_scaleway/domain/get_record.py +340 -0
  77. pulumiverse_scaleway/domain/get_zone.py +201 -0
  78. pulumiverse_scaleway/domain/outputs.py +2553 -0
  79. pulumiverse_scaleway/domain/record.py +1118 -0
  80. pulumiverse_scaleway/domain/registration.py +777 -0
  81. pulumiverse_scaleway/domain/zone.py +432 -0
  82. pulumiverse_scaleway/domain_record.py +36 -30
  83. pulumiverse_scaleway/domain_zone.py +6 -0
  84. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  85. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  86. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  87. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  88. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  89. pulumiverse_scaleway/edge_services_plan.py +239 -0
  90. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  91. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  92. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  93. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  94. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  95. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  96. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  97. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  98. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  99. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  100. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  101. pulumiverse_scaleway/elasticmetal/ip.py +710 -0
  102. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  103. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  104. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  105. pulumiverse_scaleway/flexible_ip.py +35 -23
  106. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  107. pulumiverse_scaleway/function.py +6 -0
  108. pulumiverse_scaleway/function_cron.py +16 -10
  109. pulumiverse_scaleway/function_domain.py +16 -10
  110. pulumiverse_scaleway/function_namespace.py +10 -4
  111. pulumiverse_scaleway/function_token.py +32 -26
  112. pulumiverse_scaleway/function_trigger.py +12 -6
  113. pulumiverse_scaleway/functions/__init__.py +17 -0
  114. pulumiverse_scaleway/functions/_inputs.py +211 -0
  115. pulumiverse_scaleway/functions/cron.py +464 -0
  116. pulumiverse_scaleway/functions/domain.py +372 -0
  117. pulumiverse_scaleway/functions/function.py +1105 -0
  118. pulumiverse_scaleway/functions/get_function.py +365 -0
  119. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  120. pulumiverse_scaleway/functions/namespace.py +582 -0
  121. pulumiverse_scaleway/functions/outputs.py +168 -0
  122. pulumiverse_scaleway/functions/token.py +462 -0
  123. pulumiverse_scaleway/functions/trigger.py +482 -0
  124. pulumiverse_scaleway/get_account_project.py +6 -2
  125. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  126. pulumiverse_scaleway/get_availability_zones.py +8 -4
  127. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  128. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  129. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  130. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  131. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  132. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  133. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  134. pulumiverse_scaleway/get_block_volume.py +6 -2
  135. pulumiverse_scaleway/get_cockpit.py +12 -8
  136. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  137. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  138. pulumiverse_scaleway/get_container.py +16 -12
  139. pulumiverse_scaleway/get_container_namespace.py +10 -6
  140. pulumiverse_scaleway/get_database.py +6 -2
  141. pulumiverse_scaleway/get_database_acl.py +6 -2
  142. pulumiverse_scaleway/get_database_backup.py +10 -6
  143. pulumiverse_scaleway/get_database_instance.py +4 -0
  144. pulumiverse_scaleway/get_database_privilege.py +6 -2
  145. pulumiverse_scaleway/get_domain_record.py +10 -6
  146. pulumiverse_scaleway/get_domain_zone.py +4 -0
  147. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  148. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  149. pulumiverse_scaleway/get_function.py +6 -2
  150. pulumiverse_scaleway/get_function_namespace.py +6 -2
  151. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  152. pulumiverse_scaleway/get_iam_application.py +8 -4
  153. pulumiverse_scaleway/get_iam_group.py +8 -4
  154. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  155. pulumiverse_scaleway/get_iam_user.py +8 -4
  156. pulumiverse_scaleway/get_instance_image.py +4 -0
  157. pulumiverse_scaleway/get_instance_ip.py +4 -0
  158. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  159. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  160. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  161. pulumiverse_scaleway/get_instance_server.py +4 -0
  162. pulumiverse_scaleway/get_instance_servers.py +4 -0
  163. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  164. pulumiverse_scaleway/get_instance_volume.py +4 -0
  165. pulumiverse_scaleway/get_iot_device.py +4 -0
  166. pulumiverse_scaleway/get_iot_hub.py +4 -0
  167. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  168. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  169. pulumiverse_scaleway/get_k8s_version.py +8 -4
  170. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  171. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  172. pulumiverse_scaleway/get_lb_acls.py +8 -4
  173. pulumiverse_scaleway/get_lb_backend.py +18 -14
  174. pulumiverse_scaleway/get_lb_backends.py +8 -4
  175. pulumiverse_scaleway/get_lb_frontend.py +28 -13
  176. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  177. pulumiverse_scaleway/get_lb_ips.py +4 -0
  178. pulumiverse_scaleway/get_lb_route.py +28 -13
  179. pulumiverse_scaleway/get_lb_routes.py +8 -4
  180. pulumiverse_scaleway/get_lbs.py +4 -0
  181. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  182. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  183. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  184. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  185. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  186. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  187. pulumiverse_scaleway/get_object_bucket.py +12 -8
  188. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  189. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  190. pulumiverse_scaleway/get_registry_image.py +4 -0
  191. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  192. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  193. pulumiverse_scaleway/get_secret.py +27 -12
  194. pulumiverse_scaleway/get_secret_version.py +14 -10
  195. pulumiverse_scaleway/get_tem_domain.py +4 -0
  196. pulumiverse_scaleway/get_vpc.py +10 -6
  197. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  198. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  199. pulumiverse_scaleway/get_vpc_public_gateway.py +44 -7
  200. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +16 -4
  201. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +78 -66
  202. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  203. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  204. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  205. pulumiverse_scaleway/get_vpcs.py +4 -0
  206. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  207. pulumiverse_scaleway/get_webhosting.py +8 -4
  208. pulumiverse_scaleway/hosting/__init__.py +12 -0
  209. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  210. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  211. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  212. pulumiverse_scaleway/hosting/hosting.py +870 -0
  213. pulumiverse_scaleway/hosting/outputs.py +626 -0
  214. pulumiverse_scaleway/iam/__init__.py +21 -0
  215. pulumiverse_scaleway/iam/_inputs.py +138 -0
  216. pulumiverse_scaleway/iam/api_key.py +622 -0
  217. pulumiverse_scaleway/iam/application.py +419 -0
  218. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  219. pulumiverse_scaleway/iam/get_application.py +210 -0
  220. pulumiverse_scaleway/iam/get_group.py +236 -0
  221. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  222. pulumiverse_scaleway/iam/get_user.py +177 -0
  223. pulumiverse_scaleway/iam/group.py +568 -0
  224. pulumiverse_scaleway/iam/group_membership.py +325 -0
  225. pulumiverse_scaleway/iam/outputs.py +111 -0
  226. pulumiverse_scaleway/iam/policy.py +775 -0
  227. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  228. pulumiverse_scaleway/iam/user.py +515 -0
  229. pulumiverse_scaleway/iam_api_key.py +16 -10
  230. pulumiverse_scaleway/iam_application.py +8 -2
  231. pulumiverse_scaleway/iam_group.py +12 -6
  232. pulumiverse_scaleway/iam_group_membership.py +12 -6
  233. pulumiverse_scaleway/iam_policy.py +18 -12
  234. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  235. pulumiverse_scaleway/iam_user.py +8 -2
  236. pulumiverse_scaleway/inference/__init__.py +10 -0
  237. pulumiverse_scaleway/inference/_inputs.py +209 -0
  238. pulumiverse_scaleway/inference/deployment.py +824 -0
  239. pulumiverse_scaleway/inference/outputs.py +169 -0
  240. pulumiverse_scaleway/inference_deployment.py +8 -2
  241. pulumiverse_scaleway/instance/__init__.py +29 -0
  242. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  243. pulumiverse_scaleway/instance/get_image.py +305 -0
  244. pulumiverse_scaleway/instance/get_ip.py +204 -0
  245. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  246. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  247. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  248. pulumiverse_scaleway/instance/get_server.py +488 -0
  249. pulumiverse_scaleway/instance/get_servers.py +187 -0
  250. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  251. pulumiverse_scaleway/instance/get_volume.py +226 -0
  252. pulumiverse_scaleway/instance/image.py +752 -0
  253. pulumiverse_scaleway/instance/ip.py +471 -0
  254. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  255. pulumiverse_scaleway/instance/outputs.py +1533 -0
  256. pulumiverse_scaleway/instance/placement_group.py +481 -0
  257. pulumiverse_scaleway/instance/private_nic.py +557 -0
  258. pulumiverse_scaleway/instance/security_group.py +722 -0
  259. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  260. pulumiverse_scaleway/instance/server.py +1938 -0
  261. pulumiverse_scaleway/instance/snapshot.py +671 -0
  262. pulumiverse_scaleway/instance/user_data.py +437 -0
  263. pulumiverse_scaleway/instance/volume.py +584 -0
  264. pulumiverse_scaleway/instance_image.py +18 -12
  265. pulumiverse_scaleway/instance_ip.py +8 -2
  266. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  267. pulumiverse_scaleway/instance_placement_group.py +8 -2
  268. pulumiverse_scaleway/instance_private_nic.py +24 -18
  269. pulumiverse_scaleway/instance_security_group.py +6 -0
  270. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  271. pulumiverse_scaleway/instance_server.py +74 -68
  272. pulumiverse_scaleway/instance_snapshot.py +22 -16
  273. pulumiverse_scaleway/instance_user_data.py +16 -10
  274. pulumiverse_scaleway/instance_volume.py +8 -2
  275. pulumiverse_scaleway/iot/__init__.py +15 -0
  276. pulumiverse_scaleway/iot/_inputs.py +539 -0
  277. pulumiverse_scaleway/iot/device.py +752 -0
  278. pulumiverse_scaleway/iot/get_device.py +257 -0
  279. pulumiverse_scaleway/iot/get_hub.py +322 -0
  280. pulumiverse_scaleway/iot/hub.py +898 -0
  281. pulumiverse_scaleway/iot/network.py +474 -0
  282. pulumiverse_scaleway/iot/outputs.py +465 -0
  283. pulumiverse_scaleway/iot/route.py +662 -0
  284. pulumiverse_scaleway/iot_device.py +14 -8
  285. pulumiverse_scaleway/iot_hub.py +8 -2
  286. pulumiverse_scaleway/iot_network.py +12 -6
  287. pulumiverse_scaleway/iot_route.py +32 -26
  288. pulumiverse_scaleway/ipam/__init__.py +13 -0
  289. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  290. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  291. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  292. pulumiverse_scaleway/ipam/ip.py +759 -0
  293. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  294. pulumiverse_scaleway/ipam/outputs.py +481 -0
  295. pulumiverse_scaleway/ipam_ip.py +30 -24
  296. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  297. pulumiverse_scaleway/job/__init__.py +10 -0
  298. pulumiverse_scaleway/job/_inputs.py +73 -0
  299. pulumiverse_scaleway/job/definition.py +694 -0
  300. pulumiverse_scaleway/job/outputs.py +49 -0
  301. pulumiverse_scaleway/job_definition.py +8 -2
  302. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  303. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  304. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  305. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  306. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  307. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  308. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  309. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  310. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  311. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  312. pulumiverse_scaleway/loadbalancer.py +35 -29
  313. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  314. pulumiverse_scaleway/loadbalancer_backend.py +12 -6
  315. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  316. pulumiverse_scaleway/loadbalancer_frontend.py +57 -4
  317. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  318. pulumiverse_scaleway/loadbalancer_route.py +74 -21
  319. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  320. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  321. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  322. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  323. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  324. pulumiverse_scaleway/loadbalancers/frontend.py +878 -0
  325. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  326. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  327. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  328. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  329. pulumiverse_scaleway/loadbalancers/get_frontend.py +285 -0
  330. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  331. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  332. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  333. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  334. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  335. pulumiverse_scaleway/loadbalancers/get_route.py +228 -0
  336. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  337. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  338. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  339. pulumiverse_scaleway/loadbalancers/outputs.py +2502 -0
  340. pulumiverse_scaleway/loadbalancers/route.py +572 -0
  341. pulumiverse_scaleway/mnq/__init__.py +20 -0
  342. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  343. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  344. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  345. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  346. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  347. pulumiverse_scaleway/mnq/outputs.py +149 -0
  348. pulumiverse_scaleway/mnq/sns.py +308 -0
  349. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  350. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  351. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  352. pulumiverse_scaleway/mnq/sqs.py +306 -0
  353. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  354. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  355. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  356. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  357. pulumiverse_scaleway/mnq_sns.py +12 -6
  358. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  359. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  360. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  361. pulumiverse_scaleway/mnq_sqs.py +12 -6
  362. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  363. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  364. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  365. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  366. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  367. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  368. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  369. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  370. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  371. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  372. pulumiverse_scaleway/network/__init__.py +30 -0
  373. pulumiverse_scaleway/network/_inputs.py +577 -0
  374. pulumiverse_scaleway/network/acl.py +415 -0
  375. pulumiverse_scaleway/network/gateway_network.py +850 -0
  376. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  377. pulumiverse_scaleway/network/get_private_network.py +282 -0
  378. pulumiverse_scaleway/network/get_public_gateway.py +337 -0
  379. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +313 -0
  380. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +390 -0
  381. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  382. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  383. pulumiverse_scaleway/network/get_routes.py +208 -0
  384. pulumiverse_scaleway/network/get_vpc.py +246 -0
  385. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  386. pulumiverse_scaleway/network/outputs.py +886 -0
  387. pulumiverse_scaleway/network/private_network.py +736 -0
  388. pulumiverse_scaleway/network/public_gateway.py +894 -0
  389. pulumiverse_scaleway/network/public_gateway_dhcp.py +957 -0
  390. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +524 -0
  391. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  392. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  393. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  394. pulumiverse_scaleway/network/route.py +579 -0
  395. pulumiverse_scaleway/network/vpc.py +538 -0
  396. pulumiverse_scaleway/object/__init__.py +17 -0
  397. pulumiverse_scaleway/object/_inputs.py +831 -0
  398. pulumiverse_scaleway/object/bucket.py +876 -0
  399. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  400. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  401. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  402. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  403. pulumiverse_scaleway/object/get_bucket.py +290 -0
  404. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  405. pulumiverse_scaleway/object/item.py +778 -0
  406. pulumiverse_scaleway/object/outputs.py +802 -0
  407. pulumiverse_scaleway/object_bucket.py +28 -22
  408. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  409. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  410. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  411. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  412. pulumiverse_scaleway/object_item.py +8 -2
  413. pulumiverse_scaleway/observability/__init__.py +17 -0
  414. pulumiverse_scaleway/observability/_inputs.py +417 -0
  415. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  416. pulumiverse_scaleway/observability/cockpit.py +325 -0
  417. pulumiverse_scaleway/observability/get_instance.py +205 -0
  418. pulumiverse_scaleway/observability/get_plan.py +125 -0
  419. pulumiverse_scaleway/observability/get_source.py +262 -0
  420. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  421. pulumiverse_scaleway/observability/outputs.py +425 -0
  422. pulumiverse_scaleway/observability/source.py +569 -0
  423. pulumiverse_scaleway/observability/token.py +481 -0
  424. pulumiverse_scaleway/outputs.py +662 -2
  425. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  426. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  427. pulumiverse_scaleway/redis/__init__.py +11 -0
  428. pulumiverse_scaleway/redis/_inputs.py +330 -0
  429. pulumiverse_scaleway/redis/cluster.py +1203 -0
  430. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  431. pulumiverse_scaleway/redis/outputs.py +356 -0
  432. pulumiverse_scaleway/redis_cluster.py +14 -8
  433. pulumiverse_scaleway/registry/__init__.py +11 -0
  434. pulumiverse_scaleway/registry/get_image.py +239 -0
  435. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  436. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  437. pulumiverse_scaleway/registry/namespace.py +460 -0
  438. pulumiverse_scaleway/registry_namespace.py +8 -2
  439. pulumiverse_scaleway/sdb_database.py +10 -4
  440. pulumiverse_scaleway/secret.py +28 -2
  441. pulumiverse_scaleway/secret_version.py +18 -12
  442. pulumiverse_scaleway/secrets/__init__.py +13 -0
  443. pulumiverse_scaleway/secrets/_inputs.py +248 -0
  444. pulumiverse_scaleway/secrets/get_secret.py +349 -0
  445. pulumiverse_scaleway/secrets/get_version.py +340 -0
  446. pulumiverse_scaleway/secrets/outputs.py +320 -0
  447. pulumiverse_scaleway/secrets/secret.py +685 -0
  448. pulumiverse_scaleway/secrets/version.py +489 -0
  449. pulumiverse_scaleway/tem/__init__.py +15 -0
  450. pulumiverse_scaleway/tem/_inputs.py +135 -0
  451. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  452. pulumiverse_scaleway/tem/domain.py +1039 -0
  453. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  454. pulumiverse_scaleway/tem/get_domain.py +378 -0
  455. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  456. pulumiverse_scaleway/tem/outputs.py +171 -0
  457. pulumiverse_scaleway/tem/webhook.py +642 -0
  458. pulumiverse_scaleway/tem_domain.py +27 -14
  459. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  460. pulumiverse_scaleway/tem_webhook.py +28 -22
  461. pulumiverse_scaleway/vpc.py +10 -4
  462. pulumiverse_scaleway/vpc_gateway_network.py +128 -140
  463. pulumiverse_scaleway/vpc_private_network.py +10 -4
  464. pulumiverse_scaleway/vpc_public_gateway.py +132 -23
  465. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +23 -9
  466. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +40 -26
  467. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  468. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  469. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  470. pulumiverse_scaleway/vpc_route.py +16 -10
  471. pulumiverse_scaleway/webhosting.py +10 -4
  472. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/METADATA +1 -1
  473. pulumiverse_scaleway-1.26.0.dist-info/RECORD +483 -0
  474. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/WHEEL +1 -1
  475. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  476. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1533 @@
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
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'ImageAdditionalVolume',
20
+ 'SecurityGroupInboundRule',
21
+ 'SecurityGroupOutboundRule',
22
+ 'SecurityGroupRulesInboundRule',
23
+ 'SecurityGroupRulesOutboundRule',
24
+ 'ServerPrivateNetwork',
25
+ 'ServerPublicIp',
26
+ 'ServerRootVolume',
27
+ 'SnapshotImport',
28
+ 'GetSecurityGroupInboundRuleResult',
29
+ 'GetSecurityGroupOutboundRuleResult',
30
+ 'GetServerPrivateNetworkResult',
31
+ 'GetServerPublicIpResult',
32
+ 'GetServerRootVolumeResult',
33
+ 'GetServersServerResult',
34
+ 'GetServersServerPublicIpResult',
35
+ 'GetSnapshotImportResult',
36
+ ]
37
+
38
+ @pulumi.output_type
39
+ class ImageAdditionalVolume(dict):
40
+ @staticmethod
41
+ def __key_warning(key: str):
42
+ suggest = None
43
+ if key == "creationDate":
44
+ suggest = "creation_date"
45
+ elif key == "exportUri":
46
+ suggest = "export_uri"
47
+ elif key == "modificationDate":
48
+ suggest = "modification_date"
49
+ elif key == "volumeType":
50
+ suggest = "volume_type"
51
+
52
+ if suggest:
53
+ pulumi.log.warn(f"Key '{key}' not found in ImageAdditionalVolume. Access the value via the '{suggest}' property getter instead.")
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ ImageAdditionalVolume.__key_warning(key)
57
+ return super().__getitem__(key)
58
+
59
+ def get(self, key: str, default = None) -> Any:
60
+ ImageAdditionalVolume.__key_warning(key)
61
+ return super().get(key, default)
62
+
63
+ def __init__(__self__, *,
64
+ creation_date: Optional[str] = None,
65
+ export_uri: Optional[str] = None,
66
+ id: Optional[str] = None,
67
+ modification_date: Optional[str] = None,
68
+ name: Optional[str] = None,
69
+ organization: Optional[str] = None,
70
+ project: Optional[str] = None,
71
+ server: Optional[Mapping[str, str]] = None,
72
+ size: Optional[int] = None,
73
+ state: Optional[str] = None,
74
+ tags: Optional[Sequence[str]] = None,
75
+ volume_type: Optional[str] = None,
76
+ zone: Optional[str] = None):
77
+ """
78
+ :param str creation_date: Date of the volume creation.
79
+ :param str export_uri: The export URI of the volume.
80
+ :param str id: ID of the server containing the volume.
81
+ :param str modification_date: Date of volume latest update.
82
+ :param str name: The name of the image. If not provided it will be randomly generated.
83
+ :param str organization: The organization ID the volume is associated with.
84
+ :param str project: ID of the project the volume is associated with
85
+ :param Mapping[str, str] server: Description of the server containing the volume (in case the image is a backup from a server).
86
+ :param int size: The size of the volume.
87
+ :param str state: State of the volume.
88
+ :param Sequence[str] tags: A list of tags to apply to the image.
89
+ :param str volume_type: The type of volume, possible values are `l_ssd` and `b_ssd`.
90
+ :param str zone: The zone in which the image should be created.
91
+ """
92
+ if creation_date is not None:
93
+ pulumi.set(__self__, "creation_date", creation_date)
94
+ if export_uri is not None:
95
+ pulumi.set(__self__, "export_uri", export_uri)
96
+ if id is not None:
97
+ pulumi.set(__self__, "id", id)
98
+ if modification_date is not None:
99
+ pulumi.set(__self__, "modification_date", modification_date)
100
+ if name is not None:
101
+ pulumi.set(__self__, "name", name)
102
+ if organization is not None:
103
+ pulumi.set(__self__, "organization", organization)
104
+ if project is not None:
105
+ pulumi.set(__self__, "project", project)
106
+ if server is not None:
107
+ pulumi.set(__self__, "server", server)
108
+ if size is not None:
109
+ pulumi.set(__self__, "size", size)
110
+ if state is not None:
111
+ pulumi.set(__self__, "state", state)
112
+ if tags is not None:
113
+ pulumi.set(__self__, "tags", tags)
114
+ if volume_type is not None:
115
+ pulumi.set(__self__, "volume_type", volume_type)
116
+ if zone is not None:
117
+ pulumi.set(__self__, "zone", zone)
118
+
119
+ @property
120
+ @pulumi.getter(name="creationDate")
121
+ def creation_date(self) -> Optional[str]:
122
+ """
123
+ Date of the volume creation.
124
+ """
125
+ return pulumi.get(self, "creation_date")
126
+
127
+ @property
128
+ @pulumi.getter(name="exportUri")
129
+ def export_uri(self) -> Optional[str]:
130
+ """
131
+ The export URI of the volume.
132
+ """
133
+ return pulumi.get(self, "export_uri")
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def id(self) -> Optional[str]:
138
+ """
139
+ ID of the server containing the volume.
140
+ """
141
+ return pulumi.get(self, "id")
142
+
143
+ @property
144
+ @pulumi.getter(name="modificationDate")
145
+ def modification_date(self) -> Optional[str]:
146
+ """
147
+ Date of volume latest update.
148
+ """
149
+ return pulumi.get(self, "modification_date")
150
+
151
+ @property
152
+ @pulumi.getter
153
+ def name(self) -> Optional[str]:
154
+ """
155
+ The name of the image. If not provided it will be randomly generated.
156
+ """
157
+ return pulumi.get(self, "name")
158
+
159
+ @property
160
+ @pulumi.getter
161
+ def organization(self) -> Optional[str]:
162
+ """
163
+ The organization ID the volume is associated with.
164
+ """
165
+ return pulumi.get(self, "organization")
166
+
167
+ @property
168
+ @pulumi.getter
169
+ def project(self) -> Optional[str]:
170
+ """
171
+ ID of the project the volume is associated with
172
+ """
173
+ return pulumi.get(self, "project")
174
+
175
+ @property
176
+ @pulumi.getter
177
+ def server(self) -> Optional[Mapping[str, str]]:
178
+ """
179
+ Description of the server containing the volume (in case the image is a backup from a server).
180
+ """
181
+ return pulumi.get(self, "server")
182
+
183
+ @property
184
+ @pulumi.getter
185
+ def size(self) -> Optional[int]:
186
+ """
187
+ The size of the volume.
188
+ """
189
+ return pulumi.get(self, "size")
190
+
191
+ @property
192
+ @pulumi.getter
193
+ def state(self) -> Optional[str]:
194
+ """
195
+ State of the volume.
196
+ """
197
+ return pulumi.get(self, "state")
198
+
199
+ @property
200
+ @pulumi.getter
201
+ def tags(self) -> Optional[Sequence[str]]:
202
+ """
203
+ A list of tags to apply to the image.
204
+ """
205
+ return pulumi.get(self, "tags")
206
+
207
+ @property
208
+ @pulumi.getter(name="volumeType")
209
+ def volume_type(self) -> Optional[str]:
210
+ """
211
+ The type of volume, possible values are `l_ssd` and `b_ssd`.
212
+ """
213
+ return pulumi.get(self, "volume_type")
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def zone(self) -> Optional[str]:
218
+ """
219
+ The zone in which the image should be created.
220
+ """
221
+ return pulumi.get(self, "zone")
222
+
223
+
224
+ @pulumi.output_type
225
+ class SecurityGroupInboundRule(dict):
226
+ @staticmethod
227
+ def __key_warning(key: str):
228
+ suggest = None
229
+ if key == "ipRange":
230
+ suggest = "ip_range"
231
+ elif key == "portRange":
232
+ suggest = "port_range"
233
+
234
+ if suggest:
235
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGroupInboundRule. Access the value via the '{suggest}' property getter instead.")
236
+
237
+ def __getitem__(self, key: str) -> Any:
238
+ SecurityGroupInboundRule.__key_warning(key)
239
+ return super().__getitem__(key)
240
+
241
+ def get(self, key: str, default = None) -> Any:
242
+ SecurityGroupInboundRule.__key_warning(key)
243
+ return super().get(key, default)
244
+
245
+ def __init__(__self__, *,
246
+ action: str,
247
+ ip: Optional[str] = None,
248
+ ip_range: Optional[str] = None,
249
+ port: Optional[int] = None,
250
+ port_range: Optional[str] = None,
251
+ protocol: Optional[str] = None):
252
+ """
253
+ :param str action: The action to take when rule match. Possible values are: `accept` or `drop`.
254
+ :param str ip: The ip this rule apply to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
255
+ :param str ip_range: The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
256
+ :param int port: The port this rule applies to. If no `port` nor `port_range` are specified, the rule will apply to all port. Only one of `port` and `port_range` should be specified.
257
+ :param str port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
258
+ :param str protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
259
+ """
260
+ pulumi.set(__self__, "action", action)
261
+ if ip is not None:
262
+ pulumi.set(__self__, "ip", ip)
263
+ if ip_range is not None:
264
+ pulumi.set(__self__, "ip_range", ip_range)
265
+ if port is not None:
266
+ pulumi.set(__self__, "port", port)
267
+ if port_range is not None:
268
+ pulumi.set(__self__, "port_range", port_range)
269
+ if protocol is not None:
270
+ pulumi.set(__self__, "protocol", protocol)
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def action(self) -> str:
275
+ """
276
+ The action to take when rule match. Possible values are: `accept` or `drop`.
277
+ """
278
+ return pulumi.get(self, "action")
279
+
280
+ @property
281
+ @pulumi.getter
282
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
283
+ def ip(self) -> Optional[str]:
284
+ """
285
+ The ip this rule apply to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
286
+ """
287
+ return pulumi.get(self, "ip")
288
+
289
+ @property
290
+ @pulumi.getter(name="ipRange")
291
+ def ip_range(self) -> Optional[str]:
292
+ """
293
+ The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
294
+ """
295
+ return pulumi.get(self, "ip_range")
296
+
297
+ @property
298
+ @pulumi.getter
299
+ def port(self) -> Optional[int]:
300
+ """
301
+ The port this rule applies to. If no `port` nor `port_range` are specified, the rule will apply to all port. Only one of `port` and `port_range` should be specified.
302
+ """
303
+ return pulumi.get(self, "port")
304
+
305
+ @property
306
+ @pulumi.getter(name="portRange")
307
+ def port_range(self) -> Optional[str]:
308
+ """
309
+ Computed port range for this rule (e.g: 1-1024, 22-22)
310
+ """
311
+ return pulumi.get(self, "port_range")
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def protocol(self) -> Optional[str]:
316
+ """
317
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
318
+ """
319
+ return pulumi.get(self, "protocol")
320
+
321
+
322
+ @pulumi.output_type
323
+ class SecurityGroupOutboundRule(dict):
324
+ @staticmethod
325
+ def __key_warning(key: str):
326
+ suggest = None
327
+ if key == "ipRange":
328
+ suggest = "ip_range"
329
+ elif key == "portRange":
330
+ suggest = "port_range"
331
+
332
+ if suggest:
333
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGroupOutboundRule. Access the value via the '{suggest}' property getter instead.")
334
+
335
+ def __getitem__(self, key: str) -> Any:
336
+ SecurityGroupOutboundRule.__key_warning(key)
337
+ return super().__getitem__(key)
338
+
339
+ def get(self, key: str, default = None) -> Any:
340
+ SecurityGroupOutboundRule.__key_warning(key)
341
+ return super().get(key, default)
342
+
343
+ def __init__(__self__, *,
344
+ action: str,
345
+ ip: Optional[str] = None,
346
+ ip_range: Optional[str] = None,
347
+ port: Optional[int] = None,
348
+ port_range: Optional[str] = None,
349
+ protocol: Optional[str] = None):
350
+ """
351
+ :param str action: Action when rule match request (drop or accept)
352
+ :param str ip: Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
353
+ :param str ip_range: Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
354
+ :param int port: Network port for this rule
355
+ :param str port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
356
+ :param str protocol: Protocol for this rule (TCP, UDP, ICMP or ANY)
357
+ """
358
+ pulumi.set(__self__, "action", action)
359
+ if ip is not None:
360
+ pulumi.set(__self__, "ip", ip)
361
+ if ip_range is not None:
362
+ pulumi.set(__self__, "ip_range", ip_range)
363
+ if port is not None:
364
+ pulumi.set(__self__, "port", port)
365
+ if port_range is not None:
366
+ pulumi.set(__self__, "port_range", port_range)
367
+ if protocol is not None:
368
+ pulumi.set(__self__, "protocol", protocol)
369
+
370
+ @property
371
+ @pulumi.getter
372
+ def action(self) -> str:
373
+ """
374
+ Action when rule match request (drop or accept)
375
+ """
376
+ return pulumi.get(self, "action")
377
+
378
+ @property
379
+ @pulumi.getter
380
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
381
+ def ip(self) -> Optional[str]:
382
+ """
383
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
384
+ """
385
+ return pulumi.get(self, "ip")
386
+
387
+ @property
388
+ @pulumi.getter(name="ipRange")
389
+ def ip_range(self) -> Optional[str]:
390
+ """
391
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
392
+ """
393
+ return pulumi.get(self, "ip_range")
394
+
395
+ @property
396
+ @pulumi.getter
397
+ def port(self) -> Optional[int]:
398
+ """
399
+ Network port for this rule
400
+ """
401
+ return pulumi.get(self, "port")
402
+
403
+ @property
404
+ @pulumi.getter(name="portRange")
405
+ def port_range(self) -> Optional[str]:
406
+ """
407
+ Computed port range for this rule (e.g: 1-1024, 22-22)
408
+ """
409
+ return pulumi.get(self, "port_range")
410
+
411
+ @property
412
+ @pulumi.getter
413
+ def protocol(self) -> Optional[str]:
414
+ """
415
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
416
+ """
417
+ return pulumi.get(self, "protocol")
418
+
419
+
420
+ @pulumi.output_type
421
+ class SecurityGroupRulesInboundRule(dict):
422
+ @staticmethod
423
+ def __key_warning(key: str):
424
+ suggest = None
425
+ if key == "ipRange":
426
+ suggest = "ip_range"
427
+ elif key == "portRange":
428
+ suggest = "port_range"
429
+
430
+ if suggest:
431
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGroupRulesInboundRule. Access the value via the '{suggest}' property getter instead.")
432
+
433
+ def __getitem__(self, key: str) -> Any:
434
+ SecurityGroupRulesInboundRule.__key_warning(key)
435
+ return super().__getitem__(key)
436
+
437
+ def get(self, key: str, default = None) -> Any:
438
+ SecurityGroupRulesInboundRule.__key_warning(key)
439
+ return super().get(key, default)
440
+
441
+ def __init__(__self__, *,
442
+ action: str,
443
+ ip: Optional[str] = None,
444
+ ip_range: Optional[str] = None,
445
+ port: Optional[int] = None,
446
+ port_range: Optional[str] = None,
447
+ protocol: Optional[str] = None):
448
+ """
449
+ :param str action: The action to take when rule match. Possible values are: `accept` or `drop`.
450
+ :param str ip: The ip this rule apply to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
451
+ :param str ip_range: The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
452
+ :param int port: The port this rule apply to. If no port is specified, rule will apply to all port.
453
+ :param str port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
454
+ :param str protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
455
+ """
456
+ pulumi.set(__self__, "action", action)
457
+ if ip is not None:
458
+ pulumi.set(__self__, "ip", ip)
459
+ if ip_range is not None:
460
+ pulumi.set(__self__, "ip_range", ip_range)
461
+ if port is not None:
462
+ pulumi.set(__self__, "port", port)
463
+ if port_range is not None:
464
+ pulumi.set(__self__, "port_range", port_range)
465
+ if protocol is not None:
466
+ pulumi.set(__self__, "protocol", protocol)
467
+
468
+ @property
469
+ @pulumi.getter
470
+ def action(self) -> str:
471
+ """
472
+ The action to take when rule match. Possible values are: `accept` or `drop`.
473
+ """
474
+ return pulumi.get(self, "action")
475
+
476
+ @property
477
+ @pulumi.getter
478
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
479
+ def ip(self) -> Optional[str]:
480
+ """
481
+ The ip this rule apply to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
482
+ """
483
+ return pulumi.get(self, "ip")
484
+
485
+ @property
486
+ @pulumi.getter(name="ipRange")
487
+ def ip_range(self) -> Optional[str]:
488
+ """
489
+ The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ip_range` are specified, rule will apply to all ip. Only one of `ip` and `ip_range` should be specified.
490
+ """
491
+ return pulumi.get(self, "ip_range")
492
+
493
+ @property
494
+ @pulumi.getter
495
+ def port(self) -> Optional[int]:
496
+ """
497
+ The port this rule apply to. If no port is specified, rule will apply to all port.
498
+ """
499
+ return pulumi.get(self, "port")
500
+
501
+ @property
502
+ @pulumi.getter(name="portRange")
503
+ def port_range(self) -> Optional[str]:
504
+ """
505
+ Computed port range for this rule (e.g: 1-1024, 22-22)
506
+ """
507
+ return pulumi.get(self, "port_range")
508
+
509
+ @property
510
+ @pulumi.getter
511
+ def protocol(self) -> Optional[str]:
512
+ """
513
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
514
+ """
515
+ return pulumi.get(self, "protocol")
516
+
517
+
518
+ @pulumi.output_type
519
+ class SecurityGroupRulesOutboundRule(dict):
520
+ @staticmethod
521
+ def __key_warning(key: str):
522
+ suggest = None
523
+ if key == "ipRange":
524
+ suggest = "ip_range"
525
+ elif key == "portRange":
526
+ suggest = "port_range"
527
+
528
+ if suggest:
529
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGroupRulesOutboundRule. Access the value via the '{suggest}' property getter instead.")
530
+
531
+ def __getitem__(self, key: str) -> Any:
532
+ SecurityGroupRulesOutboundRule.__key_warning(key)
533
+ return super().__getitem__(key)
534
+
535
+ def get(self, key: str, default = None) -> Any:
536
+ SecurityGroupRulesOutboundRule.__key_warning(key)
537
+ return super().get(key, default)
538
+
539
+ def __init__(__self__, *,
540
+ action: str,
541
+ ip: Optional[str] = None,
542
+ ip_range: Optional[str] = None,
543
+ port: Optional[int] = None,
544
+ port_range: Optional[str] = None,
545
+ protocol: Optional[str] = None):
546
+ """
547
+ :param str action: Action when rule match request (drop or accept)
548
+ :param str ip: Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
549
+ :param str ip_range: Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
550
+ :param int port: Network port for this rule
551
+ :param str port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
552
+ :param str protocol: Protocol for this rule (TCP, UDP, ICMP or ANY)
553
+ """
554
+ pulumi.set(__self__, "action", action)
555
+ if ip is not None:
556
+ pulumi.set(__self__, "ip", ip)
557
+ if ip_range is not None:
558
+ pulumi.set(__self__, "ip_range", ip_range)
559
+ if port is not None:
560
+ pulumi.set(__self__, "port", port)
561
+ if port_range is not None:
562
+ pulumi.set(__self__, "port_range", port_range)
563
+ if protocol is not None:
564
+ pulumi.set(__self__, "protocol", protocol)
565
+
566
+ @property
567
+ @pulumi.getter
568
+ def action(self) -> str:
569
+ """
570
+ Action when rule match request (drop or accept)
571
+ """
572
+ return pulumi.get(self, "action")
573
+
574
+ @property
575
+ @pulumi.getter
576
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
577
+ def ip(self) -> Optional[str]:
578
+ """
579
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
580
+ """
581
+ return pulumi.get(self, "ip")
582
+
583
+ @property
584
+ @pulumi.getter(name="ipRange")
585
+ def ip_range(self) -> Optional[str]:
586
+ """
587
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
588
+ """
589
+ return pulumi.get(self, "ip_range")
590
+
591
+ @property
592
+ @pulumi.getter
593
+ def port(self) -> Optional[int]:
594
+ """
595
+ Network port for this rule
596
+ """
597
+ return pulumi.get(self, "port")
598
+
599
+ @property
600
+ @pulumi.getter(name="portRange")
601
+ def port_range(self) -> Optional[str]:
602
+ """
603
+ Computed port range for this rule (e.g: 1-1024, 22-22)
604
+ """
605
+ return pulumi.get(self, "port_range")
606
+
607
+ @property
608
+ @pulumi.getter
609
+ def protocol(self) -> Optional[str]:
610
+ """
611
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
612
+ """
613
+ return pulumi.get(self, "protocol")
614
+
615
+
616
+ @pulumi.output_type
617
+ class ServerPrivateNetwork(dict):
618
+ @staticmethod
619
+ def __key_warning(key: str):
620
+ suggest = None
621
+ if key == "pnId":
622
+ suggest = "pn_id"
623
+ elif key == "macAddress":
624
+ suggest = "mac_address"
625
+ elif key == "pnicId":
626
+ suggest = "pnic_id"
627
+
628
+ if suggest:
629
+ pulumi.log.warn(f"Key '{key}' not found in ServerPrivateNetwork. Access the value via the '{suggest}' property getter instead.")
630
+
631
+ def __getitem__(self, key: str) -> Any:
632
+ ServerPrivateNetwork.__key_warning(key)
633
+ return super().__getitem__(key)
634
+
635
+ def get(self, key: str, default = None) -> Any:
636
+ ServerPrivateNetwork.__key_warning(key)
637
+ return super().get(key, default)
638
+
639
+ def __init__(__self__, *,
640
+ pn_id: str,
641
+ mac_address: Optional[str] = None,
642
+ pnic_id: Optional[str] = None,
643
+ status: Optional[str] = None,
644
+ zone: Optional[str] = None):
645
+ """
646
+ :param str pn_id: The Private Network ID
647
+ :param str mac_address: MAC address of the NIC
648
+ :param str pnic_id: The ID of the NIC
649
+ :param str status: The private NIC state
650
+ :param str zone: `zone`) The zone in which the server should be created.
651
+ """
652
+ pulumi.set(__self__, "pn_id", pn_id)
653
+ if mac_address is not None:
654
+ pulumi.set(__self__, "mac_address", mac_address)
655
+ if pnic_id is not None:
656
+ pulumi.set(__self__, "pnic_id", pnic_id)
657
+ if status is not None:
658
+ pulumi.set(__self__, "status", status)
659
+ if zone is not None:
660
+ pulumi.set(__self__, "zone", zone)
661
+
662
+ @property
663
+ @pulumi.getter(name="pnId")
664
+ def pn_id(self) -> str:
665
+ """
666
+ The Private Network ID
667
+ """
668
+ return pulumi.get(self, "pn_id")
669
+
670
+ @property
671
+ @pulumi.getter(name="macAddress")
672
+ def mac_address(self) -> Optional[str]:
673
+ """
674
+ MAC address of the NIC
675
+ """
676
+ return pulumi.get(self, "mac_address")
677
+
678
+ @property
679
+ @pulumi.getter(name="pnicId")
680
+ def pnic_id(self) -> Optional[str]:
681
+ """
682
+ The ID of the NIC
683
+ """
684
+ return pulumi.get(self, "pnic_id")
685
+
686
+ @property
687
+ @pulumi.getter
688
+ def status(self) -> Optional[str]:
689
+ """
690
+ The private NIC state
691
+ """
692
+ return pulumi.get(self, "status")
693
+
694
+ @property
695
+ @pulumi.getter
696
+ def zone(self) -> Optional[str]:
697
+ """
698
+ `zone`) The zone in which the server should be created.
699
+ """
700
+ return pulumi.get(self, "zone")
701
+
702
+
703
+ @pulumi.output_type
704
+ class ServerPublicIp(dict):
705
+ def __init__(__self__, *,
706
+ address: Optional[str] = None,
707
+ id: Optional[str] = None):
708
+ """
709
+ :param str address: The address of the IP
710
+ :param str id: The ID of the IP
711
+ """
712
+ if address is not None:
713
+ pulumi.set(__self__, "address", address)
714
+ if id is not None:
715
+ pulumi.set(__self__, "id", id)
716
+
717
+ @property
718
+ @pulumi.getter
719
+ def address(self) -> Optional[str]:
720
+ """
721
+ The address of the IP
722
+ """
723
+ return pulumi.get(self, "address")
724
+
725
+ @property
726
+ @pulumi.getter
727
+ def id(self) -> Optional[str]:
728
+ """
729
+ The ID of the IP
730
+ """
731
+ return pulumi.get(self, "id")
732
+
733
+
734
+ @pulumi.output_type
735
+ class ServerRootVolume(dict):
736
+ @staticmethod
737
+ def __key_warning(key: str):
738
+ suggest = None
739
+ if key == "deleteOnTermination":
740
+ suggest = "delete_on_termination"
741
+ elif key == "sbsIops":
742
+ suggest = "sbs_iops"
743
+ elif key == "sizeInGb":
744
+ suggest = "size_in_gb"
745
+ elif key == "volumeId":
746
+ suggest = "volume_id"
747
+ elif key == "volumeType":
748
+ suggest = "volume_type"
749
+
750
+ if suggest:
751
+ pulumi.log.warn(f"Key '{key}' not found in ServerRootVolume. Access the value via the '{suggest}' property getter instead.")
752
+
753
+ def __getitem__(self, key: str) -> Any:
754
+ ServerRootVolume.__key_warning(key)
755
+ return super().__getitem__(key)
756
+
757
+ def get(self, key: str, default = None) -> Any:
758
+ ServerRootVolume.__key_warning(key)
759
+ return super().get(key, default)
760
+
761
+ def __init__(__self__, *,
762
+ boot: Optional[bool] = None,
763
+ delete_on_termination: Optional[bool] = None,
764
+ name: Optional[str] = None,
765
+ sbs_iops: Optional[int] = None,
766
+ size_in_gb: Optional[int] = None,
767
+ volume_id: Optional[str] = None,
768
+ volume_type: Optional[str] = None):
769
+ """
770
+ :param bool boot: Set the volume where the boot the server
771
+ :param bool delete_on_termination: Forces deletion of the root volume on instance termination.
772
+ :param str name: The name of the server.
773
+ :param int sbs_iops: Choose IOPS of your sbs volume, has to be used with `sbs_volume` for root volume type.
774
+
775
+ > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
776
+ :param int size_in_gb: Size of the root volume in gigabytes.
777
+ To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and
778
+ check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.
779
+ Depending on `volume_type`, updates to this field may recreate a new resource.
780
+ :param str volume_id: The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
781
+ :param str volume_type: Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type
782
+ """
783
+ if boot is not None:
784
+ pulumi.set(__self__, "boot", boot)
785
+ if delete_on_termination is not None:
786
+ pulumi.set(__self__, "delete_on_termination", delete_on_termination)
787
+ if name is not None:
788
+ pulumi.set(__self__, "name", name)
789
+ if sbs_iops is not None:
790
+ pulumi.set(__self__, "sbs_iops", sbs_iops)
791
+ if size_in_gb is not None:
792
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
793
+ if volume_id is not None:
794
+ pulumi.set(__self__, "volume_id", volume_id)
795
+ if volume_type is not None:
796
+ pulumi.set(__self__, "volume_type", volume_type)
797
+
798
+ @property
799
+ @pulumi.getter
800
+ def boot(self) -> Optional[bool]:
801
+ """
802
+ Set the volume where the boot the server
803
+ """
804
+ return pulumi.get(self, "boot")
805
+
806
+ @property
807
+ @pulumi.getter(name="deleteOnTermination")
808
+ def delete_on_termination(self) -> Optional[bool]:
809
+ """
810
+ Forces deletion of the root volume on instance termination.
811
+ """
812
+ return pulumi.get(self, "delete_on_termination")
813
+
814
+ @property
815
+ @pulumi.getter
816
+ def name(self) -> Optional[str]:
817
+ """
818
+ The name of the server.
819
+ """
820
+ return pulumi.get(self, "name")
821
+
822
+ @property
823
+ @pulumi.getter(name="sbsIops")
824
+ def sbs_iops(self) -> Optional[int]:
825
+ """
826
+ Choose IOPS of your sbs volume, has to be used with `sbs_volume` for root volume type.
827
+
828
+ > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
829
+ """
830
+ return pulumi.get(self, "sbs_iops")
831
+
832
+ @property
833
+ @pulumi.getter(name="sizeInGb")
834
+ def size_in_gb(self) -> Optional[int]:
835
+ """
836
+ Size of the root volume in gigabytes.
837
+ To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and
838
+ check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.
839
+ Depending on `volume_type`, updates to this field may recreate a new resource.
840
+ """
841
+ return pulumi.get(self, "size_in_gb")
842
+
843
+ @property
844
+ @pulumi.getter(name="volumeId")
845
+ def volume_id(self) -> Optional[str]:
846
+ """
847
+ The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
848
+ """
849
+ return pulumi.get(self, "volume_id")
850
+
851
+ @property
852
+ @pulumi.getter(name="volumeType")
853
+ def volume_type(self) -> Optional[str]:
854
+ """
855
+ Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type
856
+ """
857
+ return pulumi.get(self, "volume_type")
858
+
859
+
860
+ @pulumi.output_type
861
+ class SnapshotImport(dict):
862
+ def __init__(__self__, *,
863
+ bucket: str,
864
+ key: str):
865
+ """
866
+ :param str bucket: Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
867
+ :param str key: Key of the object to import
868
+
869
+ > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
870
+ """
871
+ pulumi.set(__self__, "bucket", bucket)
872
+ pulumi.set(__self__, "key", key)
873
+
874
+ @property
875
+ @pulumi.getter
876
+ def bucket(self) -> str:
877
+ """
878
+ Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
879
+ """
880
+ return pulumi.get(self, "bucket")
881
+
882
+ @property
883
+ @pulumi.getter
884
+ def key(self) -> str:
885
+ """
886
+ Key of the object to import
887
+
888
+ > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
889
+ """
890
+ return pulumi.get(self, "key")
891
+
892
+
893
+ @pulumi.output_type
894
+ class GetSecurityGroupInboundRuleResult(dict):
895
+ def __init__(__self__, *,
896
+ action: str,
897
+ ip: str,
898
+ ip_range: str,
899
+ port: int,
900
+ port_range: str,
901
+ protocol: str):
902
+ """
903
+ :param str action: The action to take when rule match. Possible values are: `accept` or `drop`.
904
+ :param str ip: The ip this rule apply to.
905
+ :param str ip_range: The ip range (e.g `192.168.1.0/24`) this rule apply to.
906
+ :param int port: The port this rule apply to. If no port is specified, rule will apply to all port.
907
+ :param str port_range: The port range (e.g `22-23`) this rule applies to.
908
+ If no `port` nor `port_range` are specified, rule will apply to all port.
909
+ Only one of `port` and `port_range` should be specified.
910
+ :param str protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
911
+ """
912
+ pulumi.set(__self__, "action", action)
913
+ pulumi.set(__self__, "ip", ip)
914
+ pulumi.set(__self__, "ip_range", ip_range)
915
+ pulumi.set(__self__, "port", port)
916
+ pulumi.set(__self__, "port_range", port_range)
917
+ pulumi.set(__self__, "protocol", protocol)
918
+
919
+ @property
920
+ @pulumi.getter
921
+ def action(self) -> str:
922
+ """
923
+ The action to take when rule match. Possible values are: `accept` or `drop`.
924
+ """
925
+ return pulumi.get(self, "action")
926
+
927
+ @property
928
+ @pulumi.getter
929
+ def ip(self) -> str:
930
+ """
931
+ The ip this rule apply to.
932
+ """
933
+ return pulumi.get(self, "ip")
934
+
935
+ @property
936
+ @pulumi.getter(name="ipRange")
937
+ def ip_range(self) -> str:
938
+ """
939
+ The ip range (e.g `192.168.1.0/24`) this rule apply to.
940
+ """
941
+ return pulumi.get(self, "ip_range")
942
+
943
+ @property
944
+ @pulumi.getter
945
+ def port(self) -> int:
946
+ """
947
+ The port this rule apply to. If no port is specified, rule will apply to all port.
948
+ """
949
+ return pulumi.get(self, "port")
950
+
951
+ @property
952
+ @pulumi.getter(name="portRange")
953
+ def port_range(self) -> str:
954
+ """
955
+ The port range (e.g `22-23`) this rule applies to.
956
+ If no `port` nor `port_range` are specified, rule will apply to all port.
957
+ Only one of `port` and `port_range` should be specified.
958
+ """
959
+ return pulumi.get(self, "port_range")
960
+
961
+ @property
962
+ @pulumi.getter
963
+ def protocol(self) -> str:
964
+ """
965
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
966
+ """
967
+ return pulumi.get(self, "protocol")
968
+
969
+
970
+ @pulumi.output_type
971
+ class GetSecurityGroupOutboundRuleResult(dict):
972
+ def __init__(__self__, *,
973
+ action: str,
974
+ ip: str,
975
+ ip_range: str,
976
+ port: int,
977
+ port_range: str,
978
+ protocol: str):
979
+ """
980
+ :param str action: The action to take when rule match. Possible values are: `accept` or `drop`.
981
+ :param str ip: The ip this rule apply to.
982
+ :param str ip_range: The ip range (e.g `192.168.1.0/24`) this rule apply to.
983
+ :param int port: The port this rule apply to. If no port is specified, rule will apply to all port.
984
+ :param str port_range: The port range (e.g `22-23`) this rule applies to.
985
+ If no `port` nor `port_range` are specified, rule will apply to all port.
986
+ Only one of `port` and `port_range` should be specified.
987
+ :param str protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
988
+ """
989
+ pulumi.set(__self__, "action", action)
990
+ pulumi.set(__self__, "ip", ip)
991
+ pulumi.set(__self__, "ip_range", ip_range)
992
+ pulumi.set(__self__, "port", port)
993
+ pulumi.set(__self__, "port_range", port_range)
994
+ pulumi.set(__self__, "protocol", protocol)
995
+
996
+ @property
997
+ @pulumi.getter
998
+ def action(self) -> str:
999
+ """
1000
+ The action to take when rule match. Possible values are: `accept` or `drop`.
1001
+ """
1002
+ return pulumi.get(self, "action")
1003
+
1004
+ @property
1005
+ @pulumi.getter
1006
+ def ip(self) -> str:
1007
+ """
1008
+ The ip this rule apply to.
1009
+ """
1010
+ return pulumi.get(self, "ip")
1011
+
1012
+ @property
1013
+ @pulumi.getter(name="ipRange")
1014
+ def ip_range(self) -> str:
1015
+ """
1016
+ The ip range (e.g `192.168.1.0/24`) this rule apply to.
1017
+ """
1018
+ return pulumi.get(self, "ip_range")
1019
+
1020
+ @property
1021
+ @pulumi.getter
1022
+ def port(self) -> int:
1023
+ """
1024
+ The port this rule apply to. If no port is specified, rule will apply to all port.
1025
+ """
1026
+ return pulumi.get(self, "port")
1027
+
1028
+ @property
1029
+ @pulumi.getter(name="portRange")
1030
+ def port_range(self) -> str:
1031
+ """
1032
+ The port range (e.g `22-23`) this rule applies to.
1033
+ If no `port` nor `port_range` are specified, rule will apply to all port.
1034
+ Only one of `port` and `port_range` should be specified.
1035
+ """
1036
+ return pulumi.get(self, "port_range")
1037
+
1038
+ @property
1039
+ @pulumi.getter
1040
+ def protocol(self) -> str:
1041
+ """
1042
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
1043
+ """
1044
+ return pulumi.get(self, "protocol")
1045
+
1046
+
1047
+ @pulumi.output_type
1048
+ class GetServerPrivateNetworkResult(dict):
1049
+ def __init__(__self__, *,
1050
+ mac_address: str,
1051
+ pn_id: str,
1052
+ pnic_id: str,
1053
+ status: str,
1054
+ zone: str):
1055
+ """
1056
+ :param str mac_address: MAC address of the NIC
1057
+ :param str pn_id: The Private Network ID
1058
+ :param str pnic_id: The ID of the NIC
1059
+ :param str status: The private NIC state
1060
+ :param str zone: `zone`) The zone in which the server exists.
1061
+ """
1062
+ pulumi.set(__self__, "mac_address", mac_address)
1063
+ pulumi.set(__self__, "pn_id", pn_id)
1064
+ pulumi.set(__self__, "pnic_id", pnic_id)
1065
+ pulumi.set(__self__, "status", status)
1066
+ pulumi.set(__self__, "zone", zone)
1067
+
1068
+ @property
1069
+ @pulumi.getter(name="macAddress")
1070
+ def mac_address(self) -> str:
1071
+ """
1072
+ MAC address of the NIC
1073
+ """
1074
+ return pulumi.get(self, "mac_address")
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="pnId")
1078
+ def pn_id(self) -> str:
1079
+ """
1080
+ The Private Network ID
1081
+ """
1082
+ return pulumi.get(self, "pn_id")
1083
+
1084
+ @property
1085
+ @pulumi.getter(name="pnicId")
1086
+ def pnic_id(self) -> str:
1087
+ """
1088
+ The ID of the NIC
1089
+ """
1090
+ return pulumi.get(self, "pnic_id")
1091
+
1092
+ @property
1093
+ @pulumi.getter
1094
+ def status(self) -> str:
1095
+ """
1096
+ The private NIC state
1097
+ """
1098
+ return pulumi.get(self, "status")
1099
+
1100
+ @property
1101
+ @pulumi.getter
1102
+ def zone(self) -> str:
1103
+ """
1104
+ `zone`) The zone in which the server exists.
1105
+ """
1106
+ return pulumi.get(self, "zone")
1107
+
1108
+
1109
+ @pulumi.output_type
1110
+ class GetServerPublicIpResult(dict):
1111
+ def __init__(__self__, *,
1112
+ address: str,
1113
+ id: str):
1114
+ """
1115
+ :param str address: The address of the IP
1116
+ :param str id: The ID of the IP
1117
+ """
1118
+ pulumi.set(__self__, "address", address)
1119
+ pulumi.set(__self__, "id", id)
1120
+
1121
+ @property
1122
+ @pulumi.getter
1123
+ def address(self) -> str:
1124
+ """
1125
+ The address of the IP
1126
+ """
1127
+ return pulumi.get(self, "address")
1128
+
1129
+ @property
1130
+ @pulumi.getter
1131
+ def id(self) -> str:
1132
+ """
1133
+ The ID of the IP
1134
+ """
1135
+ return pulumi.get(self, "id")
1136
+
1137
+
1138
+ @pulumi.output_type
1139
+ class GetServerRootVolumeResult(dict):
1140
+ def __init__(__self__, *,
1141
+ boot: bool,
1142
+ delete_on_termination: bool,
1143
+ name: str,
1144
+ sbs_iops: int,
1145
+ size_in_gb: int,
1146
+ volume_id: str,
1147
+ volume_type: str):
1148
+ """
1149
+ :param bool boot: Set the volume where the boot the server
1150
+ :param bool delete_on_termination: Forces deletion of the root volume on instance termination.
1151
+ :param str name: The server name. Only one of `name` and `server_id` should be specified.
1152
+ :param int sbs_iops: SBS Volume IOPS, only with volume_type as sbs_volume
1153
+ :param int size_in_gb: Size of the root volume in gigabytes.
1154
+ :param str volume_id: The volume ID of the root volume of the server.
1155
+ :param str volume_type: Volume type of the root volume
1156
+ """
1157
+ pulumi.set(__self__, "boot", boot)
1158
+ pulumi.set(__self__, "delete_on_termination", delete_on_termination)
1159
+ pulumi.set(__self__, "name", name)
1160
+ pulumi.set(__self__, "sbs_iops", sbs_iops)
1161
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
1162
+ pulumi.set(__self__, "volume_id", volume_id)
1163
+ pulumi.set(__self__, "volume_type", volume_type)
1164
+
1165
+ @property
1166
+ @pulumi.getter
1167
+ def boot(self) -> bool:
1168
+ """
1169
+ Set the volume where the boot the server
1170
+ """
1171
+ return pulumi.get(self, "boot")
1172
+
1173
+ @property
1174
+ @pulumi.getter(name="deleteOnTermination")
1175
+ def delete_on_termination(self) -> bool:
1176
+ """
1177
+ Forces deletion of the root volume on instance termination.
1178
+ """
1179
+ return pulumi.get(self, "delete_on_termination")
1180
+
1181
+ @property
1182
+ @pulumi.getter
1183
+ def name(self) -> str:
1184
+ """
1185
+ The server name. Only one of `name` and `server_id` should be specified.
1186
+ """
1187
+ return pulumi.get(self, "name")
1188
+
1189
+ @property
1190
+ @pulumi.getter(name="sbsIops")
1191
+ def sbs_iops(self) -> int:
1192
+ """
1193
+ SBS Volume IOPS, only with volume_type as sbs_volume
1194
+ """
1195
+ return pulumi.get(self, "sbs_iops")
1196
+
1197
+ @property
1198
+ @pulumi.getter(name="sizeInGb")
1199
+ def size_in_gb(self) -> int:
1200
+ """
1201
+ Size of the root volume in gigabytes.
1202
+ """
1203
+ return pulumi.get(self, "size_in_gb")
1204
+
1205
+ @property
1206
+ @pulumi.getter(name="volumeId")
1207
+ def volume_id(self) -> str:
1208
+ """
1209
+ The volume ID of the root volume of the server.
1210
+ """
1211
+ return pulumi.get(self, "volume_id")
1212
+
1213
+ @property
1214
+ @pulumi.getter(name="volumeType")
1215
+ def volume_type(self) -> str:
1216
+ """
1217
+ Volume type of the root volume
1218
+ """
1219
+ return pulumi.get(self, "volume_type")
1220
+
1221
+
1222
+ @pulumi.output_type
1223
+ class GetServersServerResult(dict):
1224
+ def __init__(__self__, *,
1225
+ boot_type: str,
1226
+ bootscript_id: str,
1227
+ enable_dynamic_ip: bool,
1228
+ enable_ipv6: bool,
1229
+ id: str,
1230
+ image: str,
1231
+ ipv6_address: str,
1232
+ ipv6_gateway: str,
1233
+ ipv6_prefix_length: int,
1234
+ name: str,
1235
+ organization_id: str,
1236
+ placement_group_id: str,
1237
+ placement_group_policy_respected: bool,
1238
+ private_ip: str,
1239
+ project_id: str,
1240
+ public_ip: str,
1241
+ public_ips: Sequence['outputs.GetServersServerPublicIpResult'],
1242
+ routed_ip_enabled: bool,
1243
+ security_group_id: str,
1244
+ state: str,
1245
+ tags: Sequence[str],
1246
+ type: str,
1247
+ zone: str):
1248
+ """
1249
+ :param str boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1250
+ :param bool enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1251
+ :param bool enable_ipv6: Determines if IPv6 is enabled for the server.
1252
+ :param str id: The ID of the IP
1253
+ :param str image: The UUID or the label of the base image used by the server.
1254
+ :param str ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1255
+ :param str ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1256
+ :param int ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1257
+ :param str name: The server name used as filter. Servers with a name like it are listed.
1258
+ :param str organization_id: The organization ID the server is associated with.
1259
+ :param str placement_group_id: The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
1260
+ :param str private_ip: The Scaleway internal IP address of the server.
1261
+ :param str project_id: The ID of the project the server is associated with.
1262
+ :param str public_ip: The public IP address of the server.
1263
+ :param Sequence['GetServersServerPublicIpArgs'] public_ips: The list of public IPs of the server
1264
+ :param bool routed_ip_enabled: True if the server support routed ip only.
1265
+ :param str security_group_id: The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
1266
+ :param str state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1267
+ :param Sequence[str] tags: List of tags used as filter. Servers with these exact tags are listed.
1268
+ :param str type: The commercial type of the server.
1269
+ :param str zone: `zone`) The zone in which servers exist.
1270
+ """
1271
+ pulumi.set(__self__, "boot_type", boot_type)
1272
+ pulumi.set(__self__, "bootscript_id", bootscript_id)
1273
+ pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
1274
+ pulumi.set(__self__, "enable_ipv6", enable_ipv6)
1275
+ pulumi.set(__self__, "id", id)
1276
+ pulumi.set(__self__, "image", image)
1277
+ pulumi.set(__self__, "ipv6_address", ipv6_address)
1278
+ pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
1279
+ pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length)
1280
+ pulumi.set(__self__, "name", name)
1281
+ pulumi.set(__self__, "organization_id", organization_id)
1282
+ pulumi.set(__self__, "placement_group_id", placement_group_id)
1283
+ pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
1284
+ pulumi.set(__self__, "private_ip", private_ip)
1285
+ pulumi.set(__self__, "project_id", project_id)
1286
+ pulumi.set(__self__, "public_ip", public_ip)
1287
+ pulumi.set(__self__, "public_ips", public_ips)
1288
+ pulumi.set(__self__, "routed_ip_enabled", routed_ip_enabled)
1289
+ pulumi.set(__self__, "security_group_id", security_group_id)
1290
+ pulumi.set(__self__, "state", state)
1291
+ pulumi.set(__self__, "tags", tags)
1292
+ pulumi.set(__self__, "type", type)
1293
+ pulumi.set(__self__, "zone", zone)
1294
+
1295
+ @property
1296
+ @pulumi.getter(name="bootType")
1297
+ def boot_type(self) -> str:
1298
+ """
1299
+ The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1300
+ """
1301
+ return pulumi.get(self, "boot_type")
1302
+
1303
+ @property
1304
+ @pulumi.getter(name="bootscriptId")
1305
+ @_utilities.deprecated("""bootscript are not supported""")
1306
+ def bootscript_id(self) -> str:
1307
+ return pulumi.get(self, "bootscript_id")
1308
+
1309
+ @property
1310
+ @pulumi.getter(name="enableDynamicIp")
1311
+ def enable_dynamic_ip(self) -> bool:
1312
+ """
1313
+ If true a dynamic IP will be attached to the server.
1314
+ """
1315
+ return pulumi.get(self, "enable_dynamic_ip")
1316
+
1317
+ @property
1318
+ @pulumi.getter(name="enableIpv6")
1319
+ def enable_ipv6(self) -> bool:
1320
+ """
1321
+ Determines if IPv6 is enabled for the server.
1322
+ """
1323
+ return pulumi.get(self, "enable_ipv6")
1324
+
1325
+ @property
1326
+ @pulumi.getter
1327
+ def id(self) -> str:
1328
+ """
1329
+ The ID of the IP
1330
+ """
1331
+ return pulumi.get(self, "id")
1332
+
1333
+ @property
1334
+ @pulumi.getter
1335
+ def image(self) -> str:
1336
+ """
1337
+ The UUID or the label of the base image used by the server.
1338
+ """
1339
+ return pulumi.get(self, "image")
1340
+
1341
+ @property
1342
+ @pulumi.getter(name="ipv6Address")
1343
+ def ipv6_address(self) -> str:
1344
+ """
1345
+ The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1346
+ """
1347
+ return pulumi.get(self, "ipv6_address")
1348
+
1349
+ @property
1350
+ @pulumi.getter(name="ipv6Gateway")
1351
+ def ipv6_gateway(self) -> str:
1352
+ """
1353
+ The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1354
+ """
1355
+ return pulumi.get(self, "ipv6_gateway")
1356
+
1357
+ @property
1358
+ @pulumi.getter(name="ipv6PrefixLength")
1359
+ def ipv6_prefix_length(self) -> int:
1360
+ """
1361
+ The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1362
+ """
1363
+ return pulumi.get(self, "ipv6_prefix_length")
1364
+
1365
+ @property
1366
+ @pulumi.getter
1367
+ def name(self) -> str:
1368
+ """
1369
+ The server name used as filter. Servers with a name like it are listed.
1370
+ """
1371
+ return pulumi.get(self, "name")
1372
+
1373
+ @property
1374
+ @pulumi.getter(name="organizationId")
1375
+ def organization_id(self) -> str:
1376
+ """
1377
+ The organization ID the server is associated with.
1378
+ """
1379
+ return pulumi.get(self, "organization_id")
1380
+
1381
+ @property
1382
+ @pulumi.getter(name="placementGroupId")
1383
+ def placement_group_id(self) -> str:
1384
+ """
1385
+ The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
1386
+ """
1387
+ return pulumi.get(self, "placement_group_id")
1388
+
1389
+ @property
1390
+ @pulumi.getter(name="placementGroupPolicyRespected")
1391
+ def placement_group_policy_respected(self) -> bool:
1392
+ return pulumi.get(self, "placement_group_policy_respected")
1393
+
1394
+ @property
1395
+ @pulumi.getter(name="privateIp")
1396
+ def private_ip(self) -> str:
1397
+ """
1398
+ The Scaleway internal IP address of the server.
1399
+ """
1400
+ return pulumi.get(self, "private_ip")
1401
+
1402
+ @property
1403
+ @pulumi.getter(name="projectId")
1404
+ def project_id(self) -> str:
1405
+ """
1406
+ The ID of the project the server is associated with.
1407
+ """
1408
+ return pulumi.get(self, "project_id")
1409
+
1410
+ @property
1411
+ @pulumi.getter(name="publicIp")
1412
+ @_utilities.deprecated("""Use public_ips instead""")
1413
+ def public_ip(self) -> str:
1414
+ """
1415
+ The public IP address of the server.
1416
+ """
1417
+ return pulumi.get(self, "public_ip")
1418
+
1419
+ @property
1420
+ @pulumi.getter(name="publicIps")
1421
+ def public_ips(self) -> Sequence['outputs.GetServersServerPublicIpResult']:
1422
+ """
1423
+ The list of public IPs of the server
1424
+ """
1425
+ return pulumi.get(self, "public_ips")
1426
+
1427
+ @property
1428
+ @pulumi.getter(name="routedIpEnabled")
1429
+ def routed_ip_enabled(self) -> bool:
1430
+ """
1431
+ True if the server support routed ip only.
1432
+ """
1433
+ return pulumi.get(self, "routed_ip_enabled")
1434
+
1435
+ @property
1436
+ @pulumi.getter(name="securityGroupId")
1437
+ def security_group_id(self) -> str:
1438
+ """
1439
+ The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
1440
+ """
1441
+ return pulumi.get(self, "security_group_id")
1442
+
1443
+ @property
1444
+ @pulumi.getter
1445
+ def state(self) -> str:
1446
+ """
1447
+ The state of the server. Possible values are: `started`, `stopped` or `standby`.
1448
+ """
1449
+ return pulumi.get(self, "state")
1450
+
1451
+ @property
1452
+ @pulumi.getter
1453
+ def tags(self) -> Sequence[str]:
1454
+ """
1455
+ List of tags used as filter. Servers with these exact tags are listed.
1456
+ """
1457
+ return pulumi.get(self, "tags")
1458
+
1459
+ @property
1460
+ @pulumi.getter
1461
+ def type(self) -> str:
1462
+ """
1463
+ The commercial type of the server.
1464
+ """
1465
+ return pulumi.get(self, "type")
1466
+
1467
+ @property
1468
+ @pulumi.getter
1469
+ def zone(self) -> str:
1470
+ """
1471
+ `zone`) The zone in which servers exist.
1472
+ """
1473
+ return pulumi.get(self, "zone")
1474
+
1475
+
1476
+ @pulumi.output_type
1477
+ class GetServersServerPublicIpResult(dict):
1478
+ def __init__(__self__, *,
1479
+ address: str,
1480
+ id: str):
1481
+ """
1482
+ :param str address: The address of the IP
1483
+ :param str id: The ID of the IP
1484
+ """
1485
+ pulumi.set(__self__, "address", address)
1486
+ pulumi.set(__self__, "id", id)
1487
+
1488
+ @property
1489
+ @pulumi.getter
1490
+ def address(self) -> str:
1491
+ """
1492
+ The address of the IP
1493
+ """
1494
+ return pulumi.get(self, "address")
1495
+
1496
+ @property
1497
+ @pulumi.getter
1498
+ def id(self) -> str:
1499
+ """
1500
+ The ID of the IP
1501
+ """
1502
+ return pulumi.get(self, "id")
1503
+
1504
+
1505
+ @pulumi.output_type
1506
+ class GetSnapshotImportResult(dict):
1507
+ def __init__(__self__, *,
1508
+ bucket: str,
1509
+ key: str):
1510
+ """
1511
+ :param str bucket: Bucket containing qcow
1512
+ :param str key: Key of the qcow file in the specified bucket
1513
+ """
1514
+ pulumi.set(__self__, "bucket", bucket)
1515
+ pulumi.set(__self__, "key", key)
1516
+
1517
+ @property
1518
+ @pulumi.getter
1519
+ def bucket(self) -> str:
1520
+ """
1521
+ Bucket containing qcow
1522
+ """
1523
+ return pulumi.get(self, "bucket")
1524
+
1525
+ @property
1526
+ @pulumi.getter
1527
+ def key(self) -> str:
1528
+ """
1529
+ Key of the qcow file in the specified bucket
1530
+ """
1531
+ return pulumi.get(self, "key")
1532
+
1533
+