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,83 +21,93 @@ __all__ = ['ServerArgs', 'Server']
21
21
  @pulumi.input_type
22
22
  class ServerArgs:
23
23
  def __init__(__self__, *,
24
- type: pulumi.Input[str],
25
- additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
- boot_type: Optional[pulumi.Input[str]] = None,
27
- bootscript_id: Optional[pulumi.Input[str]] = None,
28
- cloud_init: Optional[pulumi.Input[str]] = None,
29
- enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
30
- enable_ipv6: Optional[pulumi.Input[bool]] = None,
31
- image: Optional[pulumi.Input[str]] = None,
32
- ip_id: Optional[pulumi.Input[str]] = None,
33
- ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
- name: Optional[pulumi.Input[str]] = None,
35
- placement_group_id: Optional[pulumi.Input[str]] = None,
24
+ type: pulumi.Input[_builtins.str],
25
+ additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
26
+ admin_password_encryption_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
27
+ boot_type: Optional[pulumi.Input[_builtins.str]] = None,
28
+ bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
29
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
30
+ enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
31
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]] = None,
32
+ image: Optional[pulumi.Input[_builtins.str]] = None,
33
+ ip_id: Optional[pulumi.Input[_builtins.str]] = None,
34
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
+ name: Optional[pulumi.Input[_builtins.str]] = None,
36
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
37
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
36
38
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
37
- project_id: Optional[pulumi.Input[str]] = None,
39
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
40
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
38
41
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
39
- replace_on_type_change: Optional[pulumi.Input[bool]] = None,
42
+ replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
40
43
  root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
41
- security_group_id: Optional[pulumi.Input[str]] = None,
42
- state: Optional[pulumi.Input[str]] = None,
43
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
44
- user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
45
- zone: Optional[pulumi.Input[str]] = None):
44
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
45
+ state: Optional[pulumi.Input[_builtins.str]] = None,
46
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
47
+ user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
48
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
46
49
  """
47
50
  The set of arguments for constructing a Server resource.
48
- :param pulumi.Input[str] type: The commercial type of the server.
51
+ :param pulumi.Input[_builtins.str] type: The commercial type of the server.
49
52
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
50
53
  Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
51
54
  Use `replace_on_type_change` to trigger replacement instead of migration.
52
55
 
53
56
  > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
54
- :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
57
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
55
58
  attached to the server. Updates to this field will trigger a stop/start of the server.
56
59
 
57
60
  > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
58
61
 
59
62
  > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
60
- :param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
61
- :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
62
- :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
63
- :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
64
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
65
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
66
- :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
63
+ :param pulumi.Input[_builtins.str] admin_password_encryption_ssh_key_id: The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
64
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
65
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
66
+ :param pulumi.Input[_builtins.str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
67
+ :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
68
+ :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
69
+ :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
70
+ :param pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]] filesystems: List of filesystems attached to the server.
71
+ :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
67
72
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
68
73
 
69
74
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
70
75
 
71
76
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
72
- :param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
73
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
74
77
 
75
- > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
76
- :param pulumi.Input[str] name: The name of the server.
77
- :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
78
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
79
+ :param pulumi.Input[_builtins.str] ip_id: The ID of the reserved IP that is attached to the server.
80
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
78
81
 
82
+ > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
83
+ :param pulumi.Input[_builtins.str] name: The name of the server.
84
+ :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
79
85
 
80
86
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
87
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
81
88
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
82
89
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
83
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
90
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
91
+ :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
84
92
  :param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
85
- :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
93
+ :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
86
94
  :param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
87
- :param pulumi.Input[str] security_group_id: The security group the server is attached to
88
- :param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
89
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
90
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
95
+ :param pulumi.Input[_builtins.str] security_group_id: The security group the server is attached to
96
+ :param pulumi.Input[_builtins.str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
97
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the server.
98
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] user_data: The user data associated with the server.
91
99
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
92
100
  You can define values using:
93
101
  - string
94
102
  - UTF-8 encoded file content using file
95
103
  - Binary files using filebase64.
96
- :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
104
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
97
105
  """
98
106
  pulumi.set(__self__, "type", type)
99
107
  if additional_volume_ids is not None:
100
108
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
109
+ if admin_password_encryption_ssh_key_id is not None:
110
+ pulumi.set(__self__, "admin_password_encryption_ssh_key_id", admin_password_encryption_ssh_key_id)
101
111
  if boot_type is not None:
102
112
  pulumi.set(__self__, "boot_type", boot_type)
103
113
  if bootscript_id is not None:
@@ -109,11 +119,8 @@ class ServerArgs:
109
119
  pulumi.set(__self__, "cloud_init", cloud_init)
110
120
  if enable_dynamic_ip is not None:
111
121
  pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
112
- if enable_ipv6 is not None:
113
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
114
- pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
115
- if enable_ipv6 is not None:
116
- pulumi.set(__self__, "enable_ipv6", enable_ipv6)
122
+ if filesystems is not None:
123
+ pulumi.set(__self__, "filesystems", filesystems)
117
124
  if image is not None:
118
125
  pulumi.set(__self__, "image", image)
119
126
  if ip_id is not None:
@@ -124,10 +131,14 @@ class ServerArgs:
124
131
  pulumi.set(__self__, "name", name)
125
132
  if placement_group_id is not None:
126
133
  pulumi.set(__self__, "placement_group_id", placement_group_id)
134
+ if private_ips is not None:
135
+ pulumi.set(__self__, "private_ips", private_ips)
127
136
  if private_networks is not None:
128
137
  pulumi.set(__self__, "private_networks", private_networks)
129
138
  if project_id is not None:
130
139
  pulumi.set(__self__, "project_id", project_id)
140
+ if protected is not None:
141
+ pulumi.set(__self__, "protected", protected)
131
142
  if public_ips is not None:
132
143
  pulumi.set(__self__, "public_ips", public_ips)
133
144
  if replace_on_type_change is not None:
@@ -145,9 +156,9 @@ class ServerArgs:
145
156
  if zone is not None:
146
157
  pulumi.set(__self__, "zone", zone)
147
158
 
148
- @property
159
+ @_builtins.property
149
160
  @pulumi.getter
150
- def type(self) -> pulumi.Input[str]:
161
+ def type(self) -> pulumi.Input[_builtins.str]:
151
162
  """
152
163
  The commercial type of the server.
153
164
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
@@ -159,12 +170,12 @@ class ServerArgs:
159
170
  return pulumi.get(self, "type")
160
171
 
161
172
  @type.setter
162
- def type(self, value: pulumi.Input[str]):
173
+ def type(self, value: pulumi.Input[_builtins.str]):
163
174
  pulumi.set(self, "type", value)
164
175
 
165
- @property
176
+ @_builtins.property
166
177
  @pulumi.getter(name="additionalVolumeIds")
167
- def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
178
+ def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
168
179
  """
169
180
  The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
170
181
  attached to the server. Updates to this field will trigger a stop/start of the server.
@@ -176,75 +187,87 @@ class ServerArgs:
176
187
  return pulumi.get(self, "additional_volume_ids")
177
188
 
178
189
  @additional_volume_ids.setter
179
- def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
190
+ def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
180
191
  pulumi.set(self, "additional_volume_ids", value)
181
192
 
182
- @property
193
+ @_builtins.property
194
+ @pulumi.getter(name="adminPasswordEncryptionSshKeyId")
195
+ def admin_password_encryption_ssh_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
196
+ """
197
+ The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
198
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
199
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
200
+ """
201
+ return pulumi.get(self, "admin_password_encryption_ssh_key_id")
202
+
203
+ @admin_password_encryption_ssh_key_id.setter
204
+ def admin_password_encryption_ssh_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
205
+ pulumi.set(self, "admin_password_encryption_ssh_key_id", value)
206
+
207
+ @_builtins.property
183
208
  @pulumi.getter(name="bootType")
184
- def boot_type(self) -> Optional[pulumi.Input[str]]:
209
+ def boot_type(self) -> Optional[pulumi.Input[_builtins.str]]:
185
210
  """
186
211
  The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
187
212
  """
188
213
  return pulumi.get(self, "boot_type")
189
214
 
190
215
  @boot_type.setter
191
- def boot_type(self, value: Optional[pulumi.Input[str]]):
216
+ def boot_type(self, value: Optional[pulumi.Input[_builtins.str]]):
192
217
  pulumi.set(self, "boot_type", value)
193
218
 
194
- @property
219
+ @_builtins.property
195
220
  @pulumi.getter(name="bootscriptId")
196
221
  @_utilities.deprecated("""bootscript is not supported anymore.""")
197
- def bootscript_id(self) -> Optional[pulumi.Input[str]]:
222
+ def bootscript_id(self) -> Optional[pulumi.Input[_builtins.str]]:
198
223
  """
199
224
  ID of the target bootscript (set boot_type to bootscript)
200
225
  """
201
226
  return pulumi.get(self, "bootscript_id")
202
227
 
203
228
  @bootscript_id.setter
204
- def bootscript_id(self, value: Optional[pulumi.Input[str]]):
229
+ def bootscript_id(self, value: Optional[pulumi.Input[_builtins.str]]):
205
230
  pulumi.set(self, "bootscript_id", value)
206
231
 
207
- @property
232
+ @_builtins.property
208
233
  @pulumi.getter(name="cloudInit")
209
- def cloud_init(self) -> Optional[pulumi.Input[str]]:
234
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
210
235
  """
211
236
  The cloud init script associated with this server
212
237
  """
213
238
  return pulumi.get(self, "cloud_init")
214
239
 
215
240
  @cloud_init.setter
216
- def cloud_init(self, value: Optional[pulumi.Input[str]]):
241
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
217
242
  pulumi.set(self, "cloud_init", value)
218
243
 
219
- @property
244
+ @_builtins.property
220
245
  @pulumi.getter(name="enableDynamicIp")
