pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. pulumiverse_scaleway/__init__.py +929 -0
  2. pulumiverse_scaleway/account/__init__.py +12 -0
  3. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  4. pulumiverse_scaleway/account/get_project.py +170 -0
  5. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  6. pulumiverse_scaleway/account/project.py +318 -0
  7. pulumiverse_scaleway/account/ssh_key.py +456 -0
  8. pulumiverse_scaleway/account_project.py +6 -0
  9. pulumiverse_scaleway/account_ssh_key.py +12 -6
  10. pulumiverse_scaleway/apple_silicon_server.py +8 -2
  11. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  12. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  13. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  14. pulumiverse_scaleway/applesilicon/server.py +690 -0
  15. pulumiverse_scaleway/baremetal_server.py +64 -58
  16. pulumiverse_scaleway/billing/__init__.py +10 -0
  17. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  18. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  19. pulumiverse_scaleway/billing/outputs.py +288 -0
  20. pulumiverse_scaleway/block/__init__.py +11 -0
  21. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  22. pulumiverse_scaleway/block/get_volume.py +199 -0
  23. pulumiverse_scaleway/block/snapshot.py +403 -0
  24. pulumiverse_scaleway/block/volume.py +576 -0
  25. pulumiverse_scaleway/block_snapshot.py +12 -6
  26. pulumiverse_scaleway/block_volume.py +16 -10
  27. pulumiverse_scaleway/cockpit.py +10 -4
  28. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  29. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  30. pulumiverse_scaleway/cockpit_source.py +12 -6
  31. pulumiverse_scaleway/cockpit_token.py +16 -10
  32. pulumiverse_scaleway/container.py +16 -10
  33. pulumiverse_scaleway/container_cron.py +14 -8
  34. pulumiverse_scaleway/container_domain.py +24 -18
  35. pulumiverse_scaleway/container_namespace.py +10 -4
  36. pulumiverse_scaleway/container_token.py +32 -26
  37. pulumiverse_scaleway/container_trigger.py +12 -6
  38. pulumiverse_scaleway/containers/__init__.py +17 -0
  39. pulumiverse_scaleway/containers/_inputs.py +389 -0
  40. pulumiverse_scaleway/containers/container.py +1635 -0
  41. pulumiverse_scaleway/containers/cron.py +460 -0
  42. pulumiverse_scaleway/containers/domain.py +408 -0
  43. pulumiverse_scaleway/containers/get_container.py +562 -0
  44. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  45. pulumiverse_scaleway/containers/namespace.py +638 -0
  46. pulumiverse_scaleway/containers/outputs.py +412 -0
  47. pulumiverse_scaleway/containers/token.py +454 -0
  48. pulumiverse_scaleway/containers/trigger.py +482 -0
  49. pulumiverse_scaleway/database.py +10 -4
  50. pulumiverse_scaleway/database_acl.py +10 -4
  51. pulumiverse_scaleway/database_backup.py +14 -8
  52. pulumiverse_scaleway/database_instance.py +24 -18
  53. pulumiverse_scaleway/database_privilege.py +16 -10
  54. pulumiverse_scaleway/database_read_replica.py +22 -16
  55. pulumiverse_scaleway/database_user.py +10 -4
  56. pulumiverse_scaleway/databases/__init__.py +23 -0
  57. pulumiverse_scaleway/databases/_inputs.py +822 -0
  58. pulumiverse_scaleway/databases/acl.py +334 -0
  59. pulumiverse_scaleway/databases/database.py +409 -0
  60. pulumiverse_scaleway/databases/database_backup.py +576 -0
  61. pulumiverse_scaleway/databases/get_acl.py +143 -0
  62. pulumiverse_scaleway/databases/get_database.py +187 -0
  63. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  64. pulumiverse_scaleway/databases/get_instance.py +415 -0
  65. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  66. pulumiverse_scaleway/databases/instance.py +1696 -0
  67. pulumiverse_scaleway/databases/outputs.py +866 -0
  68. pulumiverse_scaleway/databases/privilege.py +424 -0
  69. pulumiverse_scaleway/databases/read_replica.py +530 -0
  70. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  71. pulumiverse_scaleway/databases/snapshot.py +610 -0
  72. pulumiverse_scaleway/databases/user.py +448 -0
  73. pulumiverse_scaleway/domain/__init__.py +13 -0
  74. pulumiverse_scaleway/domain/_inputs.py +341 -0
  75. pulumiverse_scaleway/domain/get_record.py +340 -0
  76. pulumiverse_scaleway/domain/get_zone.py +201 -0
  77. pulumiverse_scaleway/domain/outputs.py +408 -0
  78. pulumiverse_scaleway/domain/record.py +1118 -0
  79. pulumiverse_scaleway/domain/zone.py +432 -0
  80. pulumiverse_scaleway/domain_record.py +36 -30
  81. pulumiverse_scaleway/domain_zone.py +6 -0
  82. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  83. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  84. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  85. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  86. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  87. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  88. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  89. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  90. pulumiverse_scaleway/elasticmetal/ip.py +704 -0
  91. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  92. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  93. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  94. pulumiverse_scaleway/flexible_ip.py +22 -16
  95. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  96. pulumiverse_scaleway/function.py +6 -0
  97. pulumiverse_scaleway/function_cron.py +16 -10
  98. pulumiverse_scaleway/function_domain.py +16 -10
  99. pulumiverse_scaleway/function_namespace.py +10 -4
  100. pulumiverse_scaleway/function_token.py +32 -26
  101. pulumiverse_scaleway/function_trigger.py +12 -6
  102. pulumiverse_scaleway/functions/__init__.py +17 -0
  103. pulumiverse_scaleway/functions/_inputs.py +211 -0
  104. pulumiverse_scaleway/functions/cron.py +464 -0
  105. pulumiverse_scaleway/functions/domain.py +372 -0
  106. pulumiverse_scaleway/functions/function.py +1105 -0
  107. pulumiverse_scaleway/functions/get_function.py +365 -0
  108. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  109. pulumiverse_scaleway/functions/namespace.py +582 -0
  110. pulumiverse_scaleway/functions/outputs.py +168 -0
  111. pulumiverse_scaleway/functions/token.py +462 -0
  112. pulumiverse_scaleway/functions/trigger.py +482 -0
  113. pulumiverse_scaleway/get_account_project.py +6 -2
  114. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  115. pulumiverse_scaleway/get_availability_zones.py +8 -4
  116. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  117. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  118. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  119. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  120. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  121. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  122. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  123. pulumiverse_scaleway/get_block_volume.py +6 -2
  124. pulumiverse_scaleway/get_cockpit.py +12 -8
  125. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  126. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  127. pulumiverse_scaleway/get_container.py +16 -12
  128. pulumiverse_scaleway/get_container_namespace.py +10 -6
  129. pulumiverse_scaleway/get_database.py +6 -2
  130. pulumiverse_scaleway/get_database_acl.py +6 -2
  131. pulumiverse_scaleway/get_database_backup.py +10 -6
  132. pulumiverse_scaleway/get_database_instance.py +4 -0
  133. pulumiverse_scaleway/get_database_privilege.py +6 -2
  134. pulumiverse_scaleway/get_domain_record.py +10 -6
  135. pulumiverse_scaleway/get_domain_zone.py +4 -0
  136. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  137. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  138. pulumiverse_scaleway/get_function.py +6 -2
  139. pulumiverse_scaleway/get_function_namespace.py +6 -2
  140. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  141. pulumiverse_scaleway/get_iam_application.py +8 -4
  142. pulumiverse_scaleway/get_iam_group.py +8 -4
  143. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  144. pulumiverse_scaleway/get_iam_user.py +8 -4
  145. pulumiverse_scaleway/get_instance_image.py +4 -0
  146. pulumiverse_scaleway/get_instance_ip.py +4 -0
  147. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  148. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  149. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  150. pulumiverse_scaleway/get_instance_server.py +4 -0
  151. pulumiverse_scaleway/get_instance_servers.py +4 -0
  152. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  153. pulumiverse_scaleway/get_instance_volume.py +4 -0
  154. pulumiverse_scaleway/get_iot_device.py +4 -0
  155. pulumiverse_scaleway/get_iot_hub.py +4 -0
  156. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  157. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  158. pulumiverse_scaleway/get_k8s_version.py +8 -4
  159. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  160. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  161. pulumiverse_scaleway/get_lb_acls.py +8 -4
  162. pulumiverse_scaleway/get_lb_backend.py +18 -14
  163. pulumiverse_scaleway/get_lb_backends.py +8 -4
  164. pulumiverse_scaleway/get_lb_frontend.py +16 -12
  165. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  166. pulumiverse_scaleway/get_lb_ips.py +4 -0
  167. pulumiverse_scaleway/get_lb_route.py +16 -12
  168. pulumiverse_scaleway/get_lb_routes.py +8 -4
  169. pulumiverse_scaleway/get_lbs.py +4 -0
  170. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  171. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  172. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  173. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  174. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  175. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  176. pulumiverse_scaleway/get_object_bucket.py +12 -8
  177. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  178. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  179. pulumiverse_scaleway/get_registry_image.py +4 -0
  180. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  181. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  182. pulumiverse_scaleway/get_secret.py +12 -8
  183. pulumiverse_scaleway/get_secret_version.py +14 -10
  184. pulumiverse_scaleway/get_tem_domain.py +4 -0
  185. pulumiverse_scaleway/get_vpc.py +10 -6
  186. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  187. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  188. pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
  189. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
  190. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
  191. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  192. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  193. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  194. pulumiverse_scaleway/get_vpcs.py +4 -0
  195. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  196. pulumiverse_scaleway/get_webhosting.py +8 -4
  197. pulumiverse_scaleway/hosting/__init__.py +12 -0
  198. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  199. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  200. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  201. pulumiverse_scaleway/hosting/hosting.py +870 -0
  202. pulumiverse_scaleway/hosting/outputs.py +626 -0
  203. pulumiverse_scaleway/iam/__init__.py +21 -0
  204. pulumiverse_scaleway/iam/_inputs.py +138 -0
  205. pulumiverse_scaleway/iam/api_key.py +622 -0
  206. pulumiverse_scaleway/iam/application.py +419 -0
  207. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  208. pulumiverse_scaleway/iam/get_application.py +210 -0
  209. pulumiverse_scaleway/iam/get_group.py +236 -0
  210. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  211. pulumiverse_scaleway/iam/get_user.py +177 -0
  212. pulumiverse_scaleway/iam/group.py +568 -0
  213. pulumiverse_scaleway/iam/group_membership.py +325 -0
  214. pulumiverse_scaleway/iam/outputs.py +111 -0
  215. pulumiverse_scaleway/iam/policy.py +775 -0
  216. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  217. pulumiverse_scaleway/iam/user.py +515 -0
  218. pulumiverse_scaleway/iam_api_key.py +16 -10
  219. pulumiverse_scaleway/iam_application.py +8 -2
  220. pulumiverse_scaleway/iam_group.py +12 -6
  221. pulumiverse_scaleway/iam_group_membership.py +12 -6
  222. pulumiverse_scaleway/iam_policy.py +18 -12
  223. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  224. pulumiverse_scaleway/iam_user.py +8 -2
  225. pulumiverse_scaleway/inference/__init__.py +10 -0
  226. pulumiverse_scaleway/inference/_inputs.py +209 -0
  227. pulumiverse_scaleway/inference/deployment.py +824 -0
  228. pulumiverse_scaleway/inference/outputs.py +169 -0
  229. pulumiverse_scaleway/inference_deployment.py +8 -2
  230. pulumiverse_scaleway/instance/__init__.py +29 -0
  231. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  232. pulumiverse_scaleway/instance/get_image.py +305 -0
  233. pulumiverse_scaleway/instance/get_ip.py +204 -0
  234. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  235. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  236. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  237. pulumiverse_scaleway/instance/get_server.py +488 -0
  238. pulumiverse_scaleway/instance/get_servers.py +187 -0
  239. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  240. pulumiverse_scaleway/instance/get_volume.py +226 -0
  241. pulumiverse_scaleway/instance/image.py +752 -0
  242. pulumiverse_scaleway/instance/ip.py +471 -0
  243. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  244. pulumiverse_scaleway/instance/outputs.py +1533 -0
  245. pulumiverse_scaleway/instance/placement_group.py +481 -0
  246. pulumiverse_scaleway/instance/private_nic.py +557 -0
  247. pulumiverse_scaleway/instance/security_group.py +722 -0
  248. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  249. pulumiverse_scaleway/instance/server.py +1938 -0
  250. pulumiverse_scaleway/instance/snapshot.py +671 -0
  251. pulumiverse_scaleway/instance/user_data.py +437 -0
  252. pulumiverse_scaleway/instance/volume.py +584 -0
  253. pulumiverse_scaleway/instance_image.py +18 -12
  254. pulumiverse_scaleway/instance_ip.py +8 -2
  255. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  256. pulumiverse_scaleway/instance_placement_group.py +8 -2
  257. pulumiverse_scaleway/instance_private_nic.py +24 -18
  258. pulumiverse_scaleway/instance_security_group.py +6 -0
  259. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  260. pulumiverse_scaleway/instance_server.py +74 -68
  261. pulumiverse_scaleway/instance_snapshot.py +22 -16
  262. pulumiverse_scaleway/instance_user_data.py +16 -10
  263. pulumiverse_scaleway/instance_volume.py +8 -2
  264. pulumiverse_scaleway/iot/__init__.py +15 -0
  265. pulumiverse_scaleway/iot/_inputs.py +539 -0
  266. pulumiverse_scaleway/iot/device.py +752 -0
  267. pulumiverse_scaleway/iot/get_device.py +257 -0
  268. pulumiverse_scaleway/iot/get_hub.py +322 -0
  269. pulumiverse_scaleway/iot/hub.py +898 -0
  270. pulumiverse_scaleway/iot/network.py +474 -0
  271. pulumiverse_scaleway/iot/outputs.py +465 -0
  272. pulumiverse_scaleway/iot/route.py +662 -0
  273. pulumiverse_scaleway/iot_device.py +14 -8
  274. pulumiverse_scaleway/iot_hub.py +8 -2
  275. pulumiverse_scaleway/iot_network.py +12 -6
  276. pulumiverse_scaleway/iot_route.py +32 -26
  277. pulumiverse_scaleway/ipam/__init__.py +13 -0
  278. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  279. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  280. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  281. pulumiverse_scaleway/ipam/ip.py +759 -0
  282. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  283. pulumiverse_scaleway/ipam/outputs.py +481 -0
  284. pulumiverse_scaleway/ipam_ip.py +30 -24
  285. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  286. pulumiverse_scaleway/job/__init__.py +10 -0
  287. pulumiverse_scaleway/job/_inputs.py +73 -0
  288. pulumiverse_scaleway/job/definition.py +694 -0
  289. pulumiverse_scaleway/job/outputs.py +49 -0
  290. pulumiverse_scaleway/job_definition.py +8 -2
  291. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  292. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  293. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  294. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  295. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  296. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  297. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  298. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  299. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  300. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  301. pulumiverse_scaleway/loadbalancer.py +35 -29
  302. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  303. pulumiverse_scaleway/loadbalancer_backend.py +10 -4
  304. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  305. pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
  306. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  307. pulumiverse_scaleway/loadbalancer_route.py +26 -20
  308. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  309. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  310. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  311. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  312. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  313. pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
  314. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  315. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  316. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  317. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  318. pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
  319. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  320. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  321. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  322. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  323. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  324. pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
  325. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  326. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  327. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  328. pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
  329. pulumiverse_scaleway/loadbalancers/route.py +525 -0
  330. pulumiverse_scaleway/mnq/__init__.py +20 -0
  331. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  332. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  333. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  334. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  335. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  336. pulumiverse_scaleway/mnq/outputs.py +149 -0
  337. pulumiverse_scaleway/mnq/sns.py +308 -0
  338. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  339. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  340. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  341. pulumiverse_scaleway/mnq/sqs.py +306 -0
  342. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  343. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  344. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  345. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  346. pulumiverse_scaleway/mnq_sns.py +12 -6
  347. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  348. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  349. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  350. pulumiverse_scaleway/mnq_sqs.py +12 -6
  351. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  352. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  353. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  354. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  355. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  356. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  357. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  358. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  359. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  360. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  361. pulumiverse_scaleway/network/__init__.py +29 -0
  362. pulumiverse_scaleway/network/_inputs.py +383 -0
  363. pulumiverse_scaleway/network/gateway_network.py +868 -0
  364. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  365. pulumiverse_scaleway/network/get_private_network.py +282 -0
  366. pulumiverse_scaleway/network/get_public_gateway.py +304 -0
  367. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
  368. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
  369. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  370. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  371. pulumiverse_scaleway/network/get_routes.py +208 -0
  372. pulumiverse_scaleway/network/get_vpc.py +246 -0
  373. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  374. pulumiverse_scaleway/network/outputs.py +747 -0
  375. pulumiverse_scaleway/network/private_network.py +736 -0
  376. pulumiverse_scaleway/network/public_gateway.py +791 -0
  377. pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
  378. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
  379. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  380. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  381. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  382. pulumiverse_scaleway/network/route.py +579 -0
  383. pulumiverse_scaleway/network/vpc.py +538 -0
  384. pulumiverse_scaleway/object/__init__.py +17 -0
  385. pulumiverse_scaleway/object/_inputs.py +831 -0
  386. pulumiverse_scaleway/object/bucket.py +876 -0
  387. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  388. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  389. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  390. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  391. pulumiverse_scaleway/object/get_bucket.py +290 -0
  392. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  393. pulumiverse_scaleway/object/item.py +778 -0
  394. pulumiverse_scaleway/object/outputs.py +802 -0
  395. pulumiverse_scaleway/object_bucket.py +28 -22
  396. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  397. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  398. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  399. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  400. pulumiverse_scaleway/object_item.py +8 -2
  401. pulumiverse_scaleway/observability/__init__.py +17 -0
  402. pulumiverse_scaleway/observability/_inputs.py +417 -0
  403. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  404. pulumiverse_scaleway/observability/cockpit.py +325 -0
  405. pulumiverse_scaleway/observability/get_instance.py +205 -0
  406. pulumiverse_scaleway/observability/get_plan.py +125 -0
  407. pulumiverse_scaleway/observability/get_source.py +262 -0
  408. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  409. pulumiverse_scaleway/observability/outputs.py +425 -0
  410. pulumiverse_scaleway/observability/source.py +569 -0
  411. pulumiverse_scaleway/observability/token.py +481 -0
  412. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  413. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  414. pulumiverse_scaleway/redis/__init__.py +11 -0
  415. pulumiverse_scaleway/redis/_inputs.py +330 -0
  416. pulumiverse_scaleway/redis/cluster.py +1203 -0
  417. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  418. pulumiverse_scaleway/redis/outputs.py +356 -0
  419. pulumiverse_scaleway/redis_cluster.py +14 -8
  420. pulumiverse_scaleway/registry/__init__.py +11 -0
  421. pulumiverse_scaleway/registry/get_image.py +239 -0
  422. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  423. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  424. pulumiverse_scaleway/registry/namespace.py +460 -0
  425. pulumiverse_scaleway/registry_namespace.py +8 -2
  426. pulumiverse_scaleway/sdb_database.py +10 -4
  427. pulumiverse_scaleway/secret.py +6 -0
  428. pulumiverse_scaleway/secret_version.py +12 -6
  429. pulumiverse_scaleway/secrets/__init__.py +13 -0
  430. pulumiverse_scaleway/secrets/_inputs.py +94 -0
  431. pulumiverse_scaleway/secrets/get_secret.py +338 -0
  432. pulumiverse_scaleway/secrets/get_version.py +340 -0
  433. pulumiverse_scaleway/secrets/outputs.py +120 -0
  434. pulumiverse_scaleway/secrets/secret.py +665 -0
  435. pulumiverse_scaleway/secrets/version.py +489 -0
  436. pulumiverse_scaleway/tem/__init__.py +13 -0
  437. pulumiverse_scaleway/tem/_inputs.py +135 -0
  438. pulumiverse_scaleway/tem/domain.py +1032 -0
  439. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  440. pulumiverse_scaleway/tem/get_domain.py +378 -0
  441. pulumiverse_scaleway/tem/outputs.py +171 -0
  442. pulumiverse_scaleway/tem/webhook.py +642 -0
  443. pulumiverse_scaleway/tem_domain.py +20 -14
  444. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  445. pulumiverse_scaleway/tem_webhook.py +28 -22
  446. pulumiverse_scaleway/vpc.py +10 -4
  447. pulumiverse_scaleway/vpc_gateway_network.py +40 -34
  448. pulumiverse_scaleway/vpc_private_network.py +10 -4
  449. pulumiverse_scaleway/vpc_public_gateway.py +8 -2
  450. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
  451. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
  452. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  453. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  454. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  455. pulumiverse_scaleway/vpc_route.py +16 -10
  456. pulumiverse_scaleway/webhosting.py +10 -4
  457. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
  458. pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,536 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['BucketWebsiteConfigurationArgs', 'BucketWebsiteConfiguration']
