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