pulumiverse-scaleway 1.27.0a1744869119__py3-none-any.whl → 1.39.0a1764841480__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 (515) hide show
  1. pulumiverse_scaleway/__init__.py +109 -2
  2. pulumiverse_scaleway/_inputs.py +3936 -2603
  3. pulumiverse_scaleway/_utilities.py +1 -1
  4. pulumiverse_scaleway/account/__init__.py +4 -1
  5. pulumiverse_scaleway/account/get_availability_zones.py +12 -12
  6. pulumiverse_scaleway/account/get_project.py +28 -28
  7. pulumiverse_scaleway/account/get_projects.py +241 -0
  8. pulumiverse_scaleway/account/get_ssh_key.py +34 -34
  9. pulumiverse_scaleway/account/outputs.py +95 -0
  10. pulumiverse_scaleway/account/project.py +72 -71
  11. pulumiverse_scaleway/account/ssh_key.py +107 -106
  12. pulumiverse_scaleway/account_project.py +72 -71
  13. pulumiverse_scaleway/account_ssh_key.py +107 -106
  14. pulumiverse_scaleway/apple_silicon_server.py +334 -201
  15. pulumiverse_scaleway/applesilicon/__init__.py +2 -1
  16. pulumiverse_scaleway/applesilicon/_inputs.py +105 -51
  17. pulumiverse_scaleway/applesilicon/outputs.py +65 -33
  18. pulumiverse_scaleway/applesilicon/server.py +334 -201
  19. pulumiverse_scaleway/audittrail/__init__.py +10 -0
  20. pulumiverse_scaleway/audittrail/get_event.py +410 -0
  21. pulumiverse_scaleway/audittrail/outputs.py +234 -0
  22. pulumiverse_scaleway/autoscaling/__init__.py +13 -0
  23. pulumiverse_scaleway/autoscaling/_inputs.py +558 -0
  24. pulumiverse_scaleway/autoscaling/instance_group.py +807 -0
  25. pulumiverse_scaleway/autoscaling/instance_policy.py +634 -0
  26. pulumiverse_scaleway/autoscaling/instance_template.py +878 -0
  27. pulumiverse_scaleway/autoscaling/outputs.py +438 -0
  28. pulumiverse_scaleway/baremetal_server.py +622 -524
  29. pulumiverse_scaleway/billing/__init__.py +2 -1
  30. pulumiverse_scaleway/billing/get_consumptions.py +19 -15
  31. pulumiverse_scaleway/billing/get_invoices.py +25 -25
  32. pulumiverse_scaleway/billing/outputs.py +96 -96
  33. pulumiverse_scaleway/block/__init__.py +4 -1
  34. pulumiverse_scaleway/block/_inputs.py +125 -0
  35. pulumiverse_scaleway/block/get_snapshot.py +60 -37
  36. pulumiverse_scaleway/block/get_volume.py +38 -38
  37. pulumiverse_scaleway/block/outputs.py +139 -0
  38. pulumiverse_scaleway/block/snapshot.py +272 -98
  39. pulumiverse_scaleway/block/volume.py +145 -144
  40. pulumiverse_scaleway/block_snapshot.py +272 -98
  41. pulumiverse_scaleway/block_volume.py +145 -144
  42. pulumiverse_scaleway/cockpit.py +71 -49
  43. pulumiverse_scaleway/cockpit_alert_manager.py +66 -65
  44. pulumiverse_scaleway/cockpit_grafana_user.py +72 -113
  45. pulumiverse_scaleway/cockpit_source.py +142 -141
  46. pulumiverse_scaleway/cockpit_token.py +84 -83
  47. pulumiverse_scaleway/config/__init__.py +2 -1
  48. pulumiverse_scaleway/config/__init__.pyi +2 -2
  49. pulumiverse_scaleway/config/vars.py +11 -11
  50. pulumiverse_scaleway/container.py +653 -424
  51. pulumiverse_scaleway/container_cron.py +97 -96
  52. pulumiverse_scaleway/container_domain.py +63 -62
  53. pulumiverse_scaleway/container_namespace.py +251 -172
  54. pulumiverse_scaleway/container_token.py +97 -96
  55. pulumiverse_scaleway/container_trigger.py +77 -76
  56. pulumiverse_scaleway/containers/__init__.py +2 -1
  57. pulumiverse_scaleway/containers/_inputs.py +87 -87
  58. pulumiverse_scaleway/containers/container.py +653 -424
  59. pulumiverse_scaleway/containers/cron.py +97 -96
  60. pulumiverse_scaleway/containers/domain.py +63 -62
  61. pulumiverse_scaleway/containers/get_container.py +117 -73
  62. pulumiverse_scaleway/containers/get_namespace.py +56 -45
  63. pulumiverse_scaleway/containers/namespace.py +251 -172
  64. pulumiverse_scaleway/containers/outputs.py +84 -84
  65. pulumiverse_scaleway/containers/token.py +97 -96
  66. pulumiverse_scaleway/containers/trigger.py +77 -76
  67. pulumiverse_scaleway/database.py +81 -80
  68. pulumiverse_scaleway/database_acl.py +148 -39
  69. pulumiverse_scaleway/database_backup.py +124 -123
  70. pulumiverse_scaleway/database_instance.py +531 -436
  71. pulumiverse_scaleway/database_privilege.py +88 -87
  72. pulumiverse_scaleway/database_read_replica.py +60 -59
  73. pulumiverse_scaleway/database_user.py +171 -98
  74. pulumiverse_scaleway/databases/__init__.py +2 -1
  75. pulumiverse_scaleway/databases/_inputs.py +364 -216
  76. pulumiverse_scaleway/databases/acl.py +148 -39
  77. pulumiverse_scaleway/databases/database.py +81 -80
  78. pulumiverse_scaleway/databases/database_backup.py +124 -123
  79. pulumiverse_scaleway/databases/get_acl.py +17 -17
  80. pulumiverse_scaleway/databases/get_database.py +26 -26
  81. pulumiverse_scaleway/databases/get_database_backup.py +46 -46
  82. pulumiverse_scaleway/databases/get_instance.py +95 -73
  83. pulumiverse_scaleway/databases/get_privilege.py +30 -30
  84. pulumiverse_scaleway/databases/instance.py +531 -436
  85. pulumiverse_scaleway/databases/outputs.py +419 -232
  86. pulumiverse_scaleway/databases/privilege.py +88 -87
  87. pulumiverse_scaleway/databases/read_replica.py +60 -59
  88. pulumiverse_scaleway/databases/serverless_database.py +97 -96
  89. pulumiverse_scaleway/databases/snapshot.py +127 -126
  90. pulumiverse_scaleway/databases/user.py +171 -98
  91. pulumiverse_scaleway/datawarehouse/__init__.py +13 -0
  92. pulumiverse_scaleway/datawarehouse/_inputs.py +149 -0
  93. pulumiverse_scaleway/datawarehouse/database.py +338 -0
  94. pulumiverse_scaleway/datawarehouse/deployment.py +821 -0
  95. pulumiverse_scaleway/datawarehouse/outputs.py +113 -0
  96. pulumiverse_scaleway/datawarehouse/user.py +451 -0
  97. pulumiverse_scaleway/domain/__init__.py +2 -1
  98. pulumiverse_scaleway/domain/_inputs.py +661 -661
  99. pulumiverse_scaleway/domain/get_record.py +53 -64
  100. pulumiverse_scaleway/domain/get_zone.py +36 -30
  101. pulumiverse_scaleway/domain/outputs.py +501 -501
  102. pulumiverse_scaleway/domain/record.py +156 -202
  103. pulumiverse_scaleway/domain/registration.py +123 -122
  104. pulumiverse_scaleway/domain/zone.py +108 -107
  105. pulumiverse_scaleway/domain_record.py +156 -202
  106. pulumiverse_scaleway/domain_zone.py +108 -107
  107. pulumiverse_scaleway/edge_services_backend_stage.py +61 -60
  108. pulumiverse_scaleway/edge_services_cache_stage.py +283 -111
  109. pulumiverse_scaleway/edge_services_dns_stage.py +169 -140
  110. pulumiverse_scaleway/edge_services_head_stage.py +37 -36
  111. pulumiverse_scaleway/edge_services_pipeline.py +125 -82
  112. pulumiverse_scaleway/edge_services_plan.py +37 -36
  113. pulumiverse_scaleway/edge_services_route_stage.py +75 -74
  114. pulumiverse_scaleway/edge_services_tls_stage.py +219 -124
  115. pulumiverse_scaleway/edge_services_waf_stage.py +106 -105
  116. pulumiverse_scaleway/elasticmetal/__init__.py +3 -1
  117. pulumiverse_scaleway/elasticmetal/_inputs.py +203 -129
  118. pulumiverse_scaleway/elasticmetal/get_ip.py +70 -54
  119. pulumiverse_scaleway/elasticmetal/get_ips.py +31 -31
  120. pulumiverse_scaleway/elasticmetal/get_offer.py +43 -41
  121. pulumiverse_scaleway/elasticmetal/get_option.py +24 -24
  122. pulumiverse_scaleway/elasticmetal/get_os.py +28 -28
  123. pulumiverse_scaleway/elasticmetal/get_partition_schema.py +215 -0
  124. pulumiverse_scaleway/elasticmetal/get_server.py +101 -68
  125. pulumiverse_scaleway/elasticmetal/ip.py +170 -169
  126. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +107 -106
  127. pulumiverse_scaleway/elasticmetal/outputs.py +379 -287
  128. pulumiverse_scaleway/elasticmetal/server.py +622 -524
  129. pulumiverse_scaleway/file_filesystem.py +555 -0
  130. pulumiverse_scaleway/flexible_ip.py +170 -169
  131. pulumiverse_scaleway/flexible_ip_mac_address.py +107 -106
  132. pulumiverse_scaleway/function.py +457 -348
  133. pulumiverse_scaleway/function_cron.py +97 -96
  134. pulumiverse_scaleway/function_domain.py +63 -62
  135. pulumiverse_scaleway/function_namespace.py +234 -155
  136. pulumiverse_scaleway/function_token.py +97 -96
  137. pulumiverse_scaleway/function_trigger.py +77 -76
  138. pulumiverse_scaleway/functions/__init__.py +2 -1
  139. pulumiverse_scaleway/functions/_inputs.py +50 -50
  140. pulumiverse_scaleway/functions/cron.py +97 -96
  141. pulumiverse_scaleway/functions/domain.py +63 -62
  142. pulumiverse_scaleway/functions/function.py +457 -348
  143. pulumiverse_scaleway/functions/get_function.py +93 -71
  144. pulumiverse_scaleway/functions/get_namespace.py +54 -43
  145. pulumiverse_scaleway/functions/namespace.py +234 -155
  146. pulumiverse_scaleway/functions/outputs.py +34 -34
  147. pulumiverse_scaleway/functions/token.py +97 -96
  148. pulumiverse_scaleway/functions/trigger.py +77 -76
  149. pulumiverse_scaleway/get_account_project.py +28 -28
  150. pulumiverse_scaleway/get_account_ssh_key.py +34 -34
  151. pulumiverse_scaleway/get_availability_zones.py +12 -12
  152. pulumiverse_scaleway/get_baremetal_offer.py +43 -41
  153. pulumiverse_scaleway/get_baremetal_option.py +24 -24
  154. pulumiverse_scaleway/get_baremetal_os.py +28 -28
  155. pulumiverse_scaleway/get_baremetal_server.py +101 -68
  156. pulumiverse_scaleway/get_billing_consumptions.py +19 -15
  157. pulumiverse_scaleway/get_billing_invoices.py +25 -25
  158. pulumiverse_scaleway/get_block_snapshot.py +60 -37
  159. pulumiverse_scaleway/get_block_volume.py +38 -38
  160. pulumiverse_scaleway/get_cockpit.py +16 -16
  161. pulumiverse_scaleway/get_cockpit_source.py +88 -45
  162. pulumiverse_scaleway/get_config.py +24 -24
  163. pulumiverse_scaleway/get_container.py +117 -73
  164. pulumiverse_scaleway/get_container_namespace.py +56 -45
  165. pulumiverse_scaleway/get_database.py +26 -26
  166. pulumiverse_scaleway/get_database_acl.py +17 -17
  167. pulumiverse_scaleway/get_database_backup.py +46 -46
  168. pulumiverse_scaleway/get_database_instance.py +95 -73
  169. pulumiverse_scaleway/get_database_privilege.py +30 -30
  170. pulumiverse_scaleway/get_domain_record.py +53 -64
  171. pulumiverse_scaleway/get_domain_zone.py +36 -30
  172. pulumiverse_scaleway/get_flexible_ip.py +70 -54
  173. pulumiverse_scaleway/get_flexible_ips.py +31 -31
  174. pulumiverse_scaleway/get_function.py +93 -71
  175. pulumiverse_scaleway/get_function_namespace.py +54 -43
  176. pulumiverse_scaleway/get_iam_api_key.py +28 -28
  177. pulumiverse_scaleway/get_iam_application.py +32 -32
  178. pulumiverse_scaleway/get_iam_group.py +36 -36
  179. pulumiverse_scaleway/get_iam_ssh_key.py +34 -34
  180. pulumiverse_scaleway/get_iam_user.py +30 -30
  181. pulumiverse_scaleway/get_instance_image.py +58 -58
  182. pulumiverse_scaleway/get_instance_ip.py +42 -30
  183. pulumiverse_scaleway/get_instance_placement_group.py +38 -38
  184. pulumiverse_scaleway/get_instance_private_nic.py +53 -41
  185. pulumiverse_scaleway/get_instance_security_group.py +46 -46
  186. pulumiverse_scaleway/get_instance_server.py +108 -145
  187. pulumiverse_scaleway/get_instance_servers.py +31 -31
  188. pulumiverse_scaleway/get_instance_snapshot.py +41 -41
  189. pulumiverse_scaleway/get_instance_volume.py +42 -42
  190. pulumiverse_scaleway/get_iot_device.py +46 -46
  191. pulumiverse_scaleway/get_iot_hub.py +60 -60
  192. pulumiverse_scaleway/get_ipam_ip.py +65 -65
  193. pulumiverse_scaleway/get_ipam_ips.py +56 -56
  194. pulumiverse_scaleway/get_k8s_version.py +34 -23
  195. pulumiverse_scaleway/get_kubernetes_cluster.py +98 -65
  196. pulumiverse_scaleway/get_kubernetes_node_pool.py +86 -75
  197. pulumiverse_scaleway/get_lb_acls.py +29 -29
  198. pulumiverse_scaleway/get_lb_backend.py +75 -75
  199. pulumiverse_scaleway/get_lb_backends.py +29 -29
  200. pulumiverse_scaleway/get_lb_frontend.py +76 -43
  201. pulumiverse_scaleway/get_lb_frontends.py +29 -29
  202. pulumiverse_scaleway/get_lb_ips.py +37 -37
  203. pulumiverse_scaleway/get_lb_route.py +36 -25
  204. pulumiverse_scaleway/get_lb_routes.py +23 -23
  205. pulumiverse_scaleway/get_lbs.py +31 -31
  206. pulumiverse_scaleway/get_loadbalancer.py +78 -56
  207. pulumiverse_scaleway/get_loadbalancer_certificate.py +96 -36
  208. pulumiverse_scaleway/get_loadbalancer_ip.py +40 -40
  209. pulumiverse_scaleway/get_marketplace_image.py +28 -28
  210. pulumiverse_scaleway/get_mnq_sns.py +18 -18
  211. pulumiverse_scaleway/get_mnq_sqs.py +18 -18
  212. pulumiverse_scaleway/get_mongo_db_instance.py +110 -55
  213. pulumiverse_scaleway/get_object_bucket.py +35 -35
  214. pulumiverse_scaleway/get_object_bucket_policy.py +22 -22
  215. pulumiverse_scaleway/get_redis_cluster.py +65 -54
  216. pulumiverse_scaleway/get_registry_image.py +48 -48
  217. pulumiverse_scaleway/get_registry_image_tag.py +44 -44
  218. pulumiverse_scaleway/get_registry_namespace.py +36 -36
  219. pulumiverse_scaleway/get_secret.py +58 -58
  220. pulumiverse_scaleway/get_secret_version.py +46 -46
  221. pulumiverse_scaleway/get_tem_domain.py +103 -70
  222. pulumiverse_scaleway/get_vpc.py +58 -47
  223. pulumiverse_scaleway/get_vpc_gateway_network.py +55 -44
  224. pulumiverse_scaleway/get_vpc_private_network.py +58 -47
  225. pulumiverse_scaleway/get_vpc_public_gateway.py +56 -56
  226. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +44 -44
  227. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +44 -44
  228. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +24 -24
  229. pulumiverse_scaleway/get_vpc_public_pat_rule.py +32 -32
  230. pulumiverse_scaleway/get_vpc_routes.py +47 -47
  231. pulumiverse_scaleway/get_vpcs.py +31 -31
  232. pulumiverse_scaleway/get_web_host_offer.py +34 -34
  233. pulumiverse_scaleway/get_webhosting.py +58 -58
  234. pulumiverse_scaleway/hosting/__init__.py +2 -1
  235. pulumiverse_scaleway/hosting/_inputs.py +117 -75
  236. pulumiverse_scaleway/hosting/get_hosting.py +58 -58
  237. pulumiverse_scaleway/hosting/get_offer.py +34 -34
  238. pulumiverse_scaleway/hosting/hosting.py +213 -212
  239. pulumiverse_scaleway/hosting/outputs.py +276 -192
  240. pulumiverse_scaleway/iam/__init__.py +3 -1
  241. pulumiverse_scaleway/iam/_inputs.py +26 -26
  242. pulumiverse_scaleway/iam/api_key.py +142 -141
  243. pulumiverse_scaleway/iam/application.py +98 -97
  244. pulumiverse_scaleway/iam/get_api_key.py +28 -28
  245. pulumiverse_scaleway/iam/get_application.py +32 -32
  246. pulumiverse_scaleway/iam/get_group.py +36 -36
  247. pulumiverse_scaleway/iam/get_policy.py +293 -0
  248. pulumiverse_scaleway/iam/get_ssh_key.py +34 -34
  249. pulumiverse_scaleway/iam/get_user.py +30 -30
  250. pulumiverse_scaleway/iam/group.py +140 -139
  251. pulumiverse_scaleway/iam/group_membership.py +54 -53
  252. pulumiverse_scaleway/iam/outputs.py +70 -18
  253. pulumiverse_scaleway/iam/policy.py +169 -168
  254. pulumiverse_scaleway/iam/ssh_key.py +107 -106
  255. pulumiverse_scaleway/iam/user.py +598 -134
  256. pulumiverse_scaleway/iam_api_key.py +142 -141
  257. pulumiverse_scaleway/iam_application.py +98 -97
  258. pulumiverse_scaleway/iam_group.py +140 -139
  259. pulumiverse_scaleway/iam_group_membership.py +54 -53
  260. pulumiverse_scaleway/iam_policy.py +169 -168
  261. pulumiverse_scaleway/iam_ssh_key.py +107 -106
  262. pulumiverse_scaleway/iam_user.py +598 -134
  263. pulumiverse_scaleway/inference/__init__.py +4 -1
  264. pulumiverse_scaleway/inference/_inputs.py +232 -50
  265. pulumiverse_scaleway/inference/deployment.py +319 -220
  266. pulumiverse_scaleway/inference/get_model.py +299 -0
  267. pulumiverse_scaleway/inference/model.py +684 -0
  268. pulumiverse_scaleway/inference/outputs.py +250 -34
  269. pulumiverse_scaleway/inference_deployment.py +319 -220
  270. pulumiverse_scaleway/instance/__init__.py +3 -1
  271. pulumiverse_scaleway/instance/_inputs.py +650 -437
  272. pulumiverse_scaleway/instance/get_image.py +58 -58
  273. pulumiverse_scaleway/instance/get_ip.py +42 -30
  274. pulumiverse_scaleway/instance/get_placement_group.py +38 -38
  275. pulumiverse_scaleway/instance/get_private_nic.py +53 -41
  276. pulumiverse_scaleway/instance/get_security_group.py +46 -46
  277. pulumiverse_scaleway/instance/get_server.py +108 -145
  278. pulumiverse_scaleway/instance/get_server_type.py +271 -0
  279. pulumiverse_scaleway/instance/get_servers.py +31 -31
  280. pulumiverse_scaleway/instance/get_snapshot.py +41 -41
  281. pulumiverse_scaleway/instance/get_volume.py +42 -42
  282. pulumiverse_scaleway/instance/image.py +260 -205
  283. pulumiverse_scaleway/instance/ip.py +116 -115
  284. pulumiverse_scaleway/instance/ip_reverse_dns.py +54 -53
  285. pulumiverse_scaleway/instance/outputs.py +981 -548
  286. pulumiverse_scaleway/instance/placement_group.py +123 -122
  287. pulumiverse_scaleway/instance/private_nic.py +163 -113
  288. pulumiverse_scaleway/instance/security_group.py +188 -187
  289. pulumiverse_scaleway/instance/security_group_rules.py +42 -41
  290. pulumiverse_scaleway/instance/server.py +590 -562
  291. pulumiverse_scaleway/instance/snapshot.py +150 -157
  292. pulumiverse_scaleway/instance/user_data.py +75 -74
  293. pulumiverse_scaleway/instance/volume.py +174 -159
  294. pulumiverse_scaleway/instance_image.py +260 -205
  295. pulumiverse_scaleway/instance_ip.py +116 -115
  296. pulumiverse_scaleway/instance_ip_reverse_dns.py +54 -53
  297. pulumiverse_scaleway/instance_placement_group.py +123 -122
  298. pulumiverse_scaleway/instance_private_nic.py +163 -113
  299. pulumiverse_scaleway/instance_security_group.py +188 -187
  300. pulumiverse_scaleway/instance_security_group_rules.py +42 -41
  301. pulumiverse_scaleway/instance_server.py +590 -562
  302. pulumiverse_scaleway/instance_snapshot.py +150 -157
  303. pulumiverse_scaleway/instance_user_data.py +75 -74
  304. pulumiverse_scaleway/instance_volume.py +174 -159
  305. pulumiverse_scaleway/iot/__init__.py +2 -1
  306. pulumiverse_scaleway/iot/_inputs.py +119 -119
  307. pulumiverse_scaleway/iot/device.py +156 -193
  308. pulumiverse_scaleway/iot/get_device.py +46 -46
  309. pulumiverse_scaleway/iot/get_hub.py +60 -60
  310. pulumiverse_scaleway/iot/hub.py +259 -258
  311. pulumiverse_scaleway/iot/network.py +115 -114
  312. pulumiverse_scaleway/iot/outputs.py +107 -107
  313. pulumiverse_scaleway/iot/route.py +109 -108
  314. pulumiverse_scaleway/iot_device.py +156 -193
  315. pulumiverse_scaleway/iot_hub.py +259 -258
  316. pulumiverse_scaleway/iot_network.py +115 -114
  317. pulumiverse_scaleway/iot_route.py +109 -108
  318. pulumiverse_scaleway/ipam/__init__.py +2 -1
  319. pulumiverse_scaleway/ipam/_inputs.py +108 -108
  320. pulumiverse_scaleway/ipam/get_ip.py +65 -65
  321. pulumiverse_scaleway/ipam/get_ips.py +56 -56
  322. pulumiverse_scaleway/ipam/ip.py +160 -131
  323. pulumiverse_scaleway/ipam/ip_reverse_dns.py +141 -70
  324. pulumiverse_scaleway/ipam/outputs.py +122 -122
  325. pulumiverse_scaleway/ipam_ip.py +160 -131
  326. pulumiverse_scaleway/ipam_ip_reverse_dns.py +141 -70
  327. pulumiverse_scaleway/job/__init__.py +2 -1
  328. pulumiverse_scaleway/job/_inputs.py +127 -14
  329. pulumiverse_scaleway/job/definition.py +283 -175
  330. pulumiverse_scaleway/job/outputs.py +98 -10
  331. pulumiverse_scaleway/job_definition.py +283 -175
  332. pulumiverse_scaleway/key_manager_key.py +939 -0
  333. pulumiverse_scaleway/kubernetes/__init__.py +3 -1
  334. pulumiverse_scaleway/kubernetes/_inputs.py +388 -185
  335. pulumiverse_scaleway/kubernetes/acl.py +447 -0
  336. pulumiverse_scaleway/kubernetes/cluster.py +594 -307
  337. pulumiverse_scaleway/kubernetes/get_cluster.py +98 -65
  338. pulumiverse_scaleway/kubernetes/get_pool.py +86 -75
  339. pulumiverse_scaleway/kubernetes/get_version.py +34 -23
  340. pulumiverse_scaleway/kubernetes/outputs.py +444 -250
  341. pulumiverse_scaleway/kubernetes/pool.py +427 -365
  342. pulumiverse_scaleway/kubernetes_cluster.py +594 -307
  343. pulumiverse_scaleway/kubernetes_node_pool.py +427 -365
  344. pulumiverse_scaleway/loadbalancer.py +329 -246
  345. pulumiverse_scaleway/loadbalancer_acl.py +102 -101
  346. pulumiverse_scaleway/loadbalancer_backend.py +534 -487
  347. pulumiverse_scaleway/loadbalancer_certificate.py +97 -96
  348. pulumiverse_scaleway/loadbalancer_frontend.py +271 -167
  349. pulumiverse_scaleway/loadbalancer_ip.py +124 -123
  350. pulumiverse_scaleway/loadbalancer_route.py +244 -119
  351. pulumiverse_scaleway/loadbalancers/__init__.py +3 -1
  352. pulumiverse_scaleway/loadbalancers/_inputs.py +367 -273
  353. pulumiverse_scaleway/loadbalancers/acl.py +102 -101
  354. pulumiverse_scaleway/loadbalancers/backend.py +534 -487
  355. pulumiverse_scaleway/loadbalancers/certificate.py +97 -96
  356. pulumiverse_scaleway/loadbalancers/frontend.py +271 -167
  357. pulumiverse_scaleway/loadbalancers/get_acls.py +29 -29
  358. pulumiverse_scaleway/loadbalancers/get_backend.py +75 -75
  359. pulumiverse_scaleway/loadbalancers/get_backends.py +29 -29
  360. pulumiverse_scaleway/loadbalancers/get_certificate.py +96 -36
  361. pulumiverse_scaleway/loadbalancers/get_frontend.py +76 -43
  362. pulumiverse_scaleway/loadbalancers/get_frontends.py +29 -29
  363. pulumiverse_scaleway/loadbalancers/get_ip.py +40 -40
  364. pulumiverse_scaleway/loadbalancers/get_ips.py +37 -37
  365. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +78 -56
  366. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +31 -31
  367. pulumiverse_scaleway/loadbalancers/get_route.py +36 -25
  368. pulumiverse_scaleway/loadbalancers/get_routes.py +23 -23
  369. pulumiverse_scaleway/loadbalancers/ip.py +124 -123
  370. pulumiverse_scaleway/loadbalancers/load_balancer.py +329 -246
  371. pulumiverse_scaleway/loadbalancers/outputs.py +870 -716
  372. pulumiverse_scaleway/loadbalancers/private_network.py +505 -0
  373. pulumiverse_scaleway/loadbalancers/route.py +244 -119
  374. pulumiverse_scaleway/mnq/__init__.py +2 -1
  375. pulumiverse_scaleway/mnq/_inputs.py +90 -38
  376. pulumiverse_scaleway/mnq/get_sns.py +18 -18
  377. pulumiverse_scaleway/mnq/get_sqs.py +18 -18
  378. pulumiverse_scaleway/mnq/nats_account.py +63 -62
  379. pulumiverse_scaleway/mnq/nats_credentials.py +63 -62
  380. pulumiverse_scaleway/mnq/outputs.py +73 -26
  381. pulumiverse_scaleway/mnq/sns.py +46 -45
  382. pulumiverse_scaleway/mnq/sns_credentials.py +82 -81
  383. pulumiverse_scaleway/mnq/sns_topic.py +174 -173
  384. pulumiverse_scaleway/mnq/sns_topic_subscription.py +182 -181
  385. pulumiverse_scaleway/mnq/sqs.py +46 -45
  386. pulumiverse_scaleway/mnq/sqs_credentials.py +82 -81
  387. pulumiverse_scaleway/mnq/sqs_queue.py +392 -232
  388. pulumiverse_scaleway/mnq_nats_account.py +63 -62
  389. pulumiverse_scaleway/mnq_nats_credentials.py +63 -62
  390. pulumiverse_scaleway/mnq_sns.py +46 -45
  391. pulumiverse_scaleway/mnq_sns_credentials.py +82 -81
  392. pulumiverse_scaleway/mnq_sns_topic.py +174 -173
  393. pulumiverse_scaleway/mnq_sns_topic_subscription.py +182 -181
  394. pulumiverse_scaleway/mnq_sqs.py +46 -45
  395. pulumiverse_scaleway/mnq_sqs_credentials.py +82 -81
  396. pulumiverse_scaleway/mnq_sqs_queue.py +392 -232
  397. pulumiverse_scaleway/mongo_db_instance.py +569 -268
  398. pulumiverse_scaleway/mongo_db_snapshot.py +127 -126
  399. pulumiverse_scaleway/mongodb/__init__.py +3 -1
  400. pulumiverse_scaleway/mongodb/_inputs.py +178 -51
  401. pulumiverse_scaleway/mongodb/get_instance.py +110 -55
  402. pulumiverse_scaleway/mongodb/instance.py +569 -268
  403. pulumiverse_scaleway/mongodb/outputs.py +192 -68
  404. pulumiverse_scaleway/mongodb/snapshot.py +127 -126
  405. pulumiverse_scaleway/mongodb/user.py +507 -0
  406. pulumiverse_scaleway/network/__init__.py +2 -1
  407. pulumiverse_scaleway/network/_inputs.py +209 -155
  408. pulumiverse_scaleway/network/acl.py +100 -101
  409. pulumiverse_scaleway/network/gateway_network.py +228 -180
  410. pulumiverse_scaleway/network/get_gateway_network.py +55 -44
  411. pulumiverse_scaleway/network/get_private_network.py +58 -47
  412. pulumiverse_scaleway/network/get_public_gateway.py +56 -56
  413. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +44 -44
  414. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +44 -44
  415. pulumiverse_scaleway/network/get_public_gateway_ip.py +24 -24
  416. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +32 -32
  417. pulumiverse_scaleway/network/get_routes.py +47 -47
  418. pulumiverse_scaleway/network/get_vpc.py +58 -47
  419. pulumiverse_scaleway/network/get_vpcs.py +31 -31
  420. pulumiverse_scaleway/network/outputs.py +338 -270
  421. pulumiverse_scaleway/network/private_network.py +203 -155
  422. pulumiverse_scaleway/network/public_gateway.py +261 -260
  423. pulumiverse_scaleway/network/public_gateway_dhcp.py +285 -284
  424. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +107 -106
  425. pulumiverse_scaleway/network/public_gateway_ip.py +107 -106
  426. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +54 -53
  427. pulumiverse_scaleway/network/public_gateway_pat_rule.py +132 -131
  428. pulumiverse_scaleway/network/route.py +230 -141
  429. pulumiverse_scaleway/network/vpc.py +172 -124
  430. pulumiverse_scaleway/object/__init__.py +3 -1
  431. pulumiverse_scaleway/object/_inputs.py +202 -166
  432. pulumiverse_scaleway/object/bucket.py +162 -148
  433. pulumiverse_scaleway/object/bucket_acl.py +97 -94
  434. pulumiverse_scaleway/object/bucket_lock_configuration.py +57 -56
  435. pulumiverse_scaleway/object/bucket_policy.py +71 -134
  436. pulumiverse_scaleway/object/bucket_website_configuration.py +104 -85
  437. pulumiverse_scaleway/object/get.py +290 -0
  438. pulumiverse_scaleway/object/get_bucket.py +35 -35
  439. pulumiverse_scaleway/object/get_bucket_policy.py +22 -22
  440. pulumiverse_scaleway/object/item.py +301 -223
  441. pulumiverse_scaleway/object/outputs.py +210 -166
  442. pulumiverse_scaleway/object_bucket.py +162 -148
  443. pulumiverse_scaleway/object_bucket_acl.py +97 -94
  444. pulumiverse_scaleway/object_bucket_lock_configuration.py +57 -56
  445. pulumiverse_scaleway/object_bucket_policy.py +71 -134
  446. pulumiverse_scaleway/object_bucket_website_configuration.py +104 -85
  447. pulumiverse_scaleway/object_item.py +301 -223
  448. pulumiverse_scaleway/observability/__init__.py +4 -2
  449. pulumiverse_scaleway/observability/_inputs.py +106 -106
  450. pulumiverse_scaleway/observability/alert_manager.py +66 -65
  451. pulumiverse_scaleway/observability/cockpit.py +71 -49
  452. pulumiverse_scaleway/observability/get_grafana.py +103 -0
  453. pulumiverse_scaleway/observability/get_instance.py +16 -16
  454. pulumiverse_scaleway/observability/get_source.py +88 -45
  455. pulumiverse_scaleway/observability/get_sources.py +375 -0
  456. pulumiverse_scaleway/observability/grafana_user.py +72 -113
  457. pulumiverse_scaleway/observability/outputs.py +241 -101
  458. pulumiverse_scaleway/observability/source.py +142 -141
  459. pulumiverse_scaleway/observability/token.py +84 -83
  460. pulumiverse_scaleway/outputs.py +5235 -3665
  461. pulumiverse_scaleway/provider.py +107 -82
  462. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  463. pulumiverse_scaleway/rdb_snapshot.py +127 -126
  464. pulumiverse_scaleway/redis/__init__.py +2 -1
  465. pulumiverse_scaleway/redis/_inputs.py +163 -69
  466. pulumiverse_scaleway/redis/cluster.py +273 -225
  467. pulumiverse_scaleway/redis/get_cluster.py +65 -54
  468. pulumiverse_scaleway/redis/outputs.py +199 -87
  469. pulumiverse_scaleway/redis_cluster.py +273 -225
  470. pulumiverse_scaleway/registry/__init__.py +2 -1
  471. pulumiverse_scaleway/registry/get_image.py +48 -48
  472. pulumiverse_scaleway/registry/get_image_tag.py +44 -44
  473. pulumiverse_scaleway/registry/get_namespace.py +36 -36
  474. pulumiverse_scaleway/registry/namespace.py +106 -105
  475. pulumiverse_scaleway/registry_namespace.py +106 -105
  476. pulumiverse_scaleway/sdb_database.py +97 -96
  477. pulumiverse_scaleway/secret.py +188 -179
  478. pulumiverse_scaleway/secret_version.py +107 -106
  479. pulumiverse_scaleway/secrets/__init__.py +2 -1
  480. pulumiverse_scaleway/secrets/_inputs.py +63 -63
  481. pulumiverse_scaleway/secrets/get_secret.py +58 -58
  482. pulumiverse_scaleway/secrets/get_version.py +46 -46
  483. pulumiverse_scaleway/secrets/outputs.py +84 -84
  484. pulumiverse_scaleway/secrets/secret.py +188 -179
  485. pulumiverse_scaleway/secrets/version.py +107 -106
  486. pulumiverse_scaleway/tem/__init__.py +2 -1
  487. pulumiverse_scaleway/tem/_inputs.py +33 -33
  488. pulumiverse_scaleway/tem/blocked_list.py +105 -104
  489. pulumiverse_scaleway/tem/domain.py +384 -257
  490. pulumiverse_scaleway/tem/domain_validation.py +63 -62
  491. pulumiverse_scaleway/tem/get_domain.py +103 -70
  492. pulumiverse_scaleway/tem/get_offer_subscription.py +34 -34
  493. pulumiverse_scaleway/tem/outputs.py +44 -44
  494. pulumiverse_scaleway/tem/webhook.py +132 -131
  495. pulumiverse_scaleway/tem_domain.py +384 -257
  496. pulumiverse_scaleway/tem_domain_validation.py +63 -62
  497. pulumiverse_scaleway/tem_webhook.py +132 -131
  498. pulumiverse_scaleway/vpc.py +172 -124
  499. pulumiverse_scaleway/vpc_gateway_network.py +228 -180
  500. pulumiverse_scaleway/vpc_private_network.py +203 -155
  501. pulumiverse_scaleway/vpc_public_gateway.py +261 -260
  502. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +285 -284
  503. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +107 -106
  504. pulumiverse_scaleway/vpc_public_gateway_ip.py +107 -106
  505. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +54 -53
  506. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +132 -131
  507. pulumiverse_scaleway/vpc_route.py +230 -141
  508. pulumiverse_scaleway/webhosting.py +213 -212
  509. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/METADATA +2 -2
  510. pulumiverse_scaleway-1.39.0a1764841480.dist-info/RECORD +513 -0
  511. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/WHEEL +1 -1
  512. pulumiverse_scaleway/get_cockpit_plan.py +0 -129
  513. pulumiverse_scaleway/observability/get_plan.py +0 -125
  514. pulumiverse_scaleway-1.27.0a1744869119.dist-info/RECORD +0 -483
  515. {pulumiverse_scaleway-1.27.0a1744869119.dist-info → pulumiverse_scaleway-1.39.0a1764841480.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -21,48 +21,63 @@ __all__ = ['ClusterArgs', 'Cluster']
21
21
  @pulumi.input_type
22
22
  class ClusterArgs:
23
23
  def __init__(__self__, *,
24
- cni: pulumi.Input[str],
25
- delete_additional_resources: pulumi.Input[bool],
26
- version: pulumi.Input[str],
27
- admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
- apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
24
+ cni: pulumi.Input[_builtins.str],
25
+ delete_additional_resources: pulumi.Input[_builtins.bool],
26
+ version: pulumi.Input[_builtins.str],
27
+ admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
28
+ apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
29
  auto_upgrade: Optional[pulumi.Input['ClusterAutoUpgradeArgs']] = None,
30
30
  autoscaler_config: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']] = None,
31
- description: Optional[pulumi.Input[str]] = None,
32
- feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
33
- name: Optional[pulumi.Input[str]] = None,
31
+ description: Optional[pulumi.Input[_builtins.str]] = None,
32
+ feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ name: Optional[pulumi.Input[_builtins.str]] = None,
34
34
  open_id_connect_config: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']] = None,
35
- private_network_id: Optional[pulumi.Input[str]] = None,
36
- project_id: Optional[pulumi.Input[str]] = None,
37
- region: Optional[pulumi.Input[str]] = None,
38
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
39
- type: Optional[pulumi.Input[str]] = None):
35
+ pod_cidr: Optional[pulumi.Input[_builtins.str]] = None,
36
+ private_network_id: Optional[pulumi.Input[_builtins.str]] = None,
37
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
38
+ region: Optional[pulumi.Input[_builtins.str]] = None,
39
+ service_cidr: Optional[pulumi.Input[_builtins.str]] = None,
40
+ service_dns_ip: Optional[pulumi.Input[_builtins.str]] = None,
41
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
42
+ type: Optional[pulumi.Input[_builtins.str]] = None):
40
43
  """
41
44
  The set of arguments for constructing a Cluster resource.
42
- :param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
45
+ :param pulumi.Input[_builtins.str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
43
46
  > **Important:** Updates to this field will recreate a new resource.
44
- :param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
47
+ :param pulumi.Input[_builtins.bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
45
48
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
46
49
  If you prefer keeping it, you should instead set it as `false`.
47
- :param pulumi.Input[str] version: The version of the Kubernetes cluster.
48
- :param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
49
- :param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
50
+ :param pulumi.Input[_builtins.str] version: The version of the Kubernetes cluster.
51
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
52
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
50
53
  :param pulumi.Input['ClusterAutoUpgradeArgs'] auto_upgrade: The auto upgrade configuration.
51
54
  :param pulumi.Input['ClusterAutoscalerConfigArgs'] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
52
- :param pulumi.Input[str] description: A description for the Kubernetes cluster.
53
- :param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
54
- :param pulumi.Input[str] name: The name for the Kubernetes cluster.
55
+ :param pulumi.Input[_builtins.str] description: A description for the Kubernetes cluster.
56
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
57
+ :param pulumi.Input[_builtins.str] name: The name for the Kubernetes cluster.
55
58
  :param pulumi.Input['ClusterOpenIdConnectConfigArgs'] open_id_connect_config: The OpenID Connect configuration of the cluster
56
- :param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
59
+ :param pulumi.Input[_builtins.str] pod_cidr: The subnet used for the Pod CIDR.
60
+
61
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
62
+ unsetting it to go back to the default value will not have any effect.
63
+ :param pulumi.Input[_builtins.str] private_network_id: The ID of the private network of the cluster.
57
64
 
58
65
  > **Important:** Changes to this field will recreate a new resource.
59
66
 
60
67
  > **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
61
68
  you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
62
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
63
- :param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
64
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
65
- :param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
69
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the cluster is associated with.
70
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the cluster should be created.
71
+ :param pulumi.Input[_builtins.str] service_cidr: The subnet used for the Service CIDR.
72
+
73
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
74
+ unsetting it to go back to the default value will not have any effect.
75
+ :param pulumi.Input[_builtins.str] service_dns_ip: The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
76
+
77
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
78
+ unsetting it to go back to the default value will not have any effect.
79
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Kubernetes cluster.
80
+ :param pulumi.Input[_builtins.str] type: The type of Kubernetes cluster. Possible values are:
66
81
 
67
82
  - for mutualized clusters: `kapsule` or `multicloud`
68
83
 
@@ -89,20 +104,26 @@ class ClusterArgs:
89
104
  pulumi.set(__self__, "name", name)
90
105
  if open_id_connect_config is not None:
91
106
  pulumi.set(__self__, "open_id_connect_config", open_id_connect_config)
107
+ if pod_cidr is not None:
108
+ pulumi.set(__self__, "pod_cidr", pod_cidr)
92
109
  if private_network_id is not None:
93
110
  pulumi.set(__self__, "private_network_id", private_network_id)
94
111
  if project_id is not None:
95
112
  pulumi.set(__self__, "project_id", project_id)
96
113
  if region is not None:
97
114
  pulumi.set(__self__, "region", region)
115
+ if service_cidr is not None:
116
+ pulumi.set(__self__, "service_cidr", service_cidr)
117
+ if service_dns_ip is not None:
118
+ pulumi.set(__self__, "service_dns_ip", service_dns_ip)
98
119
  if tags is not None:
99
120
  pulumi.set(__self__, "tags", tags)
100
121
  if type is not None:
101
122
  pulumi.set(__self__, "type", type)
102
123
 
103
- @property
124
+ @_builtins.property
104
125
  @pulumi.getter
105
- def cni(self) -> pulumi.Input[str]:
126
+ def cni(self) -> pulumi.Input[_builtins.str]:
106
127
  """