221
- def enable_dynamic_ip(self) -> Optional[pulumi.Input[bool]]:
246
+ def enable_dynamic_ip(self) -> Optional[pulumi.Input[_builtins.bool]]:
222
247
  """
223
248
  If true a dynamic IP will be attached to the server.
224
249
  """
225
250
  return pulumi.get(self, "enable_dynamic_ip")
226
251
 
227
252
  @enable_dynamic_ip.setter
228
- def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]):
253
+ def enable_dynamic_ip(self, value: Optional[pulumi.Input[_builtins.bool]]):
229
254
  pulumi.set(self, "enable_dynamic_ip", value)
230
255
 
231
- @property
232
- @pulumi.getter(name="enableIpv6")
233
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
234
- def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
256
+ @_builtins.property
257
+ @pulumi.getter
258
+ def filesystems(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]:
235
259
  """
236
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
237
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
260
+ List of filesystems attached to the server.
238
261
  """
239
- return pulumi.get(self, "enable_ipv6")
262
+ return pulumi.get(self, "filesystems")
240
263
 
241
- @enable_ipv6.setter
242
- def enable_ipv6(self, value: Optional[pulumi.Input[bool]]):
243
- pulumi.set(self, "enable_ipv6", value)
264
+ @filesystems.setter
265
+ def filesystems(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]):
266
+ pulumi.set(self, "filesystems", value)
244
267
 
245
- @property
268
+ @_builtins.property
246
269
  @pulumi.getter
247
- def image(self) -> Optional[pulumi.Input[str]]:
270
+ def image(self) -> Optional[pulumi.Input[_builtins.str]]:
248
271
  """
249
272
  The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
250
273
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -252,28 +275,30 @@ class ServerArgs:
252
275
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
253
276
 
254
277
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
278
+
279
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
255
280
  """
256
281
  return pulumi.get(self, "image")
257
282
 
258
283
  @image.setter
259
- def image(self, value: Optional[pulumi.Input[str]]):
284
+ def image(self, value: Optional[pulumi.Input[_builtins.str]]):
260
285
  pulumi.set(self, "image", value)
261
286
 
262
- @property
287
+ @_builtins.property
263
288
  @pulumi.getter(name="ipId")
264
- def ip_id(self) -> Optional[pulumi.Input[str]]:
289
+ def ip_id(self) -> Optional[pulumi.Input[_builtins.str]]:
265
290
  """
266
291
  The ID of the reserved IP that is attached to the server.
267
292
  """
268
293
  return pulumi.get(self, "ip_id")
269
294
 
270
295
  @ip_id.setter
271
- def ip_id(self, value: Optional[pulumi.Input[str]]):
296
+ def ip_id(self, value: Optional[pulumi.Input[_builtins.str]]):
272
297
  pulumi.set(self, "ip_id", value)
273
298
 
274
- @property
299
+ @_builtins.property
275
300
  @pulumi.getter(name="ipIds")
276
- def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
301
+ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
277
302
  """
278
303
  List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
279
304
 
@@ -282,37 +307,48 @@ class ServerArgs:
282
307
  return pulumi.get(self, "ip_ids")
283
308
 
284
309
  @ip_ids.setter
285
- def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
310
+ def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
286
311
  pulumi.set(self, "ip_ids", value)
287
312
 
288
- @property
313
+ @_builtins.property
289
314
  @pulumi.getter
290
- def name(self) -> Optional[pulumi.Input[str]]:
315
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
291
316
  """
292
317
  The name of the server.
293
318
  """
294
319
  return pulumi.get(self, "name")
295
320
 
296
321
  @name.setter
297
- def name(self, value: Optional[pulumi.Input[str]]):
322
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
298
323
  pulumi.set(self, "name", value)
299
324
 
300
- @property
325
+ @_builtins.property
301
326
  @pulumi.getter(name="placementGroupId")
302
- def placement_group_id(self) -> Optional[pulumi.Input[str]]:
327
+ def placement_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
303
328
  """
304
- The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
305
-
329
+ The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
306
330
 
307
331
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
308
332
  """
309
333
  return pulumi.get(self, "placement_group_id")
310
334
 
311
335
  @placement_group_id.setter
312
- def placement_group_id(self, value: Optional[pulumi.Input[str]]):
336
+ def placement_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
313
337
  pulumi.set(self, "placement_group_id", value)
314
338
 
315
- @property
339
+ @_builtins.property
340
+ @pulumi.getter(name="privateIps")
341
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
342
+ """
343
+ The list of private IPv4 and IPv6 addresses associated with the resource.
344
+ """
345
+ return pulumi.get(self, "private_ips")
346
+
347
+ @private_ips.setter
348
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
349
+ pulumi.set(self, "private_ips", value)
350
+
351
+ @_builtins.property
316
352
  @pulumi.getter(name="privateNetworks")
317
353
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
318
354
  """
@@ -325,19 +361,31 @@ class ServerArgs:
325
361
  def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
326
362
  pulumi.set(self, "private_networks", value)
327
363
 
328
- @property
364
+ @_builtins.property
329
365
  @pulumi.getter(name="projectId")
330
- def project_id(self) -> Optional[pulumi.Input[str]]:
366
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
331
367
  """
332
368
  `project_id`) The ID of the project the server is associated with.
333
369
  """
334
370
  return pulumi.get(self, "project_id")
335
371
 
336
372
  @project_id.setter
337
- def project_id(self, value: Optional[pulumi.Input[str]]):
373
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
338
374
  pulumi.set(self, "project_id", value)
339
375
 
340
- @property
376
+ @_builtins.property
377
+ @pulumi.getter
378
+ def protected(self) -> Optional[pulumi.Input[_builtins.bool]]:
379
+ """
380
+ Set to true to activate server protection option.
381
+ """
382
+ return pulumi.get(self, "protected")
383
+
384
+ @protected.setter
385
+ def protected(self, value: Optional[pulumi.Input[_builtins.bool]]):
386
+ pulumi.set(self, "protected", value)
387
+
388
+ @_builtins.property
341
389
  @pulumi.getter(name="publicIps")
342
390
  def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
343
391
  """
@@ -349,19 +397,19 @@ class ServerArgs:
349
397
  def public_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]):
350
398
  pulumi.set(self, "public_ips", value)
351
399
 
352
- @property
400
+ @_builtins.property
353
401
  @pulumi.getter(name="replaceOnTypeChange")
354
- def replace_on_type_change(self) -> Optional[pulumi.Input[bool]]:
402
+ def replace_on_type_change(self) -> Optional[pulumi.Input[_builtins.bool]]:
355
403
  """
356
404
  If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
357
405
  """
358
406
  return pulumi.get(self, "replace_on_type_change")
359
407
 
360
408
  @replace_on_type_change.setter
361
- def replace_on_type_change(self, value: Optional[pulumi.Input[bool]]):
409
+ def replace_on_type_change(self, value: Optional[pulumi.Input[_builtins.bool]]):
362
410
  pulumi.set(self, "replace_on_type_change", value)
363
411
 
364
- @property
412
+ @_builtins.property
365
413
  @pulumi.getter(name="rootVolume")
366
414
  def root_volume(self) -> Optional[pulumi.Input['ServerRootVolumeArgs']]:
367
415
  """
@@ -373,45 +421,45 @@ class ServerArgs:
373
421
  def root_volume(self, value: Optional[pulumi.Input['ServerRootVolumeArgs']]):
374
422
  pulumi.set(self, "root_volume", value)
375
423
 
376
- @property
424
+ @_builtins.property
377
425
  @pulumi.getter(name="securityGroupId")
378
- def security_group_id(self) -> Optional[pulumi.Input[str]]:
426
+ def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
379
427
  """
380
428
  The security group the server is attached to
381
429
  """
382
430
  return pulumi.get(self, "security_group_id")
383
431
 
384
432
  @security_group_id.setter
385
- def security_group_id(self, value: Optional[pulumi.Input[str]]):
433
+ def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
386
434
  pulumi.set(self, "security_group_id", value)
387
435
 
388
- @property
436
+ @_builtins.property
389
437
  @pulumi.getter
390
- def state(self) -> Optional[pulumi.Input[str]]:
438
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
391
439
  """
392
440
  The state of the server. Possible values are: `started`, `stopped` or `standby`.
393
441
  """
394
442
  return pulumi.get(self, "state")
395
443
 
396
444
  @state.setter
397
- def state(self, value: Optional[pulumi.Input[str]]):
445
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
398
446
  pulumi.set(self, "state", value)
399
447
 
400
- @property
448
+ @_builtins.property
401
449
  @pulumi.getter
402
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
450
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
403
451
  """
404
452
  The tags associated with the server.
405
453
  """
406
454
  return pulumi.get(self, "tags")
407
455
 
408
456
  @tags.setter
409
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
457
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
410
458
  pulumi.set(self, "tags", value)
411
459
 
412
- @property
460
+ @_builtins.property
413
461
  @pulumi.getter(name="userData")
414
- def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
462
+ def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
415
463
  """
416
464
  The user data associated with the server.
417
465
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
@@ -423,118 +471,115 @@ class ServerArgs:
423
471
  return pulumi.get(self, "user_data")
424
472
 
425
473
  @user_data.setter
426
- def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
474
+ def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
427
475
  pulumi.set(self, "user_data", value)
428
476
 
429
- @property
477
+ @_builtins.property
430
478
  @pulumi.getter
431
- def zone(self) -> Optional[pulumi.Input[str]]:
479
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
432
480
  """
433
481
  `zone`) The zone in which the server should be created.
