pulumiverse-scaleway 1.24.0a1741680905__py3-none-any.whl → 1.25.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 (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.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.24.0a1741680905.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1237 @@
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__ = [
18
+ 'ImageAdditionalVolumeArgs',
19
+ 'ImageAdditionalVolumeArgsDict',
20
+ 'SecurityGroupInboundRuleArgs',
21
+ 'SecurityGroupInboundRuleArgsDict',
22
+ 'SecurityGroupOutboundRuleArgs',
23
+ 'SecurityGroupOutboundRuleArgsDict',
24
+ 'SecurityGroupRulesInboundRuleArgs',
25
+ 'SecurityGroupRulesInboundRuleArgsDict',
26
+ 'SecurityGroupRulesOutboundRuleArgs',
27
+ 'SecurityGroupRulesOutboundRuleArgsDict',
28
+ 'ServerPrivateNetworkArgs',
29
+ 'ServerPrivateNetworkArgsDict',
30
+ 'ServerPublicIpArgs',
31
+ 'ServerPublicIpArgsDict',
32
+ 'ServerRootVolumeArgs',
33
+ 'ServerRootVolumeArgsDict',
34
+ 'SnapshotImportArgs',
35
+ 'SnapshotImportArgsDict',
36
+ ]
37
+
38
+ MYPY = False
39
+
40
+ if not MYPY:
41
+ class ImageAdditionalVolumeArgsDict(TypedDict):
42
+ creation_date: NotRequired[pulumi.Input[str]]
43
+ """
44
+ Date of the volume creation.
45
+ """
46
+ export_uri: NotRequired[pulumi.Input[str]]
47
+ """
48
+ The export URI of the volume.
49
+ """
50
+ id: NotRequired[pulumi.Input[str]]
51
+ """
52
+ ID of the server containing the volume.
53
+ """
54
+ modification_date: NotRequired[pulumi.Input[str]]
55
+ """
56
+ Date of volume latest update.
57
+ """
58
+ name: NotRequired[pulumi.Input[str]]
59
+ """
60
+ The name of the image. If not provided it will be randomly generated.
61
+ """
62
+ organization: NotRequired[pulumi.Input[str]]
63
+ """
64
+ The organization ID the volume is associated with.
65
+ """
66
+ project: NotRequired[pulumi.Input[str]]
67
+ """
68
+ ID of the project the volume is associated with
69
+ """
70
+ server: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
71
+ """
72
+ Description of the server containing the volume (in case the image is a backup from a server).
73
+ """
74
+ size: NotRequired[pulumi.Input[int]]
75
+ """
76
+ The size of the volume.
77
+ """
78
+ state: NotRequired[pulumi.Input[str]]
79
+ """
80
+ State of the volume.
81
+ """
82
+ tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
83
+ """
84
+ A list of tags to apply to the image.
85
+ """
86
+ volume_type: NotRequired[pulumi.Input[str]]
87
+ """
88
+ The type of volume, possible values are `l_ssd` and `b_ssd`.
89
+ """
90
+ zone: NotRequired[pulumi.Input[str]]
91
+ """
92
+ The zone in which the image should be created.
93
+ """
94
+ elif False:
95
+ ImageAdditionalVolumeArgsDict: TypeAlias = Mapping[str, Any]
96
+
97
+ @pulumi.input_type
98
+ class ImageAdditionalVolumeArgs:
99
+ def __init__(__self__, *,
100
+ creation_date: Optional[pulumi.Input[str]] = None,
101
+ export_uri: Optional[pulumi.Input[str]] = None,
102
+ id: Optional[pulumi.Input[str]] = None,
103
+ modification_date: Optional[pulumi.Input[str]] = None,
104
+ name: Optional[pulumi.Input[str]] = None,
105
+ organization: Optional[pulumi.Input[str]] = None,
106
+ project: Optional[pulumi.Input[str]] = None,
107
+ server: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
108
+ size: Optional[pulumi.Input[int]] = None,
109
+ state: Optional[pulumi.Input[str]] = None,
110
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
111
+ volume_type: Optional[pulumi.Input[str]] = None,
112
+ zone: Optional[pulumi.Input[str]] = None):
113
+ """
114
+ :param pulumi.Input[str] creation_date: Date of the volume creation.
115
+ :param pulumi.Input[str] export_uri: The export URI of the volume.
116
+ :param pulumi.Input[str] id: ID of the server containing the volume.
117
+ :param pulumi.Input[str] modification_date: Date of volume latest update.
118
+ :param pulumi.Input[str] name: The name of the image. If not provided it will be randomly generated.
119
+ :param pulumi.Input[str] organization: The organization ID the volume is associated with.
120
+ :param pulumi.Input[str] project: ID of the project the volume is associated with
121
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] server: Description of the server containing the volume (in case the image is a backup from a server).
122
+ :param pulumi.Input[int] size: The size of the volume.
123
+ :param pulumi.Input[str] state: State of the volume.
124
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of tags to apply to the image.
125
+ :param pulumi.Input[str] volume_type: The type of volume, possible values are `l_ssd` and `b_ssd`.
126
+ :param pulumi.Input[str] zone: The zone in which the image should be created.
127
+ """
128
+ if creation_date is not None:
129
+ pulumi.set(__self__, "creation_date", creation_date)
130
+ if export_uri is not None:
131
+ pulumi.set(__self__, "export_uri", export_uri)
132
+ if id is not None:
133
+ pulumi.set(__self__, "id", id)
134
+ if modification_date is not None:
135
+ pulumi.set(__self__, "modification_date", modification_date)
136
+ if name is not None:
137
+ pulumi.set(__self__, "name", name)
138
+ if organization is not None:
139
+ pulumi.set(__self__, "organization", organization)
140
+ if project is not None:
141
+ pulumi.set(__self__, "project", project)
142
+ if server is not None:
143
+ pulumi.set(__self__, "server", server)
144
+ if size is not None:
145
+ pulumi.set(__self__, "size", size)
146
+ if state is not None:
147
+ pulumi.set(__self__, "state", state)
148
+ if tags is not None:
149
+ pulumi.set(__self__, "tags", tags)
150
+ if volume_type is not None:
151
+ pulumi.set(__self__, "volume_type", volume_type)
152
+ if zone is not None:
153
+ pulumi.set(__self__, "zone", zone)
154
+
155
+ @property
156
+ @pulumi.getter(name="creationDate")
157
+ def creation_date(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ Date of the volume creation.
160
+ """
161
+ return pulumi.get(self, "creation_date")
162
+
163
+ @creation_date.setter
164
+ def creation_date(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "creation_date", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="exportUri")
169
+ def export_uri(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The export URI of the volume.
172
+ """
173
+ return pulumi.get(self, "export_uri")
174
+
175
+ @export_uri.setter
176
+ def export_uri(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "export_uri", value)
178
+
179
+ @property
180
+ @pulumi.getter
181
+ def id(self) -> Optional[pulumi.Input[str]]:
182
+ """
183
+ ID of the server containing the volume.
184
+ """
185
+ return pulumi.get(self, "id")
186
+
187
+ @id.setter
188
+ def id(self, value: Optional[pulumi.Input[str]]):
189
+ pulumi.set(self, "id", value)
190
+
191
+ @property
192
+ @pulumi.getter(name="modificationDate")
193
+ def modification_date(self) -> Optional[pulumi.Input[str]]:
194
+ """
195
+ Date of volume latest update.
196
+ """
197
+ return pulumi.get(self, "modification_date")
198
+
199
+ @modification_date.setter
200
+ def modification_date(self, value: Optional[pulumi.Input[str]]):
201
+ pulumi.set(self, "modification_date", value)
202
+
203
+ @property
204
+ @pulumi.getter
205
+ def name(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The name of the image. If not provided it will be randomly generated.
208
+ """
209
+ return pulumi.get(self, "name")
210
+
211
+ @name.setter
212
+ def name(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "name", value)
214
+
215
+ @property
216
+ @pulumi.getter
217
+ def organization(self) -> Optional[pulumi.Input[str]]:
218
+ """
219
+ The organization ID the volume is associated with.
220
+ """
221
+ return pulumi.get(self, "organization")
222
+
223
+ @organization.setter
224
+ def organization(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "organization", value)
226
+
227
+ @property
228
+ @pulumi.getter
229
+ def project(self) -> Optional[pulumi.Input[str]]:
230
+ """
231
+ ID of the project the volume is associated with
232
+ """
233
+ return pulumi.get(self, "project")
234
+
235
+ @project.setter
236
+ def project(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "project", value)
238
+
239
+ @property
240
+ @pulumi.getter
241
+ def server(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
242
+ """
243
+ Description of the server containing the volume (in case the image is a backup from a server).
244
+ """
245
+ return pulumi.get(self, "server")
246
+
247
+ @server.setter
248
+ def server(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
249
+ pulumi.set(self, "server", value)
250
+
251
+ @property
252
+ @pulumi.getter
253
+ def size(self) -> Optional[pulumi.Input[int]]:
254
+ """
255
+ The size of the volume.
256
+ """
257
+ return pulumi.get(self, "size")
258
+
259
+ @size.setter
260
+ def size(self, value: Optional[pulumi.Input[int]]):
261
+ pulumi.set(self, "size", value)
262
+
263
+ @property
264
+ @pulumi.getter
265
+ def state(self) -> Optional[pulumi.Input[str]]:
266
+ """
267
+ State of the volume.
268
+ """
269
+ return pulumi.get(self, "state")
270
+
271
+ @state.setter
272
+ def state(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "state", value)
274
+
275
+ @property
276
+ @pulumi.getter
277
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
278
+ """
279
+ A list of tags to apply to the image.
280
+ """
281
+ return pulumi.get(self, "tags")
282
+
283
+ @tags.setter
284
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
285
+ pulumi.set(self, "tags", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="volumeType")
289
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The type of volume, possible values are `l_ssd` and `b_ssd`.
292
+ """
293
+ return pulumi.get(self, "volume_type")
294
+
295
+ @volume_type.setter
296
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "volume_type", value)
298
+
299
+ @property
300
+ @pulumi.getter
301
+ def zone(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The zone in which the image should be created.
304
+ """
305
+ return pulumi.get(self, "zone")
306
+
307
+ @zone.setter
308
+ def zone(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "zone", value)
310
+
311
+
312
+ if not MYPY:
313
+ class SecurityGroupInboundRuleArgsDict(TypedDict):
314
+ action: pulumi.Input[str]
315
+ """
316
+ The action to take when rule match. Possible values are: `accept` or `drop`.
317
+ """
318
+ ip: NotRequired[pulumi.Input[str]]
319
+ """
320
+ 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.
321
+ """
322
+ ip_range: NotRequired[pulumi.Input[str]]
323
+ """
324
+ 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.
325
+ """
326
+ port: NotRequired[pulumi.Input[int]]
327
+ """
328
+ 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.
329
+ """
330
+ port_range: NotRequired[pulumi.Input[str]]
331
+ """
332
+ Computed port range for this rule (e.g: 1-1024, 22-22)
333
+ """
334
+ protocol: NotRequired[pulumi.Input[str]]
335
+ """
336
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
337
+ """
338
+ elif False:
339
+ SecurityGroupInboundRuleArgsDict: TypeAlias = Mapping[str, Any]
340
+
341
+ @pulumi.input_type
342
+ class SecurityGroupInboundRuleArgs:
343
+ def __init__(__self__, *,
344
+ action: pulumi.Input[str],
345
+ ip: Optional[pulumi.Input[str]] = None,
346
+ ip_range: Optional[pulumi.Input[str]] = None,
347
+ port: Optional[pulumi.Input[int]] = None,
348
+ port_range: Optional[pulumi.Input[str]] = None,
349
+ protocol: Optional[pulumi.Input[str]] = None):
350
+ """
351
+ :param pulumi.Input[str] action: The action to take when rule match. Possible values are: `accept` or `drop`.
352
+ :param pulumi.Input[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.
353
+ :param pulumi.Input[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.
354
+ :param pulumi.Input[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.
355
+ :param pulumi.Input[str] port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
356
+ :param pulumi.Input[str] protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
357
+ """
358
+ pulumi.set(__self__, "action", action)
359
+ if ip is not None:
360
+ warnings.warn("""Ip address is deprecated. Please use ip_range instead""", DeprecationWarning)
361
+ pulumi.log.warn("""ip is deprecated: Ip address is deprecated. Please use ip_range instead""")
362
+ if ip is not None:
363
+ pulumi.set(__self__, "ip", ip)
364
+ if ip_range is not None:
365
+ pulumi.set(__self__, "ip_range", ip_range)
366
+ if port is not None:
367
+ pulumi.set(__self__, "port", port)
368
+ if port_range is not None:
369
+ pulumi.set(__self__, "port_range", port_range)
370
+ if protocol is not None:
371
+ pulumi.set(__self__, "protocol", protocol)
372
+
373
+ @property
374
+ @pulumi.getter
375
+ def action(self) -> pulumi.Input[str]:
376
+ """
377
+ The action to take when rule match. Possible values are: `accept` or `drop`.
378
+ """
379
+ return pulumi.get(self, "action")
380
+
381
+ @action.setter
382
+ def action(self, value: pulumi.Input[str]):
383
+ pulumi.set(self, "action", value)
384
+
385
+ @property
386
+ @pulumi.getter
387
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
388
+ def ip(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ 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.
391
+ """
392
+ return pulumi.get(self, "ip")
393
+
394
+ @ip.setter
395
+ def ip(self, value: Optional[pulumi.Input[str]]):
396
+ pulumi.set(self, "ip", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="ipRange")
400
+ def ip_range(self) -> Optional[pulumi.Input[str]]:
401
+ """
402
+ 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.
403
+ """
404
+ return pulumi.get(self, "ip_range")
405
+
406
+ @ip_range.setter
407
+ def ip_range(self, value: Optional[pulumi.Input[str]]):
408
+ pulumi.set(self, "ip_range", value)
409
+
410
+ @property
411
+ @pulumi.getter
412
+ def port(self) -> Optional[pulumi.Input[int]]:
413
+ """
414
+ 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.
415
+ """
416
+ return pulumi.get(self, "port")
417
+
418
+ @port.setter
419
+ def port(self, value: Optional[pulumi.Input[int]]):
420
+ pulumi.set(self, "port", value)
421
+
422
+ @property
423
+ @pulumi.getter(name="portRange")
424
+ def port_range(self) -> Optional[pulumi.Input[str]]:
425
+ """
426
+ Computed port range for this rule (e.g: 1-1024, 22-22)
427
+ """
428
+ return pulumi.get(self, "port_range")
429
+
430
+ @port_range.setter
431
+ def port_range(self, value: Optional[pulumi.Input[str]]):
432
+ pulumi.set(self, "port_range", value)
433
+
434
+ @property
435
+ @pulumi.getter
436
+ def protocol(self) -> Optional[pulumi.Input[str]]:
437
+ """
438
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
439
+ """
440
+ return pulumi.get(self, "protocol")
441
+
442
+ @protocol.setter
443
+ def protocol(self, value: Optional[pulumi.Input[str]]):
444
+ pulumi.set(self, "protocol", value)
445
+
446
+
447
+ if not MYPY:
448
+ class SecurityGroupOutboundRuleArgsDict(TypedDict):
449
+ action: pulumi.Input[str]
450
+ """
451
+ Action when rule match request (drop or accept)
452
+ """
453
+ ip: NotRequired[pulumi.Input[str]]
454
+ """
455
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
456
+ """
457
+ ip_range: NotRequired[pulumi.Input[str]]
458
+ """
459
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
460
+ """
461
+ port: NotRequired[pulumi.Input[int]]
462
+ """
463
+ Network port for this rule
464
+ """
465
+ port_range: NotRequired[pulumi.Input[str]]
466
+ """
467
+ Computed port range for this rule (e.g: 1-1024, 22-22)
468
+ """
469
+ protocol: NotRequired[pulumi.Input[str]]
470
+ """
471
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
472
+ """
473
+ elif False:
474
+ SecurityGroupOutboundRuleArgsDict: TypeAlias = Mapping[str, Any]
475
+
476
+ @pulumi.input_type
477
+ class SecurityGroupOutboundRuleArgs:
478
+ def __init__(__self__, *,
479
+ action: pulumi.Input[str],
480
+ ip: Optional[pulumi.Input[str]] = None,
481
+ ip_range: Optional[pulumi.Input[str]] = None,
482
+ port: Optional[pulumi.Input[int]] = None,
483
+ port_range: Optional[pulumi.Input[str]] = None,
484
+ protocol: Optional[pulumi.Input[str]] = None):
485
+ """
486
+ :param pulumi.Input[str] action: Action when rule match request (drop or accept)
487
+ :param pulumi.Input[str] ip: Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
488
+ :param pulumi.Input[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
489
+ :param pulumi.Input[int] port: Network port for this rule
490
+ :param pulumi.Input[str] port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
491
+ :param pulumi.Input[str] protocol: Protocol for this rule (TCP, UDP, ICMP or ANY)
492
+ """
493
+ pulumi.set(__self__, "action", action)
494
+ if ip is not None:
495
+ warnings.warn("""Ip address is deprecated. Please use ip_range instead""", DeprecationWarning)
496
+ pulumi.log.warn("""ip is deprecated: Ip address is deprecated. Please use ip_range instead""")
497
+ if ip is not None:
498
+ pulumi.set(__self__, "ip", ip)
499
+ if ip_range is not None:
500
+ pulumi.set(__self__, "ip_range", ip_range)
501
+ if port is not None:
502
+ pulumi.set(__self__, "port", port)
503
+ if port_range is not None:
504
+ pulumi.set(__self__, "port_range", port_range)
505
+ if protocol is not None:
506
+ pulumi.set(__self__, "protocol", protocol)
507
+
508
+ @property
509
+ @pulumi.getter
510
+ def action(self) -> pulumi.Input[str]:
511
+ """
512
+ Action when rule match request (drop or accept)
513
+ """
514
+ return pulumi.get(self, "action")
515
+
516
+ @action.setter
517
+ def action(self, value: pulumi.Input[str]):
518
+ pulumi.set(self, "action", value)
519
+
520
+ @property
521
+ @pulumi.getter
522
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
523
+ def ip(self) -> Optional[pulumi.Input[str]]:
524
+ """
525
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
526
+ """
527
+ return pulumi.get(self, "ip")
528
+
529
+ @ip.setter
530
+ def ip(self, value: Optional[pulumi.Input[str]]):
531
+ pulumi.set(self, "ip", value)
532
+
533
+ @property
534
+ @pulumi.getter(name="ipRange")
535
+ def ip_range(self) -> Optional[pulumi.Input[str]]:
536
+ """
537
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
538
+ """
539
+ return pulumi.get(self, "ip_range")
540
+
541
+ @ip_range.setter
542
+ def ip_range(self, value: Optional[pulumi.Input[str]]):
543
+ pulumi.set(self, "ip_range", value)
544
+
545
+ @property
546
+ @pulumi.getter
547
+ def port(self) -> Optional[pulumi.Input[int]]:
548
+ """
549
+ Network port for this rule
550
+ """
551
+ return pulumi.get(self, "port")
552
+
553
+ @port.setter
554
+ def port(self, value: Optional[pulumi.Input[int]]):
555
+ pulumi.set(self, "port", value)
556
+
557
+ @property
558
+ @pulumi.getter(name="portRange")
559
+ def port_range(self) -> Optional[pulumi.Input[str]]:
560
+ """
561
+ Computed port range for this rule (e.g: 1-1024, 22-22)
562
+ """
563
+ return pulumi.get(self, "port_range")
564
+
565
+ @port_range.setter
566
+ def port_range(self, value: Optional[pulumi.Input[str]]):
567
+ pulumi.set(self, "port_range", value)
568
+
569
+ @property
570
+ @pulumi.getter
571
+ def protocol(self) -> Optional[pulumi.Input[str]]:
572
+ """
573
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
574
+ """
575
+ return pulumi.get(self, "protocol")
576
+
577
+ @protocol.setter
578
+ def protocol(self, value: Optional[pulumi.Input[str]]):
579
+ pulumi.set(self, "protocol", value)
580
+
581
+
582
+ if not MYPY:
583
+ class SecurityGroupRulesInboundRuleArgsDict(TypedDict):
584
+ action: pulumi.Input[str]
585
+ """
586
+ The action to take when rule match. Possible values are: `accept` or `drop`.
587
+ """
588
+ ip: NotRequired[pulumi.Input[str]]
589
+ """
590
+ 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.
591
+ """
592
+ ip_range: NotRequired[pulumi.Input[str]]
593
+ """
594
+ 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.
595
+ """
596
+ port: NotRequired[pulumi.Input[int]]
597
+ """
598
+ The port this rule apply to. If no port is specified, rule will apply to all port.
599
+ """
600
+ port_range: NotRequired[pulumi.Input[str]]
601
+ """
602
+ Computed port range for this rule (e.g: 1-1024, 22-22)
603
+ """
604
+ protocol: NotRequired[pulumi.Input[str]]
605
+ """
606
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
607
+ """
608
+ elif False:
609
+ SecurityGroupRulesInboundRuleArgsDict: TypeAlias = Mapping[str, Any]
610
+
611
+ @pulumi.input_type
612
+ class SecurityGroupRulesInboundRuleArgs:
613
+ def __init__(__self__, *,
614
+ action: pulumi.Input[str],
615
+ ip: Optional[pulumi.Input[str]] = None,
616
+ ip_range: Optional[pulumi.Input[str]] = None,
617
+ port: Optional[pulumi.Input[int]] = None,
618
+ port_range: Optional[pulumi.Input[str]] = None,
619
+ protocol: Optional[pulumi.Input[str]] = None):
620
+ """
621
+ :param pulumi.Input[str] action: The action to take when rule match. Possible values are: `accept` or `drop`.
622
+ :param pulumi.Input[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.
623
+ :param pulumi.Input[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.
624
+ :param pulumi.Input[int] port: The port this rule apply to. If no port is specified, rule will apply to all port.
625
+ :param pulumi.Input[str] port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
626
+ :param pulumi.Input[str] protocol: The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
627
+ """
628
+ pulumi.set(__self__, "action", action)
629
+ if ip is not None:
630
+ warnings.warn("""Ip address is deprecated. Please use ip_range instead""", DeprecationWarning)
631
+ pulumi.log.warn("""ip is deprecated: Ip address is deprecated. Please use ip_range instead""")
632
+ if ip is not None:
633
+ pulumi.set(__self__, "ip", ip)
634
+ if ip_range is not None:
635
+ pulumi.set(__self__, "ip_range", ip_range)
636
+ if port is not None:
637
+ pulumi.set(__self__, "port", port)
638
+ if port_range is not None:
639
+ pulumi.set(__self__, "port_range", port_range)
640
+ if protocol is not None:
641
+ pulumi.set(__self__, "protocol", protocol)
642
+
643
+ @property
644
+ @pulumi.getter
645
+ def action(self) -> pulumi.Input[str]:
646
+ """
647
+ The action to take when rule match. Possible values are: `accept` or `drop`.
648
+ """
649
+ return pulumi.get(self, "action")
650
+
651
+ @action.setter
652
+ def action(self, value: pulumi.Input[str]):
653
+ pulumi.set(self, "action", value)
654
+
655
+ @property
656
+ @pulumi.getter
657
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
658
+ def ip(self) -> Optional[pulumi.Input[str]]:
659
+ """
660
+ 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.
661
+ """
662
+ return pulumi.get(self, "ip")
663
+
664
+ @ip.setter
665
+ def ip(self, value: Optional[pulumi.Input[str]]):
666
+ pulumi.set(self, "ip", value)
667
+
668
+ @property
669
+ @pulumi.getter(name="ipRange")
670
+ def ip_range(self) -> Optional[pulumi.Input[str]]:
671
+ """
672
+ 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.
673
+ """
674
+ return pulumi.get(self, "ip_range")
675
+
676
+ @ip_range.setter
677
+ def ip_range(self, value: Optional[pulumi.Input[str]]):
678
+ pulumi.set(self, "ip_range", value)
679
+
680
+ @property
681
+ @pulumi.getter
682
+ def port(self) -> Optional[pulumi.Input[int]]:
683
+ """
684
+ The port this rule apply to. If no port is specified, rule will apply to all port.
685
+ """
686
+ return pulumi.get(self, "port")
687
+
688
+ @port.setter
689
+ def port(self, value: Optional[pulumi.Input[int]]):
690
+ pulumi.set(self, "port", value)
691
+
692
+ @property
693
+ @pulumi.getter(name="portRange")
694
+ def port_range(self) -> Optional[pulumi.Input[str]]:
695
+ """
696
+ Computed port range for this rule (e.g: 1-1024, 22-22)
697
+ """
698
+ return pulumi.get(self, "port_range")
699
+
700
+ @port_range.setter
701
+ def port_range(self, value: Optional[pulumi.Input[str]]):
702
+ pulumi.set(self, "port_range", value)
703
+
704
+ @property
705
+ @pulumi.getter
706
+ def protocol(self) -> Optional[pulumi.Input[str]]:
707
+ """
708
+ The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
709
+ """
710
+ return pulumi.get(self, "protocol")
711
+
712
+ @protocol.setter
713
+ def protocol(self, value: Optional[pulumi.Input[str]]):
714
+ pulumi.set(self, "protocol", value)
715
+
716
+
717
+ if not MYPY:
718
+ class SecurityGroupRulesOutboundRuleArgsDict(TypedDict):
719
+ action: pulumi.Input[str]
720
+ """
721
+ Action when rule match request (drop or accept)
722
+ """
723
+ ip: NotRequired[pulumi.Input[str]]
724
+ """
725
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
726
+ """
727
+ ip_range: NotRequired[pulumi.Input[str]]
728
+ """
729
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
730
+ """
731
+ port: NotRequired[pulumi.Input[int]]
732
+ """
733
+ Network port for this rule
734
+ """
735
+ port_range: NotRequired[pulumi.Input[str]]
736
+ """
737
+ Computed port range for this rule (e.g: 1-1024, 22-22)
738
+ """
739
+ protocol: NotRequired[pulumi.Input[str]]
740
+ """
741
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
742
+ """
743
+ elif False:
744
+ SecurityGroupRulesOutboundRuleArgsDict: TypeAlias = Mapping[str, Any]
745
+
746
+ @pulumi.input_type
747
+ class SecurityGroupRulesOutboundRuleArgs:
748
+ def __init__(__self__, *,
749
+ action: pulumi.Input[str],
750
+ ip: Optional[pulumi.Input[str]] = None,
751
+ ip_range: Optional[pulumi.Input[str]] = None,
752
+ port: Optional[pulumi.Input[int]] = None,
753
+ port_range: Optional[pulumi.Input[str]] = None,
754
+ protocol: Optional[pulumi.Input[str]] = None):
755
+ """
756
+ :param pulumi.Input[str] action: Action when rule match request (drop or accept)
757
+ :param pulumi.Input[str] ip: Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
758
+ :param pulumi.Input[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
759
+ :param pulumi.Input[int] port: Network port for this rule
760
+ :param pulumi.Input[str] port_range: Computed port range for this rule (e.g: 1-1024, 22-22)
761
+ :param pulumi.Input[str] protocol: Protocol for this rule (TCP, UDP, ICMP or ANY)
762
+ """
763
+ pulumi.set(__self__, "action", action)
764
+ if ip is not None:
765
+ warnings.warn("""Ip address is deprecated. Please use ip_range instead""", DeprecationWarning)
766
+ pulumi.log.warn("""ip is deprecated: Ip address is deprecated. Please use ip_range instead""")
767
+ if ip is not None:
768
+ pulumi.set(__self__, "ip", ip)
769
+ if ip_range is not None:
770
+ pulumi.set(__self__, "ip_range", ip_range)
771
+ if port is not None:
772
+ pulumi.set(__self__, "port", port)
773
+ if port_range is not None:
774
+ pulumi.set(__self__, "port_range", port_range)
775
+ if protocol is not None:
776
+ pulumi.set(__self__, "protocol", protocol)
777
+
778
+ @property
779
+ @pulumi.getter
780
+ def action(self) -> pulumi.Input[str]:
781
+ """
782
+ Action when rule match request (drop or accept)
783
+ """
784
+ return pulumi.get(self, "action")
785
+
786
+ @action.setter
787
+ def action(self, value: pulumi.Input[str]):
788
+ pulumi.set(self, "action", value)
789
+
790
+ @property
791
+ @pulumi.getter
792
+ @_utilities.deprecated("""Ip address is deprecated. Please use ip_range instead""")
793
+ def ip(self) -> Optional[pulumi.Input[str]]:
794
+ """
795
+ Ip address for this rule (e.g: 1.1.1.1). Only one of ip or ip_range should be provided
796
+ """
797
+ return pulumi.get(self, "ip")
798
+
799
+ @ip.setter
800
+ def ip(self, value: Optional[pulumi.Input[str]]):
801
+ pulumi.set(self, "ip", value)
802
+
803
+ @property
804
+ @pulumi.getter(name="ipRange")
805
+ def ip_range(self) -> Optional[pulumi.Input[str]]:
806
+ """
807
+ Ip range for this rule (e.g: 192.168.1.0/24). Only one of ip or ip_range should be provided
808
+ """
809
+ return pulumi.get(self, "ip_range")
810
+
811
+ @ip_range.setter
812
+ def ip_range(self, value: Optional[pulumi.Input[str]]):
813
+ pulumi.set(self, "ip_range", value)
814
+
815
+ @property
816
+ @pulumi.getter
817
+ def port(self) -> Optional[pulumi.Input[int]]:
818
+ """
819
+ Network port for this rule
820
+ """
821
+ return pulumi.get(self, "port")
822
+
823
+ @port.setter
824
+ def port(self, value: Optional[pulumi.Input[int]]):
825
+ pulumi.set(self, "port", value)
826
+
827
+ @property
828
+ @pulumi.getter(name="portRange")
829
+ def port_range(self) -> Optional[pulumi.Input[str]]:
830
+ """
831
+ Computed port range for this rule (e.g: 1-1024, 22-22)
832
+ """
833
+ return pulumi.get(self, "port_range")
834
+
835
+ @port_range.setter
836
+ def port_range(self, value: Optional[pulumi.Input[str]]):
837
+ pulumi.set(self, "port_range", value)
838
+
839
+ @property
840
+ @pulumi.getter
841
+ def protocol(self) -> Optional[pulumi.Input[str]]:
842
+ """
843
+ Protocol for this rule (TCP, UDP, ICMP or ANY)
844
+ """
845
+ return pulumi.get(self, "protocol")
846
+
847
+ @protocol.setter
848
+ def protocol(self, value: Optional[pulumi.Input[str]]):
849
+ pulumi.set(self, "protocol", value)
850
+
851
+
852
+ if not MYPY:
853
+ class ServerPrivateNetworkArgsDict(TypedDict):
854
+ pn_id: pulumi.Input[str]
855
+ """
856
+ The Private Network ID
857
+ """
858
+ mac_address: NotRequired[pulumi.Input[str]]
859
+ """
860
+ MAC address of the NIC
861
+ """
862
+ pnic_id: NotRequired[pulumi.Input[str]]
863
+ """
864
+ The ID of the NIC
865
+ """
866
+ status: NotRequired[pulumi.Input[str]]
867
+ """
868
+ The private NIC state
869
+ """
870
+ zone: NotRequired[pulumi.Input[str]]
871
+ """
872
+ `zone`) The zone in which the server should be created.
873
+ """
874
+ elif False:
875
+ ServerPrivateNetworkArgsDict: TypeAlias = Mapping[str, Any]
876
+
877
+ @pulumi.input_type
878
+ class ServerPrivateNetworkArgs:
879
+ def __init__(__self__, *,
880
+ pn_id: pulumi.Input[str],
881
+ mac_address: Optional[pulumi.Input[str]] = None,
882
+ pnic_id: Optional[pulumi.Input[str]] = None,
883
+ status: Optional[pulumi.Input[str]] = None,
884
+ zone: Optional[pulumi.Input[str]] = None):
885
+ """
886
+ :param pulumi.Input[str] pn_id: The Private Network ID
887
+ :param pulumi.Input[str] mac_address: MAC address of the NIC
888
+ :param pulumi.Input[str] pnic_id: The ID of the NIC
889
+ :param pulumi.Input[str] status: The private NIC state
890
+ :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
891
+ """
892
+ pulumi.set(__self__, "pn_id", pn_id)
893
+ if mac_address is not None:
894
+ pulumi.set(__self__, "mac_address", mac_address)
895
+ if pnic_id is not None:
896
+ pulumi.set(__self__, "pnic_id", pnic_id)
897
+ if status is not None:
898
+ pulumi.set(__self__, "status", status)
899
+ if zone is not None:
900
+ pulumi.set(__self__, "zone", zone)
901
+
902
+ @property
903
+ @pulumi.getter(name="pnId")
904
+ def pn_id(self) -> pulumi.Input[str]:
905
+ """
906
+ The Private Network ID
907
+ """
908
+ return pulumi.get(self, "pn_id")
909
+
910
+ @pn_id.setter
911
+ def pn_id(self, value: pulumi.Input[str]):
912
+ pulumi.set(self, "pn_id", value)
913
+
914
+ @property
915
+ @pulumi.getter(name="macAddress")
916
+ def mac_address(self) -> Optional[pulumi.Input[str]]:
917
+ """
918
+ MAC address of the NIC
919
+ """
920
+ return pulumi.get(self, "mac_address")
921
+
922
+ @mac_address.setter
923
+ def mac_address(self, value: Optional[pulumi.Input[str]]):
924
+ pulumi.set(self, "mac_address", value)
925
+
926
+ @property
927
+ @pulumi.getter(name="pnicId")
928
+ def pnic_id(self) -> Optional[pulumi.Input[str]]:
929
+ """
930
+ The ID of the NIC
931
+ """
932
+ return pulumi.get(self, "pnic_id")
933
+
934
+ @pnic_id.setter
935
+ def pnic_id(self, value: Optional[pulumi.Input[str]]):
936
+ pulumi.set(self, "pnic_id", value)
937
+
938
+ @property
939
+ @pulumi.getter
940
+ def status(self) -> Optional[pulumi.Input[str]]:
941
+ """
942
+ The private NIC state
943
+ """
944
+ return pulumi.get(self, "status")
945
+
946
+ @status.setter
947
+ def status(self, value: Optional[pulumi.Input[str]]):
948
+ pulumi.set(self, "status", value)
949
+
950
+ @property
951
+ @pulumi.getter
952
+ def zone(self) -> Optional[pulumi.Input[str]]:
953
+ """
954
+ `zone`) The zone in which the server should be created.
955
+ """
956
+ return pulumi.get(self, "zone")
957
+
958
+ @zone.setter
959
+ def zone(self, value: Optional[pulumi.Input[str]]):
960
+ pulumi.set(self, "zone", value)
961
+
962
+
963
+ if not MYPY:
964
+ class ServerPublicIpArgsDict(TypedDict):
965
+ address: NotRequired[pulumi.Input[str]]
966
+ """
967
+ The address of the IP
968
+ """
969
+ id: NotRequired[pulumi.Input[str]]
970
+ """
971
+ The ID of the IP
972
+ """
973
+ elif False:
974
+ ServerPublicIpArgsDict: TypeAlias = Mapping[str, Any]
975
+
976
+ @pulumi.input_type
977
+ class ServerPublicIpArgs:
978
+ def __init__(__self__, *,
979
+ address: Optional[pulumi.Input[str]] = None,
980
+ id: Optional[pulumi.Input[str]] = None):
981
+ """
982
+ :param pulumi.Input[str] address: The address of the IP
983
+ :param pulumi.Input[str] id: The ID of the IP
984
+ """
985
+ if address is not None:
986
+ pulumi.set(__self__, "address", address)
987
+ if id is not None:
988
+ pulumi.set(__self__, "id", id)
989
+
990
+ @property
991
+ @pulumi.getter
992
+ def address(self) -> Optional[pulumi.Input[str]]:
993
+ """
994
+ The address of the IP
995
+ """
996
+ return pulumi.get(self, "address")
997
+
998
+ @address.setter
999
+ def address(self, value: Optional[pulumi.Input[str]]):
1000
+ pulumi.set(self, "address", value)
1001
+
1002
+ @property
1003
+ @pulumi.getter
1004
+ def id(self) -> Optional[pulumi.Input[str]]:
1005
+ """
1006
+ The ID of the IP
1007
+ """
1008
+ return pulumi.get(self, "id")
1009
+
1010
+ @id.setter
1011
+ def id(self, value: Optional[pulumi.Input[str]]):
1012
+ pulumi.set(self, "id", value)
1013
+
1014
+
1015
+ if not MYPY:
1016
+ class ServerRootVolumeArgsDict(TypedDict):
1017
+ boot: NotRequired[pulumi.Input[bool]]
1018
+ """
1019
+ Set the volume where the boot the server
1020
+ """
1021
+ delete_on_termination: NotRequired[pulumi.Input[bool]]
1022
+ """
1023
+ Forces deletion of the root volume on instance termination.
1024
+ """
1025
+ name: NotRequired[pulumi.Input[str]]
1026
+ """
1027
+ The name of the server.
1028
+ """
1029
+ sbs_iops: NotRequired[pulumi.Input[int]]
1030
+ """
1031
+ Choose IOPS of your sbs volume, has to be used with `sbs_volume` for root volume type.
1032
+
1033
+ > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
1034
+ """
1035
+ size_in_gb: NotRequired[pulumi.Input[int]]
1036
+ """
1037
+ Size of the root volume in gigabytes.
1038
+ To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and
1039
+ check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.
1040
+ Depending on `volume_type`, updates to this field may recreate a new resource.
1041
+ """
1042
+ volume_id: NotRequired[pulumi.Input[str]]
1043
+ """
1044
+ 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.
1045
+ """
1046
+ volume_type: NotRequired[pulumi.Input[str]]
1047
+ """
1048
+ Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type
1049
+ """
1050
+ elif False:
1051
+ ServerRootVolumeArgsDict: TypeAlias = Mapping[str, Any]
1052
+
1053
+ @pulumi.input_type
1054
+ class ServerRootVolumeArgs:
1055
+ def __init__(__self__, *,
1056
+ boot: Optional[pulumi.Input[bool]] = None,
1057
+ delete_on_termination: Optional[pulumi.Input[bool]] = None,
1058
+ name: Optional[pulumi.Input[str]] = None,
1059
+ sbs_iops: Optional[pulumi.Input[int]] = None,
1060
+ size_in_gb: Optional[pulumi.Input[int]] = None,
1061
+ volume_id: Optional[pulumi.Input[str]] = None,
1062
+ volume_type: Optional[pulumi.Input[str]] = None):
1063
+ """
1064
+ :param pulumi.Input[bool] boot: Set the volume where the boot the server
1065
+ :param pulumi.Input[bool] delete_on_termination: Forces deletion of the root volume on instance termination.
1066
+ :param pulumi.Input[str] name: The name of the server.
1067
+ :param pulumi.Input[int] sbs_iops: Choose IOPS of your sbs volume, has to be used with `sbs_volume` for root volume type.
1068
+
1069
+ > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
1070
+ :param pulumi.Input[int] size_in_gb: Size of the root volume in gigabytes.
1071
+ To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and
1072
+ check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.
1073
+ Depending on `volume_type`, updates to this field may recreate a new resource.
1074
+ :param pulumi.Input[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.
1075
+ :param pulumi.Input[str] volume_type: Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type
1076
+ """
1077
+ if boot is not None:
1078
+ pulumi.set(__self__, "boot", boot)
1079
+ if delete_on_termination is not None:
1080
+ pulumi.set(__self__, "delete_on_termination", delete_on_termination)
1081
+ if name is not None:
1082
+ pulumi.set(__self__, "name", name)
1083
+ if sbs_iops is not None:
1084
+ pulumi.set(__self__, "sbs_iops", sbs_iops)
1085
+ if size_in_gb is not None:
1086
+ pulumi.set(__self__, "size_in_gb", size_in_gb)
1087
+ if volume_id is not None:
1088
+ pulumi.set(__self__, "volume_id", volume_id)
1089
+ if volume_type is not None:
1090
+ pulumi.set(__self__, "volume_type", volume_type)
1091
+
1092
+ @property
1093
+ @pulumi.getter
1094
+ def boot(self) -> Optional[pulumi.Input[bool]]:
1095
+ """
1096
+ Set the volume where the boot the server
1097
+ """
1098
+ return pulumi.get(self, "boot")
1099
+
1100
+ @boot.setter
1101
+ def boot(self, value: Optional[pulumi.Input[bool]]):
1102
+ pulumi.set(self, "boot", value)
1103
+
1104
+ @property
1105
+ @pulumi.getter(name="deleteOnTermination")
1106
+ def delete_on_termination(self) -> Optional[pulumi.Input[bool]]:
1107
+ """
1108
+ Forces deletion of the root volume on instance termination.
1109
+ """
1110
+ return pulumi.get(self, "delete_on_termination")
1111
+
1112
+ @delete_on_termination.setter
1113
+ def delete_on_termination(self, value: Optional[pulumi.Input[bool]]):
1114
+ pulumi.set(self, "delete_on_termination", value)
1115
+
1116
+ @property
1117
+ @pulumi.getter
1118
+ def name(self) -> Optional[pulumi.Input[str]]:
1119
+ """
1120
+ The name of the server.
1121
+ """
1122
+ return pulumi.get(self, "name")
1123
+
1124
+ @name.setter
1125
+ def name(self, value: Optional[pulumi.Input[str]]):
1126
+ pulumi.set(self, "name", value)
1127
+
1128
+ @property
1129
+ @pulumi.getter(name="sbsIops")
1130
+ def sbs_iops(self) -> Optional[pulumi.Input[int]]:
1131
+ """
1132
+ Choose IOPS of your sbs volume, has to be used with `sbs_volume` for root volume type.
1133
+
1134
+ > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
1135
+ """
1136
+ return pulumi.get(self, "sbs_iops")
1137
+
1138
+ @sbs_iops.setter
1139
+ def sbs_iops(self, value: Optional[pulumi.Input[int]]):
1140
+ pulumi.set(self, "sbs_iops", value)
1141
+
1142
+ @property
1143
+ @pulumi.getter(name="sizeInGb")
1144
+ def size_in_gb(self) -> Optional[pulumi.Input[int]]:
1145
+ """
1146
+ Size of the root volume in gigabytes.
1147
+ To find the right size use [this endpoint](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances) and
1148
+ check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercial_type`.
1149
+ Depending on `volume_type`, updates to this field may recreate a new resource.
1150
+ """
1151
+ return pulumi.get(self, "size_in_gb")
1152
+
1153
+ @size_in_gb.setter
1154
+ def size_in_gb(self, value: Optional[pulumi.Input[int]]):
1155
+ pulumi.set(self, "size_in_gb", value)
1156
+
1157
+ @property
1158
+ @pulumi.getter(name="volumeId")
1159
+ def volume_id(self) -> Optional[pulumi.Input[str]]:
1160
+ """
1161
+ 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.
1162
+ """
1163
+ return pulumi.get(self, "volume_id")
1164
+
1165
+ @volume_id.setter
1166
+ def volume_id(self, value: Optional[pulumi.Input[str]]):
1167
+ pulumi.set(self, "volume_id", value)
1168
+
1169
+ @property
1170
+ @pulumi.getter(name="volumeType")
1171
+ def volume_type(self) -> Optional[pulumi.Input[str]]:
1172
+ """
1173
+ Volume type of root volume, can be `b_ssd`, `l_ssd` or `sbs_volume`, default value depends on server type
1174
+ """
1175
+ return pulumi.get(self, "volume_type")
1176
+
1177
+ @volume_type.setter
1178
+ def volume_type(self, value: Optional[pulumi.Input[str]]):
1179
+ pulumi.set(self, "volume_type", value)
1180
+
1181
+
1182
+ if not MYPY:
1183
+ class SnapshotImportArgsDict(TypedDict):
1184
+ bucket: pulumi.Input[str]
1185
+ """
1186
+ Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
1187
+ """
1188
+ key: pulumi.Input[str]
1189
+ """
1190
+ Key of the object to import
1191
+
1192
+ > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
1193
+ """
1194
+ elif False:
1195
+ SnapshotImportArgsDict: TypeAlias = Mapping[str, Any]
1196
+
1197
+ @pulumi.input_type
1198
+ class SnapshotImportArgs:
1199
+ def __init__(__self__, *,
1200
+ bucket: pulumi.Input[str],
1201
+ key: pulumi.Input[str]):
1202
+ """
1203
+ :param pulumi.Input[str] bucket: Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
1204
+ :param pulumi.Input[str] key: Key of the object to import
1205
+
1206
+ > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
1207
+ """
1208
+ pulumi.set(__self__, "bucket", bucket)
1209
+ pulumi.set(__self__, "key", key)
1210
+
1211
+ @property
1212
+ @pulumi.getter
1213
+ def bucket(self) -> pulumi.Input[str]:
1214
+ """
1215
+ Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
1216
+ """
1217
+ return pulumi.get(self, "bucket")
1218
+
1219
+ @bucket.setter
1220
+ def bucket(self, value: pulumi.Input[str]):
1221
+ pulumi.set(self, "bucket", value)
1222
+
1223
+ @property
1224
+ @pulumi.getter
1225
+ def key(self) -> pulumi.Input[str]:
1226
+ """
1227
+ Key of the object to import
1228
+
1229
+ > **Note:** The type `unified` could be instantiated on both `l_ssd` and `b_ssd` volumes.
1230
+ """
1231
+ return pulumi.get(self, "key")
1232
+
1233
+ @key.setter
1234
+ def key(self, value: pulumi.Input[str]):
1235
+ pulumi.set(self, "key", value)
1236
+
1237
+