20
+
21
+ @pulumi.input_type
22
+ class BucketWebsiteConfigurationArgs:
23
+ def __init__(__self__, *,
24
+ bucket: pulumi.Input[str],
25
+ index_document: pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs'],
26
+ error_document: Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']] = None,
27
+ project_id: Optional[pulumi.Input[str]] = None,
28
+ region: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a BucketWebsiteConfiguration resource.
31
+ :param pulumi.Input[str] bucket: The name of the bucket.
32
+ :param pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs'] index_document: The name of the index file for the website detailed below.
33
+ :param pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs'] error_document: The name of the error file for the website detailed below.
34
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
35
+ :param pulumi.Input[str] region: The region you want to attach the resource to
36
+ """
37
+ pulumi.set(__self__, "bucket", bucket)
38
+ pulumi.set(__self__, "index_document", index_document)
39
+ if error_document is not None:
40
+ pulumi.set(__self__, "error_document", error_document)
41
+ if project_id is not None:
42
+ pulumi.set(__self__, "project_id", project_id)
43
+ if region is not None:
44
+ pulumi.set(__self__, "region", region)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def bucket(self) -> pulumi.Input[str]:
49
+ """
50
+ The name of the bucket.
51
+ """
52
+ return pulumi.get(self, "bucket")
53
+
54
+ @bucket.setter
55
+ def bucket(self, value: pulumi.Input[str]):
56
+ pulumi.set(self, "bucket", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="indexDocument")
60
+ def index_document(self) -> pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs']:
61
+ """
62
+ The name of the index file for the website detailed below.
63
+ """
64
+ return pulumi.get(self, "index_document")
65
+
66
+ @index_document.setter
67
+ def index_document(self, value: pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs']):
68
+ pulumi.set(self, "index_document", value)
69
+
70
+ @property
71
+ @pulumi.getter(name="errorDocument")
72
+ def error_document(self) -> Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']]:
73
+ """
74
+ The name of the error file for the website detailed below.
75
+ """
76
+ return pulumi.get(self, "error_document")
77
+
78
+ @error_document.setter
79
+ def error_document(self, value: Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']]):
80
+ pulumi.set(self, "error_document", value)
81
+
82
+ @property
83
+ @pulumi.getter(name="projectId")
84
+ def project_id(self) -> Optional[pulumi.Input[str]]:
85
+ """
86
+ The project_id you want to attach the resource to
87
+ """
88
+ return pulumi.get(self, "project_id")
89
+
90
+ @project_id.setter
91
+ def project_id(self, value: Optional[pulumi.Input[str]]):
92
+ pulumi.set(self, "project_id", value)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def region(self) -> Optional[pulumi.Input[str]]:
97
+ """
98
+ The region you want to attach the resource to
99
+ """
100
+ return pulumi.get(self, "region")
101
+
102
+ @region.setter
103
+ def region(self, value: Optional[pulumi.Input[str]]):
104
+ pulumi.set(self, "region", value)
105
+
106
+
107
+ @pulumi.input_type
108
+ class _BucketWebsiteConfigurationState:
109
+ def __init__(__self__, *,
110
+ bucket: Optional[pulumi.Input[str]] = None,
111
+ error_document: Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']] = None,
112
+ index_document: Optional[pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs']] = None,
113
+ project_id: Optional[pulumi.Input[str]] = None,
114
+ region: Optional[pulumi.Input[str]] = None,
115
+ website_domain: Optional[pulumi.Input[str]] = None,
116
+ website_endpoint: Optional[pulumi.Input[str]] = None):
117
+ """
118
+ Input properties used for looking up and filtering BucketWebsiteConfiguration resources.
119
+ :param pulumi.Input[str] bucket: The name of the bucket.
120
+ :param pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs'] error_document: The name of the error file for the website detailed below.
121
+ :param pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs'] index_document: The name of the index file for the website detailed below.
122
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
123
+ :param pulumi.Input[str] region: The region you want to attach the resource to
124
+ :param pulumi.Input[str] website_domain: The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
125
+ :param pulumi.Input[str] website_endpoint: The website endpoint.
126
+ """
127
+ if bucket is not None:
128
+ pulumi.set(__self__, "bucket", bucket)
129
+ if error_document is not None:
130
+ pulumi.set(__self__, "error_document", error_document)
131
+ if index_document is not None:
132
+ pulumi.set(__self__, "index_document", index_document)
133
+ if project_id is not None:
134
+ pulumi.set(__self__, "project_id", project_id)
135
+ if region is not None:
136
+ pulumi.set(__self__, "region", region)
137
+ if website_domain is not None:
138
+ pulumi.set(__self__, "website_domain", website_domain)
139
+ if website_endpoint is not None:
140
+ pulumi.set(__self__, "website_endpoint", website_endpoint)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def bucket(self) -> Optional[pulumi.Input[str]]:
145
+ """
146
+ The name of the bucket.
147
+ """
148
+ return pulumi.get(self, "bucket")
149
+
150
+ @bucket.setter
151
+ def bucket(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "bucket", value)
153
+
154
+ @property
155
+ @pulumi.getter(name="errorDocument")
156
+ def error_document(self) -> Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']]:
157
+ """
158
+ The name of the error file for the website detailed below.
159
+ """
160
+ return pulumi.get(self, "error_document")
161
+
162
+ @error_document.setter
163
+ def error_document(self, value: Optional[pulumi.Input['BucketWebsiteConfigurationErrorDocumentArgs']]):
164
+ pulumi.set(self, "error_document", value)
165
+
166
+ @property
167
+ @pulumi.getter(name="indexDocument")
168
+ def index_document(self) -> Optional[pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs']]:
169
+ """
170
+ The name of the index file for the website detailed below.
171
+ """
172
+ return pulumi.get(self, "index_document")
173
+
174
+ @index_document.setter
175
+ def index_document(self, value: Optional[pulumi.Input['BucketWebsiteConfigurationIndexDocumentArgs']]):
176
+ pulumi.set(self, "index_document", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="projectId")
180
+ def project_id(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ The project_id you want to attach the resource to
183
+ """
184
+ return pulumi.get(self, "project_id")
185
+
186
+ @project_id.setter
187
+ def project_id(self, value: Optional[pulumi.Input[str]]):
188
+ pulumi.set(self, "project_id", value)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def region(self) -> Optional[pulumi.Input[str]]:
193
+ """
194
+ The region you want to attach the resource to
195
+ """
196
+ return pulumi.get(self, "region")
197
+
198
+ @region.setter
199
+ def region(self, value: Optional[pulumi.Input[str]]):
200
+ pulumi.set(self, "region", value)
201
+
202
+ @property
203
+ @pulumi.getter(name="websiteDomain")
204
+ def website_domain(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
207
+ """
208
+ return pulumi.get(self, "website_domain")
209
+
210
+ @website_domain.setter
211
+ def website_domain(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "website_domain", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="websiteEndpoint")
216
+ def website_endpoint(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ The website endpoint.
219
+ """
220
+ return pulumi.get(self, "website_endpoint")
221
+
222
+ @website_endpoint.setter
223
+ def website_endpoint(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "website_endpoint", value)
225
+
226
+
227
+ class BucketWebsiteConfiguration(pulumi.CustomResource):
228
+ @overload
229
+ def __init__(__self__,
230
+ resource_name: str,
231
+ opts: Optional[pulumi.ResourceOptions] = None,
232
+ bucket: Optional[pulumi.Input[str]] = None,
233
+ error_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationErrorDocumentArgs', 'BucketWebsiteConfigurationErrorDocumentArgsDict']]] = None,
234
+ index_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationIndexDocumentArgs', 'BucketWebsiteConfigurationIndexDocumentArgsDict']]] = None,
235
+ project_id: Optional[pulumi.Input[str]] = None,
236
+ region: Optional[pulumi.Input[str]] = None,
237
+ __props__=None):
238
+ """
239
+ The `object.BucketWebsiteConfiguration` resource allows you to deploy and manage a bucket website with [Scaleway Object storage](https://www.scaleway.com/en/docs/object-storage/).
240
+
241
+ Refer to the [dedicated documentation](https://www.scaleway.com/en/docs/object-storage/how-to/use-bucket-website/) for more information on bucket websites.
242
+
243
+ ## Example Usage
244
+
245
+ ```python
246
+ import pulumi
247
+ import pulumiverse_scaleway as scaleway
248
+
249
+ main = scaleway.object.Bucket("main",
250
+ name="MyBucket",
251
+ acl="public-read")
252
+ main_bucket_website_configuration = scaleway.object.BucketWebsiteConfiguration("main",
253
+ bucket=main.id,
254
+ index_document={
255
+ "suffix": "index.html",
256
+ })
257
+ ```
258
+
259
+ ### With A Bucket Policy
260
+
261
+ ```python
262
+ import pulumi
263
+ import json
264
+ import pulumiverse_scaleway as scaleway
265
+
266
+ main = scaleway.object.Bucket("main",
267
+ name="MyBucket",
268
+ acl="public-read")
269
+ main_bucket_policy = scaleway.object.BucketPolicy("main",
270
+ bucket=main.id,
271
+ policy=json.dumps({
272
+ "Version": "2012-10-17",
273
+ "Id": "MyPolicy",
274
+ "Statement": [{
275
+ "Sid": "GrantToEveryone",
276
+ "Effect": "Allow",
277
+ "Principal": "*",
278
+ "Action": ["s3:GetObject"],
279
+ "Resource": ["<bucket-name>/*"],
280
+ }],
281
+ }))
282
+ main_bucket_website_configuration = scaleway.object.BucketWebsiteConfiguration("main",
283
+ bucket=main.id,
284
+ index_document={
285
+ "suffix": "index.html",
286
+ })
287
+ ```
288
+
289
+ ## Import
290
+
291
+ Bucket website configurations can be imported using the `{region}/{bucketName}` identifier, as shown below:
292
+
293
+ bash
294
+
295
+ ```sh
296
+ $ pulumi import scaleway:object/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket
297
+ ```
298
+
299
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
300
+
301
+ If you are using a project different from the default one, you have to specify the project ID at the end of the import command.
302
+
303
+ bash
304
+
305
+ ```sh
306
+ $ pulumi import scaleway:object/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
307
+ ```
308
+
309
+ :param str resource_name: The name of the resource.
310
+ :param pulumi.ResourceOptions opts: Options for the resource.
311
+ :param pulumi.Input[str] bucket: The name of the bucket.
312
+ :param pulumi.Input[Union['BucketWebsiteConfigurationErrorDocumentArgs', 'BucketWebsiteConfigurationErrorDocumentArgsDict']] error_document: The name of the error file for the website detailed below.
313
+ :param pulumi.Input[Union['BucketWebsiteConfigurationIndexDocumentArgs', 'BucketWebsiteConfigurationIndexDocumentArgsDict']] index_document: The name of the index file for the website detailed below.
314
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
315
+ :param pulumi.Input[str] region: The region you want to attach the resource to
316
+ """
317
+ ...
318
+ @overload
319
+ def __init__(__self__,
320
+ resource_name: str,
321
+ args: BucketWebsiteConfigurationArgs,
322
+ opts: Optional[pulumi.ResourceOptions] = None):
323
+ """
324
+ The `object.BucketWebsiteConfiguration` resource allows you to deploy and manage a bucket website with [Scaleway Object storage](https://www.scaleway.com/en/docs/object-storage/).
325
+
326
+ Refer to the [dedicated documentation](https://www.scaleway.com/en/docs/object-storage/how-to/use-bucket-website/) for more information on bucket websites.
327
+
328
+ ## Example Usage
329
+
330
+ ```python
331
+ import pulumi
332
+ import pulumiverse_scaleway as scaleway
333
+
334
+ main = scaleway.object.Bucket("main",
335
+ name="MyBucket",
336
+ acl="public-read")
337
+ main_bucket_website_configuration = scaleway.object.BucketWebsiteConfiguration("main",
338
+ bucket=main.id,
339
+ index_document={
340
+ "suffix": "index.html",
341
+ })
342
+ ```
343
+
344
+ ### With A Bucket Policy
345
+
346
+ ```python
347
+ import pulumi
348
+ import json
349
+ import pulumiverse_scaleway as scaleway
350
+
351
+ main = scaleway.object.Bucket("main",
352
+ name="MyBucket",
353
+ acl="public-read")
354
+ main_bucket_policy = scaleway.object.BucketPolicy("main",
355
+ bucket=main.id,
356
+ policy=json.dumps({
357
+ "Version": "2012-10-17",
358
+ "Id": "MyPolicy",
359
+ "Statement": [{
360
+ "Sid": "GrantToEveryone",
361
+ "Effect": "Allow",
362
+ "Principal": "*",
363
+ "Action": ["s3:GetObject"],
364
+ "Resource": ["<bucket-name>/*"],
365
+ }],
366
+ }))
367
+ main_bucket_website_configuration = scaleway.object.BucketWebsiteConfiguration("main",
368
+ bucket=main.id,
369
+ index_document={
370
+ "suffix": "index.html",
371
+ })
372
+ ```
373
+
374
+ ## Import
375
+
376
+ Bucket website configurations can be imported using the `{region}/{bucketName}` identifier, as shown below:
377
+
378
+ bash
379
+
380
+ ```sh
381
+ $ pulumi import scaleway:object/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket
382
+ ```
383
+
384
+ ~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.
385
+
386
+ If you are using a project different from the default one, you have to specify the project ID at the end of the import command.
387
+
388
+ bash
389
+
390
+ ```sh
391
+ $ pulumi import scaleway:object/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
392
+ ```
393
+
394
+ :param str resource_name: The name of the resource.
395
+ :param BucketWebsiteConfigurationArgs args: The arguments to use to populate this resource's properties.
396
+ :param pulumi.ResourceOptions opts: Options for the resource.
397
+ """
398
+ ...
399
+ def __init__(__self__, resource_name: str, *args, **kwargs):
400
+ resource_args, opts = _utilities.get_resource_args_opts(BucketWebsiteConfigurationArgs, pulumi.ResourceOptions, *args, **kwargs)
401
+ if resource_args is not None:
402
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
403
+ else:
404
+ __self__._internal_init(resource_name, *args, **kwargs)
405
+
406
+ def _internal_init(__self__,
407
+ resource_name: str,
408
+ opts: Optional[pulumi.ResourceOptions] = None,
409
+ bucket: Optional[pulumi.Input[str]] = None,
410
+ error_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationErrorDocumentArgs', 'BucketWebsiteConfigurationErrorDocumentArgsDict']]] = None,
411
+ index_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationIndexDocumentArgs', 'BucketWebsiteConfigurationIndexDocumentArgsDict']]] = None,
412
+ project_id: Optional[pulumi.Input[str]] = None,
413
+ region: Optional[pulumi.Input[str]] = None,
414
+ __props__=None):
415
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
416
+ if not isinstance(opts, pulumi.ResourceOptions):
417
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
418
+ if opts.id is None:
419
+ if __props__ is not None:
420
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
421
+ __props__ = BucketWebsiteConfigurationArgs.__new__(BucketWebsiteConfigurationArgs)
422
+
423
+ if bucket is None and not opts.urn:
424
+ raise TypeError("Missing required property 'bucket'")
425
+ __props__.__dict__["bucket"] = bucket
426
+ __props__.__dict__["error_document"] = error_document
427
+ if index_document is None and not opts.urn:
428
+ raise TypeError("Missing required property 'index_document'")
429
+ __props__.__dict__["index_document"] = index_document
430
+ __props__.__dict__["project_id"] = project_id
431
+ __props__.__dict__["region"] = region
432
+ __props__.__dict__["website_domain"] = None
433
+ __props__.__dict__["website_endpoint"] = None
434
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/objectBucketWebsiteConfiguration:ObjectBucketWebsiteConfiguration")])
435
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
436
+ super(BucketWebsiteConfiguration, __self__).__init__(
437
+ 'scaleway:object/bucketWebsiteConfiguration:BucketWebsiteConfiguration',
438
+ resource_name,
439
+ __props__,
440
+ opts)
441
+
442
+ @staticmethod
443
+ def get(resource_name: str,
444
+ id: pulumi.Input[str],
445
+ opts: Optional[pulumi.ResourceOptions] = None,
446
+ bucket: Optional[pulumi.Input[str]] = None,
447
+ error_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationErrorDocumentArgs', 'BucketWebsiteConfigurationErrorDocumentArgsDict']]] = None,
448
+ index_document: Optional[pulumi.Input[Union['BucketWebsiteConfigurationIndexDocumentArgs', 'BucketWebsiteConfigurationIndexDocumentArgsDict']]] = None,
449
+ project_id: Optional[pulumi.Input[str]] = None,
450
+ region: Optional[pulumi.Input[str]] = None,
451
+ website_domain: Optional[pulumi.Input[str]] = None,
452
+ website_endpoint: Optional[pulumi.Input[str]] = None) -> 'BucketWebsiteConfiguration':
453
+ """
454
+ Get an existing BucketWebsiteConfiguration resource's state with the given name, id, and optional extra
455
+ properties used to qualify the lookup.
456
+
457
+ :param str resource_name: The unique name of the resulting resource.
458
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
459
+ :param pulumi.ResourceOptions opts: Options for the resource.
460
+ :param pulumi.Input[str] bucket: The name of the bucket.
461
+ :param pulumi.Input[Union['BucketWebsiteConfigurationErrorDocumentArgs', 'BucketWebsiteConfigurationErrorDocumentArgsDict']] error_document: The name of the error file for the website detailed below.
462
+ :param pulumi.Input[Union['BucketWebsiteConfigurationIndexDocumentArgs', 'BucketWebsiteConfigurationIndexDocumentArgsDict']] index_document: The name of the index file for the website detailed below.
463
+ :param pulumi.Input[str] project_id: The project_id you want to attach the resource to
464
+ :param pulumi.Input[str] region: The region you want to attach the resource to
465
+ :param pulumi.Input[str] website_domain: The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
466
+ :param pulumi.Input[str] website_endpoint: The website endpoint.
467
+ """
468
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
469
+
470
+ __props__ = _BucketWebsiteConfigurationState.__new__(_BucketWebsiteConfigurationState)
471
+
472
+ __props__.__dict__["bucket"] = bucket
473
+ __props__.__dict__["error_document"] = error_document
474
+ __props__.__dict__["index_document"] = index_document
475
+ __props__.__dict__["project_id"] = project_id
476
+ __props__.__dict__["region"] = region
477
+ __props__.__dict__["website_domain"] = website_domain
478
+ __props__.__dict__["website_endpoint"] = website_endpoint
479
+ return BucketWebsiteConfiguration(resource_name, opts=opts, __props__=__props__)
480
+
481
+ @property
482
+ @pulumi.getter
483
+ def bucket(self) -> pulumi.Output[str]:
484
+ """
485
+ The name of the bucket.
486
+ """
487
+ return pulumi.get(self, "bucket")
488
+
489
+ @property
490
+ @pulumi.getter(name="errorDocument")
491
+ def error_document(self) -> pulumi.Output[Optional['outputs.BucketWebsiteConfigurationErrorDocument']]:
492
+ """
493
+ The name of the error file for the website detailed below.
494
+ """
495
+ return pulumi.get(self, "error_document")
496
+
497
+ @property
498
+ @pulumi.getter(name="indexDocument")
499
+ def index_document(self) -> pulumi.Output['outputs.BucketWebsiteConfigurationIndexDocument']:
500
+ """
501
+ The name of the index file for the website detailed below.
502
+ """
503
+ return pulumi.get(self, "index_document")
504
+
505
+ @property
506
+ @pulumi.getter(name="projectId")
507
+ def project_id(self) -> pulumi.Output[str]:
508
+ """
509
+ The project_id you want to attach the resource to
510
+ """
511
+ return pulumi.get(self, "project_id")
512
+
513
+ @property
514
+ @pulumi.getter
515
+ def region(self) -> pulumi.Output[str]:
516
+ """
517
+ The region you want to attach the resource to
518
+ """
519
+ return pulumi.get(self, "region")
520
+
521
+ @property
522
+ @pulumi.getter(name="websiteDomain")
523
+ def website_domain(self) -> pulumi.Output[str]:
524
+ """
525
+ The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
526
+ """
527
+ return pulumi.get(self, "website_domain")
528
+
529
+ @property
530
+ @pulumi.getter(name="websiteEndpoint")
531
+ def website_endpoint(self) -> pulumi.Output[str]:
532
+ """
533
+ The website endpoint.
534
+ """
535
+ return pulumi.get(self, "website_endpoint")
536
+