434
482
  """
435
483
  return pulumi.get(self, "zone")
436
484
 
437
485
  @zone.setter
438
- def zone(self, value: Optional[pulumi.Input[str]]):
486
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
439
487
  pulumi.set(self, "zone", value)
440
488
 
441
489
 
442
490
  @pulumi.input_type
443
491
  class _ServerState:
444
492
  def __init__(__self__, *,
445
- additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
446
- boot_type: Optional[pulumi.Input[str]] = None,
447
- bootscript_id: Optional[pulumi.Input[str]] = None,
448
- cloud_init: Optional[pulumi.Input[str]] = None,
449
- enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
450
- enable_ipv6: Optional[pulumi.Input[bool]] = None,
451
- image: Optional[pulumi.Input[str]] = None,
452
- ip_id: Optional[pulumi.Input[str]] = None,
453
- ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
454
- ipv6_address: Optional[pulumi.Input[str]] = None,
455
- ipv6_gateway: Optional[pulumi.Input[str]] = None,
456
- ipv6_prefix_length: Optional[pulumi.Input[int]] = None,
457
- name: Optional[pulumi.Input[str]] = None,
458
- organization_id: Optional[pulumi.Input[str]] = None,
459
- placement_group_id: Optional[pulumi.Input[str]] = None,
460
- placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
461
- private_ip: Optional[pulumi.Input[str]] = None,
493
+ additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
494
+ admin_password_encryption_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
495
+ boot_type: Optional[pulumi.Input[_builtins.str]] = None,
496
+ bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
497
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
498
+ enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
499
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]] = None,
500
+ image: Optional[pulumi.Input[_builtins.str]] = None,
501
+ ip_id: Optional[pulumi.Input[_builtins.str]] = None,
502
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
503
+ name: Optional[pulumi.Input[_builtins.str]] = None,
504
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
505
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
506
+ placement_group_policy_respected: Optional[pulumi.Input[_builtins.bool]] = None,
507
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]] = None,
462
508
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
463
- project_id: Optional[pulumi.Input[str]] = None,
464
- public_ip: Optional[pulumi.Input[str]] = None,
509
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
510
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
465
511
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
466
- replace_on_type_change: Optional[pulumi.Input[bool]] = None,
512
+ replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
467
513
  root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
468
- security_group_id: Optional[pulumi.Input[str]] = None,
469
- state: Optional[pulumi.Input[str]] = None,
470
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
471
- type: Optional[pulumi.Input[str]] = None,
472
- user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
473
- zone: Optional[pulumi.Input[str]] = None):
514
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
515
+ state: Optional[pulumi.Input[_builtins.str]] = None,
516
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
517
+ type: Optional[pulumi.Input[_builtins.str]] = None,
518
+ user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
519
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
474
520
  """
475
521
  Input properties used for looking up and filtering Server resources.
476
- :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
522
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
477
523
  attached to the server. Updates to this field will trigger a stop/start of the server.
478
524
 
479
525
  > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
480
526
 
481
527
  > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
482
- :param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
483
- :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
484
- :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
485
- :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
486
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
487
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
488
- :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
528
+ :param pulumi.Input[_builtins.str] admin_password_encryption_ssh_key_id: The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
529
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
530
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
531
+ :param pulumi.Input[_builtins.str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
532
+ :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
533
+ :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
534
+ :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
535
+ :param pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]] filesystems: List of filesystems attached to the server.
536
+ :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
489
537
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
490
538
 
491
539
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
492
540
 
493
541
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
494
- :param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
495
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
496
542
 
497
- > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
498
- :param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
499
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
500
- :param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
501
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
502
- :param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
503
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
504
- :param pulumi.Input[str] name: The name of the server.
505
- :param pulumi.Input[str] organization_id: The organization ID the server is associated with.
506
- :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
543
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
544
+ :param pulumi.Input[_builtins.str] ip_id: The ID of the reserved IP that is attached to the server.
545
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
507
546
 
547
+ > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
548
+ :param pulumi.Input[_builtins.str] name: The name of the server.
549
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the server is associated with.
550
+ :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
508
551
 
509
552
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
510
- :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
511
- :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
553
+ :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
554
+ :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
512
555
  :param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
513
556
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
514
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
515
- :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
557
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
558
+ :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
516
559
  :param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
517
- :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
560
+ :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
518
561
  :param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
519
- :param pulumi.Input[str] security_group_id: The security group the server is attached to
520
- :param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
521
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
522
- :param pulumi.Input[str] type: The commercial type of the server.
562
+ :param pulumi.Input[_builtins.str] security_group_id: The security group the server is attached to
563
+ :param pulumi.Input[_builtins.str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
564
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the server.
565
+ :param pulumi.Input[_builtins.str] type: The commercial type of the server.
523
566
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
524
567
  Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
525
568
  Use `replace_on_type_change` to trigger replacement instead of migration.
526
569
 
527
570
  > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
528
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
571
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] user_data: The user data associated with the server.
529
572
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
530
573
  You can define values using:
531
574
  - string
532
575
  - UTF-8 encoded file content using file
533
576
  - Binary files using filebase64.
534
- :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
577
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
535
578
  """
536
579
  if additional_volume_ids is not None:
537
580
  pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
581
+ if admin_password_encryption_ssh_key_id is not None:
582
+ pulumi.set(__self__, "admin_password_encryption_ssh_key_id", admin_password_encryption_ssh_key_id)
538
583
  if boot_type is not None:
539
584
  pulumi.set(__self__, "boot_type", boot_type)
540
585
  if bootscript_id is not None:
@@ -546,32 +591,14 @@ class _ServerState:
546
591
  pulumi.set(__self__, "cloud_init", cloud_init)
547
592
  if enable_dynamic_ip is not None:
548
593
  pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
549
- if enable_ipv6 is not None:
550
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
551
- pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
552
- if enable_ipv6 is not None:
553
- pulumi.set(__self__, "enable_ipv6", enable_ipv6)
594
+ if filesystems is not None:
595
+ pulumi.set(__self__, "filesystems", filesystems)
554
596
  if image is not None:
555
597
  pulumi.set(__self__, "image", image)
556
598
  if ip_id is not None:
557
599
  pulumi.set(__self__, "ip_id", ip_id)
558
600
  if ip_ids is not None:
559
601
  pulumi.set(__self__, "ip_ids", ip_ids)
560
- if ipv6_address is not None:
561
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
562
- pulumi.log.warn("""ipv6_address is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
563
- if ipv6_address is not None:
564
- pulumi.set(__self__, "ipv6_address", ipv6_address)
565
- if ipv6_gateway is not None:
566
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
567
- pulumi.log.warn("""ipv6_gateway is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
568
- if ipv6_gateway is not None:
569
- pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
570
- if ipv6_prefix_length is not None:
571
- warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
572
- pulumi.log.warn("""ipv6_prefix_length is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
573
- if ipv6_prefix_length is not None:
574
- pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length)
575
602
  if name is not None:
576
603
  pulumi.set(__self__, "name", name)
577
604
  if organization_id is not None:
@@ -580,20 +607,14 @@ class _ServerState:
580
607
  pulumi.set(__self__, "placement_group_id", placement_group_id)
581
608
  if placement_group_policy_respected is not None:
582
609
  pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
583
- if private_ip is not None:
584
- warnings.warn("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""", DeprecationWarning)
585
- pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
586
- if private_ip is not None:
587
- pulumi.set(__self__, "private_ip", private_ip)
610
+ if private_ips is not None:
611
+ pulumi.set(__self__, "private_ips", private_ips)
588
612
  if private_networks is not None:
589
613
  pulumi.set(__self__, "private_networks", private_networks)
590
614
  if project_id is not None:
591
615
  pulumi.set(__self__, "project_id", project_id)
592
- if public_ip is not None:
593
- warnings.warn("""Use public_ips instead""", DeprecationWarning)
594
- pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""")
595
- if public_ip is not None:
596
- pulumi.set(__self__, "public_ip", public_ip)
616
+ if protected is not None:
617
+ pulumi.set(__self__, "protected", protected)
597
618
  if public_ips is not None:
598
619
  pulumi.set(__self__, "public_ips", public_ips)
599
620
  if replace_on_type_change is not None:
@@ -613,9 +634,9 @@ class _ServerState:
613
634
  if zone is not None:
614
635
  pulumi.set(__self__, "zone", zone)
615
636
 
616
- @property
637
+ @_builtins.property
617
638
  @pulumi.getter(name="additionalVolumeIds")
618
- def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
639
+ def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
619
640
  """
620
641
  The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
621
642
  attached to the server. Updates to this field will trigger a stop/start of the server.
@@ -627,75 +648,87 @@ class _ServerState:
627
648
  return pulumi.get(self, "additional_volume_ids")
628
649
 
629
650
  @additional_volume_ids.setter
630
- def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
651
+ def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
631
652
  pulumi.set(self, "additional_volume_ids", value)
632
653
 
633
- @property
654
+ @_builtins.property
655
+ @pulumi.getter(name="adminPasswordEncryptionSshKeyId")
656
+ def admin_password_encryption_ssh_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
657
+ """
658
+ The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
659
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
660
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
661
+ """
662
+ return pulumi.get(self, "admin_password_encryption_ssh_key_id")
663
+
664
+ @admin_password_encryption_ssh_key_id.setter
665
+ def admin_password_encryption_ssh_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
666
+ pulumi.set(self, "admin_password_encryption_ssh_key_id", value)
667
+
668
+ @_builtins.property
634
669
  @pulumi.getter(name="bootType")
635
- def boot_type(self) -> Optional[pulumi.Input[str]]:
670
+ def boot_type(self) -> Optional[pulumi.Input[_builtins.str]]:
636
671
  """
637
672
  The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
638
673
  """
639
674
  return pulumi.get(self, "boot_type")
640
675
 
641
676
  @boot_type.setter
642
- def boot_type(self, value: Optional[pulumi.Input[str]]):
677
+ def boot_type(self, value: Optional[pulumi.Input[_builtins.str]]):
643
678
  pulumi.set(self, "boot_type", value)
644
679
 
645
- @property
680
+ @_builtins.property
646
681
  @pulumi.getter(name="bootscriptId")
