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
@@ -0,0 +1,878 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['InstanceTemplateArgs', 'InstanceTemplate']
20
+
21
+ @pulumi.input_type
22
+ class InstanceTemplateArgs:
23
+ def __init__(__self__, *,
24
+ commercial_type: pulumi.Input[_builtins.str],
25
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
26
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
27
+ name: Optional[pulumi.Input[_builtins.str]] = None,
28
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
29
+ private_network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
30
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
31
+ public_ips_v4_count: Optional[pulumi.Input[_builtins.int]] = None,
32
+ public_ips_v6_count: Optional[pulumi.Input[_builtins.int]] = None,
33
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
34
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
+ volumes: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]] = None,
36
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
37
+ """
38
+ The set of arguments for constructing a InstanceTemplate resource.
39
+ :param pulumi.Input[_builtins.str] commercial_type: The name of Instance commercial type.
40
+ :param pulumi.Input[_builtins.str] cloud_init: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
41
+ :param pulumi.Input[_builtins.str] image_id: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
42
+ :param pulumi.Input[_builtins.str] name: The Instance group template.
43
+ :param pulumi.Input[_builtins.str] placement_group_id: The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
44
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_network_ids: The private Network IDs to attach to the new Instance.
45
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance template is associated with.
46
+ :param pulumi.Input[_builtins.int] public_ips_v4_count: The number of flexible IPv4 addresses to attach to the new Instance.
47
+ :param pulumi.Input[_builtins.int] public_ips_v6_count: The number of flexible IPv6 addresses to attach to the new Instance.
48
+ :param pulumi.Input[_builtins.str] security_group_id: The instance security group ID.
49
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Instance template.
50
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]] volumes: The template of Instance volume.
51
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance template exists.
52
+ """
53
+ pulumi.set(__self__, "commercial_type", commercial_type)
54
+ if cloud_init is not None:
55
+ pulumi.set(__self__, "cloud_init", cloud_init)
56
+ if image_id is not None:
57
+ pulumi.set(__self__, "image_id", image_id)
58
+ if name is not None:
59
+ pulumi.set(__self__, "name", name)
60
+ if placement_group_id is not None:
61
+ pulumi.set(__self__, "placement_group_id", placement_group_id)
62
+ if private_network_ids is not None:
63
+ pulumi.set(__self__, "private_network_ids", private_network_ids)
64
+ if project_id is not None:
65
+ pulumi.set(__self__, "project_id", project_id)
66
+ if public_ips_v4_count is not None:
67
+ pulumi.set(__self__, "public_ips_v4_count", public_ips_v4_count)
68
+ if public_ips_v6_count is not None:
69
+ pulumi.set(__self__, "public_ips_v6_count", public_ips_v6_count)
70
+ if security_group_id is not None:
71
+ pulumi.set(__self__, "security_group_id", security_group_id)
72
+ if tags is not None:
73
+ pulumi.set(__self__, "tags", tags)
74
+ if volumes is not None:
75
+ pulumi.set(__self__, "volumes", volumes)
76
+ if zone is not None:
77
+ pulumi.set(__self__, "zone", zone)
78
+
79
+ @_builtins.property
80
+ @pulumi.getter(name="commercialType")
81
+ def commercial_type(self) -> pulumi.Input[_builtins.str]:
82
+ """
83
+ The name of Instance commercial type.
84
+ """
85
+ return pulumi.get(self, "commercial_type")
86
+
87
+ @commercial_type.setter
88
+ def commercial_type(self, value: pulumi.Input[_builtins.str]):
89
+ pulumi.set(self, "commercial_type", value)
90
+
91
+ @_builtins.property
92
+ @pulumi.getter(name="cloudInit")
93
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
94
+ """
95
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
96
+ """
97
+ return pulumi.get(self, "cloud_init")
98
+
99
+ @cloud_init.setter
100
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
101
+ pulumi.set(self, "cloud_init", value)
102
+
103
+ @_builtins.property
104
+ @pulumi.getter(name="imageId")
105
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
106
+ """
107
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
108
+ """
109
+ return pulumi.get(self, "image_id")
110
+
111
+ @image_id.setter
112
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
113
+ pulumi.set(self, "image_id", value)
114
+
115
+ @_builtins.property
116
+ @pulumi.getter
117
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
118
+ """
119
+ The Instance group template.
120
+ """
121
+ return pulumi.get(self, "name")
122
+
123
+ @name.setter
124
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
125
+ pulumi.set(self, "name", value)
126
+
127
+ @_builtins.property
128
+ @pulumi.getter(name="placementGroupId")
129
+ def placement_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
130
+ """
131
+ The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
132
+ """
133
+ return pulumi.get(self, "placement_group_id")
134
+
135
+ @placement_group_id.setter
136
+ def placement_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "placement_group_id", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="privateNetworkIds")
141
+ def private_network_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
142
+ """
143
+ The private Network IDs to attach to the new Instance.
144
+ """
145
+ return pulumi.get(self, "private_network_ids")
146
+
147
+ @private_network_ids.setter
148
+ def private_network_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
149
+ pulumi.set(self, "private_network_ids", value)
150
+
151
+ @_builtins.property
152
+ @pulumi.getter(name="projectId")
153
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
154
+ """
155
+ `project_id`) The ID of the Project the Instance template is associated with.
156
+ """
157
+ return pulumi.get(self, "project_id")
158
+
159
+ @project_id.setter
160
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
161
+ pulumi.set(self, "project_id", value)
162
+
163
+ @_builtins.property
164
+ @pulumi.getter(name="publicIpsV4Count")
165
+ def public_ips_v4_count(self) -> Optional[pulumi.Input[_builtins.int]]:
166
+ """
167
+ The number of flexible IPv4 addresses to attach to the new Instance.
168
+ """
169
+ return pulumi.get(self, "public_ips_v4_count")
170
+
171
+ @public_ips_v4_count.setter
172
+ def public_ips_v4_count(self, value: Optional[pulumi.Input[_builtins.int]]):
173
+ pulumi.set(self, "public_ips_v4_count", value)
174
+
175
+ @_builtins.property
176
+ @pulumi.getter(name="publicIpsV6Count")
177
+ def public_ips_v6_count(self) -> Optional[pulumi.Input[_builtins.int]]:
178
+ """
179
+ The number of flexible IPv6 addresses to attach to the new Instance.
180
+ """
181
+ return pulumi.get(self, "public_ips_v6_count")
182
+
183
+ @public_ips_v6_count.setter
184
+ def public_ips_v6_count(self, value: Optional[pulumi.Input[_builtins.int]]):
185
+ pulumi.set(self, "public_ips_v6_count", value)
186
+
187
+ @_builtins.property
188
+ @pulumi.getter(name="securityGroupId")
189
+ def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
190
+ """
191
+ The instance security group ID.
192
+ """
193
+ return pulumi.get(self, "security_group_id")
194
+
195
+ @security_group_id.setter
196
+ def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
197
+ pulumi.set(self, "security_group_id", value)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter
201
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
202
+ """
203
+ The tags associated with the Instance template.
204
+ """
205
+ return pulumi.get(self, "tags")
206
+
207
+ @tags.setter
208
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
209
+ pulumi.set(self, "tags", value)
210
+
211
+ @_builtins.property
212
+ @pulumi.getter
213
+ def volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]]:
214
+ """
215
+ The template of Instance volume.
216
+ """
217
+ return pulumi.get(self, "volumes")
218
+
219
+ @volumes.setter
220
+ def volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]]):
221
+ pulumi.set(self, "volumes", value)
222
+
223
+ @_builtins.property
224
+ @pulumi.getter
225
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
226
+ """
227
+ `zone`) The zone in which the Instance template exists.
228
+ """
229
+ return pulumi.get(self, "zone")
230
+
231
+ @zone.setter
232
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
233
+ pulumi.set(self, "zone", value)
234
+
235
+
236
+ @pulumi.input_type
237
+ class _InstanceTemplateState:
238
+ def __init__(__self__, *,
239
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
240
+ commercial_type: Optional[pulumi.Input[_builtins.str]] = None,
241
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
242
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
243
+ name: Optional[pulumi.Input[_builtins.str]] = None,
244
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
245
+ private_network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
246
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
247
+ public_ips_v4_count: Optional[pulumi.Input[_builtins.int]] = None,
248
+ public_ips_v6_count: Optional[pulumi.Input[_builtins.int]] = None,
249
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
250
+ status: Optional[pulumi.Input[_builtins.str]] = None,
251
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
252
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
253
+ volumes: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]] = None,
254
+ zone: Optional[pulumi.Input[_builtins.str]] = None):
255
+ """
256
+ Input properties used for looking up and filtering InstanceTemplate resources.
257
+ :param pulumi.Input[_builtins.str] cloud_init: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
258
+ :param pulumi.Input[_builtins.str] commercial_type: The name of Instance commercial type.
259
+ :param pulumi.Input[_builtins.str] created_at: Date and time of Instance group's creation (RFC 3339 format).
260
+ :param pulumi.Input[_builtins.str] image_id: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
261
+ :param pulumi.Input[_builtins.str] name: The Instance group template.
262
+ :param pulumi.Input[_builtins.str] placement_group_id: The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
263
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_network_ids: The private Network IDs to attach to the new Instance.
264
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance template is associated with.
265
+ :param pulumi.Input[_builtins.int] public_ips_v4_count: The number of flexible IPv4 addresses to attach to the new Instance.
266
+ :param pulumi.Input[_builtins.int] public_ips_v6_count: The number of flexible IPv6 addresses to attach to the new Instance.
267
+ :param pulumi.Input[_builtins.str] security_group_id: The instance security group ID.
268
+ :param pulumi.Input[_builtins.str] status: The Instance template status
269
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Instance template.
270
+ :param pulumi.Input[_builtins.str] updated_at: Date and time of Instance group's last update (RFC 3339 format).
271
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]] volumes: The template of Instance volume.
272
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance template exists.
273
+ """
274
+ if cloud_init is not None:
275
+ pulumi.set(__self__, "cloud_init", cloud_init)
276
+ if commercial_type is not None:
277
+ pulumi.set(__self__, "commercial_type", commercial_type)
278
+ if created_at is not None:
279
+ pulumi.set(__self__, "created_at", created_at)
280
+ if image_id is not None:
281
+ pulumi.set(__self__, "image_id", image_id)
282
+ if name is not None:
283
+ pulumi.set(__self__, "name", name)
284
+ if placement_group_id is not None:
285
+ pulumi.set(__self__, "placement_group_id", placement_group_id)
286
+ if private_network_ids is not None:
287
+ pulumi.set(__self__, "private_network_ids", private_network_ids)
288
+ if project_id is not None:
289
+ pulumi.set(__self__, "project_id", project_id)
290
+ if public_ips_v4_count is not None:
291
+ pulumi.set(__self__, "public_ips_v4_count", public_ips_v4_count)
292
+ if public_ips_v6_count is not None:
293
+ pulumi.set(__self__, "public_ips_v6_count", public_ips_v6_count)
294
+ if security_group_id is not None:
295
+ pulumi.set(__self__, "security_group_id", security_group_id)
296
+ if status is not None:
297
+ pulumi.set(__self__, "status", status)
298
+ if tags is not None:
299
+ pulumi.set(__self__, "tags", tags)
300
+ if updated_at is not None:
301
+ pulumi.set(__self__, "updated_at", updated_at)
302
+ if volumes is not None:
303
+ pulumi.set(__self__, "volumes", volumes)
304
+ if zone is not None:
305
+ pulumi.set(__self__, "zone", zone)
306
+
307
+ @_builtins.property
308
+ @pulumi.getter(name="cloudInit")
309
+ def cloud_init(self) -> Optional[pulumi.Input[_builtins.str]]:
310
+ """
311
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
312
+ """
313
+ return pulumi.get(self, "cloud_init")
314
+
315
+ @cloud_init.setter
316
+ def cloud_init(self, value: Optional[pulumi.Input[_builtins.str]]):
317
+ pulumi.set(self, "cloud_init", value)
318
+
319
+ @_builtins.property
320
+ @pulumi.getter(name="commercialType")
321
+ def commercial_type(self) -> Optional[pulumi.Input[_builtins.str]]:
322
+ """
323
+ The name of Instance commercial type.
324
+ """
325
+ return pulumi.get(self, "commercial_type")
326
+
327
+ @commercial_type.setter
328
+ def commercial_type(self, value: Optional[pulumi.Input[_builtins.str]]):
329
+ pulumi.set(self, "commercial_type", value)
330
+
331
+ @_builtins.property
332
+ @pulumi.getter(name="createdAt")
333
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
334
+ """
335
+ Date and time of Instance group's creation (RFC 3339 format).
336
+ """
337
+ return pulumi.get(self, "created_at")
338
+
339
+ @created_at.setter
340
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
341
+ pulumi.set(self, "created_at", value)
342
+
343
+ @_builtins.property
344
+ @pulumi.getter(name="imageId")
345
+ def image_id(self) -> Optional[pulumi.Input[_builtins.str]]:
346
+ """
347
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
348
+ """
349
+ return pulumi.get(self, "image_id")
350
+
351
+ @image_id.setter
352
+ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]):
353
+ pulumi.set(self, "image_id", value)
354
+
355
+ @_builtins.property
356
+ @pulumi.getter
357
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
358
+ """
359
+ The Instance group template.
360
+ """
361
+ return pulumi.get(self, "name")
362
+
363
+ @name.setter
364
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
365
+ pulumi.set(self, "name", value)
366
+
367
+ @_builtins.property
368
+ @pulumi.getter(name="placementGroupId")
369
+ def placement_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
370
+ """
371
+ The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
372
+ """
373
+ return pulumi.get(self, "placement_group_id")
374
+
375
+ @placement_group_id.setter
376
+ def placement_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
377
+ pulumi.set(self, "placement_group_id", value)
378
+
379
+ @_builtins.property
380
+ @pulumi.getter(name="privateNetworkIds")
381
+ def private_network_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
382
+ """
383
+ The private Network IDs to attach to the new Instance.
384
+ """
385
+ return pulumi.get(self, "private_network_ids")
386
+
387
+ @private_network_ids.setter
388
+ def private_network_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
389
+ pulumi.set(self, "private_network_ids", value)
390
+
391
+ @_builtins.property
392
+ @pulumi.getter(name="projectId")
393
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
394
+ """
395
+ `project_id`) The ID of the Project the Instance template is associated with.
396
+ """
397
+ return pulumi.get(self, "project_id")
398
+
399
+ @project_id.setter
400
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
401
+ pulumi.set(self, "project_id", value)
402
+
403
+ @_builtins.property
404
+ @pulumi.getter(name="publicIpsV4Count")
405
+ def public_ips_v4_count(self) -> Optional[pulumi.Input[_builtins.int]]:
406
+ """
407
+ The number of flexible IPv4 addresses to attach to the new Instance.
408
+ """
409
+ return pulumi.get(self, "public_ips_v4_count")
410
+
411
+ @public_ips_v4_count.setter
412
+ def public_ips_v4_count(self, value: Optional[pulumi.Input[_builtins.int]]):
413
+ pulumi.set(self, "public_ips_v4_count", value)
414
+
415
+ @_builtins.property
416
+ @pulumi.getter(name="publicIpsV6Count")
417
+ def public_ips_v6_count(self) -> Optional[pulumi.Input[_builtins.int]]:
418
+ """
419
+ The number of flexible IPv6 addresses to attach to the new Instance.
420
+ """
421
+ return pulumi.get(self, "public_ips_v6_count")
422
+
423
+ @public_ips_v6_count.setter
424
+ def public_ips_v6_count(self, value: Optional[pulumi.Input[_builtins.int]]):
425
+ pulumi.set(self, "public_ips_v6_count", value)
426
+
427
+ @_builtins.property
428
+ @pulumi.getter(name="securityGroupId")
429
+ def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
430
+ """
431
+ The instance security group ID.
432
+ """
433
+ return pulumi.get(self, "security_group_id")
434
+
435
+ @security_group_id.setter
436
+ def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
437
+ pulumi.set(self, "security_group_id", value)
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
442
+ """
443
+ The Instance template status
444
+ """
445
+ return pulumi.get(self, "status")
446
+
447
+ @status.setter
448
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
449
+ pulumi.set(self, "status", value)
450
+
451
+ @_builtins.property
452
+ @pulumi.getter
453
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
454
+ """
455
+ The tags associated with the Instance template.
456
+ """
457
+ return pulumi.get(self, "tags")
458
+
459
+ @tags.setter
460
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
461
+ pulumi.set(self, "tags", value)
462
+
463
+ @_builtins.property
464
+ @pulumi.getter(name="updatedAt")
465
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
466
+ """
467
+ Date and time of Instance group's last update (RFC 3339 format).
468
+ """
469
+ return pulumi.get(self, "updated_at")
470
+
471
+ @updated_at.setter
472
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
473
+ pulumi.set(self, "updated_at", value)
474
+
475
+ @_builtins.property
476
+ @pulumi.getter
477
+ def volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]]:
478
+ """
479
+ The template of Instance volume.
480
+ """
481
+ return pulumi.get(self, "volumes")
482
+
483
+ @volumes.setter
484
+ def volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateVolumeArgs']]]]):
485
+ pulumi.set(self, "volumes", value)
486
+
487
+ @_builtins.property
488
+ @pulumi.getter
489
+ def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
490
+ """
491
+ `zone`) The zone in which the Instance template exists.
492
+ """
493
+ return pulumi.get(self, "zone")
494
+
495
+ @zone.setter
496
+ def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
497
+ pulumi.set(self, "zone", value)
498
+
499
+
500
+ @pulumi.type_token("scaleway:autoscaling/instanceTemplate:InstanceTemplate")
501
+ class InstanceTemplate(pulumi.CustomResource):
502
+ @overload
503
+ def __init__(__self__,
504
+ resource_name: str,
505
+ opts: Optional[pulumi.ResourceOptions] = None,
506
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
507
+ commercial_type: Optional[pulumi.Input[_builtins.str]] = None,
508
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
509
+ name: Optional[pulumi.Input[_builtins.str]] = None,
510
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
511
+ private_network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
512
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
513
+ public_ips_v4_count: Optional[pulumi.Input[_builtins.int]] = None,
514
+ public_ips_v6_count: Optional[pulumi.Input[_builtins.int]] = None,
515
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
516
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
517
+ volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTemplateVolumeArgs', 'InstanceTemplateVolumeArgsDict']]]]] = None,
518
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
519
+ __props__=None):
520
+ """
521
+ Books and manages Autoscaling Instance templates.
522
+
523
+ ## Example Usage
524
+
525
+ ### Basic
526
+
527
+ ```python
528
+ import pulumi
529
+ import pulumiverse_scaleway as scaleway
530
+
531
+ main = scaleway.autoscaling.InstanceTemplate("main",
532
+ name="asg-template",
533
+ commercial_type="PLAY2-MICRO",
534
+ tags=[
535
+ "terraform-test",
536
+ "basic",
537
+ ],
538
+ volumes=[{
539
+ "name": "as-volume",
540
+ "volume_type": "sbs",
541
+ "boot": True,
542
+ "from_snapshot": {
543
+ "snapshot_id": main_scaleway_block_snapshot["id"],
544
+ },
545
+ "perf_iops": 5000,
546
+ }],
547
+ public_ips_v4_count=1,
548
+ private_network_ids=[main_scaleway_vpc_private_network["id"]])
549
+ ```
550
+
551
+ ## Import
552
+
553
+ Autoscaling Instance templates can be imported using `{zone}/{id}`, e.g.
554
+
555
+ bash
556
+
557
+ ```sh
558
+ $ pulumi import scaleway:autoscaling/instanceTemplate:InstanceTemplate main fr-par-1/11111111-1111-1111-1111-111111111111
559
+ ```
560
+
561
+ :param str resource_name: The name of the resource.
562
+ :param pulumi.ResourceOptions opts: Options for the resource.
563
+ :param pulumi.Input[_builtins.str] cloud_init: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
564
+ :param pulumi.Input[_builtins.str] commercial_type: The name of Instance commercial type.
565
+ :param pulumi.Input[_builtins.str] image_id: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
566
+ :param pulumi.Input[_builtins.str] name: The Instance group template.
567
+ :param pulumi.Input[_builtins.str] placement_group_id: The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
568
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_network_ids: The private Network IDs to attach to the new Instance.
569
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance template is associated with.
570
+ :param pulumi.Input[_builtins.int] public_ips_v4_count: The number of flexible IPv4 addresses to attach to the new Instance.
571
+ :param pulumi.Input[_builtins.int] public_ips_v6_count: The number of flexible IPv6 addresses to attach to the new Instance.
572
+ :param pulumi.Input[_builtins.str] security_group_id: The instance security group ID.
573
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Instance template.
574
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceTemplateVolumeArgs', 'InstanceTemplateVolumeArgsDict']]]] volumes: The template of Instance volume.
575
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance template exists.
576
+ """
577
+ ...
578
+ @overload
579
+ def __init__(__self__,
580
+ resource_name: str,
581
+ args: InstanceTemplateArgs,
582
+ opts: Optional[pulumi.ResourceOptions] = None):
583
+ """
584
+ Books and manages Autoscaling Instance templates.
585
+
586
+ ## Example Usage
587
+
588
+ ### Basic
589
+
590
+ ```python
591
+ import pulumi
592
+ import pulumiverse_scaleway as scaleway
593
+
594
+ main = scaleway.autoscaling.InstanceTemplate("main",
595
+ name="asg-template",
596
+ commercial_type="PLAY2-MICRO",
597
+ tags=[
598
+ "terraform-test",
599
+ "basic",
600
+ ],
601
+ volumes=[{
602
+ "name": "as-volume",
603
+ "volume_type": "sbs",
604
+ "boot": True,
605
+ "from_snapshot": {
606
+ "snapshot_id": main_scaleway_block_snapshot["id"],
607
+ },
608
+ "perf_iops": 5000,
609
+ }],
610
+ public_ips_v4_count=1,
611
+ private_network_ids=[main_scaleway_vpc_private_network["id"]])
612
+ ```
613
+
614
+ ## Import
615
+
616
+ Autoscaling Instance templates can be imported using `{zone}/{id}`, e.g.
617
+
618
+ bash
619
+
620
+ ```sh
621
+ $ pulumi import scaleway:autoscaling/instanceTemplate:InstanceTemplate main fr-par-1/11111111-1111-1111-1111-111111111111
622
+ ```
623
+
624
+ :param str resource_name: The name of the resource.
625
+ :param InstanceTemplateArgs args: The arguments to use to populate this resource's properties.
626
+ :param pulumi.ResourceOptions opts: Options for the resource.
627
+ """
628
+ ...
629
+ def __init__(__self__, resource_name: str, *args, **kwargs):
630
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceTemplateArgs, pulumi.ResourceOptions, *args, **kwargs)
631
+ if resource_args is not None:
632
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
633
+ else:
634
+ __self__._internal_init(resource_name, *args, **kwargs)
635
+
636
+ def _internal_init(__self__,
637
+ resource_name: str,
638
+ opts: Optional[pulumi.ResourceOptions] = None,
639
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
640
+ commercial_type: Optional[pulumi.Input[_builtins.str]] = None,
641
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
642
+ name: Optional[pulumi.Input[_builtins.str]] = None,
643
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
644
+ private_network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
645
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
646
+ public_ips_v4_count: Optional[pulumi.Input[_builtins.int]] = None,
647
+ public_ips_v6_count: Optional[pulumi.Input[_builtins.int]] = None,
648
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
649
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
650
+ volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTemplateVolumeArgs', 'InstanceTemplateVolumeArgsDict']]]]] = None,
651
+ zone: Optional[pulumi.Input[_builtins.str]] = None,
652
+ __props__=None):
653
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
654
+ if not isinstance(opts, pulumi.ResourceOptions):
655
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
656
+ if opts.id is None:
657
+ if __props__ is not None:
658
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
659
+ __props__ = InstanceTemplateArgs.__new__(InstanceTemplateArgs)
660
+
661
+ __props__.__dict__["cloud_init"] = cloud_init
662
+ if commercial_type is None and not opts.urn:
663
+ raise TypeError("Missing required property 'commercial_type'")
664
+ __props__.__dict__["commercial_type"] = commercial_type
665
+ __props__.__dict__["image_id"] = image_id
666
+ __props__.__dict__["name"] = name
667
+ __props__.__dict__["placement_group_id"] = placement_group_id
668
+ __props__.__dict__["private_network_ids"] = private_network_ids
669
+ __props__.__dict__["project_id"] = project_id
670
+ __props__.__dict__["public_ips_v4_count"] = public_ips_v4_count
671
+ __props__.__dict__["public_ips_v6_count"] = public_ips_v6_count
672
+ __props__.__dict__["security_group_id"] = security_group_id
673
+ __props__.__dict__["tags"] = tags
674
+ __props__.__dict__["volumes"] = volumes
675
+ __props__.__dict__["zone"] = zone
676
+ __props__.__dict__["created_at"] = None
677
+ __props__.__dict__["status"] = None
678
+ __props__.__dict__["updated_at"] = None
679
+ super(InstanceTemplate, __self__).__init__(
680
+ 'scaleway:autoscaling/instanceTemplate:InstanceTemplate',
681
+ resource_name,
682
+ __props__,
683
+ opts)
684
+
685
+ @staticmethod
686
+ def get(resource_name: str,
687
+ id: pulumi.Input[str],
688
+ opts: Optional[pulumi.ResourceOptions] = None,
689
+ cloud_init: Optional[pulumi.Input[_builtins.str]] = None,
690
+ commercial_type: Optional[pulumi.Input[_builtins.str]] = None,
691
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
692
+ image_id: Optional[pulumi.Input[_builtins.str]] = None,
693
+ name: Optional[pulumi.Input[_builtins.str]] = None,
694
+ placement_group_id: Optional[pulumi.Input[_builtins.str]] = None,
695
+ private_network_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
696
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
697
+ public_ips_v4_count: Optional[pulumi.Input[_builtins.int]] = None,
698
+ public_ips_v6_count: Optional[pulumi.Input[_builtins.int]] = None,
699
+ security_group_id: Optional[pulumi.Input[_builtins.str]] = None,
700
+ status: Optional[pulumi.Input[_builtins.str]] = None,
701
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
702
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
703
+ volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceTemplateVolumeArgs', 'InstanceTemplateVolumeArgsDict']]]]] = None,
704
+ zone: Optional[pulumi.Input[_builtins.str]] = None) -> 'InstanceTemplate':
705
+ """
706
+ Get an existing InstanceTemplate resource's state with the given name, id, and optional extra
707
+ properties used to qualify the lookup.
708
+
709
+ :param str resource_name: The unique name of the resulting resource.
710
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
711
+ :param pulumi.ResourceOptions opts: Options for the resource.
712
+ :param pulumi.Input[_builtins.str] cloud_init: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
713
+ :param pulumi.Input[_builtins.str] commercial_type: The name of Instance commercial type.
714
+ :param pulumi.Input[_builtins.str] created_at: Date and time of Instance group's creation (RFC 3339 format).
715
+ :param pulumi.Input[_builtins.str] image_id: The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
716
+ :param pulumi.Input[_builtins.str] name: The Instance group template.
717
+ :param pulumi.Input[_builtins.str] placement_group_id: The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
718
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_network_ids: The private Network IDs to attach to the new Instance.
719
+ :param pulumi.Input[_builtins.str] project_id: `project_id`) The ID of the Project the Instance template is associated with.
720
+ :param pulumi.Input[_builtins.int] public_ips_v4_count: The number of flexible IPv4 addresses to attach to the new Instance.
721
+ :param pulumi.Input[_builtins.int] public_ips_v6_count: The number of flexible IPv6 addresses to attach to the new Instance.
722
+ :param pulumi.Input[_builtins.str] security_group_id: The instance security group ID.
723
+ :param pulumi.Input[_builtins.str] status: The Instance template status
724
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags associated with the Instance template.
725
+ :param pulumi.Input[_builtins.str] updated_at: Date and time of Instance group's last update (RFC 3339 format).
726
+ :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceTemplateVolumeArgs', 'InstanceTemplateVolumeArgsDict']]]] volumes: The template of Instance volume.
727
+ :param pulumi.Input[_builtins.str] zone: `zone`) The zone in which the Instance template exists.
728
+ """
729
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
730
+
731
+ __props__ = _InstanceTemplateState.__new__(_InstanceTemplateState)
732
+
733
+ __props__.__dict__["cloud_init"] = cloud_init
734
+ __props__.__dict__["commercial_type"] = commercial_type
735
+ __props__.__dict__["created_at"] = created_at
736
+ __props__.__dict__["image_id"] = image_id
737
+ __props__.__dict__["name"] = name
738
+ __props__.__dict__["placement_group_id"] = placement_group_id
739
+ __props__.__dict__["private_network_ids"] = private_network_ids
740
+ __props__.__dict__["project_id"] = project_id
741
+ __props__.__dict__["public_ips_v4_count"] = public_ips_v4_count
742
+ __props__.__dict__["public_ips_v6_count"] = public_ips_v6_count
743
+ __props__.__dict__["security_group_id"] = security_group_id
744
+ __props__.__dict__["status"] = status
745
+ __props__.__dict__["tags"] = tags
746
+ __props__.__dict__["updated_at"] = updated_at
747
+ __props__.__dict__["volumes"] = volumes
748
+ __props__.__dict__["zone"] = zone
749
+ return InstanceTemplate(resource_name, opts=opts, __props__=__props__)
750
+
751
+ @_builtins.property
752
+ @pulumi.getter(name="cloudInit")
753
+ def cloud_init(self) -> pulumi.Output[Optional[_builtins.str]]:
754
+ """
755
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
756
+ """
757
+ return pulumi.get(self, "cloud_init")
758
+
759
+ @_builtins.property
760
+ @pulumi.getter(name="commercialType")
761
+ def commercial_type(self) -> pulumi.Output[_builtins.str]:
762
+ """
763
+ The name of Instance commercial type.
764
+ """
765
+ return pulumi.get(self, "commercial_type")
766
+
767
+ @_builtins.property
768
+ @pulumi.getter(name="createdAt")
769
+ def created_at(self) -> pulumi.Output[_builtins.str]:
770
+ """
771
+ Date and time of Instance group's creation (RFC 3339 format).
772
+ """
773
+ return pulumi.get(self, "created_at")
774
+
775
+ @_builtins.property
776
+ @pulumi.getter(name="imageId")
777
+ def image_id(self) -> pulumi.Output[Optional[_builtins.str]]:
778
+ """
779
+ The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercial_type` template.
780
+ """
781
+ return pulumi.get(self, "image_id")
782
+
783
+ @_builtins.property
784
+ @pulumi.getter
785
+ def name(self) -> pulumi.Output[_builtins.str]:
786
+ """
787
+ The Instance group template.
788
+ """
789
+ return pulumi.get(self, "name")
790
+
791
+ @_builtins.property
792
+ @pulumi.getter(name="placementGroupId")
793
+ def placement_group_id(self) -> pulumi.Output[Optional[_builtins.str]]:
794
+ """
795
+ The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
796
+ """
797
+ return pulumi.get(self, "placement_group_id")
798
+
799
+ @_builtins.property
800
+ @pulumi.getter(name="privateNetworkIds")
801
+ def private_network_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
802
+ """
803
+ The private Network IDs to attach to the new Instance.
804
+ """
805
+ return pulumi.get(self, "private_network_ids")
806
+
807
+ @_builtins.property
808
+ @pulumi.getter(name="projectId")
809
+ def project_id(self) -> pulumi.Output[_builtins.str]:
810
+ """
811
+ `project_id`) The ID of the Project the Instance template is associated with.
812
+ """
813
+ return pulumi.get(self, "project_id")
814
+
815
+ @_builtins.property
816
+ @pulumi.getter(name="publicIpsV4Count")
817
+ def public_ips_v4_count(self) -> pulumi.Output[Optional[_builtins.int]]:
818
+ """
819
+ The number of flexible IPv4 addresses to attach to the new Instance.
820
+ """
821
+ return pulumi.get(self, "public_ips_v4_count")
822
+
823
+ @_builtins.property
824
+ @pulumi.getter(name="publicIpsV6Count")
825
+ def public_ips_v6_count(self) -> pulumi.Output[Optional[_builtins.int]]:
826
+ """
827
+ The number of flexible IPv6 addresses to attach to the new Instance.
828
+ """
829
+ return pulumi.get(self, "public_ips_v6_count")
830
+
831
+ @_builtins.property
832
+ @pulumi.getter(name="securityGroupId")
833
+ def security_group_id(self) -> pulumi.Output[Optional[_builtins.str]]:
834
+ """
835
+ The instance security group ID.
836
+ """
837
+ return pulumi.get(self, "security_group_id")
838
+
839
+ @_builtins.property
840
+ @pulumi.getter
841
+ def status(self) -> pulumi.Output[_builtins.str]:
842
+ """
843
+ The Instance template status
844
+ """
845
+ return pulumi.get(self, "status")
846
+
847
+ @_builtins.property
848
+ @pulumi.getter
849
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
850
+ """
851
+ The tags associated with the Instance template.
852
+ """
853
+ return pulumi.get(self, "tags")
854
+
855
+ @_builtins.property
856
+ @pulumi.getter(name="updatedAt")
857
+ def updated_at(self) -> pulumi.Output[_builtins.str]:
858
+ """
859
+ Date and time of Instance group's last update (RFC 3339 format).
860
+ """
861
+ return pulumi.get(self, "updated_at")
862
+
863
+ @_builtins.property
864
+ @pulumi.getter
865
+ def volumes(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceTemplateVolume']]]:
866
+ """
867
+ The template of Instance volume.
868
+ """
869
+ return pulumi.get(self, "volumes")
870
+
871
+ @_builtins.property
872
+ @pulumi.getter
873
+ def zone(self) -> pulumi.Output[Optional[_builtins.str]]:
874
+ """
875
+ `zone`) The zone in which the Instance template exists.
876
+ """
877
+ return pulumi.get(self, "zone")
878
+