107
128
  The Container Network Interface (CNI) for the Kubernetes cluster.
108
129
  > **Important:** Updates to this field will recreate a new resource.
@@ -110,12 +131,12 @@ class ClusterArgs:
110
131
  return pulumi.get(self, "cni")
111
132
 
112
133
  @cni.setter
113
- def cni(self, value: pulumi.Input[str]):
134
+ def cni(self, value: pulumi.Input[_builtins.str]):
114
135
  pulumi.set(self, "cni", value)
115
136
 
116
- @property
137
+ @_builtins.property
117
138
  @pulumi.getter(name="deleteAdditionalResources")
118
- def delete_additional_resources(self) -> pulumi.Input[bool]:
139
+ def delete_additional_resources(self) -> pulumi.Input[_builtins.bool]:
119
140
  """
120
141
  Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
121
142
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
@@ -124,46 +145,46 @@ class ClusterArgs:
124
145
  return pulumi.get(self, "delete_additional_resources")
125
146
 
126
147
  @delete_additional_resources.setter
127
- def delete_additional_resources(self, value: pulumi.Input[bool]):
148
+ def delete_additional_resources(self, value: pulumi.Input[_builtins.bool]):
128
149
  pulumi.set(self, "delete_additional_resources", value)
129
150
 
130
- @property
151
+ @_builtins.property
131
152
  @pulumi.getter
132
- def version(self) -> pulumi.Input[str]:
153
+ def version(self) -> pulumi.Input[_builtins.str]:
133
154
  """