647
682
  @_utilities.deprecated("""bootscript is not supported anymore.""")
648
- def bootscript_id(self) -> Optional[pulumi.Input[str]]:
683
+ def bootscript_id(self) -> Optional[pulumi.Input[_builtins.str]]:
649
684
  """
650
685
  ID of the target bootscript (set boot_type to bootscript)
651
686
  """
652
687
  return pulumi.get(self, "bootscript_id")
653
688
 
654
689
  @bootscript_id.setter
655
- def bootscript_id(self, value: Optional[pulumi.Input[str]]):
690
+ def bootscript_id(self, value: Optional[pulumi.Input[_builtins.str]]):
656
691
  pulumi.set(self, "bootscript_id", value)
657
692
 
658
- @property
693
+ @_builtins.property
659
694
  @pulumi.getter(name="cloudInit")
660
- def cloud_init(self) -> Optional[pulumi.Input[str]]:
695
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
661
696
  """
662
697
  The cloud init script associated with this server
663
698
  """
664
699
  return pulumi.get(self, "cloud_init")
665
700
 
666
701
  @cloud_init.setter
667
- def cloud_init(self, value: Optional[pulumi.Input[str]]):
702
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
668
703
  pulumi.set(self, "cloud_init", value)
669
704
 
670
- @property
705
+ @_builtins.property
671
706
  @pulumi.getter(name="enableDynamicIp")
672
- def enable_dynamic_ip(self) -> Optional[pulumi.Input[bool]]:
707
+ def enable_dynamic_ip(self) -> Optional[pulumi.Input[_builtins.bool]]:
673
708
  """
674
709
  If true a dynamic IP will be attached to the server.
675
710
  """
676
711
  return pulumi.get(self, "enable_dynamic_ip")
677
712
 
678
713
  @enable_dynamic_ip.setter
679
- def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]):
714
+ def enable_dynamic_ip(self, value: Optional[pulumi.Input[_builtins.bool]]):
680
715
  pulumi.set(self, "enable_dynamic_ip", value)
681
716
 
682
- @property
683
- @pulumi.getter(name="enableIpv6")
684
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
685
- def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
717
+ @_builtins.property
718
+ @pulumi.getter
719
+ def filesystems(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]:
686
720
  """
687
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
688
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
721
+ List of filesystems attached to the server.
689
722
  """
690
- return pulumi.get(self, "enable_ipv6")
723
+ return pulumi.get(self, "filesystems")
691
724
 
