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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "scaleway",
4
- "version": "1.25.0-alpha.1742464679",
4
+ "version": "1.26.0",
5
5
  "server": "github://api.github.com/pulumiverse"
6
6
  }
@@ -255,7 +255,12 @@ class _RdbSnapshotState:
255
255
  pulumi.set(self, "volume_type", value)
256
256
 
257
257
 
258
+ warnings.warn("""scaleway.index/rdbsnapshot.RdbSnapshot has been deprecated in favor of scaleway.databases/snapshot.Snapshot""", DeprecationWarning)
259
+
260
+
258
261
  class RdbSnapshot(pulumi.CustomResource):
262
+ warnings.warn("""scaleway.index/rdbsnapshot.RdbSnapshot has been deprecated in favor of scaleway.databases/snapshot.Snapshot""", DeprecationWarning)
263
+
259
264
  @overload
260
265
  def __init__(__self__,
261
266
  resource_name: str,
@@ -278,7 +283,7 @@ class RdbSnapshot(pulumi.CustomResource):
278
283
  import pulumi
279
284
  import pulumiverse_scaleway as scaleway
280
285
 
281
- main = scaleway.DatabaseInstance("main",
286
+ main = scaleway.databases.Instance("main",
282
287
  name="test-rdb-instance",
283
288
  node_type="db-dev-s",
284
289
  engine="PostgreSQL-15",
@@ -293,7 +298,7 @@ class RdbSnapshot(pulumi.CustomResource):
293
298
  ],
294
299
  volume_type="bssd",
295
300
  volume_size_in_gb=10)
296
- test = scaleway.RdbSnapshot("test",
301
+ test = scaleway.databases.Snapshot("test",
297
302
  name="initial-snapshot",
298
303
  instance_id=main.id,
299
304
  opts = pulumi.ResourceOptions(depends_on=[main]))
@@ -305,7 +310,7 @@ class RdbSnapshot(pulumi.CustomResource):
305
310
  import pulumi
306
311
  import pulumiverse_scaleway as scaleway
307
312
 
308
- snapshot_with_expiration = scaleway.RdbSnapshot("snapshot_with_expiration",
313
+ snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
309
314
  name="snapshot-with-expiration",
310
315
  instance_id=main["id"],
311
316
  expires_at="2025-01-31T00:00:00Z")
@@ -317,11 +322,11 @@ class RdbSnapshot(pulumi.CustomResource):
317
322
  import pulumi
318
323
  import pulumiverse_scaleway as scaleway
319
324
 
320
- snapshot_a = scaleway.RdbSnapshot("snapshot_a",
325
+ snapshot_a = scaleway.databases.Snapshot("snapshot_a",
321
326
  name="snapshot_a",
322
327
  instance_id=main["id"],
323
328
  opts = pulumi.ResourceOptions(depends_on=[main]))
324
- snapshot_b = scaleway.RdbSnapshot("snapshot_b",
329
+ snapshot_b = scaleway.databases.Snapshot("snapshot_b",
325
330
  name="snapshot_b",
326
331
  instance_id=main["id"],
327
332
  expires_at="2025-02-07T00:00:00Z",
@@ -368,7 +373,7 @@ class RdbSnapshot(pulumi.CustomResource):
368
373
  import pulumi
369
374
  import pulumiverse_scaleway as scaleway
370
375
 
371
- main = scaleway.DatabaseInstance("main",
376
+ main = scaleway.databases.Instance("main",
372
377
  name="test-rdb-instance",
373
378
  node_type="db-dev-s",
374
379
  engine="PostgreSQL-15",
@@ -383,7 +388,7 @@ class RdbSnapshot(pulumi.CustomResource):
383
388
  ],
384
389
  volume_type="bssd",
385
390
  volume_size_in_gb=10)
386
- test = scaleway.RdbSnapshot("test",
391
+ test = scaleway.databases.Snapshot("test",
387
392
  name="initial-snapshot",
388
393
  instance_id=main.id,
389
394
  opts = pulumi.ResourceOptions(depends_on=[main]))
@@ -395,7 +400,7 @@ class RdbSnapshot(pulumi.CustomResource):
395
400
  import pulumi
396
401
  import pulumiverse_scaleway as scaleway
397
402
 
398
- snapshot_with_expiration = scaleway.RdbSnapshot("snapshot_with_expiration",
403
+ snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
399
404
  name="snapshot-with-expiration",
400
405
  instance_id=main["id"],
401
406
  expires_at="2025-01-31T00:00:00Z")
@@ -407,11 +412,11 @@ class RdbSnapshot(pulumi.CustomResource):
407
412
  import pulumi
408
413
  import pulumiverse_scaleway as scaleway
409
414
 
410
- snapshot_a = scaleway.RdbSnapshot("snapshot_a",
415
+ snapshot_a = scaleway.databases.Snapshot("snapshot_a",
411
416
  name="snapshot_a",
412
417
  instance_id=main["id"],
413
418
  opts = pulumi.ResourceOptions(depends_on=[main]))
414
- snapshot_b = scaleway.RdbSnapshot("snapshot_b",
419
+ snapshot_b = scaleway.databases.Snapshot("snapshot_b",
415
420
  name="snapshot_b",
416
421
  instance_id=main["id"],
417
422
  expires_at="2025-02-07T00:00:00Z",
@@ -452,6 +457,7 @@ class RdbSnapshot(pulumi.CustomResource):
452
457
  name: Optional[pulumi.Input[str]] = None,
453
458
  region: Optional[pulumi.Input[str]] = None,
454
459
  __props__=None):
460
+ pulumi.log.warn("""RdbSnapshot is deprecated: scaleway.index/rdbsnapshot.RdbSnapshot has been deprecated in favor of scaleway.databases/snapshot.Snapshot""")
455
461
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
456
462
  if not isinstance(opts, pulumi.ResourceOptions):
457
463
  raise TypeError('Expected resource options to be a ResourceOptions instance')
@@ -0,0 +1,11 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .cluster import *
9
+ from .get_cluster import *
10
+ from ._inputs import *
11
+ from . import outputs
@@ -0,0 +1,330 @@
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
+ 'ClusterAclArgs',
19
+ 'ClusterAclArgsDict',
20
+ 'ClusterPrivateNetworkArgs',
21
+ 'ClusterPrivateNetworkArgsDict',
22
+ 'ClusterPublicNetworkArgs',
23
+ 'ClusterPublicNetworkArgsDict',
24
+ ]
25
+
26
+ MYPY = False
27
+
28
+ if not MYPY:
29
+ class ClusterAclArgsDict(TypedDict):
30
+ ip: pulumi.Input[str]
31
+ """
32
+ The IP range to whitelist
33
+ in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
34
+ """
35
+ description: NotRequired[pulumi.Input[str]]
36
+ """
37
+ A text describing this rule. Default description: `Allow IP`
38
+
39
+ > The `acl` conflict with `private_network`. Only one should be specified.
40
+ """
41
+ id: NotRequired[pulumi.Input[str]]
42
+ """
43
+ (Required) The UUID of the endpoint.
44
+ """
45
+ elif False:
46
+ ClusterAclArgsDict: TypeAlias = Mapping[str, Any]
47
+
48
+ @pulumi.input_type
49
+ class ClusterAclArgs:
50
+ def __init__(__self__, *,
51
+ ip: pulumi.Input[str],
52
+ description: Optional[pulumi.Input[str]] = None,
53
+ id: Optional[pulumi.Input[str]] = None):
54
+ """
55
+ :param pulumi.Input[str] ip: The IP range to whitelist
56
+ in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
57
+ :param pulumi.Input[str] description: A text describing this rule. Default description: `Allow IP`
58
+
59
+ > The `acl` conflict with `private_network`. Only one should be specified.
60
+ :param pulumi.Input[str] id: (Required) The UUID of the endpoint.
61
+ """
62
+ pulumi.set(__self__, "ip", ip)
63
+ if description is not None:
64
+ pulumi.set(__self__, "description", description)
65
+ if id is not None:
66
+ pulumi.set(__self__, "id", id)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def ip(self) -> pulumi.Input[str]:
71
+ """
72
+ The IP range to whitelist
73
+ in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
74
+ """
75
+ return pulumi.get(self, "ip")
76
+
77
+ @ip.setter
78
+ def ip(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "ip", value)
80
+
81
+ @property
82
+ @pulumi.getter
83
+ def description(self) -> Optional[pulumi.Input[str]]:
84
+ """
85
+ A text describing this rule. Default description: `Allow IP`
86
+
87
+ > The `acl` conflict with `private_network`. Only one should be specified.
88
+ """
89
+ return pulumi.get(self, "description")
90
+
91
+ @description.setter
92
+ def description(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "description", value)
94
+
95
+ @property
96
+ @pulumi.getter
97
+ def id(self) -> Optional[pulumi.Input[str]]:
98
+ """
99
+ (Required) The UUID of the endpoint.
100
+ """
101
+ return pulumi.get(self, "id")
102
+
103
+ @id.setter
104
+ def id(self, value: Optional[pulumi.Input[str]]):
105
+ pulumi.set(self, "id", value)
106
+
107
+
108
+ if not MYPY:
109
+ class ClusterPrivateNetworkArgsDict(TypedDict):
110
+ id: pulumi.Input[str]
111
+ """
112
+ The UUID of the Private Network resource.
113
+ """
114
+ endpoint_id: NotRequired[pulumi.Input[str]]
115
+ """
116
+ The ID of the endpoint.
117
+ """
118
+ service_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
119
+ """
120
+ Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node.
121
+ Keep in mind that in cluster mode you cannot edit your Private Network after its creation so if you want to be able to
122
+ scale your cluster horizontally (adding nodes) later, you should provide more IPs than nodes.
123
+ If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.
124
+ > **Important:** When IPAM is enabled, the IPs specified here will be ignored and should not be provided.
125
+
126
+ > The `private_network` conflicts with `acl`. Only one should be specified.
127
+
128
+ > **Important:** The way to use Private Networks differs whether you are using Redis™ in Standalone or cluster mode.
129
+
130
+ - Standalone mode (`cluster_size` = 1) : you can attach as many Private Networks as you want (each must be a separate
131
+ block). If you detach your only Private Network, your cluster won't be reachable until you define a new Private or
132
+ Public Network. You can modify your `private_network` and its specs, you can have both a Private and Public Network side
133
+ by side.
134
+
135
+ - Cluster mode (`cluster_size` > 2) : you can define a single Private Network as you create your cluster, you won't be
136
+ able to edit or detach it afterward, unless you create another cluster. This also means that, if you are using a static
137
+ configuration (`service_ips`), you won't be able to scale your cluster horizontally (add more nodes) since it would
138
+ require updating the Private Network to add IPs.
139
+ Your `service_ips` must be listed as follows:
140
+ """
141
+ zone: NotRequired[pulumi.Input[str]]
142
+ """
143
+ `zone`) The zone in which the
144
+ Redis™ cluster should be created.
145
+ """
146
+ elif False:
147
+ ClusterPrivateNetworkArgsDict: TypeAlias = Mapping[str, Any]
148
+
149
+ @pulumi.input_type
150
+ class ClusterPrivateNetworkArgs:
151
+ def __init__(__self__, *,
152
+ id: pulumi.Input[str],
153
+ endpoint_id: Optional[pulumi.Input[str]] = None,
154
+ service_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
155
+ zone: Optional[pulumi.Input[str]] = None):
156
+ """
157
+ :param pulumi.Input[str] id: The UUID of the Private Network resource.
158
+ :param pulumi.Input[str] endpoint_id: The ID of the endpoint.
159
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] service_ips: Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node.
160
+ Keep in mind that in cluster mode you cannot edit your Private Network after its creation so if you want to be able to
161
+ scale your cluster horizontally (adding nodes) later, you should provide more IPs than nodes.
162
+ If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.
163
+ > **Important:** When IPAM is enabled, the IPs specified here will be ignored and should not be provided.
164
+
165
+ > The `private_network` conflicts with `acl`. Only one should be specified.
166
+
167
+ > **Important:** The way to use Private Networks differs whether you are using Redis™ in Standalone or cluster mode.
168
+
169
+ - Standalone mode (`cluster_size` = 1) : you can attach as many Private Networks as you want (each must be a separate
170
+ block). If you detach your only Private Network, your cluster won't be reachable until you define a new Private or
171
+ Public Network. You can modify your `private_network` and its specs, you can have both a Private and Public Network side
172
+ by side.
173
+
174
+ - Cluster mode (`cluster_size` > 2) : you can define a single Private Network as you create your cluster, you won't be
175
+ able to edit or detach it afterward, unless you create another cluster. This also means that, if you are using a static
176
+ configuration (`service_ips`), you won't be able to scale your cluster horizontally (add more nodes) since it would
177
+ require updating the Private Network to add IPs.
178
+ Your `service_ips` must be listed as follows:
179
+ :param pulumi.Input[str] zone: `zone`) The zone in which the
180
+ Redis™ cluster should be created.
181
+ """
182
+ pulumi.set(__self__, "id", id)
183
+ if endpoint_id is not None:
184
+ pulumi.set(__self__, "endpoint_id", endpoint_id)
185
+ if service_ips is not None:
186
+ pulumi.set(__self__, "service_ips", service_ips)
187
+ if zone is not None:
188
+ pulumi.set(__self__, "zone", zone)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def id(self) -> pulumi.Input[str]:
193
+ """
194
+ The UUID of the Private Network resource.
195
+ """
196
+ return pulumi.get(self, "id")
197
+
198
+ @id.setter
199
+ def id(self, value: pulumi.Input[str]):
200
+ pulumi.set(self, "id", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="endpointId")
204
+ def endpoint_id(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ The ID of the endpoint.
207
+ """
208
+ return pulumi.get(self, "endpoint_id")
209
+
210
+ @endpoint_id.setter
211
+ def endpoint_id(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "endpoint_id", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="serviceIps")
216
+ def service_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
217
+ """
218
+ Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node.
219
+ Keep in mind that in cluster mode you cannot edit your Private Network after its creation so if you want to be able to
220
+ scale your cluster horizontally (adding nodes) later, you should provide more IPs than nodes.
221
+ If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.
222
+ > **Important:** When IPAM is enabled, the IPs specified here will be ignored and should not be provided.
223
+
224
+ > The `private_network` conflicts with `acl`. Only one should be specified.
225
+
226
+ > **Important:** The way to use Private Networks differs whether you are using Redis™ in Standalone or cluster mode.
227
+
228
+ - Standalone mode (`cluster_size` = 1) : you can attach as many Private Networks as you want (each must be a separate
229
+ block). If you detach your only Private Network, your cluster won't be reachable until you define a new Private or
230
+ Public Network. You can modify your `private_network` and its specs, you can have both a Private and Public Network side
231
+ by side.
232
+
233
+ - Cluster mode (`cluster_size` > 2) : you can define a single Private Network as you create your cluster, you won't be
234
+ able to edit or detach it afterward, unless you create another cluster. This also means that, if you are using a static
235
+ configuration (`service_ips`), you won't be able to scale your cluster horizontally (add more nodes) since it would
236
+ require updating the Private Network to add IPs.
237
+ Your `service_ips` must be listed as follows:
238
+ """
239
+ return pulumi.get(self, "service_ips")
240
+
241
+ @service_ips.setter
242
+ def service_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
243
+ pulumi.set(self, "service_ips", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def zone(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ `zone`) The zone in which the
250
+ Redis™ cluster should be created.
251
+ """
252
+ return pulumi.get(self, "zone")
253
+
254
+ @zone.setter
255
+ def zone(self, value: Optional[pulumi.Input[str]]):
256
+ pulumi.set(self, "zone", value)
257
+
258
+
259
+ if not MYPY:
260
+ class ClusterPublicNetworkArgsDict(TypedDict):
261
+ id: NotRequired[pulumi.Input[str]]
262
+ """
263
+ (Required) The UUID of the endpoint.
264
+ """
265
+ ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
266
+ """
267
+ Lis of IPv4 address of the endpoint (IP address).
268
+ """
269
+ port: NotRequired[pulumi.Input[int]]
270
+ """
271
+ TCP port of the endpoint.
272
+ """
273
+ elif False:
274
+ ClusterPublicNetworkArgsDict: TypeAlias = Mapping[str, Any]
275
+
276
+ @pulumi.input_type
277
+ class ClusterPublicNetworkArgs:
278
+ def __init__(__self__, *,
279
+ id: Optional[pulumi.Input[str]] = None,
280
+ ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
281
+ port: Optional[pulumi.Input[int]] = None):
282
+ """
283
+ :param pulumi.Input[str] id: (Required) The UUID of the endpoint.
284
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ips: Lis of IPv4 address of the endpoint (IP address).
285
+ :param pulumi.Input[int] port: TCP port of the endpoint.
286
+ """
287
+ if id is not None:
288
+ pulumi.set(__self__, "id", id)
289
+ if ips is not None:
290
+ pulumi.set(__self__, "ips", ips)
291
+ if port is not None:
292
+ pulumi.set(__self__, "port", port)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def id(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ (Required) The UUID of the endpoint.
299
+ """
300
+ return pulumi.get(self, "id")
301
+
302
+ @id.setter
303
+ def id(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "id", value)
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
309
+ """
310
+ Lis of IPv4 address of the endpoint (IP address).
311
+ """
312
+ return pulumi.get(self, "ips")
313
+
314
+ @ips.setter
315
+ def ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
316
+ pulumi.set(self, "ips", value)
317
+
318
+ @property
319
+ @pulumi.getter
320
+ def port(self) -> Optional[pulumi.Input[int]]:
321
+ """
322
+ TCP port of the endpoint.
323
+ """
324
+ return pulumi.get(self, "port")
325
+
326
+ @port.setter
327
+ def port(self, value: Optional[pulumi.Input[int]]):
328
+ pulumi.set(self, "port", value)
329
+
330
+