134
155
  The version of the Kubernetes cluster.
135
156
  """
136
157
  return pulumi.get(self, "version")
137
158
 
138
159
  @version.setter
139
- def version(self, value: pulumi.Input[str]):
160
+ def version(self, value: pulumi.Input[_builtins.str]):
140
161
  pulumi.set(self, "version", value)
141
162
 
142
- @property
163
+ @_builtins.property
143
164
  @pulumi.getter(name="admissionPlugins")
144
- def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
165
+ def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
145
166
  """
146
167
  The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
147
168
  """
148
169
  return pulumi.get(self, "admission_plugins")
149
170
 
150
171
  @admission_plugins.setter
151
- def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
172
+ def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
152
173
  pulumi.set(self, "admission_plugins", value)
153
174
 
154
- @property
175
+ @_builtins.property
155
176
  @pulumi.getter(name="apiserverCertSans")
156
- def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
177
+ def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
157
178
  """
158
179
  Additional Subject Alternative Names for the Kubernetes API server certificate
159
180
  """
160
181
  return pulumi.get(self, "apiserver_cert_sans")
161
182
 
162
183
  @apiserver_cert_sans.setter
163
- def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
184
+ def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
164
185
  pulumi.set(self, "apiserver_cert_sans", value)
165
186
 
166
- @property
187
+ @_builtins.property
167
188
  @pulumi.getter(name="autoUpgrade")
168
189
  def auto_upgrade(self) -> Optional[pulumi.Input['ClusterAutoUpgradeArgs']]:
169
190
  """