692
- @enable_ipv6.setter
693
- def enable_ipv6(self, value: Optional[pulumi.Input[bool]]):
694
- pulumi.set(self, "enable_ipv6", value)
725
+ @filesystems.setter
726
+ def filesystems(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerFilesystemArgs']]]]):
727
+ pulumi.set(self, "filesystems", value)
695
728
 
696
- @property
729
+ @_builtins.property
697
730
  @pulumi.getter
698
- def image(self) -> Optional[pulumi.Input[str]]:
731
+ def image(self) -> Optional[pulumi.Input[_builtins.str]]:
699
732
  """
700
733
  The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
701
734
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -703,28 +736,30 @@ class _ServerState:
703
736
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
704
737
 
705
738
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
739
+
740
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
706
741
  """
707
742
  return pulumi.get(self, "image")
708
743
 
709
744
  @image.setter
710
- def image(self, value: Optional[pulumi.Input[str]]):
745
+ def image(self, value: Optional[pulumi.Input[_builtins.str]]):
711
746
  pulumi.set(self, "image", value)
712
747
 
713
- @property
748
+ @_builtins.property
714
749
  @pulumi.getter(name="ipId")
715
- def ip_id(self) -> Optional[pulumi.Input[str]]:
750
+ def ip_id(self) -> Optional[pulumi.Input[_builtins.str]]:
716
751
  """
717
752
  The ID of the reserved IP that is attached to the server.
718
753
  """
719
754
  return pulumi.get(self, "ip_id")
720
755
 
721
756
  @ip_id.setter
722
- def ip_id(self, value: Optional[pulumi.Input[str]]):
757
+ def ip_id(self, value: Optional[pulumi.Input[_builtins.str]]):
723
758
  pulumi.set(self, "ip_id", value)
724
759
 
725
- @property
760
+ @_builtins.property
726
761
  @pulumi.getter(name="ipIds")
727
- def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
762
+ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
728
763
  """
729
764
  List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
730
765
 
@@ -733,116 +768,72 @@ class _ServerState:
733
768
  return pulumi.get(self, "ip_ids")
734
769
 
735
770
  @ip_ids.setter
736
- def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
771
+ def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
737
772
  pulumi.set(self, "ip_ids", value)
738
773
 
739
- @property
740
- @pulumi.getter(name="ipv6Address")
741
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
742
- def ipv6_address(self) -> Optional[pulumi.Input[str]]:
743
- """
744
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
745
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
746
- """
747
- return pulumi.get(self, "ipv6_address")
748
-
749
- @ipv6_address.setter
750
- def ipv6_address(self, value: Optional[pulumi.Input[str]]):
751
- pulumi.set(self, "ipv6_address", value)
752
-
753
- @property
754
- @pulumi.getter(name="ipv6Gateway")
755
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
756
- def ipv6_gateway(self) -> Optional[pulumi.Input[str]]:
757
- """
758
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
759
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
760
- """
761
- return pulumi.get(self, "ipv6_gateway")
762
-
763
- @ipv6_gateway.setter
764
- def ipv6_gateway(self, value: Optional[pulumi.Input[str]]):
765
- pulumi.set(self, "ipv6_gateway", value)
766
-
767
- @property
768
- @pulumi.getter(name="ipv6PrefixLength")
769
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
770
- def ipv6_prefix_length(self) -> Optional[pulumi.Input[int]]:
771
- """
772
- The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
773
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
774
- """
775
- return pulumi.get(self, "ipv6_prefix_length")
776
-
777
- @ipv6_prefix_length.setter
778
- def ipv6_prefix_length(self, value: Optional[pulumi.Input[int]]):
779
- pulumi.set(self, "ipv6_prefix_length", value)
780
-
781
- @property
774
+ @_builtins.property
782
775
  @pulumi.getter
783
- def name(self) -> Optional[pulumi.Input[str]]:
776
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
784
777
  """
785
778
  The name of the server.
786
779
  """
787
780
  return pulumi.get(self, "name")
788
781
 
789
782
  @name.setter
790
- def name(self, value: Optional[pulumi.Input[str]]):
783
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
791
784
  pulumi.set(self, "name", value)
792
785
 
793
- @property
786
+ @_builtins.property
794
787
  @pulumi.getter(name="organizationId")
795
- def organization_id(self) -> Optional[pulumi.Input[str]]:
788
+ def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
796
789
  """
797
790
  The organization ID the server is associated with.
798
791
  """
799
792
  return pulumi.get(self, "organization_id")
800
793
 
801
794
  @organization_id.setter
802
- def organization_id(self, value: Optional[pulumi.Input[str]]):
795
+ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
803
796
  pulumi.set(self, "organization_id", value)
804
797
 
805
- @property
798
+ @_builtins.property
806
799
  @pulumi.getter(name="placementGroupId")
807
- def placement_group_id(self) -> Optional[pulumi.Input[str]]:
800
+ def placement_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
808
801
  """
809
- The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
810
-
802
+ The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
811
803
 
812
804
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
813
805
  """
814
806
  return pulumi.get(self, "placement_group_id")
815
807
 
816
808
  @placement_group_id.setter
817
- def placement_group_id(self, value: Optional[pulumi.Input[str]]):
809
+ def placement_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
818
810
  pulumi.set(self, "placement_group_id", value)
819
811
 
820
- @property
812
+ @_builtins.property
821
813
  @pulumi.getter(name="placementGroupPolicyRespected")
822
- def placement_group_policy_respected(self) -> Optional[pulumi.Input[bool]]:
814
+ def placement_group_policy_respected(self) -> Optional[pulumi.Input[_builtins.bool]]:
823
815
  """
824
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
816
+ (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
825
817
  """
826
818
  return pulumi.get(self, "placement_group_policy_respected")
827
819
 
828
820
  @placement_group_policy_respected.setter
829
- def placement_group_policy_respected(self, value: Optional[pulumi.Input[bool]]):
821
+ def placement_group_policy_respected(self, value: Optional[pulumi.Input[_builtins.bool]]):
830
822
  pulumi.set(self, "placement_group_policy_respected", value)
831
823
 
832
- @property
833
- @pulumi.getter(name="privateIp")
834
- @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
835
- def private_ip(self) -> Optional[pulumi.Input[str]]:
824
+ @_builtins.property
825
+ @pulumi.getter(name="privateIps")
826
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]:
836
827
  """
837
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
828
+ The list of private IPv4 and IPv6 addresses associated with the resource.
838
829
  """
839
- return pulumi.get(self, "private_ip")
830
+ return pulumi.get(self, "private_ips")
840
831
 
841
- @private_ip.setter
842
- def private_ip(self, value: Optional[pulumi.Input[str]]):
843
- pulumi.set(self, "private_ip", value)
832
+ @private_ips.setter
833
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateIpArgs']]]]):
834
+ pulumi.set(self, "private_ips", value)
844
835
 
845
- @property
836
+ @_builtins.property
846
837
  @pulumi.getter(name="privateNetworks")
847
838
  def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
848
839
  """
@@ -855,32 +846,31 @@ class _ServerState:
855
846
  def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
856
847
  pulumi.set(self, "private_networks", value)
857
848
 
858
- @property
849
+ @_builtins.property
859
850
  @pulumi.getter(name="projectId")
860
- def project_id(self) -> Optional[pulumi.Input[str]]:
851
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
861
852
  """
862
853
  `project_id`) The ID of the project the server is associated with.
863
854
  """
864
855
  return pulumi.get(self, "project_id")
865
856
 
866
857
  @project_id.setter
867
- def project_id(self, value: Optional[pulumi.Input[str]]):
858
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
868
859
  pulumi.set(self, "project_id", value)
869
860
 
870
- @property
871
- @pulumi.getter(name="publicIp")
872
- @_utilities.deprecated("""Use public_ips instead""")
873
- def public_ip(self) -> Optional[pulumi.Input[str]]:
861
+ @_builtins.property
862
+ @pulumi.getter
863
+ def protected(self) -> Optional[pulumi.Input[_builtins.bool]]:
874
864
  """
875
- The public IP address of the server (Deprecated use `public_ips` instead).
865
+ Set to true to activate server protection option.
876
866
  """
877
- return pulumi.get(self, "public_ip")
867
+ return pulumi.get(self, "protected")
878
868
 
879
- @public_ip.setter
880
- def public_ip(self, value: Optional[pulumi.Input[str]]):
881
- pulumi.set(self, "public_ip", value)
869
+ @protected.setter
870
+ def protected(self, value: Optional[pulumi.Input[_builtins.bool]]):
871
+ pulumi.set(self, "protected", value)
882
872
 
883
- @property
873
+ @_builtins.property
884
874
  @pulumi.getter(name="publicIps")
885
875
  def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
886
876
  """
@@ -892,19 +882,19 @@ class _ServerState:
892
882
  def public_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]):
893
883
  pulumi.set(self, "public_ips", value)
894
884
 
895
- @property
885
+ @_builtins.property
896
886
  @pulumi.getter(name="replaceOnTypeChange")
897
- def replace_on_type_change(self) -> Optional[pulumi.Input[bool]]:
887
+ def replace_on_type_change(self) -> Optional[pulumi.Input[_builtins.bool]]:
898
888
  """
899
889
  If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
900
890
  """
901
891
  return pulumi.get(self, "replace_on_type_change")
902
892
 
903
893
  @replace_on_type_change.setter
904
- def replace_on_type_change(self, value: Optional[pulumi.Input[bool]]):
894
+ def replace_on_type_change(self, value: Optional[pulumi.Input[_builtins.bool]]):
905
895
  pulumi.set(self, "replace_on_type_change", value)
906
896
 
907
- @property
897
+ @_builtins.property
908
898
  @pulumi.getter(name="rootVolume")
909
899
  def root_volume(self) -> Optional[pulumi.Input['ServerRootVolumeArgs']]:
910
900
  """
@@ -916,45 +906,45 @@ class _ServerState:
916
906
  def root_volume(self, value: Optional[pulumi.Input['ServerRootVolumeArgs']]):
917
907
  pulumi.set(self, "root_volume", value)
918
908
 
919
- @property
909
+ @_builtins.property
920
910
  @pulumi.getter(name="securityGroupId")
921
- def security_group_id(self) -> Optional[pulumi.Input[str]]:
911
+ def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
922
912
  """
923
913
  The security group the server is attached to
924
914
  """
925
915
  return pulumi.get(self, "security_group_id")
926
916
 
927
917
  @security_group_id.setter
928
- def security_group_id(self, value: Optional[pulumi.Input[str]]):
918
+ def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
929
919
  pulumi.set(self, "security_group_id", value)
930
920
 
931
- @property
921
+ @_builtins.property
932
922
  @pulumi.getter
933
- def state(self) -> Optional[pulumi.Input[str]]:
923
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
934
924
  """
935
925
  The state of the server. Possible values are: `started`, `stopped` or `standby`.
936
926
  """
937
927
  return pulumi.get(self, "state")
938
928
 
939
929
  @state.setter
940
- def state(self, value: Optional[pulumi.Input[str]]):
930
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
941
931
  pulumi.set(self, "state", value)
942
932
 
943
- @property
933
+ @_builtins.property
944
934
  @pulumi.getter
945
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
935
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
946
936
  """
947
937
  The tags associated with the server.
948
938
  """
949
939
  return pulumi.get(self, "tags")
950
940
 
951
941
  @tags.setter
952
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
942
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
953
943
  pulumi.set(self, "tags", value)
954
944
 
955
- @property
945
+ @_builtins.property
956
946
  @pulumi.getter
957
- def type(self) -> Optional[pulumi.Input[str]]:
947
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
958
948
  """
959
949
  The commercial type of the server.
960
950
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
@@ -966,12 +956,12 @@ class _ServerState:
966
956
  return pulumi.get(self, "type")
967
957
 
968
958
  @type.setter
969
- def type(self, value: Optional[pulumi.Input[str]]):
959
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
970
960
  pulumi.set(self, "type", value)
971
961
 
972
- @property
962
+ @_builtins.property
973
963
  @pulumi.getter(name="userData")
974
- def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
964
+ def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
975
965
  """
976
966
  The user data associated with the server.
977
967
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
@@ -983,49 +973,53 @@ class _ServerState:
983
973
  return pulumi.get(self, "user_data")
984
974
 
985
975
  @user_data.setter
986
- def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
976
+ def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
987
977
  pulumi.set(self, "user_data", value)
988
978
 
989
- @property
979
+ @_builtins.property
990
980
  @pulumi.getter
991
- def zone(self) -> Optional[pulumi.Input[str]]:
981
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
992
982
  """
993
983
  `zone`) The zone in which the server should be created.
994
984
  """
995
985
  return pulumi.get(self, "zone")
996
986
 
997
987
  @zone.setter
998
- def zone(self, value: Optional[pulumi.Input[str]]):
988
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
999
989
  pulumi.set(self, "zone", value)
1000
990
 
1001
991
 
992
+ @pulumi.type_token("scaleway:instance/server:Server")
1002
993
  class Server(pulumi.CustomResource):
1003
994
  @overload
1004
995
  def __init__(__self__,
1005
996
  resource_name: str,
1006
997
  opts: Optional[pulumi.ResourceOptions] = None,
1007
- additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1008
- boot_type: Optional[pulumi.Input[str]] = None,
1009
- bootscript_id: Optional[pulumi.Input[str]] = None,
1010
- cloud_init: Optional[pulumi.Input[str]] = None,
1011
- enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
1012
- enable_ipv6: Optional[pulumi.Input[bool]] = None,
1013
- image: Optional[pulumi.Input[str]] = None,
1014
- ip_id: Optional[pulumi.Input[str]] = None,
1015
- ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1016
- name: Optional[pulumi.Input[str]] = None,
1017
- placement_group_id: Optional[pulumi.Input[str]] = None,
998
+ additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
999
+ admin_password_encryption_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1000
+ boot_type: Optional[pulumi.Input[_builtins.str]] = None,
1001
+ bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1002
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1003
+ enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1004
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1005
+ image: Optional[pulumi.Input[_builtins.str]] = None,
1006
+ ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1007
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1008
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1009
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1010
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1018
1011
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1019
- project_id: Optional[pulumi.Input[str]] = None,
1012
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1013
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
1020
1014
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1021
- replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1015
+ replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
1022
1016
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
1023
- security_group_id: Optional[pulumi.Input[str]] = None,
1024
- state: Optional[pulumi.Input[str]] = None,
1025
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1026
- type: Optional[pulumi.Input[str]] = None,
1027
- user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1028
- zone: Optional[pulumi.Input[str]] = None,
1017
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1018
+ state: Optional[pulumi.Input[_builtins.str]] = None,
1019
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1020
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1021
+ user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1022
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
1029
1023
  __props__=None):
1030
1024
  """
1031
1025
  Creates and manages Scaleway compute Instances. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances).
@@ -1069,6 +1063,35 @@ class Server(pulumi.CustomResource):
1069
1063
  additional_volume_ids=[data.id])
1070
1064
  ```
1071
1065
 
1066
+ ### With filesystem
1067
+
1068
+ ```python
1069
+ import pulumi
1070
+ import pulumiverse_scaleway as scaleway
1071
+
1072
+ volume = scaleway.block.Volume("volume",
1073
+ iops=15000,
1074
+ size_in_gb=15)
1075
+ terraform_instance_filesystem = scaleway.FileFilesystem("terraform_instance_filesystem",
1076
+ name="filesystem-instance-terraform",
1077
+ size_in_gb=100)
1078
+ base = scaleway.instance.Server("base",
1079
+ type="POP2-HM-2C-16G",
1080
+ state="started",
1081
+ tags=[
1082
+ "terraform-test",
1083
+ "scaleway_instance_server",
1084
+ "state",
1085
+ ],
1086
+ root_volume={
1087
+ "volume_type": "sbs_volume",
1088
+ "volume_id": volume.id,
1089
+ },
1090
+ filesystems=[{
1091
+ "filesystem_id": terraform_instance_filesystem.id,
1092
+ }])
1093
+ ```
1094
+
1072
1095
  ### With a reserved IP
1073
1096
 
1074
1097
  ```python
@@ -1210,55 +1233,60 @@ class Server(pulumi.CustomResource):
1210
1233
 
1211
1234
  :param str resource_name: The name of the resource.
1212
1235
  :param pulumi.ResourceOptions opts: Options for the resource.
1213
- :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
1236
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
1214
1237
  attached to the server. Updates to this field will trigger a stop/start of the server.
1215
1238
 
1216
1239
  > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
1217
1240
 
1218
1241
  > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
1219
- :param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1220
- :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1221
- :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1222
- :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1223
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1224
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1225
- :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1242
+ :param pulumi.Input[_builtins.str] admin_password_encryption_ssh_key_id: The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
1243
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
1244
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
1245
+ :param pulumi.Input[_builtins.str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1246
+ :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1247
+ :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
1248
+ :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1249
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]] filesystems: List of filesystems attached to the server.
1250
+ :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1226
1251
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
1227
1252
 
1228
1253
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
1229
1254
 
1230
1255
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
1231
- :param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
1232
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1233
1256
 
1234
- > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
1235
- :param pulumi.Input[str] name: The name of the server.
1236
- :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
1257
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
1258
+ :param pulumi.Input[_builtins.str] ip_id: The ID of the reserved IP that is attached to the server.
1259
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1237
1260
 
1261
+ > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
1262
+ :param pulumi.Input[_builtins.str] name: The name of the server.
1263
+ :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
1238
1264
 
1239
1265
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1266
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1240
1267
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1241
1268
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1242
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1269
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
1270
+ :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
1243
1271
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1244
- :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1272
+ :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1245
1273
  :param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
1246
- :param pulumi.Input[str] security_group_id: The security group the server is attached to
1247
- :param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1248
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
1249
- :param pulumi.Input[str] type: The commercial type of the server.
1274
+ :param pulumi.Input[_builtins.str] security_group_id: The security group the server is attached to
1275
+ :param pulumi.Input[_builtins.str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1276
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the server.
1277
+ :param pulumi.Input[_builtins.str] type: The commercial type of the server.
1250
1278
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
1251
1279
  Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
1252
1280
  Use `replace_on_type_change` to trigger replacement instead of migration.
1253
1281
 
1254
1282
  > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
1255
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
1283
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] user_data: The user data associated with the server.
1256
1284
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
1257
1285
  You can define values using:
1258
1286
  - string
1259
1287
  - UTF-8 encoded file content using file
1260
1288
  - Binary files using filebase64.
1261
- :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
1289
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
1262
1290
  """
1263
1291
  ...
1264
1292
  @overload
@@ -1308,6 +1336,35 @@ class Server(pulumi.CustomResource):
1308
1336
  additional_volume_ids=[data.id])
1309
1337
  ```
1310
1338
 
1339
+ ### With filesystem
1340
+
1341
+ ```python
1342
+ import pulumi
1343
+ import pulumiverse_scaleway as scaleway
1344
+
1345
+ volume = scaleway.block.Volume("volume",
1346
+ iops=15000,
1347
+ size_in_gb=15)
1348
+ terraform_instance_filesystem = scaleway.FileFilesystem("terraform_instance_filesystem",
1349
+ name="filesystem-instance-terraform",
1350
+ size_in_gb=100)
1351
+ base = scaleway.instance.Server("base",
1352
+ type="POP2-HM-2C-16G",
1353
+ state="started",
1354
+ tags=[
1355
+ "terraform-test",
1356
+ "scaleway_instance_server",
1357
+ "state",
1358
+ ],
1359
+ root_volume={
1360
+ "volume_type": "sbs_volume",
1361
+ "volume_id": volume.id,
1362
+ },
1363
+ filesystems=[{
1364
+ "filesystem_id": terraform_instance_filesystem.id,
1365
+ }])
1366
+ ```
1367
+
1311
1368
  ### With a reserved IP
1312
1369
 
1313
1370
  ```python
@@ -1462,28 +1519,31 @@ class Server(pulumi.CustomResource):
1462
1519
  def _internal_init(__self__,
1463
1520
  resource_name: str,
1464
1521
  opts: Optional[pulumi.ResourceOptions] = None,
1465
- additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1466
- boot_type: Optional[pulumi.Input[str]] = None,
1467
- bootscript_id: Optional[pulumi.Input[str]] = None,
1468
- cloud_init: Optional[pulumi.Input[str]] = None,
1469
- enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
1470
- enable_ipv6: Optional[pulumi.Input[bool]] = None,
1471
- image: Optional[pulumi.Input[str]] = None,
1472
- ip_id: Optional[pulumi.Input[str]] = None,
1473
- ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1474
- name: Optional[pulumi.Input[str]] = None,
1475
- placement_group_id: Optional[pulumi.Input[str]] = None,
1522
+ additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1523
+ admin_password_encryption_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1524
+ boot_type: Optional[pulumi.Input[_builtins.str]] = None,
1525
+ bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1526
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1527
+ enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1528
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1529
+ image: Optional[pulumi.Input[_builtins.str]] = None,
1530
+ ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1531
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1532
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1533
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1534
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1476
1535
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1477
- project_id: Optional[pulumi.Input[str]] = None,
1536
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1537
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
1478
1538
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1479
- replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1539
+ replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
1480
1540
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
1481
- security_group_id: Optional[pulumi.Input[str]] = None,
1482
- state: Optional[pulumi.Input[str]] = None,
1483
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1484
- type: Optional[pulumi.Input[str]] = None,
1485
- user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1486
- zone: Optional[pulumi.Input[str]] = None,
1541
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1542
+ state: Optional[pulumi.Input[_builtins.str]] = None,
1543
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1544
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1545
+ user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1546
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
1487
1547
  __props__=None):
1488
1548
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1489
1549
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1494,18 +1554,21 @@ class Server(pulumi.CustomResource):
1494
1554
  __props__ = ServerArgs.__new__(ServerArgs)
1495
1555
 
1496
1556
  __props__.__dict__["additional_volume_ids"] = additional_volume_ids
1557
+ __props__.__dict__["admin_password_encryption_ssh_key_id"] = admin_password_encryption_ssh_key_id
1497
1558
  __props__.__dict__["boot_type"] = boot_type
1498
1559
  __props__.__dict__["bootscript_id"] = bootscript_id
1499
1560
  __props__.__dict__["cloud_init"] = cloud_init
1500
1561
  __props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
1501
- __props__.__dict__["enable_ipv6"] = enable_ipv6
1562
+ __props__.__dict__["filesystems"] = filesystems
1502
1563
  __props__.__dict__["image"] = image
1503
1564
  __props__.__dict__["ip_id"] = ip_id
1504
1565
  __props__.__dict__["ip_ids"] = ip_ids
1505
1566
  __props__.__dict__["name"] = name
1506
1567
  __props__.__dict__["placement_group_id"] = placement_group_id
1568
+ __props__.__dict__["private_ips"] = private_ips
1507
1569
  __props__.__dict__["private_networks"] = private_networks
1508
1570
  __props__.__dict__["project_id"] = project_id
1571
+ __props__.__dict__["protected"] = protected
1509
1572
  __props__.__dict__["public_ips"] = public_ips
1510
1573
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
1511
1574
  __props__.__dict__["root_volume"] = root_volume
@@ -1517,13 +1580,8 @@ class Server(pulumi.CustomResource):
1517
1580
  __props__.__dict__["type"] = type
1518
1581
  __props__.__dict__["user_data"] = user_data
1519
1582
  __props__.__dict__["zone"] = zone
1520
- __props__.__dict__["ipv6_address"] = None
1521
- __props__.__dict__["ipv6_gateway"] = None
1522
- __props__.__dict__["ipv6_prefix_length"] = None
1523
1583
  __props__.__dict__["organization_id"] = None
1524
1584
  __props__.__dict__["placement_group_policy_respected"] = None
1525
- __props__.__dict__["private_ip"] = None
1526
- __props__.__dict__["public_ip"] = None
1527
1585
  alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instanceServer:InstanceServer")])
1528
1586
  opts = pulumi.ResourceOptions.merge(opts, alias_opts)
1529
1587
  super(Server, __self__).__init__(
@@ -1536,35 +1594,33 @@ class Server(pulumi.CustomResource):
1536
1594
  def get(resource_name: str,
1537
1595
  id: pulumi.Input[str],
1538
1596
  opts: Optional[pulumi.ResourceOptions] = None,
1539
- additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1540
- boot_type: Optional[pulumi.Input[str]] = None,
1541
- bootscript_id: Optional[pulumi.Input[str]] = None,
1542
- cloud_init: Optional[pulumi.Input[str]] = None,
1543
- enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
1544
- enable_ipv6: Optional[pulumi.Input[bool]] = None,
1545
- image: Optional[pulumi.Input[str]] = None,
1546
- ip_id: Optional[pulumi.Input[str]] = None,
1547
- ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1548
- ipv6_address: Optional[pulumi.Input[str]] = None,
1549
- ipv6_gateway: Optional[pulumi.Input[str]] = None,
1550
- ipv6_prefix_length: Optional[pulumi.Input[int]] = None,
1551
- name: Optional[pulumi.Input[str]] = None,
1552
- organization_id: Optional[pulumi.Input[str]] = None,
1553
- placement_group_id: Optional[pulumi.Input[str]] = None,
1554
- placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
1555
- private_ip: Optional[pulumi.Input[str]] = None,
1597
+ additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1598
+ admin_password_encryption_ssh_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1599
+ boot_type: Optional[pulumi.Input[_builtins.str]] = None,
1600
+ bootscript_id: Optional[pulumi.Input[_builtins.str]] = None,
1601
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
1602
+ enable_dynamic_ip: Optional[pulumi.Input[_builtins.bool]] = None,
1603
+ filesystems: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]]] = None,
1604
+ image: Optional[pulumi.Input[_builtins.str]] = None,
1605
+ ip_id: Optional[pulumi.Input[_builtins.str]] = None,
1606
+ ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1607
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1608
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
1609
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1610
+ placement_group_policy_respected: Optional[pulumi.Input[_builtins.bool]] = None,
1611
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]]] = None,
1556
1612
  private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
