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,661 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['SnsTopicArgs', 'SnsTopic']
18
+
19
+ @pulumi.input_type
20
+ class SnsTopicArgs:
21
+ def __init__(__self__, *,
22
+ access_key: pulumi.Input[str],
23
+ secret_key: pulumi.Input[str],
24
+ content_based_deduplication: Optional[pulumi.Input[bool]] = None,
25
+ fifo_topic: Optional[pulumi.Input[bool]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ name_prefix: Optional[pulumi.Input[str]] = None,
28
+ project_id: Optional[pulumi.Input[str]] = None,
29
+ region: Optional[pulumi.Input[str]] = None,
30
+ sns_endpoint: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a SnsTopic resource.
33
+ :param pulumi.Input[str] access_key: The access key of the SNS credentials.
34
+ :param pulumi.Input[str] secret_key: The secret key of the SNS credentials.
35
+ :param pulumi.Input[bool] content_based_deduplication: Specifies whether to enable content-based deduplication.
36
+ :param pulumi.Input[bool] fifo_topic: Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
37
+ :param pulumi.Input[str] name: The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
38
+ :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`.
39
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SNS is enabled.
40
+ :param pulumi.Input[str] region: `region`). The region
41
+ in which SNS is enabled.
42
+ :param pulumi.Input[str] sns_endpoint: The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
43
+ """
44
+ pulumi.set(__self__, "access_key", access_key)
45
+ pulumi.set(__self__, "secret_key", secret_key)
46
+ if content_based_deduplication is not None:
47
+ pulumi.set(__self__, "content_based_deduplication", content_based_deduplication)
48
+ if fifo_topic is not None:
49
+ pulumi.set(__self__, "fifo_topic", fifo_topic)
50
+ if name is not None:
51
+ pulumi.set(__self__, "name", name)
52
+ if name_prefix is not None:
53
+ pulumi.set(__self__, "name_prefix", name_prefix)
54
+ if project_id is not None:
55
+ pulumi.set(__self__, "project_id", project_id)
56
+ if region is not None:
57
+ pulumi.set(__self__, "region", region)
58
+ if sns_endpoint is not None:
59
+ pulumi.set(__self__, "sns_endpoint", sns_endpoint)
60
+
61
+ @property
62
+ @pulumi.getter(name="accessKey")
63
+ def access_key(self) -> pulumi.Input[str]:
64
+ """
65
+ The access key of the SNS credentials.
66
+ """
67
+ return pulumi.get(self, "access_key")
68
+
69
+ @access_key.setter
70
+ def access_key(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "access_key", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="secretKey")
75
+ def secret_key(self) -> pulumi.Input[str]:
76
+ """
77
+ The secret key of the SNS credentials.
78
+ """
79
+ return pulumi.get(self, "secret_key")
80
+
81
+ @secret_key.setter
82
+ def secret_key(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "secret_key", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="contentBasedDeduplication")
87
+ def content_based_deduplication(self) -> Optional[pulumi.Input[bool]]:
88
+ """
89
+ Specifies whether to enable content-based deduplication.
90
+ """
91
+ return pulumi.get(self, "content_based_deduplication")
92
+
93
+ @content_based_deduplication.setter
94
+ def content_based_deduplication(self, value: Optional[pulumi.Input[bool]]):
95
+ pulumi.set(self, "content_based_deduplication", value)
96
+
97
+ @property
98
+ @pulumi.getter(name="fifoTopic")
99
+ def fifo_topic(self) -> Optional[pulumi.Input[bool]]:
100
+ """
101
+ Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
102
+ """
103
+ return pulumi.get(self, "fifo_topic")
104
+
105
+ @fifo_topic.setter
106
+ def fifo_topic(self, value: Optional[pulumi.Input[bool]]):
107
+ pulumi.set(self, "fifo_topic", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ """
113
+ The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
114
+ """
115
+ return pulumi.get(self, "name")
116
+
117
+ @name.setter
118
+ def name(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "name", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="namePrefix")
123
+ def name_prefix(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ Creates a unique name beginning with the specified prefix. Conflicts with `name`.
126
+ """
127
+ return pulumi.get(self, "name_prefix")
128
+
129
+ @name_prefix.setter
130
+ def name_prefix(self, value: Optional[pulumi.Input[str]]):
131
+ pulumi.set(self, "name_prefix", value)
132
+
133
+ @property
134
+ @pulumi.getter(name="projectId")
135
+ def project_id(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ `project_id`) The ID of the Project in which SNS is enabled.
138
+ """
139
+ return pulumi.get(self, "project_id")
140
+
141
+ @project_id.setter
142
+ def project_id(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "project_id", value)
144
+
145
+ @property
146
+ @pulumi.getter
147
+ def region(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ `region`). The region
150
+ in which SNS is enabled.
151
+ """
152
+ return pulumi.get(self, "region")
153
+
154
+ @region.setter
155
+ def region(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "region", value)
157
+
158
+ @property
159
+ @pulumi.getter(name="snsEndpoint")
160
+ def sns_endpoint(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
163
+ """
164
+ return pulumi.get(self, "sns_endpoint")
165
+
166
+ @sns_endpoint.setter
167
+ def sns_endpoint(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "sns_endpoint", value)
169
+
170
+
171
+ @pulumi.input_type
172
+ class _SnsTopicState:
173
+ def __init__(__self__, *,
174
+ access_key: Optional[pulumi.Input[str]] = None,
175
+ arn: Optional[pulumi.Input[str]] = None,
176
+ content_based_deduplication: Optional[pulumi.Input[bool]] = None,
177
+ fifo_topic: Optional[pulumi.Input[bool]] = None,
178
+ name: Optional[pulumi.Input[str]] = None,
179
+ name_prefix: Optional[pulumi.Input[str]] = None,
180
+ owner: Optional[pulumi.Input[str]] = None,
181
+ project_id: Optional[pulumi.Input[str]] = None,
182
+ region: Optional[pulumi.Input[str]] = None,
183
+ secret_key: Optional[pulumi.Input[str]] = None,
184
+ sns_endpoint: Optional[pulumi.Input[str]] = None):
185
+ """
186
+ Input properties used for looking up and filtering SnsTopic resources.
187
+ :param pulumi.Input[str] access_key: The access key of the SNS credentials.
188
+ :param pulumi.Input[str] arn: The ARN of the topic
189
+ :param pulumi.Input[bool] content_based_deduplication: Specifies whether to enable content-based deduplication.
190
+ :param pulumi.Input[bool] fifo_topic: Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
191
+ :param pulumi.Input[str] name: The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
192
+ :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`.
193
+ :param pulumi.Input[str] owner: Owner of the SNS topic, should have format 'project-${project_id}'
194
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SNS is enabled.
195
+ :param pulumi.Input[str] region: `region`). The region
196
+ in which SNS is enabled.
197
+ :param pulumi.Input[str] secret_key: The secret key of the SNS credentials.
198
+ :param pulumi.Input[str] sns_endpoint: The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
199
+ """
200
+ if access_key is not None:
201
+ pulumi.set(__self__, "access_key", access_key)
202
+ if arn is not None:
203
+ pulumi.set(__self__, "arn", arn)
204
+ if content_based_deduplication is not None:
205
+ pulumi.set(__self__, "content_based_deduplication", content_based_deduplication)
206
+ if fifo_topic is not None:
207
+ pulumi.set(__self__, "fifo_topic", fifo_topic)
208
+ if name is not None:
209
+ pulumi.set(__self__, "name", name)
210
+ if name_prefix is not None:
211
+ pulumi.set(__self__, "name_prefix", name_prefix)
212
+ if owner is not None:
213
+ pulumi.set(__self__, "owner", owner)
214
+ if project_id is not None:
215
+ pulumi.set(__self__, "project_id", project_id)
216
+ if region is not None:
217
+ pulumi.set(__self__, "region", region)
218
+ if secret_key is not None:
219
+ pulumi.set(__self__, "secret_key", secret_key)
220
+ if sns_endpoint is not None:
221
+ pulumi.set(__self__, "sns_endpoint", sns_endpoint)
222
+
223
+ @property
224
+ @pulumi.getter(name="accessKey")
225
+ def access_key(self) -> Optional[pulumi.Input[str]]:
226
+ """
227
+ The access key of the SNS credentials.
228
+ """
229
+ return pulumi.get(self, "access_key")
230
+
231
+ @access_key.setter
232
+ def access_key(self, value: Optional[pulumi.Input[str]]):
233
+ pulumi.set(self, "access_key", value)
234
+
235
+ @property
236
+ @pulumi.getter
237
+ def arn(self) -> Optional[pulumi.Input[str]]:
238
+ """
239
+ The ARN of the topic
240
+ """
241
+ return pulumi.get(self, "arn")
242
+
243
+ @arn.setter
244
+ def arn(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "arn", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="contentBasedDeduplication")
249
+ def content_based_deduplication(self) -> Optional[pulumi.Input[bool]]:
250
+ """
251
+ Specifies whether to enable content-based deduplication.
252
+ """
253
+ return pulumi.get(self, "content_based_deduplication")
254
+
255
+ @content_based_deduplication.setter
256
+ def content_based_deduplication(self, value: Optional[pulumi.Input[bool]]):
257
+ pulumi.set(self, "content_based_deduplication", value)
258
+
259
+ @property
260
+ @pulumi.getter(name="fifoTopic")
261
+ def fifo_topic(self) -> Optional[pulumi.Input[bool]]:
262
+ """
263
+ Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
264
+ """
265
+ return pulumi.get(self, "fifo_topic")
266
+
267
+ @fifo_topic.setter
268
+ def fifo_topic(self, value: Optional[pulumi.Input[bool]]):
269
+ pulumi.set(self, "fifo_topic", value)
270
+
271
+ @property
272
+ @pulumi.getter
273
+ def name(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
276
+ """
277
+ return pulumi.get(self, "name")
278
+
279
+ @name.setter
280
+ def name(self, value: Optional[pulumi.Input[str]]):
281
+ pulumi.set(self, "name", value)
282
+
283
+ @property
284
+ @pulumi.getter(name="namePrefix")
285
+ def name_prefix(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ Creates a unique name beginning with the specified prefix. Conflicts with `name`.
288
+ """
289
+ return pulumi.get(self, "name_prefix")
290
+
291
+ @name_prefix.setter
292
+ def name_prefix(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "name_prefix", value)
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def owner(self) -> Optional[pulumi.Input[str]]:
298
+ """
299
+ Owner of the SNS topic, should have format 'project-${project_id}'
300
+ """
301
+ return pulumi.get(self, "owner")
302
+
303
+ @owner.setter
304
+ def owner(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "owner", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="projectId")
309
+ def project_id(self) -> Optional[pulumi.Input[str]]:
310
+ """
311
+ `project_id`) The ID of the Project in which SNS is enabled.
312
+ """
313
+ return pulumi.get(self, "project_id")
314
+
315
+ @project_id.setter
316
+ def project_id(self, value: Optional[pulumi.Input[str]]):
317
+ pulumi.set(self, "project_id", value)
318
+
319
+ @property
320
+ @pulumi.getter
321
+ def region(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ `region`). The region
324
+ in which SNS is enabled.
325
+ """
326
+ return pulumi.get(self, "region")
327
+
328
+ @region.setter
329
+ def region(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "region", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="secretKey")
334
+ def secret_key(self) -> Optional[pulumi.Input[str]]:
335
+ """
336
+ The secret key of the SNS credentials.
337
+ """
338
+ return pulumi.get(self, "secret_key")
339
+
340
+ @secret_key.setter
341
+ def secret_key(self, value: Optional[pulumi.Input[str]]):
342
+ pulumi.set(self, "secret_key", value)
343
+
344
+ @property
345
+ @pulumi.getter(name="snsEndpoint")
346
+ def sns_endpoint(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
349
+ """
350
+ return pulumi.get(self, "sns_endpoint")
351
+
352
+ @sns_endpoint.setter
353
+ def sns_endpoint(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "sns_endpoint", value)
355
+
356
+
357
+ class SnsTopic(pulumi.CustomResource):
358
+ @overload
359
+ def __init__(__self__,
360
+ resource_name: str,
361
+ opts: Optional[pulumi.ResourceOptions] = None,
362
+ access_key: Optional[pulumi.Input[str]] = None,
363
+ content_based_deduplication: Optional[pulumi.Input[bool]] = None,
364
+ fifo_topic: Optional[pulumi.Input[bool]] = None,
365
+ name: Optional[pulumi.Input[str]] = None,
366
+ name_prefix: Optional[pulumi.Input[str]] = None,
367
+ project_id: Optional[pulumi.Input[str]] = None,
368
+ region: Optional[pulumi.Input[str]] = None,
369
+ secret_key: Optional[pulumi.Input[str]] = None,
370
+ sns_endpoint: Optional[pulumi.Input[str]] = None,
371
+ __props__=None):
372
+ """
373
+ Manage Scaleway Messaging and queuing SNS topics.
374
+ For further information, see
375
+ our [main documentation](https://www.scaleway.com/en/docs/messaging/how-to/create-manage-topics/).
376
+
377
+ ## Example Usage
378
+
379
+ ### Basic
380
+
381
+ ```python
382
+ import pulumi
383
+ import pulumiverse_scaleway as scaleway
384
+
385
+ main = scaleway.mnq.Sns("main")
386
+ main_sns_credentials = scaleway.mnq.SnsCredentials("main",
387
+ project_id=main.project_id,
388
+ permissions={
389
+ "can_manage": True,
390
+ })
391
+ topic = scaleway.mnq.SnsTopic("topic",
392
+ project_id=main.project_id,
393
+ name="my-topic",
394
+ access_key=main_sns_credentials.access_key,
395
+ secret_key=main_sns_credentials.secret_key)
396
+ ```
397
+
398
+ ## Import
399
+
400
+ SNS topics can be imported using `{region}/{project-id}/{topic-name}`, e.g.
401
+
402
+ bash
403
+
404
+ ```sh
405
+ $ pulumi import scaleway:mnq/snsTopic:SnsTopic main fr-par/11111111111111111111111111111111/my-topic
406
+ ```
407
+
408
+ :param str resource_name: The name of the resource.
409
+ :param pulumi.ResourceOptions opts: Options for the resource.
410
+ :param pulumi.Input[str] access_key: The access key of the SNS credentials.
411
+ :param pulumi.Input[bool] content_based_deduplication: Specifies whether to enable content-based deduplication.
412
+ :param pulumi.Input[bool] fifo_topic: Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
413
+ :param pulumi.Input[str] name: The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
414
+ :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`.
415
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SNS is enabled.
416
+ :param pulumi.Input[str] region: `region`). The region
417
+ in which SNS is enabled.
418
+ :param pulumi.Input[str] secret_key: The secret key of the SNS credentials.
419
+ :param pulumi.Input[str] sns_endpoint: The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
420
+ """
421
+ ...
422
+ @overload
423
+ def __init__(__self__,
424
+ resource_name: str,
425
+ args: SnsTopicArgs,
426
+ opts: Optional[pulumi.ResourceOptions] = None):
427
+ """
428
+ Manage Scaleway Messaging and queuing SNS topics.
429
+ For further information, see
430
+ our [main documentation](https://www.scaleway.com/en/docs/messaging/how-to/create-manage-topics/).
431
+
432
+ ## Example Usage
433
+
434
+ ### Basic
435
+
436
+ ```python
437
+ import pulumi
438
+ import pulumiverse_scaleway as scaleway
439
+
440
+ main = scaleway.mnq.Sns("main")
441
+ main_sns_credentials = scaleway.mnq.SnsCredentials("main",
442
+ project_id=main.project_id,
443
+ permissions={
444
+ "can_manage": True,
445
+ })
446
+ topic = scaleway.mnq.SnsTopic("topic",
447
+ project_id=main.project_id,
448
+ name="my-topic",
449
+ access_key=main_sns_credentials.access_key,
450
+ secret_key=main_sns_credentials.secret_key)
451
+ ```
452
+
453
+ ## Import
454
+
455
+ SNS topics can be imported using `{region}/{project-id}/{topic-name}`, e.g.
456
+
457
+ bash
458
+
459
+ ```sh
460
+ $ pulumi import scaleway:mnq/snsTopic:SnsTopic main fr-par/11111111111111111111111111111111/my-topic
461
+ ```
462
+
463
+ :param str resource_name: The name of the resource.
464
+ :param SnsTopicArgs args: The arguments to use to populate this resource's properties.
465
+ :param pulumi.ResourceOptions opts: Options for the resource.
466
+ """
467
+ ...
468
+ def __init__(__self__, resource_name: str, *args, **kwargs):
469
+ resource_args, opts = _utilities.get_resource_args_opts(SnsTopicArgs, pulumi.ResourceOptions, *args, **kwargs)
470
+ if resource_args is not None:
471
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
472
+ else:
473
+ __self__._internal_init(resource_name, *args, **kwargs)
474
+
475
+ def _internal_init(__self__,
476
+ resource_name: str,
477
+ opts: Optional[pulumi.ResourceOptions] = None,
478
+ access_key: Optional[pulumi.Input[str]] = None,
479
+ content_based_deduplication: Optional[pulumi.Input[bool]] = None,
480
+ fifo_topic: Optional[pulumi.Input[bool]] = None,
481
+ name: Optional[pulumi.Input[str]] = None,
482
+ name_prefix: Optional[pulumi.Input[str]] = None,
483
+ project_id: Optional[pulumi.Input[str]] = None,
484
+ region: Optional[pulumi.Input[str]] = None,
485
+ secret_key: Optional[pulumi.Input[str]] = None,
486
+ sns_endpoint: Optional[pulumi.Input[str]] = None,
487
+ __props__=None):
488
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
489
+ if not isinstance(opts, pulumi.ResourceOptions):
490
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
491
+ if opts.id is None:
492
+ if __props__ is not None:
493
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
494
+ __props__ = SnsTopicArgs.__new__(SnsTopicArgs)
495
+
496
+ if access_key is None and not opts.urn:
497
+ raise TypeError("Missing required property 'access_key'")
498
+ __props__.__dict__["access_key"] = None if access_key is None else pulumi.Output.secret(access_key)
499
+ __props__.__dict__["content_based_deduplication"] = content_based_deduplication
500
+ __props__.__dict__["fifo_topic"] = fifo_topic
501
+ __props__.__dict__["name"] = name
502
+ __props__.__dict__["name_prefix"] = name_prefix
503
+ __props__.__dict__["project_id"] = project_id
504
+ __props__.__dict__["region"] = region
505
+ if secret_key is None and not opts.urn:
506
+ raise TypeError("Missing required property 'secret_key'")
507
+ __props__.__dict__["secret_key"] = None if secret_key is None else pulumi.Output.secret(secret_key)
508
+ __props__.__dict__["sns_endpoint"] = sns_endpoint
509
+ __props__.__dict__["arn"] = None
510
+ __props__.__dict__["owner"] = None
511
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/mnqSnsTopic:MnqSnsTopic")])
512
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
513
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessKey", "secretKey"])
514
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
515
+ super(SnsTopic, __self__).__init__(
516
+ 'scaleway:mnq/snsTopic:SnsTopic',
517
+ resource_name,
518
+ __props__,
519
+ opts)
520
+
521
+ @staticmethod
522
+ def get(resource_name: str,
523
+ id: pulumi.Input[str],
524
+ opts: Optional[pulumi.ResourceOptions] = None,
525
+ access_key: Optional[pulumi.Input[str]] = None,
526
+ arn: Optional[pulumi.Input[str]] = None,
527
+ content_based_deduplication: Optional[pulumi.Input[bool]] = None,
528
+ fifo_topic: Optional[pulumi.Input[bool]] = None,
529
+ name: Optional[pulumi.Input[str]] = None,
530
+ name_prefix: Optional[pulumi.Input[str]] = None,
531
+ owner: Optional[pulumi.Input[str]] = None,
532
+ project_id: Optional[pulumi.Input[str]] = None,
533
+ region: Optional[pulumi.Input[str]] = None,
534
+ secret_key: Optional[pulumi.Input[str]] = None,
535
+ sns_endpoint: Optional[pulumi.Input[str]] = None) -> 'SnsTopic':
536
+ """
537
+ Get an existing SnsTopic resource's state with the given name, id, and optional extra
538
+ properties used to qualify the lookup.
539
+
540
+ :param str resource_name: The unique name of the resulting resource.
541
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
542
+ :param pulumi.ResourceOptions opts: Options for the resource.
543
+ :param pulumi.Input[str] access_key: The access key of the SNS credentials.
544
+ :param pulumi.Input[str] arn: The ARN of the topic
545
+ :param pulumi.Input[bool] content_based_deduplication: Specifies whether to enable content-based deduplication.
546
+ :param pulumi.Input[bool] fifo_topic: Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
547
+ :param pulumi.Input[str] name: The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
548
+ :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`.
549
+ :param pulumi.Input[str] owner: Owner of the SNS topic, should have format 'project-${project_id}'
550
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the Project in which SNS is enabled.
551
+ :param pulumi.Input[str] region: `region`). The region
552
+ in which SNS is enabled.
553
+ :param pulumi.Input[str] secret_key: The secret key of the SNS credentials.
554
+ :param pulumi.Input[str] sns_endpoint: The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
555
+ """
556
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
557
+
558
+ __props__ = _SnsTopicState.__new__(_SnsTopicState)
559
+
560
+ __props__.__dict__["access_key"] = access_key
561
+ __props__.__dict__["arn"] = arn
562
+ __props__.__dict__["content_based_deduplication"] = content_based_deduplication
563
+ __props__.__dict__["fifo_topic"] = fifo_topic
564
+ __props__.__dict__["name"] = name
565
+ __props__.__dict__["name_prefix"] = name_prefix
566
+ __props__.__dict__["owner"] = owner
567
+ __props__.__dict__["project_id"] = project_id
568
+ __props__.__dict__["region"] = region
569
+ __props__.__dict__["secret_key"] = secret_key
570
+ __props__.__dict__["sns_endpoint"] = sns_endpoint
571
+ return SnsTopic(resource_name, opts=opts, __props__=__props__)
572
+
573
+ @property
574
+ @pulumi.getter(name="accessKey")
575
+ def access_key(self) -> pulumi.Output[str]:
576
+ """
577
+ The access key of the SNS credentials.
578
+ """
579
+ return pulumi.get(self, "access_key")
580
+
581
+ @property
582
+ @pulumi.getter
583
+ def arn(self) -> pulumi.Output[str]:
584
+ """
585
+ The ARN of the topic
586
+ """
587
+ return pulumi.get(self, "arn")
588
+
589
+ @property
590
+ @pulumi.getter(name="contentBasedDeduplication")
591
+ def content_based_deduplication(self) -> pulumi.Output[bool]:
592
+ """
593
+ Specifies whether to enable content-based deduplication.
594
+ """
595
+ return pulumi.get(self, "content_based_deduplication")
596
+
597
+ @property
598
+ @pulumi.getter(name="fifoTopic")
599
+ def fifo_topic(self) -> pulumi.Output[bool]:
600
+ """
601
+ Whether the topic is a FIFO topic. If true, the topic name must end with .fifo.
602
+ """
603
+ return pulumi.get(self, "fifo_topic")
604
+
605
+ @property
606
+ @pulumi.getter
607
+ def name(self) -> pulumi.Output[str]:
608
+ """
609
+ The unique name of the SNS topic. Either `name` or `name_prefix` is required. Conflicts with `name_prefix`.
610
+ """
611
+ return pulumi.get(self, "name")
612
+
613
+ @property
614
+ @pulumi.getter(name="namePrefix")
615
+ def name_prefix(self) -> pulumi.Output[str]:
616
+ """
617
+ Creates a unique name beginning with the specified prefix. Conflicts with `name`.
618
+ """
619
+ return pulumi.get(self, "name_prefix")
620
+
621
+ @property
622
+ @pulumi.getter
623
+ def owner(self) -> pulumi.Output[str]:
624
+ """
625
+ Owner of the SNS topic, should have format 'project-${project_id}'
626
+ """
627
+ return pulumi.get(self, "owner")
628
+
629
+ @property
630
+ @pulumi.getter(name="projectId")
631
+ def project_id(self) -> pulumi.Output[str]:
632
+ """
633
+ `project_id`) The ID of the Project in which SNS is enabled.
634
+ """
635
+ return pulumi.get(self, "project_id")
636
+
637
+ @property
638
+ @pulumi.getter
639
+ def region(self) -> pulumi.Output[str]:
640
+ """
641
+ `region`). The region
642
+ in which SNS is enabled.
643
+ """
644
+ return pulumi.get(self, "region")
645
+
646
+ @property
647
+ @pulumi.getter(name="secretKey")
648
+ def secret_key(self) -> pulumi.Output[str]:
649
+ """
650
+ The secret key of the SNS credentials.
651
+ """
652
+ return pulumi.get(self, "secret_key")
653
+
654
+ @property
655
+ @pulumi.getter(name="snsEndpoint")
656
+ def sns_endpoint(self) -> pulumi.Output[Optional[str]]:
657
+ """
658
+ The endpoint of the SNS service. Can contain a {region} placeholder. Defaults to `https://sns.mnq.{region}.scaleway.com`.
659
+ """
660
+ return pulumi.get(self, "sns_endpoint")
661
+