@@ -175,7 +196,7 @@ class ClusterArgs:
175
196
  def auto_upgrade(self, value: Optional[pulumi.Input['ClusterAutoUpgradeArgs']]):
176
197
  pulumi.set(self, "auto_upgrade", value)
177
198
 
178
- @property
199
+ @_builtins.property
179
200
  @pulumi.getter(name="autoscalerConfig")
180
201
  def autoscaler_config(self) -> Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]:
181
202
  """
@@ -187,43 +208,43 @@ class ClusterArgs:
187
208
  def autoscaler_config(self, value: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]):
188
209
  pulumi.set(self, "autoscaler_config", value)
189
210
 
190
- @property
211
+ @_builtins.property
191
212
  @pulumi.getter
192
- def description(self) -> Optional[pulumi.Input[str]]:
213
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
193
214
  """
194
215
  A description for the Kubernetes cluster.
195
216
  """
196
217
  return pulumi.get(self, "description")
197
218
 
198
219
  @description.setter
199
- def description(self, value: Optional[pulumi.Input[str]]):
220
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
200
221
  pulumi.set(self, "description", value)
201
222
 
202
- @property
223
+ @_builtins.property
203
224
  @pulumi.getter(name="featureGates")
204
- def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
225
+ def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
205
226
  """
206
227
  The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
207
228
  """
208
229
  return pulumi.get(self, "feature_gates")
209
230
 
210
231
  @feature_gates.setter
211
- def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
232
+ def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
212
233
  pulumi.set(self, "feature_gates", value)
213
234
 
214
- @property
235
+ @_builtins.property
215
236
  @pulumi.getter
216
- def name(self) -> Optional[pulumi.Input[str]]:
237
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
217
238
  """
218
239
  The name for the Kubernetes cluster.
219
240
  """
220
241
  return pulumi.get(self, "name")
221
242
 
222
243
  @name.setter
223
- def name(self, value: Optional[pulumi.Input[str]]):
244
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
224
245
  pulumi.set(self, "name", value)
225
246
 
226
- @property
247
+ @_builtins.property
227
248
  @pulumi.getter(name="openIdConnectConfig")
228
249
  def open_id_connect_config(self) -> Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]:
229
250
  """
@@ -235,9 +256,24 @@ class ClusterArgs:
235
256
  def open_id_connect_config(self, value: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]):
236
257
  pulumi.set(self, "open_id_connect_config", value)
237
258
 
238
- @property
259
+ @_builtins.property
260
+ @pulumi.getter(name="podCidr")
261
+ def pod_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
262
+ """
263
+ The subnet used for the Pod CIDR.
264
+
265
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
266
+ unsetting it to go back to the default value will not have any effect.
267
+ """
268
+ return pulumi.get(self, "pod_cidr")
269
+
270
+ @pod_cidr.setter
271
+ def pod_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
272
+ pulumi.set(self, "pod_cidr", value)
273
+
274
+ @_builtins.property
239
275
  @pulumi.getter(name="privateNetworkId")
240
- def private_network_id(self) -> Optional[pulumi.Input[str]]:
276
+ def private_network_id(self) -> Optional[pulumi.Input[_builtins.str]]:
241
277
  """
242
278
  The ID of the private network of the cluster.
243
279
 
@@ -249,48 +285,78 @@ class ClusterArgs:
249
285
  return pulumi.get(self, "private_network_id")
250
286
 
251
287
  @private_network_id.setter
252
- def private_network_id(self, value: Optional[pulumi.Input[str]]):
288
+ def private_network_id(self, value: Optional[pulumi.Input[_builtins.str]]):
253
289
  pulumi.set(self, "private_network_id", value)
254
290
 
255
- @property
291
+ @_builtins.property
256
292
  @pulumi.getter(name="projectId")
257
- def project_id(self) -> Optional[pulumi.Input[str]]:
293
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
258
294
  """
259
295
  `project_id`) The ID of the project the cluster is associated with.
260
296
  """
261
297
  return pulumi.get(self, "project_id")
262
298
 
263
299
  @project_id.setter
264
- def project_id(self, value: Optional[pulumi.Input[str]]):
300
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
265
301
  pulumi.set(self, "project_id", value)
266
302
 
267
- @property
303
+ @_builtins.property
268
304
  @pulumi.getter
269
- def region(self) -> Optional[pulumi.Input[str]]:
305
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
270
306
  """
271
307
  `region`) The region in which the cluster should be created.
272
308
  """
273
309
  return pulumi.get(self, "region")
274
310
 
275
311
  @region.setter
276
- def region(self, value: Optional[pulumi.Input[str]]):
312
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
277
313
  pulumi.set(self, "region", value)
278
314
 
279
- @property
315
+ @_builtins.property
316
+ @pulumi.getter(name="serviceCidr")
317
+ def service_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
318
+ """
319
+ The subnet used for the Service CIDR.
320
+
321
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
322
+ unsetting it to go back to the default value will not have any effect.
323
+ """
324
+ return pulumi.get(self, "service_cidr")
325
+
326
+ @service_cidr.setter
327
+ def service_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
328
+ pulumi.set(self, "service_cidr", value)
329
+
330
+ @_builtins.property
331
+ @pulumi.getter(name="serviceDnsIp")
332
+ def service_dns_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
333
+ """
334
+ The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
335
+
336
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
337
+ unsetting it to go back to the default value will not have any effect.
338
+ """
339
+ return pulumi.get(self, "service_dns_ip")
340
+
341
+ @service_dns_ip.setter
342
+ def service_dns_ip(self, value: Optional[pulumi.Input[_builtins.str]]):
343
+ pulumi.set(self, "service_dns_ip", value)
344
+
345
+ @_builtins.property
280
346
  @pulumi.getter
281
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
347
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
282
348
  """
283
349
  The tags associated with the Kubernetes cluster.
284
350
  """
285
351
  return pulumi.get(self, "tags")
286
352
 
287
353
  @tags.setter
288
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
354
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
289
355
  pulumi.set(self, "tags", value)
290
356
 
291
- @property
357
+ @_builtins.property
292
358
  @pulumi.getter
293
- def type(self) -> Optional[pulumi.Input[str]]:
359
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
294
360
  """
295
361
  The type of Kubernetes cluster. Possible values are:
296
362
 
@@ -303,77 +369,92 @@ class ClusterArgs:
303
369
  return pulumi.get(self, "type")
304
370
 
305
371
  @type.setter
306
- def type(self, value: Optional[pulumi.Input[str]]):
372
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
307
373
  pulumi.set(self, "type", value)
308
374
 
309
375
 
310
376
  @pulumi.input_type
311
377
  class _ClusterState:
312
378
  def __init__(__self__, *,
313
- admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
314
- apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
315
- apiserver_url: Optional[pulumi.Input[str]] = None,
379
+ admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
380
+ apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
381
+ apiserver_url: Optional[pulumi.Input[_builtins.str]] = None,
316
382
  auto_upgrade: Optional[pulumi.Input['ClusterAutoUpgradeArgs']] = None,
317
383
  autoscaler_config: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']] = None,
318
- cni: Optional[pulumi.Input[str]] = None,
319
- created_at: Optional[pulumi.Input[str]] = None,
320
- delete_additional_resources: Optional[pulumi.Input[bool]] = None,
321
- description: Optional[pulumi.Input[str]] = None,
322
- feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
384
+ cni: Optional[pulumi.Input[_builtins.str]] = None,
385
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
386
+ delete_additional_resources: Optional[pulumi.Input[_builtins.bool]] = None,
387
+ description: Optional[pulumi.Input[_builtins.str]] = None,
388
+ feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
323
389
  kubeconfigs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]] = None,
324
- name: Optional[pulumi.Input[str]] = None,
390
+ name: Optional[pulumi.Input[_builtins.str]] = None,
325
391
  open_id_connect_config: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']] = None,