1557
- project_id: Optional[pulumi.Input[str]] = None,
1558
- public_ip: Optional[pulumi.Input[str]] = None,
1613
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1614
+ protected: Optional[pulumi.Input[_builtins.bool]] = None,
1559
1615
  public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
1560
- replace_on_type_change: Optional[pulumi.Input[bool]] = None,
1616
+ replace_on_type_change: Optional[pulumi.Input[_builtins.bool]] = None,
1561
1617
  root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
1562
- security_group_id: Optional[pulumi.Input[str]] = None,
1563
- state: Optional[pulumi.Input[str]] = None,
1564
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1565
- type: Optional[pulumi.Input[str]] = None,
1566
- user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1567
- zone: Optional[pulumi.Input[str]] = None) -> 'Server':
1618
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
1619
+ state: Optional[pulumi.Input[_builtins.str]] = None,
1620
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1621
+ type: Optional[pulumi.Input[_builtins.str]] = None,
1622
+ user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1623
+ zone: Optional[pulumi.Input[_builtins.str]] = None) -> 'Server':
1568
1624
  """
1569
1625
  Get an existing Server resource's state with the given name, id, and optional extra
1570
1626
  properties used to qualify the lookup.
@@ -1572,90 +1628,85 @@ class Server(pulumi.CustomResource):
1572
1628
  :param str resource_name: The unique name of the resulting resource.
1573
1629
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1574
1630
  :param pulumi.ResourceOptions opts: Options for the resource.
1575
- :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
1631
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
1576
1632
  attached to the server. Updates to this field will trigger a stop/start of the server.
1577
1633
 
1578
1634
  > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
1579
1635
 
1580
1636
  > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
1581
- :param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1582
- :param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1583
- :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
1584
- :param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1585
- :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1586
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1587
- :param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1637
+ :param pulumi.Input[_builtins.str] admin_password_encryption_ssh_key_id: The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
1638
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
1639
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
1640
+ :param pulumi.Input[_builtins.str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1641
+ :param pulumi.Input[_builtins.str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
1642
+ :param pulumi.Input[_builtins.str] cloud_init: The cloud init script associated with this server
1643
+ :param pulumi.Input[_builtins.bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
1644
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerFilesystemArgs', 'ServerFilesystemArgsDict']]]] filesystems: List of filesystems attached to the server.
1645
+ :param pulumi.Input[_builtins.str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1588
1646
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
1589
1647
 
1590
1648
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
1591
1649
 
1592
1650
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
1593
- :param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
1594
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1595
1651
 
1596
- > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
1597
- :param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1598
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1599
- :param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1600
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1601
- :param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1602
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1603
- :param pulumi.Input[str] name: The name of the server.
1604
- :param pulumi.Input[str] organization_id: The organization ID the server is associated with.
1605
- :param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
1652
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
1653
+ :param pulumi.Input[_builtins.str] ip_id: The ID of the reserved IP that is attached to the server.
1654
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1606
1655
 
1656
+ > `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
1657
+ :param pulumi.Input[_builtins.str] name: The name of the server.
1658
+ :param pulumi.Input[_builtins.str] organization_id: The organization ID the server is associated with.
1659
+ :param pulumi.Input[_builtins.str] placement_group_id: The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
1607
1660
 
1608
1661
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1609
- :param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1610
- :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1662
+ :param pulumi.Input[_builtins.bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
1663
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateIpArgs', 'ServerPrivateIpArgsDict']]]] private_ips: The list of private IPv4 and IPv6 addresses associated with the resource.
1611
1664
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
1612
1665
  Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
1613
- :param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
1614
- :param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
1666
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the project the server is associated with.
1667
+ :param pulumi.Input[_builtins.bool] protected: Set to true to activate server protection option.
1615
1668
  :param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
1616
- :param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1669
+ :param pulumi.Input[_builtins.bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1617
1670
  :param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
1618
- :param pulumi.Input[str] security_group_id: The security group the server is attached to
1619
- :param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1620
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
1621
- :param pulumi.Input[str] type: The commercial type of the server.
1671
+ :param pulumi.Input[_builtins.str] security_group_id: The security group the server is attached to
1672
+ :param pulumi.Input[_builtins.str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
1673
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the server.
1674
+ :param pulumi.Input[_builtins.str] type: The commercial type of the server.
1622
1675
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
1623
1676
  Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
1624
1677
  Use `replace_on_type_change` to trigger replacement instead of migration.
1625
1678
 
1626
1679
  > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
1627
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
1680
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] user_data: The user data associated with the server.
1628
1681
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
1629
1682
  You can define values using:
1630
1683
  - string
1631
1684
  - UTF-8 encoded file content using file
1632
1685
  - Binary files using filebase64.
1633
- :param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
1686
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the server should be created.
1634
1687
  """
1635
1688
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1636
1689
 
1637
1690
  __props__ = _ServerState.__new__(_ServerState)
1638
1691
 
1639
1692
  __props__.__dict__["additional_volume_ids"] = additional_volume_ids
1693
+ __props__.__dict__["admin_password_encryption_ssh_key_id"] = admin_password_encryption_ssh_key_id
1640
1694
  __props__.__dict__["boot_type"] = boot_type
1641
1695
  __props__.__dict__["bootscript_id"] = bootscript_id
1642
1696
  __props__.__dict__["cloud_init"] = cloud_init
1643
1697
  __props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
1644
- __props__.__dict__["enable_ipv6"] = enable_ipv6
1698
+ __props__.__dict__["filesystems"] = filesystems
1645
1699
  __props__.__dict__["image"] = image
1646
1700
  __props__.__dict__["ip_id"] = ip_id
1647
1701
  __props__.__dict__["ip_ids"] = ip_ids
1648
- __props__.__dict__["ipv6_address"] = ipv6_address
1649
- __props__.__dict__["ipv6_gateway"] = ipv6_gateway
1650
- __props__.__dict__["ipv6_prefix_length"] = ipv6_prefix_length
1651
1702
  __props__.__dict__["name"] = name
1652
1703
  __props__.__dict__["organization_id"] = organization_id
1653
1704
  __props__.__dict__["placement_group_id"] = placement_group_id
1654
1705
  __props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
1655
- __props__.__dict__["private_ip"] = private_ip
1706
+ __props__.__dict__["private_ips"] = private_ips
1656
1707
  __props__.__dict__["private_networks"] = private_networks
1657
1708
  __props__.__dict__["project_id"] = project_id
1658
- __props__.__dict__["public_ip"] = public_ip
1709
+ __props__.__dict__["protected"] = protected
1659
1710
  __props__.__dict__["public_ips"] = public_ips
1660
1711
  __props__.__dict__["replace_on_type_change"] = replace_on_type_change
1661
1712
  __props__.__dict__["root_volume"] = root_volume
@@ -1667,9 +1718,9 @@ class Server(pulumi.CustomResource):
1667
1718
  __props__.__dict__["zone"] = zone
1668
1719
  return Server(resource_name, opts=opts, __props__=__props__)
1669
1720
 
1670
- @property
1721
+ @_builtins.property
1671
1722
  @pulumi.getter(name="additionalVolumeIds")
1672
- def additional_volume_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1723
+ def additional_volume_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1673
1724
  """
1674
1725
  The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
1675
1726
  attached to the server. Updates to this field will trigger a stop/start of the server.
@@ -1680,52 +1731,60 @@ class Server(pulumi.CustomResource):
1680
1731
  """
1681
1732
  return pulumi.get(self, "additional_volume_ids")
1682
1733
 
1683
- @property
1734
+ @_builtins.property
1735
+ @pulumi.getter(name="adminPasswordEncryptionSshKeyId")
1736
+ def admin_password_encryption_ssh_key_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1737
+ """
1738
+ The ID of the SSH RSA key that will be used to encrypt the initial admin password for OS requiring it.
1739
+ Mandatory for Windows OS. The public_key value of this key is used to encrypt the admin password.
1740
+ When set to an empty string, it resets this value and admin_password_encrypted_value to an empty string so a new password may be generated.
1741
+ """
1742
+ return pulumi.get(self, "admin_password_encryption_ssh_key_id")
1743
+
1744
+ @_builtins.property
1684
1745
  @pulumi.getter(name="bootType")
1685
- def boot_type(self) -> pulumi.Output[Optional[str]]:
1746
+ def boot_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1686
1747
  """
1687
1748
  The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
1688
1749
  """
1689
1750
  return pulumi.get(self, "boot_type")
1690
1751
 
1691
- @property
1752
+ @_builtins.property
1692
1753
  @pulumi.getter(name="bootscriptId")
1693
1754
  @_utilities.deprecated("""bootscript is not supported anymore.""")
1694
- def bootscript_id(self) -> pulumi.Output[str]:
1755
+ def bootscript_id(self) -> pulumi.Output[_builtins.str]:
1695
1756
  """
1696
1757
  ID of the target bootscript (set boot_type to bootscript)
1697
1758
  """
1698
1759
  return pulumi.get(self, "bootscript_id")
1699
1760
 
1700
- @property
1761
+ @_builtins.property
1701
1762
  @pulumi.getter(name="cloudInit")
1702
- def cloud_init(self) -> pulumi.Output[str]:
1763
+ def cloud_init(self) -> pulumi.Output[_builtins.str]:
1703
1764
  """
1704
1765
  The cloud init script associated with this server
1705
1766
  """
1706
1767
  return pulumi.get(self, "cloud_init")
1707
1768
 
1708
- @property
1769
+ @_builtins.property
1709
1770
  @pulumi.getter(name="enableDynamicIp")
1710
- def enable_dynamic_ip(self) -> pulumi.Output[Optional[bool]]:
1771
+ def enable_dynamic_ip(self) -> pulumi.Output[Optional[_builtins.bool]]:
1711
1772
  """
1712
1773
  If true a dynamic IP will be attached to the server.
1713
1774
  """
1714
1775
  return pulumi.get(self, "enable_dynamic_ip")
1715
1776
 
1716
- @property
1717
- @pulumi.getter(name="enableIpv6")
1718
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1719
- def enable_ipv6(self) -> pulumi.Output[Optional[bool]]:
1777
+ @_builtins.property
1778
+ @pulumi.getter
1779
+ def filesystems(self) -> pulumi.Output[Sequence['outputs.ServerFilesystem']]:
1720
1780
  """
1721
- Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
1722
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1781
+ List of filesystems attached to the server.
1723
1782
  """
1724
- return pulumi.get(self, "enable_ipv6")
1783
+ return pulumi.get(self, "filesystems")
1725
1784
 
1726
- @property
1785
+ @_builtins.property
1727
1786
  @pulumi.getter