326
- organization_id: Optional[pulumi.Input[str]] = None,
327
- private_network_id: Optional[pulumi.Input[str]] = None,
328
- project_id: Optional[pulumi.Input[str]] = None,
329
- region: Optional[pulumi.Input[str]] = None,
330
- status: Optional[pulumi.Input[str]] = None,
331
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
332
- type: Optional[pulumi.Input[str]] = None,
333
- updated_at: Optional[pulumi.Input[str]] = None,
334
- upgrade_available: Optional[pulumi.Input[bool]] = None,
335
- version: Optional[pulumi.Input[str]] = None,
336
- wildcard_dns: Optional[pulumi.Input[str]] = None):
392
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
393
+ pod_cidr: Optional[pulumi.Input[_builtins.str]] = None,
394
+ private_network_id: Optional[pulumi.Input[_builtins.str]] = None,
395
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
396
+ region: Optional[pulumi.Input[_builtins.str]] = None,
397
+ service_cidr: Optional[pulumi.Input[_builtins.str]] = None,
398
+ service_dns_ip: Optional[pulumi.Input[_builtins.str]] = None,
399
+ status: Optional[pulumi.Input[_builtins.str]] = None,
400
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
401
+ type: Optional[pulumi.Input[_builtins.str]] = None,
402
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
403
+ upgrade_available: Optional[pulumi.Input[_builtins.bool]] = None,
404
+ version: Optional[pulumi.Input[_builtins.str]] = None,
405
+ wildcard_dns: Optional[pulumi.Input[_builtins.str]] = None):
337
406
  """
338
407
  Input properties used for looking up and filtering Cluster resources.
339
- :param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
340
- :param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
341
- :param pulumi.Input[str] apiserver_url: The URL of the Kubernetes API server.
408
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
409
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
410
+ :param pulumi.Input[_builtins.str] apiserver_url: The URL of the Kubernetes API server.
342
411
  :param pulumi.Input['ClusterAutoUpgradeArgs'] auto_upgrade: The auto upgrade configuration.
343
412
  :param pulumi.Input['ClusterAutoscalerConfigArgs'] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
344
- :param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
413
+ :param pulumi.Input[_builtins.str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
345
414
  > **Important:** Updates to this field will recreate a new resource.
346
- :param pulumi.Input[str] created_at: The creation date of the cluster.
347
- :param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
415
+ :param pulumi.Input[_builtins.str] created_at: The creation date of the cluster.
416
+ :param pulumi.Input[_builtins.bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
348
417
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
349
418
  If you prefer keeping it, you should instead set it as `false`.
350
- :param pulumi.Input[str] description: A description for the Kubernetes cluster.
351
- :param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
419
+ :param pulumi.Input[_builtins.str] description: A description for the Kubernetes cluster.
420
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
352
421
  :param pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]] kubeconfigs: The kubeconfig configuration file of the Kubernetes cluster
353
- :param pulumi.Input[str] name: The name for the Kubernetes cluster.
422
+ :param pulumi.Input[_builtins.str] name: The name for the Kubernetes cluster.
354
423
  :param pulumi.Input['ClusterOpenIdConnectConfigArgs'] open_id_connect_config: The OpenID Connect configuration of the cluster
355
- :param pulumi.Input[str] organization_id: The organization ID the cluster is associated with.
356
- :param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
424
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the cluster is associated with.
425
+ :param pulumi.Input[_builtins.str] pod_cidr: The subnet used for the Pod CIDR.
426
+
427
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
428
+ unsetting it to go back to the default value will not have any effect.
429
+ :param pulumi.Input[_builtins.str] private_network_id: The ID of the private network of the cluster.
357
430
 
358
431
  > **Important:** Changes to this field will recreate a new resource.
359
432
 
360
433
  > **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
361
434
  you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
362
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
363
- :param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
364
- :param pulumi.Input[str] status: The status of the Kubernetes cluster.
365
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
366
- :param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
435
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the cluster is associated with.
436
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the cluster should be created.
437
+ :param pulumi.Input[_builtins.str] service_cidr: The subnet used for the Service CIDR.
438
+
439
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
440
+ unsetting it to go back to the default value will not have any effect.
441
+ :param pulumi.Input[_builtins.str] service_dns_ip: The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
442
+
443
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
444
+ unsetting it to go back to the default value will not have any effect.
445
+ :param pulumi.Input[_builtins.str] status: The status of the Kubernetes cluster.
446
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Kubernetes cluster.
447
+ :param pulumi.Input[_builtins.str] type: The type of Kubernetes cluster. Possible values are:
367
448
 
368
449
  - for mutualized clusters: `kapsule` or `multicloud`
369
450
 
370
451
  - for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
371
452
 
372
453
  - for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
373
- :param pulumi.Input[str] updated_at: The last update date of the cluster.
374
- :param pulumi.Input[bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
375
- :param pulumi.Input[str] version: The version of the Kubernetes cluster.
376
- :param pulumi.Input[str] wildcard_dns: The DNS wildcard that points to all ready nodes.
454
+ :param pulumi.Input[_builtins.str] updated_at: The last update date of the cluster.
455
+ :param pulumi.Input[_builtins.bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
456
+ :param pulumi.Input[_builtins.str] version: The version of the Kubernetes cluster.
457
+ :param pulumi.Input[_builtins.str] wildcard_dns: The DNS wildcard that points to all ready nodes.
377
458
  """
378
459
  if admission_plugins is not None:
379
460
  pulumi.set(__self__, "admission_plugins", admission_plugins)
@@ -403,12 +484,18 @@ class _ClusterState:
403
484
  pulumi.set(__self__, "open_id_connect_config", open_id_connect_config)
404
485
  if organization_id is not None:
405
486
  pulumi.set(__self__, "organization_id", organization_id)
487
+ if pod_cidr is not None:
488
+ pulumi.set(__self__, "pod_cidr", pod_cidr)
406
489
  if private_network_id is not None:
407
490
  pulumi.set(__self__, "private_network_id", private_network_id)
408
491
  if project_id is not None:
409
492
  pulumi.set(__self__, "project_id", project_id)
410
493
  if region is not None:
411
494
  pulumi.set(__self__, "region", region)
495
+ if service_cidr is not None:
496
+ pulumi.set(__self__, "service_cidr", service_cidr)
497
+ if service_dns_ip is not None:
498
+ pulumi.set(__self__, "service_dns_ip", service_dns_ip)
412
499
  if status is not None:
413
500
  pulumi.set(__self__, "status", status)
414
501
  if tags is not None:
@@ -424,43 +511,43 @@ class _ClusterState:
424
511
  if wildcard_dns is not None:
425
512
  pulumi.set(__self__, "wildcard_dns", wildcard_dns)
426
513
 
427
- @property
514
+ @_builtins.property
428
515
  @pulumi.getter(name="admissionPlugins")
429
- def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
516
+ def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
430
517
  """
431
518
  The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
432
519
  """
433
520
  return pulumi.get(self, "admission_plugins")
434
521
 
435
522
  @admission_plugins.setter
436
- def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
523
+ def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
437
524
  pulumi.set(self, "admission_plugins", value)
438
525
 
439
- @property
526
+ @_builtins.property
440
527
  @pulumi.getter(name="apiserverCertSans")
441
- def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
528
+ def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
442
529
  """
443
530
  Additional Subject Alternative Names for the Kubernetes API server certificate
444
531
  """
445
532
  return pulumi.get(self, "apiserver_cert_sans")
446
533
 
447
534
  @apiserver_cert_sans.setter
448
- def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
535
+ def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
449
536
  pulumi.set(self, "apiserver_cert_sans", value)
450
537
 
451
- @property
538
+ @_builtins.property
452
539
  @pulumi.getter(name="apiserverUrl")
453
- def apiserver_url(self) -> Optional[pulumi.Input[str]]:
540
+ def apiserver_url(self) -> Optional[pulumi.Input[_builtins.str]]:
454
541
  """
455
542
  The URL of the Kubernetes API server.
456
543
  """
457
544
  return pulumi.get(self, "apiserver_url")
458
545
 
459
546
  @apiserver_url.setter
460
- def apiserver_url(self, value: Optional[pulumi.Input[str]]):
547
+ def apiserver_url(self, value: Optional[pulumi.Input[_builtins.str]]):
461
548
  pulumi.set(self, "apiserver_url", value)
462
549
 
463
- @property
550
+ @_builtins.property
464
551
  @pulumi.getter(name="autoUpgrade")
465
552
  def auto_upgrade(self) -> Optional[pulumi.Input['ClusterAutoUpgradeArgs']]:
466
553
  """
@@ -472,7 +559,7 @@ class _ClusterState:
472
559
  def auto_upgrade(self, value: Optional[pulumi.Input['ClusterAutoUpgradeArgs']]):
473
560
  pulumi.set(self, "auto_upgrade", value)
474
561
 
475
- @property
562
+ @_builtins.property
476
563
  @pulumi.getter(name="autoscalerConfig")
477
564
  def autoscaler_config(self) -> Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]:
478
565
  """
@@ -484,9 +571,9 @@ class _ClusterState:
484
571
  def autoscaler_config(self, value: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]):
485
572
  pulumi.set(self, "autoscaler_config", value)
486
573
 
487
- @property
574
+ @_builtins.property
488
575
  @pulumi.getter
489
- def cni(self) -> Optional[pulumi.Input[str]]:
576
+ def cni(self) -> Optional[pulumi.Input[_builtins.str]]:
490
577
  """
491
578
  The Container Network Interface (CNI) for the Kubernetes cluster.
492
579
  > **Important:** Updates to this field will recreate a new resource.
@@ -494,24 +581,24 @@ class _ClusterState:
494
581
  return pulumi.get(self, "cni")
495
582
 
496
583
  @cni.setter
497
- def cni(self, value: Optional[pulumi.Input[str]]):
584
+ def cni(self, value: Optional[pulumi.Input[_builtins.str]]):
498
585
  pulumi.set(self, "cni", value)
499
586
 
500
- @property
587
+ @_builtins.property
501
588
  @pulumi.getter(name="createdAt")
502
- def created_at(self) -> Optional[pulumi.Input[str]]:
589
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
503
590
  """
504
591
  The creation date of the cluster.
505
592
  """
506
593
  return pulumi.get(self, "created_at")
507
594
 
508
595
  @created_at.setter
509
- def created_at(self, value: Optional[pulumi.Input[str]]):
596
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
510
597
  pulumi.set(self, "created_at", value)
511
598
 
512
- @property
599
+ @_builtins.property
513
600
  @pulumi.getter(name="deleteAdditionalResources")
514
- def delete_additional_resources(self) -> Optional[pulumi.Input[bool]]:
601
+ def delete_additional_resources(self) -> Optional[pulumi.Input[_builtins.bool]]:
515
602
  """
516
603
  Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
517
604
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
@@ -520,34 +607,34 @@ class _ClusterState:
520
607
  return pulumi.get(self, "delete_additional_resources")
521
608
 
522
609
  @delete_additional_resources.setter
523
- def delete_additional_resources(self, value: Optional[pulumi.Input[bool]]):
610
+ def delete_additional_resources(self, value: Optional[pulumi.Input[_builtins.bool]]):
524
611
  pulumi.set(self, "delete_additional_resources", value)
525
612
 
526
- @property
613
+ @_builtins.property
527
614
  @pulumi.getter
528
- def description(self) -> Optional[pulumi.Input[str]]:
615
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
529
616
  """
530
617
  A description for the Kubernetes cluster.
531
618
  """
532
619
  return pulumi.get(self, "description")
533
620
 
534
621
  @description.setter
535
- def description(self, value: Optional[pulumi.Input[str]]):
622
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
536
623
  pulumi.set(self, "description", value)
537
624
 
538
- @property
625
+ @_builtins.property
539
626
  @pulumi.getter(name="featureGates")
540
- def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
627
+ def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
541
628
  """
542
629
  The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
543
630
  """
544
631
  return pulumi.get(self, "feature_gates")
545
632
 
546
633
  @feature_gates.setter
547
- def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
634
+ def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
548
635
  pulumi.set(self, "feature_gates", value)
549
636
 
550
- @property
637
+ @_builtins.property
551
638
  @pulumi.getter
552
639
  def kubeconfigs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]]:
553
640
  """
@@ -559,19 +646,19 @@ class _ClusterState:
559
646
  def kubeconfigs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]]):
560
647
  pulumi.set(self, "kubeconfigs", value)
561
648
 
562
- @property
649
+ @_builtins.property
563
650
  @pulumi.getter
564
- def name(self) -> Optional[pulumi.Input[str]]:
651
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
565
652
  """
566
653
  The name for the Kubernetes cluster.
567
654
  """
568
655
  return pulumi.get(self, "name")
569
656
 
570
657
  @name.setter
571
- def name(self, value: Optional[pulumi.Input[str]]):
658
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
572
659
  pulumi.set(self, "name", value)
573
660
 
574
- @property
661
+ @_builtins.property
575
662
  @pulumi.getter(name="openIdConnectConfig")
576
663
  def open_id_connect_config(self) -> Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]:
577
664
  """
@@ -583,21 +670,36 @@ class _ClusterState:
583
670
  def open_id_connect_config(self, value: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]):
584
671
  pulumi.set(self, "open_id_connect_config", value)
585
672
 
586
- @property
673
+ @_builtins.property
587
674
  @pulumi.getter(name="organizationId")
588
- def organization_id(self) -> Optional[pulumi.Input[str]]:
675
+ def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
589
676
  """
590
677
  The organization ID the cluster is associated with.
591
678
  """
592
679
  return pulumi.get(self, "organization_id")
593
680
 
594
681
  @organization_id.setter
595
- def organization_id(self, value: Optional[pulumi.Input[str]]):
682
+ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
596
683
  pulumi.set(self, "organization_id", value)
597
684
 
598
- @property
685
+ @_builtins.property
686
+ @pulumi.getter(name="podCidr")
687
+ def pod_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
688
+ """
689
+ The subnet used for the Pod CIDR.
690
+
691
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
692
+ unsetting it to go back to the default value will not have any effect.
693
+ """
694
+ return pulumi.get(self, "pod_cidr")
695
+
696
+ @pod_cidr.setter
697
+ def pod_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
698
+ pulumi.set(self, "pod_cidr", value)
699
+
700
+ @_builtins.property
599
701
  @pulumi.getter(name="privateNetworkId")
600
- def private_network_id(self) -> Optional[pulumi.Input[str]]:
702
+ def private_network_id(self) -> Optional[pulumi.Input[_builtins.str]]:
601
703
  """
602
704
  The ID of the private network of the cluster.
603
705
 
@@ -609,60 +711,90 @@ class _ClusterState:
609
711
  return pulumi.get(self, "private_network_id")
610
712
 
611
713
  @private_network_id.setter
612
- def private_network_id(self, value: Optional[pulumi.Input[str]]):
714
+ def private_network_id(self, value: Optional[pulumi.Input[_builtins.str]]):
613
715
  pulumi.set(self, "private_network_id", value)
614
716
 
615
- @property
717
+ @_builtins.property
616
718
  @pulumi.getter(name="projectId")
617
- def project_id(self) -> Optional[pulumi.Input[str]]:
719
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
618
720
  """