1728
- def image(self) -> pulumi.Output[Optional[str]]:
1787
+ def image(self) -> pulumi.Output[Optional[_builtins.str]]:
1729
1788
  """
1730
1789
  The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
1731
1790
  to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
@@ -1733,20 +1792,22 @@ class Server(pulumi.CustomResource):
1733
1792
  You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
1734
1793
 
1735
1794
  To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
1795
+
1796
+ To obtain a local-image UUID from a label, please use: ```scw marketplace local-image list image-label=<LABEL>```
1736
1797
  """
1737
1798
  return pulumi.get(self, "image")
1738
1799
 
1739
- @property
1800
+ @_builtins.property
1740
1801
  @pulumi.getter(name="ipId")
1741
- def ip_id(self) -> pulumi.Output[Optional[str]]:
1802
+ def ip_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1742
1803
  """
1743
1804
  The ID of the reserved IP that is attached to the server.
1744
1805
  """
1745
1806
  return pulumi.get(self, "ip_id")
1746
1807
 
1747
- @property
1808
+ @_builtins.property
1748
1809
  @pulumi.getter(name="ipIds")
1749
- def ip_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1810
+ def ip_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1750
1811
  """
1751
1812
  List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
1752
1813
 
@@ -1754,81 +1815,49 @@ class Server(pulumi.CustomResource):
1754
1815
  """
1755
1816
  return pulumi.get(self, "ip_ids")
1756
1817
 
1757
- @property
1758
- @pulumi.getter(name="ipv6Address")
1759
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1760
- def ipv6_address(self) -> pulumi.Output[str]:
1761
- """
1762
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
1763
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1764
- """
1765
- return pulumi.get(self, "ipv6_address")
1766
-
1767
- @property
1768
- @pulumi.getter(name="ipv6Gateway")
1769
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1770
- def ipv6_gateway(self) -> pulumi.Output[str]:
1771
- """
1772
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
1773
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1774
- """
1775
- return pulumi.get(self, "ipv6_gateway")
1776
-
1777
- @property
1778
- @pulumi.getter(name="ipv6PrefixLength")
1779
- @_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
1780
- def ipv6_prefix_length(self) -> pulumi.Output[int]:
1781
- """
1782
- The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
1783
- Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
1784
- """
1785
- return pulumi.get(self, "ipv6_prefix_length")
1786
-
1787
- @property
1818
+ @_builtins.property
1788
1819
  @pulumi.getter
1789
- def name(self) -> pulumi.Output[str]:
1820
+ def name(self) -> pulumi.Output[_builtins.str]:
1790
1821
  """
1791
1822
  The name of the server.
1792
1823
  """
1793
1824
  return pulumi.get(self, "name")
1794
1825
 
1795
- @property
1826
+ @_builtins.property
1796
1827
  @pulumi.getter(name="organizationId")
1797
- def organization_id(self) -> pulumi.Output[str]:
1828
+ def organization_id(self) -> pulumi.Output[_builtins.str]:
1798
1829
  """
1799
1830
  The organization ID the server is associated with.
1800
1831
  """
1801
1832
  return pulumi.get(self, "organization_id")
1802
1833
 
1803
- @property
1834
+ @_builtins.property
1804
1835
  @pulumi.getter(name="placementGroupId")
1805
- def placement_group_id(self) -> pulumi.Output[Optional[str]]:
1836
+ def placement_group_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1806
1837
  """
1807
- The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
1808
-
1838
+ The [placement group](<https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group> the server is attached to.
1809
1839
 
1810
1840
  > **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
1811
1841
  """
1812
1842
  return pulumi.get(self, "placement_group_id")
1813
1843
 
1814
- @property
1844
+ @_builtins.property
1815
1845
  @pulumi.getter(name="placementGroupPolicyRespected")
1816
- def placement_group_policy_respected(self) -> pulumi.Output[bool]:
1846
+ def placement_group_policy_respected(self) -> pulumi.Output[_builtins.bool]:
1817
1847
  """
1818
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
1848
+ (Deprecated) Always false, use instance_placement_group resource to known when the placement group policy is respected.
1819
1849
  """
1820
1850
  return pulumi.get(self, "placement_group_policy_respected")
1821
1851
 
1822
- @property
1823
- @pulumi.getter(name="privateIp")
1824
- @_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
1825
- def private_ip(self) -> pulumi.Output[str]:
1852
+ @_builtins.property
1853
+ @pulumi.getter(name="privateIps")
1854
+ def private_ips(self) -> pulumi.Output[Sequence['outputs.ServerPrivateIp']]:
1826
1855
  """
1827
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
1856
+ The list of private IPv4 and IPv6 addresses associated with the resource.
1828
1857
  """
1829
- return pulumi.get(self, "private_ip")
1858
+ return pulumi.get(self, "private_ips")
1830
1859
 
1831
- @property
1860
+ @_builtins.property
1832
1861
  @pulumi.getter(name="privateNetworks")
1833
1862
  def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]:
1834
1863
  """
@@ -1837,24 +1866,23 @@ class Server(pulumi.CustomResource):
1837
1866
  """
1838
1867
  return pulumi.get(self, "private_networks")
1839
1868
 
1840
- @property
1869
+ @_builtins.property
1841
1870
  @pulumi.getter(name="projectId")
1842
- def project_id(self) -> pulumi.Output[str]:
1871
+ def project_id(self) -> pulumi.Output[_builtins.str]:
1843
1872
  """
1844
1873
  `project_id`) The ID of the project the server is associated with.
1845
1874
  """
1846
1875
  return pulumi.get(self, "project_id")
1847
1876
 
1848
- @property
1849
- @pulumi.getter(name="publicIp")
1850
- @_utilities.deprecated("""Use public_ips instead""")
1851
- def public_ip(self) -> pulumi.Output[str]:
1877
+ @_builtins.property
1878
+ @pulumi.getter
1879
+ def protected(self) -> pulumi.Output[Optional[_builtins.bool]]:
1852
1880
  """
1853
- The public IP address of the server (Deprecated use `public_ips` instead).
1881
+ Set to true to activate server protection option.
1854
1882
  """
1855
- return pulumi.get(self, "public_ip")
1883
+ return pulumi.get(self, "protected")
1856
1884
 
1857
- @property
1885
+ @_builtins.property
1858
1886
  @pulumi.getter(name="publicIps")
1859
1887
  def public_ips(self) -> pulumi.Output[Sequence['outputs.ServerPublicIp']]:
1860
1888
  """
@@ -1862,15 +1890,15 @@ class Server(pulumi.CustomResource):
1862
1890
  """
1863
1891
  return pulumi.get(self, "public_ips")
1864
1892
 
1865
- @property
1893
+ @_builtins.property
1866
1894
  @pulumi.getter(name="replaceOnTypeChange")
1867
- def replace_on_type_change(self) -> pulumi.Output[Optional[bool]]:
1895
+ def replace_on_type_change(self) -> pulumi.Output[Optional[_builtins.bool]]:
1868
1896
  """
1869
1897
  If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
1870
1898
  """
1871
1899
  return pulumi.get(self, "replace_on_type_change")
1872
1900
 
1873
- @property
1901
+ @_builtins.property
1874
1902
  @pulumi.getter(name="rootVolume")
1875
1903
  def root_volume(self) -> pulumi.Output['outputs.ServerRootVolume']:
1876
1904
  """
@@ -1878,33 +1906,33 @@ class Server(pulumi.CustomResource):
1878
1906
  """
1879
1907
  return pulumi.get(self, "root_volume")
1880
1908
 
1881
- @property
1909
+ @_builtins.property
1882
1910
  @pulumi.getter(name="securityGroupId")
1883
- def security_group_id(self) -> pulumi.Output[str]:
1911
+ def security_group_id(self) -> pulumi.Output[_builtins.str]:
1884
1912
  """
1885
1913
  The security group the server is attached to
1886
1914
  """
1887
1915
  return pulumi.get(self, "security_group_id")
1888
1916
 
1889
- @property
1917
+ @_builtins.property
1890
1918
  @pulumi.getter
1891
- def state(self) -> pulumi.Output[Optional[str]]:
1919
+ def state(self) -> pulumi.Output[Optional[_builtins.str]]:
1892
1920
  """
1893
1921
  The state of the server. Possible values are: `started`, `stopped` or `standby`.
1894
1922
  """
1895
1923
  return pulumi.get(self, "state")
1896
1924
 
1897
- @property
1925
+ @_builtins.property
1898
1926
  @pulumi.getter
1899
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1927
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1900
1928
  """
1901
1929
  The tags associated with the server.
1902
1930
  """
1903
1931
  return pulumi.get(self, "tags")
1904
1932
 
1905
- @property
1933
+ @_builtins.property
1906
1934
  @pulumi.getter
1907
- def type(self) -> pulumi.Output[str]:
1935
+ def type(self) -> pulumi.Output[_builtins.str]:
1908
1936
  """
1909
1937
  The commercial type of the server.
1910
1938
  You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
@@ -1915,9 +1943,9 @@ class Server(pulumi.CustomResource):
1915
1943
  """
1916
1944
  return pulumi.get(self, "type")
1917
1945
 
1918
- @property
1946
+ @_builtins.property
1919
1947
  @pulumi.getter(name="userData")
1920
- def user_data(self) -> pulumi.Output[Mapping[str, str]]:
1948
+ def user_data(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
1921
1949
  """
1922
1950
  The user data associated with the server.
1923
1951
  Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
@@ -1928,9 +1956,9 @@ class Server(pulumi.CustomResource):
1928
1956
  """
1929
1957
  return pulumi.get(self, "user_data")
1930
1958
 
1931
- @property
1959
+ @_builtins.property
1932
1960
  @pulumi.getter
1933
- def zone(self) -> pulumi.Output[str]:
1961
+ def zone(self) -> pulumi.Output[Optional[_builtins.str]]:
1934
1962
  """
1935
1963
  `zone`) The zone in which the server should be created.
1936
1964
  """