619
721
  `project_id`) The ID of the project the cluster is associated with.
620
722
  """
621
723
  return pulumi.get(self, "project_id")
622
724
 
623
725
  @project_id.setter
624
- def project_id(self, value: Optional[pulumi.Input[str]]):
726
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
625
727
  pulumi.set(self, "project_id", value)
626
728
 
627
- @property
729
+ @_builtins.property
628
730
  @pulumi.getter
629
- def region(self) -> Optional[pulumi.Input[str]]:
731
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
630
732
  """
631
733
  `region`) The region in which the cluster should be created.
632
734
  """
633
735
  return pulumi.get(self, "region")
634
736
 
635
737
  @region.setter
636
- def region(self, value: Optional[pulumi.Input[str]]):
738
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
637
739
  pulumi.set(self, "region", value)
638
740
 
639
- @property
741
+ @_builtins.property
742
+ @pulumi.getter(name="serviceCidr")
743
+ def service_cidr(self) -> Optional[pulumi.Input[_builtins.str]]:
744
+ """
745
+ The subnet used for the Service CIDR.
746
+
747
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
748
+ unsetting it to go back to the default value will not have any effect.
749
+ """
750
+ return pulumi.get(self, "service_cidr")
751
+
752
+ @service_cidr.setter
753
+ def service_cidr(self, value: Optional[pulumi.Input[_builtins.str]]):
754
+ pulumi.set(self, "service_cidr", value)
755
+
756
+ @_builtins.property
757
+ @pulumi.getter(name="serviceDnsIp")
758
+ def service_dns_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
759
+ """
760
+ The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
761
+
762
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
763
+ unsetting it to go back to the default value will not have any effect.
764
+ """
765
+ return pulumi.get(self, "service_dns_ip")
766
+
767
+ @service_dns_ip.setter
768
+ def service_dns_ip(self, value: Optional[pulumi.Input[_builtins.str]]):
769
+ pulumi.set(self, "service_dns_ip", value)
770
+
771
+ @_builtins.property
640
772
  @pulumi.getter
641
- def status(self) -> Optional[pulumi.Input[str]]:
773
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
642
774
  """
643
775
  The status of the Kubernetes cluster.
644
776
  """
645
777
  return pulumi.get(self, "status")
646
778
 
647
779
  @status.setter
648
- def status(self, value: Optional[pulumi.Input[str]]):
780
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
649
781
  pulumi.set(self, "status", value)
650
782
 
651
- @property
783
+ @_builtins.property
652
784
  @pulumi.getter
653
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
785
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
654
786
  """
655
787
  The tags associated with the Kubernetes cluster.
656
788
  """
657
789
  return pulumi.get(self, "tags")
658
790
 
659
791
  @tags.setter
660
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
792
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
661
793
  pulumi.set(self, "tags", value)
662
794
 
663
- @property
795
+ @_builtins.property
664
796
  @pulumi.getter
665
- def type(self) -> Optional[pulumi.Input[str]]:
797
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
666
798
  """
667
799
  The type of Kubernetes cluster. Possible values are:
668
800
 
@@ -675,79 +807,83 @@ class _ClusterState:
675
807
  return pulumi.get(self, "type")
676
808
 
677
809
  @type.setter
678
- def type(self, value: Optional[pulumi.Input[str]]):
810
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
679
811
  pulumi.set(self, "type", value)
680
812
 
681
- @property
813
+ @_builtins.property
682
814
  @pulumi.getter(name="updatedAt")
683
- def updated_at(self) -> Optional[pulumi.Input[str]]:
815
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
684
816
  """
685
817
  The last update date of the cluster.
686
818
  """
687
819
  return pulumi.get(self, "updated_at")
688
820
 
689
821
  @updated_at.setter
690
- def updated_at(self, value: Optional[pulumi.Input[str]]):
822
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
691
823
  pulumi.set(self, "updated_at", value)
692
824
 
693
- @property
825
+ @_builtins.property
694
826
  @pulumi.getter(name="upgradeAvailable")
695
- def upgrade_available(self) -> Optional[pulumi.Input[bool]]:
827
+ def upgrade_available(self) -> Optional[pulumi.Input[_builtins.bool]]:
696
828
  """
697
829
  Set to `true` if a newer Kubernetes version is available.
698
830
  """
699
831
  return pulumi.get(self, "upgrade_available")
700
832
 
701
833
  @upgrade_available.setter
702
- def upgrade_available(self, value: Optional[pulumi.Input[bool]]):
834
+ def upgrade_available(self, value: Optional[pulumi.Input[_builtins.bool]]):
703
835
  pulumi.set(self, "upgrade_available", value)
704
836
 
705
- @property
837
+ @_builtins.property
706
838
  @pulumi.getter
707
- def version(self) -> Optional[pulumi.Input[str]]:
839
+ def version(self) -> Optional[pulumi.Input[_builtins.str]]:
708
840
  """
709
841
  The version of the Kubernetes cluster.
710
842
  """
711
843
  return pulumi.get(self, "version")
712
844
 
713
845
  @version.setter
714
- def version(self, value: Optional[pulumi.Input[str]]):
846
+ def version(self, value: Optional[pulumi.Input[_builtins.str]]):
715
847
  pulumi.set(self, "version", value)
716
848
 
717
- @property
849
+ @_builtins.property
718
850
  @pulumi.getter(name="wildcardDns")
719
- def wildcard_dns(self) -> Optional[pulumi.Input[str]]:
851
+ def wildcard_dns(self) -> Optional[pulumi.Input[_builtins.str]]:
720
852
  """
721
853
  The DNS wildcard that points to all ready nodes.
722
854
  """
723
855
  return pulumi.get(self, "wildcard_dns")
724
856
 
725
857
  @wildcard_dns.setter
726
- def wildcard_dns(self, value: Optional[pulumi.Input[str]]):
858
+ def wildcard_dns(self, value: Optional[pulumi.Input[_builtins.str]]):
727
859
  pulumi.set(self, "wildcard_dns", value)
728
860
 
729
861
 
862
+ @pulumi.type_token("scaleway:kubernetes/cluster:Cluster")
730
863
  class Cluster(pulumi.CustomResource):
731
864
  @overload
732
865
  def __init__(__self__,
733
866
  resource_name: str,
734
867
  opts: Optional[pulumi.ResourceOptions] = None,
735
- admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
736
- apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
868
+ admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
869
+ apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
737
870
  auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
738
871
  autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
739
- cni: Optional[pulumi.Input[str]] = None,
740
- delete_additional_resources: Optional[pulumi.Input[bool]] = None,
741
- description: Optional[pulumi.Input[str]] = None,
742
- feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
743
- name: Optional[pulumi.Input[str]] = None,
872
+ cni: Optional[pulumi.Input[_builtins.str]] = None,
873
+ delete_additional_resources: Optional[pulumi.Input[_builtins.bool]] = None,
874
+ description: Optional[pulumi.Input[_builtins.str]] = None,
875
+ feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
876
+ name: Optional[pulumi.Input[_builtins.str]] = None,
744
877
  open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
745
- private_network_id: Optional[pulumi.Input[str]] = None,
746
- project_id: Optional[pulumi.Input[str]] = None,
747
- region: Optional[pulumi.Input[str]] = None,
748
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
749
- type: Optional[pulumi.Input[str]] = None,
750
- version: Optional[pulumi.Input[str]] = None,
878
+ pod_cidr: Optional[pulumi.Input[_builtins.str]] = None,
879
+ private_network_id: Optional[pulumi.Input[_builtins.str]] = None,
880
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
881
+ region: Optional[pulumi.Input[_builtins.str]] = None,
882
+ service_cidr: Optional[pulumi.Input[_builtins.str]] = None,
883
+ service_dns_ip: Optional[pulumi.Input[_builtins.str]] = None,
884
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
885
+ type: Optional[pulumi.Input[_builtins.str]] = None,
886
+ version: Optional[pulumi.Input[_builtins.str]] = None,
751
887
  __props__=None):
752
888
  """
753
889
  Creates and manages Scaleway Kubernetes clusters. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/).
@@ -763,7 +899,7 @@ class Cluster(pulumi.CustomResource):
763
899
  pn = scaleway.network.PrivateNetwork("pn")
764
900
  cluster = scaleway.kubernetes.Cluster("cluster",
765
901
  name="tf-cluster",
766
- version="1.29.1",
902
+ version="1.32.3",
767
903
  cni="cilium",
768
904
  private_network_id=pn.id,
769
905
  delete_additional_resources=False)
@@ -783,7 +919,7 @@ class Cluster(pulumi.CustomResource):
783
919
  cluster = scaleway.kubernetes.Cluster("cluster",
784
920
  name="tf-cluster",
785
921
  type="multicloud",
786
- version="1.29.1",
922
+ version="1.32.3",
787
923
  cni="kilo",
788
924
  delete_additional_resources=False)
789
925
  pool = scaleway.kubernetes.Pool("pool",
@@ -806,7 +942,7 @@ class Cluster(pulumi.CustomResource):
806
942
  cluster = scaleway.kubernetes.Cluster("cluster",
807
943
  name="tf-cluster",
808
944
  description="cluster made in terraform",
809
- version="1.29.1",
945
+ version="1.32.3",
810
946
  cni="calico",
811
947
  tags=["terraform"],
812
948
  private_network_id=pn.id,
@@ -853,7 +989,7 @@ class Cluster(pulumi.CustomResource):
853
989
  kubeconfig = null.Resource("kubeconfig", triggers={
854
990
  "host": cluster.kubeconfigs[0].host,
855
991
  "token": cluster.kubeconfigs[0].token,
856
- "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
992
+ "clusterCaCertificate": cluster.kubeconfigs[0].cluster_ca_certificate,
857
993
  },
858
994
  opts = pulumi.ResourceOptions(depends_on=[pool]))
859
995
  ```
@@ -884,7 +1020,7 @@ class Cluster(pulumi.CustomResource):
884
1020
  kubeconfig = null.Resource("kubeconfig", triggers={
885
1021
  "host": cluster.kubeconfigs[0].host,
886
1022
  "token": cluster.kubeconfigs[0].token,
887
- "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
1023
+ "clusterCaCertificate": cluster.kubeconfigs[0].cluster_ca_certificate,
888
1024
  },
889
1025
  opts = pulumi.ResourceOptions(depends_on=[pool]))
890
1026
  nginx_ip = scaleway.loadbalancers.Ip("nginx_ip",
@@ -919,6 +1055,47 @@ class Cluster(pulumi.CustomResource):
919
1055
  ])
920
1056
  ```
921
1057
 
1058
+ ## Deprecation of default_pool
1059
+
1060
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
1061
+
1062
+ Before:
1063
+
1064
+ ```python
1065
+ import pulumi
1066
+ import pulumiverse_scaleway as scaleway
1067
+
1068
+ cluster = scaleway.kubernetes.Cluster("cluster",
1069
+ name="tf-cluster",
1070
+ version="1.18.0",
1071
+ cni="cilium",
1072
+ default_pool=[{
1073
+ "nodeType": "DEV1-M",
1074
+ "size": 1,
1075
+ }])
1076
+ ```
1077
+
1078
+ After:
1079
+
1080
+ ```python
1081
+ import pulumi
1082
+ import pulumiverse_scaleway as scaleway
1083
+
1084
+ cluster = scaleway.kubernetes.Cluster("cluster",
1085
+ name="tf-cluster",
1086
+ version="1.18.0",
1087
+ cni="cilium")
1088
+ default = scaleway.kubernetes.Pool("default",
1089
+ cluster_id=jack["id"],
1090
+ name="default",
1091
+ node_type="DEV1-M",
1092
+ size=1)
1093
+ ```
1094
+
1095
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
1096
+
1097
+ Then you will only need to type `pulumi up` to have a smooth migration.
1098
+
922
1099
  ## Import
923
1100
 
924
1101
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -931,36 +1108,48 @@ class Cluster(pulumi.CustomResource):
931
1108
 
932
1109
  :param str resource_name: The name of the resource.
933
1110
  :param pulumi.ResourceOptions opts: Options for the resource.
934
- :param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
935
- :param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
1111
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
1112
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
936
1113
  :param pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']] auto_upgrade: The auto upgrade configuration.
937
1114
  :param pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
938
- :param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
1115
+ :param pulumi.Input[_builtins.str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
939
1116
  > **Important:** Updates to this field will recreate a new resource.
940
- :param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
1117
+ :param pulumi.Input[_builtins.bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
941
1118
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
942
1119
  If you prefer keeping it, you should instead set it as `false`.
943
- :param pulumi.Input[str] description: A description for the Kubernetes cluster.
944
- :param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
945
- :param pulumi.Input[str] name: The name for the Kubernetes cluster.
1120
+ :param pulumi.Input[_builtins.str] description: A description for the Kubernetes cluster.
1121
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
1122
+ :param pulumi.Input[_builtins.str] name: The name for the Kubernetes cluster.
946
1123
  :param pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']] open_id_connect_config: The OpenID Connect configuration of the cluster
947
- :param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
1124
+ :param pulumi.Input[_builtins.str] pod_cidr: The subnet used for the Pod CIDR.
1125
+
1126
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1127
+ unsetting it to go back to the default value will not have any effect.
1128
+ :param pulumi.Input[_builtins.str] private_network_id: The ID of the private network of the cluster.
948
1129
 
949
1130
  > **Important:** Changes to this field will recreate a new resource.
950
1131
 
951
1132
  > **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
952
1133
  you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
953
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
954
- :param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
955
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
956
- :param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
1134
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the cluster is associated with.
1135
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the cluster should be created.
1136
+ :param pulumi.Input[_builtins.str] service_cidr: The subnet used for the Service CIDR.
1137
+
1138
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1139
+ unsetting it to go back to the default value will not have any effect.
1140
+ :param pulumi.Input[_builtins.str] service_dns_ip: The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
1141
+
1142
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1143
+ unsetting it to go back to the default value will not have any effect.
1144
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Kubernetes cluster.
1145
+ :param pulumi.Input[_builtins.str] type: The type of Kubernetes cluster. Possible values are:
957
1146
 
958
1147
  - for mutualized clusters: `kapsule` or `multicloud`
959
1148
 
960
1149
  - for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
961
1150
 
962
1151
  - for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
963
- :param pulumi.Input[str] version: The version of the Kubernetes cluster.
1152
+ :param pulumi.Input[_builtins.str] version: The version of the Kubernetes cluster.
964
1153
  """
965
1154
  ...
966
1155
  @overload
@@ -982,7 +1171,7 @@ class Cluster(pulumi.CustomResource):
982
1171
  pn = scaleway.network.PrivateNetwork("pn")
983
1172
  cluster = scaleway.kubernetes.Cluster("cluster",
984
1173
  name="tf-cluster",
985
- version="1.29.1",
1174
+ version="1.32.3",
986
1175
  cni="cilium",
987
1176
  private_network_id=pn.id,
988
1177
  delete_additional_resources=False)
@@ -1002,7 +1191,7 @@ class Cluster(pulumi.CustomResource):
1002
1191
  cluster = scaleway.kubernetes.Cluster("cluster",
1003
1192
  name="tf-cluster",
1004
1193
  type="multicloud",
1005
- version="1.29.1",
1194
+ version="1.32.3",
1006
1195
  cni="kilo",
1007
1196
  delete_additional_resources=False)
1008
1197
  pool = scaleway.kubernetes.Pool("pool",
@@ -1025,7 +1214,7 @@ class Cluster(pulumi.CustomResource):
1025
1214
  cluster = scaleway.kubernetes.Cluster("cluster",
1026
1215
  name="tf-cluster",
1027
1216
  description="cluster made in terraform",
1028
- version="1.29.1",
1217
+ version="1.32.3",
1029
1218
  cni="calico",
1030
1219
  tags=["terraform"],
1031
1220
  private_network_id=pn.id,
@@ -1072,7 +1261,7 @@ class Cluster(pulumi.CustomResource):
1072
1261
  kubeconfig = null.Resource("kubeconfig", triggers={
1073
1262
  "host": cluster.kubeconfigs[0].host,
1074
1263
  "token": cluster.kubeconfigs[0].token,
1075
- "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
1264
+ "clusterCaCertificate": cluster.kubeconfigs[0].cluster_ca_certificate,
1076
1265
  },
1077
1266
  opts = pulumi.ResourceOptions(depends_on=[pool]))
1078
1267
  ```
@@ -1103,7 +1292,7 @@ class Cluster(pulumi.CustomResource):
1103
1292
  kubeconfig = null.Resource("kubeconfig", triggers={
1104
1293
  "host": cluster.kubeconfigs[0].host,
1105
1294
  "token": cluster.kubeconfigs[0].token,
1106
- "cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
1295
+ "clusterCaCertificate": cluster.kubeconfigs[0].cluster_ca_certificate,
1107
1296
  },
1108
1297
  opts = pulumi.ResourceOptions(depends_on=[pool]))
1109
1298
  nginx_ip = scaleway.loadbalancers.Ip("nginx_ip",
@@ -1138,6 +1327,47 @@ class Cluster(pulumi.CustomResource):
1138
1327
  ])
1139
1328
  ```
1140
1329
 
1330
+ ## Deprecation of default_pool
1331
+
1332
+ `default_pool` is deprecated in favour the `kubernetes.Pool` resource. Here is a migration example.
1333
+
1334
+ Before:
1335
+
1336
+ ```python
1337
+ import pulumi
1338
+ import pulumiverse_scaleway as scaleway
1339
+
1340
+ cluster = scaleway.kubernetes.Cluster("cluster",
1341
+ name="tf-cluster",
1342
+ version="1.18.0",
1343
+ cni="cilium",
1344
+ default_pool=[{
1345
+ "nodeType": "DEV1-M",
1346
+ "size": 1,
1347
+ }])
1348
+ ```
1349
+
1350
+ After:
1351
+
1352
+ ```python
1353
+ import pulumi
1354
+ import pulumiverse_scaleway as scaleway
1355
+
1356
+ cluster = scaleway.kubernetes.Cluster("cluster",
1357
+ name="tf-cluster",
1358
+ version="1.18.0",
1359
+ cni="cilium")
1360
+ default = scaleway.kubernetes.Pool("default",
1361
+ cluster_id=jack["id"],
1362
+ name="default",
1363
+ node_type="DEV1-M",
1364
+ size=1)
1365
+ ```
1366
+
1367
+ Once you have moved all the `default_pool` into their own object, you will need to import them. If your pool had the ID 11111111-1111-1111-1111-111111111111 in the `fr-par` region, you can import it by typing:
1368
+
1369
+ Then you will only need to type `pulumi up` to have a smooth migration.
1370
+
1141
1371
  ## Import
1142
1372
 
1143
1373
  Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
@@ -1163,22 +1393,25 @@ class Cluster(pulumi.CustomResource):
1163
1393
  def _internal_init(__self__,
1164
1394
  resource_name: str,
1165
1395
  opts: Optional[pulumi.ResourceOptions] = None,
1166
- admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1167
- apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1396
+ admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1397
+ apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1168
1398
  auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
1169
1399
  autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
1170
- cni: Optional[pulumi.Input[str]] = None,
1171
- delete_additional_resources: Optional[pulumi.Input[bool]] = None,
1172
- description: Optional[pulumi.Input[str]] = None,
1173
- feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1174
- name: Optional[pulumi.Input[str]] = None,
1400
+ cni: Optional[pulumi.Input[_builtins.str]] = None,
1401
+ delete_additional_resources: Optional[pulumi.Input[_builtins.bool]] = None,
1402
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1403
+ feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1404
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1175
1405
  open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
1176
- private_network_id: Optional[pulumi.Input[str]] = None,
1177
- project_id: Optional[pulumi.Input[str]] = None,
1178
- region: Optional[pulumi.Input[str]] = None,
1179
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1180
- type: Optional[pulumi.Input[str]] = None,
1181
- version: Optional[pulumi.Input[str]] = None,
1406
+ pod_cidr: Optional[pulumi.Input[_builtins.str]] = None,
1407
+ private_network_id: Optional[pulumi.Input[_builtins.str]] = None,
1408
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1409
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1410
+ service_cidr: Optional[pulumi.Input[_builtins.str]] = None,
1411
+ service_dns_ip: Optional[pulumi.Input[_builtins.str]] = None,
1412
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1413
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1414
+ version: Optional[pulumi.Input[_builtins.str]] = None,
1182
1415
  __props__=None):
1183
1416
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1184
1417
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1202,9 +1435,12 @@ class Cluster(pulumi.CustomResource):
1202
1435
  __props__.__dict__["feature_gates"] = feature_gates
1203
1436
  __props__.__dict__["name"] = name
1204
1437
  __props__.__dict__["open_id_connect_config"] = open_id_connect_config
1438
+ __props__.__dict__["pod_cidr"] = pod_cidr
1205
1439
  __props__.__dict__["private_network_id"] = private_network_id
1206
1440
  __props__.__dict__["project_id"] = project_id
1207
1441
  __props__.__dict__["region"] = region
1442
+ __props__.__dict__["service_cidr"] = service_cidr
1443
+ __props__.__dict__["service_dns_ip"] = service_dns_ip
1208
1444
  __props__.__dict__["tags"] = tags
1209
1445
  __props__.__dict__["type"] = type
1210
1446
  if version is None and not opts.urn:
@@ -1232,30 +1468,33 @@ class Cluster(pulumi.CustomResource):
1232
1468
  def get(resource_name: str,
1233
1469
  id: pulumi.Input[str],
1234
1470
  opts: Optional[pulumi.ResourceOptions] = None,
1235
- admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1236
- apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1237
- apiserver_url: Optional[pulumi.Input[str]] = None,
1471
+ admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1472
+ apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1473
+ apiserver_url: Optional[pulumi.Input[_builtins.str]] = None,
1238
1474
  auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
1239
1475
  autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
1240
- cni: Optional[pulumi.Input[str]] = None,
1241
- created_at: Optional[pulumi.Input[str]] = None,
1242
- delete_additional_resources: Optional[pulumi.Input[bool]] = None,
1243
- description: Optional[pulumi.Input[str]] = None,
1244
- feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1476
+ cni: Optional[pulumi.Input[_builtins.str]] = None,
1477
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
1478
+ delete_additional_resources: Optional[pulumi.Input[_builtins.bool]] = None,
1479
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1480
+ feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1245
1481
  kubeconfigs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterKubeconfigArgs', 'ClusterKubeconfigArgsDict']]]]] = None,
1246
- name: Optional[pulumi.Input[str]] = None,
1482
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1247
1483
  open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
1248
- organization_id: Optional[pulumi.Input[str]] = None,
1249
- private_network_id: Optional[pulumi.Input[str]] = None,
1250
- project_id: Optional[pulumi.Input[str]] = None,
1251
- region: Optional[pulumi.Input[str]] = None,
1252
- status: Optional[pulumi.Input[str]] = None,
1253
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1254
- type: Optional[pulumi.Input[str]] = None,
1255
- updated_at: Optional[pulumi.Input[str]] = None,
1256
- upgrade_available: Optional[pulumi.Input[bool]] = None,
1257
- version: Optional[pulumi.Input[str]] = None,
1258
- wildcard_dns: Optional[pulumi.Input[str]] = None) -> 'Cluster':
1484
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
1485
+ pod_cidr: Optional[pulumi.Input[_builtins.str]] = None,
1486
+ private_network_id: Optional[pulumi.Input[_builtins.str]] = None,
1487
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1488
+ region: Optional[pulumi.Input[_builtins.str]] = None,
1489
+ service_cidr: Optional[pulumi.Input[_builtins.str]] = None,
1490
+ service_dns_ip: Optional[pulumi.Input[_builtins.str]] = None,
1491
+ status: Optional[pulumi.Input[_builtins.str]] = None,
1492
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1493
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1494
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
1495
+ upgrade_available: Optional[pulumi.Input[_builtins.bool]] = None,
1496
+ version: Optional[pulumi.Input[_builtins.str]] = None,
1497
+ wildcard_dns: Optional[pulumi.Input[_builtins.str]] = None) -> 'Cluster':
1259
1498
  """
1260
1499
  Get an existing Cluster resource's state with the given name, id, and optional extra
1261
1500
  properties used to qualify the lookup.
@@ -1263,44 +1502,56 @@ class Cluster(pulumi.CustomResource):
1263
1502
  :param str resource_name: The unique name of the resulting resource.
1264
1503
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1265
1504
  :param pulumi.ResourceOptions opts: Options for the resource.
1266
- :param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
1267
- :param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
1268
- :param pulumi.Input[str] apiserver_url: The URL of the Kubernetes API server.
1505
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
1506
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
1507
+ :param pulumi.Input[_builtins.str] apiserver_url: The URL of the Kubernetes API server.
1269
1508
  :param pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']] auto_upgrade: The auto upgrade configuration.
1270
1509
  :param pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
1271
- :param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
1510
+ :param pulumi.Input[_builtins.str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
1272
1511
  > **Important:** Updates to this field will recreate a new resource.
1273
- :param pulumi.Input[str] created_at: The creation date of the cluster.
1274
- :param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
1512
+ :param pulumi.Input[_builtins.str] created_at: The creation date of the cluster.
1513
+ :param pulumi.Input[_builtins.bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
1275
1514
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
1276
1515
  If you prefer keeping it, you should instead set it as `false`.
1277
- :param pulumi.Input[str] description: A description for the Kubernetes cluster.
1278
- :param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
1516
+ :param pulumi.Input[_builtins.str] description: A description for the Kubernetes cluster.
1517
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
1279
1518
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterKubeconfigArgs', 'ClusterKubeconfigArgsDict']]]] kubeconfigs: The kubeconfig configuration file of the Kubernetes cluster
1280
- :param pulumi.Input[str] name: The name for the Kubernetes cluster.
1519
+ :param pulumi.Input[_builtins.str] name: The name for the Kubernetes cluster.
1281
1520
  :param pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']] open_id_connect_config: The OpenID Connect configuration of the cluster
1282
- :param pulumi.Input[str] organization_id: The organization ID the cluster is associated with.
1283
- :param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
1521
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the cluster is associated with.
1522
+ :param pulumi.Input[_builtins.str] pod_cidr: The subnet used for the Pod CIDR.
1523
+
1524
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1525
+ unsetting it to go back to the default value will not have any effect.
1526
+ :param pulumi.Input[_builtins.str] private_network_id: The ID of the private network of the cluster.
1284
1527
 
1285
1528
  > **Important:** Changes to this field will recreate a new resource.
1286
1529
 
1287
1530
  > **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
1288
1531
  you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
1289
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
1290
- :param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
1291
- :param pulumi.Input[str] status: The status of the Kubernetes cluster.
1292
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
1293
- :param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
1532
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the cluster is associated with.
1533
+ :param pulumi.Input[_builtins.str] region: `region`) The region in which the cluster should be created.
1534
+ :param pulumi.Input[_builtins.str] service_cidr: The subnet used for the Service CIDR.
1535
+
1536
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1537
+ unsetting it to go back to the default value will not have any effect.
1538
+ :param pulumi.Input[_builtins.str] service_dns_ip: The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
1539
+
1540
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1541
+ unsetting it to go back to the default value will not have any effect.
1542
+ :param pulumi.Input[_builtins.str] status: The status of the Kubernetes cluster.
1543
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Kubernetes cluster.
1544
+ :param pulumi.Input[_builtins.str] type: The type of Kubernetes cluster. Possible values are:
1294
1545
 
1295
1546
  - for mutualized clusters: `kapsule` or `multicloud`
1296
1547
 
1297
1548
  - for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
1298
1549
 
1299
1550
  - for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
1300
- :param pulumi.Input[str] updated_at: The last update date of the cluster.
1301
- :param pulumi.Input[bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
1302
- :param pulumi.Input[str] version: The version of the Kubernetes cluster.
1303
- :param pulumi.Input[str] wildcard_dns: The DNS wildcard that points to all ready nodes.
1551
+ :param pulumi.Input[_builtins.str] updated_at: The last update date of the cluster.
1552
+ :param pulumi.Input[_builtins.bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
1553
+ :param pulumi.Input[_builtins.str] version: The version of the Kubernetes cluster.
1554
+ :param pulumi.Input[_builtins.str] wildcard_dns: The DNS wildcard that points to all ready nodes.
1304
1555
  """
1305
1556
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1306
1557
 
@@ -1320,9 +1571,12 @@ class Cluster(pulumi.CustomResource):
1320
1571
  __props__.__dict__["name"] = name
1321
1572
  __props__.__dict__["open_id_connect_config"] = open_id_connect_config
1322
1573
  __props__.__dict__["organization_id"] = organization_id
1574
+ __props__.__dict__["pod_cidr"] = pod_cidr
1323
1575
  __props__.__dict__["private_network_id"] = private_network_id
1324
1576
  __props__.__dict__["project_id"] = project_id
1325
1577
  __props__.__dict__["region"] = region
1578
+ __props__.__dict__["service_cidr"] = service_cidr
1579
+ __props__.__dict__["service_dns_ip"] = service_dns_ip
1326
1580
  __props__.__dict__["status"] = status
1327
1581
  __props__.__dict__["tags"] = tags
1328
1582
  __props__.__dict__["type"] = type
@@ -1332,31 +1586,31 @@ class Cluster(pulumi.CustomResource):
1332
1586
  __props__.__dict__["wildcard_dns"] = wildcard_dns
1333
1587
  return Cluster(resource_name, opts=opts, __props__=__props__)
1334
1588
 
1335
- @property
1589
+ @_builtins.property
1336
1590
  @pulumi.getter(name="admissionPlugins")
1337
- def admission_plugins(self) -> pulumi.Output[Optional[Sequence[str]]]:
1591
+ def admission_plugins(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1338
1592
  """
1339
1593
  The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
1340
1594
  """
1341
1595
  return pulumi.get(self, "admission_plugins")
1342
1596
 
1343
- @property
1597
+ @_builtins.property
1344
1598
  @pulumi.getter(name="apiserverCertSans")
1345
- def apiserver_cert_sans(self) -> pulumi.Output[Optional[Sequence[str]]]:
1599
+ def apiserver_cert_sans(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1346
1600
  """
1347
1601
  Additional Subject Alternative Names for the Kubernetes API server certificate
1348
1602
  """
1349
1603
  return pulumi.get(self, "apiserver_cert_sans")
1350
1604
 
1351
- @property
1605
+ @_builtins.property
1352
1606
  @pulumi.getter(name="apiserverUrl")
1353
- def apiserver_url(self) -> pulumi.Output[str]:
1607
+ def apiserver_url(self) -> pulumi.Output[_builtins.str]:
1354
1608
  """
1355
1609
  The URL of the Kubernetes API server.
1356
1610
  """
1357
1611
  return pulumi.get(self, "apiserver_url")
1358
1612
 
1359
- @property
1613
+ @_builtins.property
1360
1614
  @pulumi.getter(name="autoUpgrade")
1361
1615
  def auto_upgrade(self) -> pulumi.Output['outputs.ClusterAutoUpgrade']:
1362
1616
  """
@@ -1364,7 +1618,7 @@ class Cluster(pulumi.CustomResource):
1364
1618
  """
1365
1619
  return pulumi.get(self, "auto_upgrade")
1366
1620
 
1367
- @property
1621
+ @_builtins.property
1368
1622
  @pulumi.getter(name="autoscalerConfig")
1369
1623
  def autoscaler_config(self) -> pulumi.Output['outputs.ClusterAutoscalerConfig']:
1370
1624
  """
@@ -1372,26 +1626,26 @@ class Cluster(pulumi.CustomResource):
1372
1626
  """
1373
1627
  return pulumi.get(self, "autoscaler_config")
1374
1628
 
1375
- @property
1629
+ @_builtins.property
1376
1630
  @pulumi.getter
1377
- def cni(self) -> pulumi.Output[str]:
1631
+ def cni(self) -> pulumi.Output[_builtins.str]:
1378
1632
  """
1379
1633
  The Container Network Interface (CNI) for the Kubernetes cluster.
1380
1634
  > **Important:** Updates to this field will recreate a new resource.
1381
1635
  """
1382
1636
  return pulumi.get(self, "cni")
1383
1637
 
1384
- @property
1638
+ @_builtins.property
1385
1639
  @pulumi.getter(name="createdAt")
1386
- def created_at(self) -> pulumi.Output[str]:
1640
+ def created_at(self) -> pulumi.Output[_builtins.str]:
1387
1641
  """
1388
1642
  The creation date of the cluster.
1389
1643
  """
1390
1644
  return pulumi.get(self, "created_at")
1391
1645
 
1392
- @property
1646
+ @_builtins.property
1393
1647
  @pulumi.getter(name="deleteAdditionalResources")
1394
- def delete_additional_resources(self) -> pulumi.Output[bool]:
1648
+ def delete_additional_resources(self) -> pulumi.Output[_builtins.bool]:
1395
1649
  """
1396
1650
  Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
1397
1651
  > **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
@@ -1399,23 +1653,23 @@ class Cluster(pulumi.CustomResource):
1399
1653
  """
1400
1654
  return pulumi.get(self, "delete_additional_resources")
1401
1655
 
1402
- @property
1656
+ @_builtins.property
1403
1657
  @pulumi.getter
1404
- def description(self) -> pulumi.Output[Optional[str]]:
1658
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
1405
1659
  """
1406
1660
  A description for the Kubernetes cluster.
1407
1661
  """
1408
1662
  return pulumi.get(self, "description")
1409
1663
 
1410
- @property
1664
+ @_builtins.property
1411
1665
  @pulumi.getter(name="featureGates")
1412
- def feature_gates(self) -> pulumi.Output[Optional[Sequence[str]]]:
1666
+ def feature_gates(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1413
1667
  """
1414
1668
  The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
1415
1669
  """
1416
1670
  return pulumi.get(self, "feature_gates")
1417
1671
 
1418
- @property
1672
+ @_builtins.property
1419
1673
  @pulumi.getter
1420
1674
  def kubeconfigs(self) -> pulumi.Output[Sequence['outputs.ClusterKubeconfig']]:
1421
1675
  """
@@ -1423,15 +1677,15 @@ class Cluster(pulumi.CustomResource):
1423
1677
  """
1424
1678
  return pulumi.get(self, "kubeconfigs")
1425
1679
 
1426
- @property
1680
+ @_builtins.property
1427
1681
  @pulumi.getter
1428
- def name(self) -> pulumi.Output[str]:
1682
+ def name(self) -> pulumi.Output[_builtins.str]:
1429
1683
  """
1430
1684
  The name for the Kubernetes cluster.
1431
1685
  """
1432
1686
  return pulumi.get(self, "name")
1433
1687
 
1434
- @property
1688
+ @_builtins.property
1435
1689
  @pulumi.getter(name="openIdConnectConfig")
1436
1690
  def open_id_connect_config(self) -> pulumi.Output['outputs.ClusterOpenIdConnectConfig']:
1437
1691
  """
@@ -1439,17 +1693,28 @@ class Cluster(pulumi.CustomResource):
1439
1693
  """
1440
1694
  return pulumi.get(self, "open_id_connect_config")
1441
1695
 
1442
- @property
1696
+ @_builtins.property
1443
1697
  @pulumi.getter(name="organizationId")
1444
- def organization_id(self) -> pulumi.Output[str]:
1698
+ def organization_id(self) -> pulumi.Output[_builtins.str]:
1445
1699
  """
1446
1700
  The organization ID the cluster is associated with.
1447
1701
  """
1448
1702
  return pulumi.get(self, "organization_id")
1449
1703
 
1450
- @property
1704
+ @_builtins.property
1705
+ @pulumi.getter(name="podCidr")
1706
+ def pod_cidr(self) -> pulumi.Output[_builtins.str]:
1707
+ """
1708
+ The subnet used for the Pod CIDR.
1709
+
1710
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1711
+ unsetting it to go back to the default value will not have any effect.
1712
+ """
1713
+ return pulumi.get(self, "pod_cidr")
1714
+
1715
+ @_builtins.property
1451
1716
  @pulumi.getter(name="privateNetworkId")
1452
- def private_network_id(self) -> pulumi.Output[Optional[str]]:
1717
+ def private_network_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1453
1718
  """
1454
1719
  The ID of the private network of the cluster.
1455
1720
 
@@ -1460,41 +1725,63 @@ class Cluster(pulumi.CustomResource):
1460
1725
  """
1461
1726
  return pulumi.get(self, "private_network_id")
1462
1727
 
1463
- @property
1728
+ @_builtins.property
1464
1729
  @pulumi.getter(name="projectId")
1465
- def project_id(self) -> pulumi.Output[str]:
1730
+ def project_id(self) -> pulumi.Output[_builtins.str]:
1466
1731
  """
1467
1732
  `project_id`) The ID of the project the cluster is associated with.
1468
1733
  """
1469
1734
  return pulumi.get(self, "project_id")
1470
1735
 
1471
- @property
1736
+ @_builtins.property
1472
1737
  @pulumi.getter
1473
- def region(self) -> pulumi.Output[str]:
1738
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
1474
1739
  """
1475
1740
  `region`) The region in which the cluster should be created.
1476
1741
  """
1477
1742
  return pulumi.get(self, "region")
1478
1743
 
1479
- @property
1744
+ @_builtins.property
1745
+ @pulumi.getter(name="serviceCidr")
1746
+ def service_cidr(self) -> pulumi.Output[_builtins.str]:
1747
+ """
1748
+ The subnet used for the Service CIDR.
1749
+
1750
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1751
+ unsetting it to go back to the default value will not have any effect.
1752
+ """
1753
+ return pulumi.get(self, "service_cidr")
1754
+
1755
+ @_builtins.property
1756
+ @pulumi.getter(name="serviceDnsIp")
1757
+ def service_dns_ip(self) -> pulumi.Output[_builtins.str]:
1758
+ """
1759
+ The IP used for the DNS Service. If unset, defaults to Service CIDR's network + 10.
1760
+
1761
+ > **Important:** Changes to this field will recreate a new resource. However once it has been set to a custom value,
1762
+ unsetting it to go back to the default value will not have any effect.
1763
+ """
1764
+ return pulumi.get(self, "service_dns_ip")
1765
+
1766
+ @_builtins.property
1480
1767
  @pulumi.getter
1481
- def status(self) -> pulumi.Output[str]:
1768
+ def status(self) -> pulumi.Output[_builtins.str]:
1482
1769
  """
1483
1770
  The status of the Kubernetes cluster.
1484
1771
  """
1485
1772
  return pulumi.get(self, "status")
1486
1773
 
1487
- @property
1774
+ @_builtins.property
1488
1775
  @pulumi.getter
1489
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1776
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1490
1777
  """
1491
1778
  The tags associated with the Kubernetes cluster.
1492
1779
  """
1493
1780
  return pulumi.get(self, "tags")
1494
1781
 
1495
- @property
1782
+ @_builtins.property
1496
1783
  @pulumi.getter
1497
- def type(self) -> pulumi.Output[str]:
1784
+ def type(self) -> pulumi.Output[_builtins.str]:
1498
1785
  """
1499
1786
  The type of Kubernetes cluster. Possible values are:
1500
1787
 
@@ -1506,33 +1793,33 @@ class Cluster(pulumi.CustomResource):
1506
1793
  """
1507
1794
  return pulumi.get(self, "type")
1508
1795
 
1509
- @property
1796
+ @_builtins.property
1510
1797
  @pulumi.getter(name="updatedAt")
1511
- def updated_at(self) -> pulumi.Output[str]:
1798
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
1512
1799
  """
1513
1800
  The last update date of the cluster.
1514
1801
  """
1515
1802
  return pulumi.get(self, "updated_at")
1516
1803
 
1517
- @property
1804
+ @_builtins.property
1518
1805
  @pulumi.getter(name="upgradeAvailable")
1519
- def upgrade_available(self) -> pulumi.Output[bool]:
1806
+ def upgrade_available(self) -> pulumi.Output[_builtins.bool]:
1520
1807
  """
1521
1808
  Set to `true` if a newer Kubernetes version is available.
1522
1809
  """
1523
1810
  return pulumi.get(self, "upgrade_available")
1524
1811
 
1525
- @property
1812
+ @_builtins.property
1526
1813
  @pulumi.getter
1527
- def version(self) -> pulumi.Output[str]:
1814
+ def version(self) -> pulumi.Output[_builtins.str]:
1528
1815
  """
1529
1816
  The version of the Kubernetes cluster.
1530
1817
  """
1531
1818
  return pulumi.get(self, "version")
1532
1819
 
1533
- @property
1820
+ @_builtins.property
1534
1821
  @pulumi.getter(name="wildcardDns")
1535
- def wildcard_dns(self) -> pulumi.Output[str]:
1822
+ def wildcard_dns(self) -> pulumi.Output[_builtins.str]:
1536
1823
  """
1537
1824
  The DNS wildcard that points to all ready nodes.
1538
1825
  """