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,262 @@
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__ = [
18
+ 'GetSourceResult',
19
+ 'AwaitableGetSourceResult',
20
+ 'get_source',
21
+ 'get_source_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetSourceResult:
26
+ """
27
+ A collection of values returned by getSource.
28
+ """
29
+ def __init__(__self__, created_at=None, id=None, name=None, origin=None, project_id=None, region=None, retention_days=None, synchronized_with_grafana=None, type=None, updated_at=None, url=None):
30
+ if created_at and not isinstance(created_at, str):
31
+ raise TypeError("Expected argument 'created_at' to be a str")
32
+ pulumi.set(__self__, "created_at", created_at)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if name and not isinstance(name, str):
37
+ raise TypeError("Expected argument 'name' to be a str")
38
+ pulumi.set(__self__, "name", name)
39
+ if origin and not isinstance(origin, str):
40
+ raise TypeError("Expected argument 'origin' to be a str")
41
+ pulumi.set(__self__, "origin", origin)
42
+ if project_id and not isinstance(project_id, str):
43
+ raise TypeError("Expected argument 'project_id' to be a str")
44
+ pulumi.set(__self__, "project_id", project_id)
45
+ if region and not isinstance(region, str):
46
+ raise TypeError("Expected argument 'region' to be a str")
47
+ pulumi.set(__self__, "region", region)
48
+ if retention_days and not isinstance(retention_days, int):
49
+ raise TypeError("Expected argument 'retention_days' to be a int")
50
+ pulumi.set(__self__, "retention_days", retention_days)
51
+ if synchronized_with_grafana and not isinstance(synchronized_with_grafana, bool):
52
+ raise TypeError("Expected argument 'synchronized_with_grafana' to be a bool")
53
+ pulumi.set(__self__, "synchronized_with_grafana", synchronized_with_grafana)
54
+ if type and not isinstance(type, str):
55
+ raise TypeError("Expected argument 'type' to be a str")
56
+ pulumi.set(__self__, "type", type)
57
+ if updated_at and not isinstance(updated_at, str):
58
+ raise TypeError("Expected argument 'updated_at' to be a str")
59
+ pulumi.set(__self__, "updated_at", updated_at)
60
+ if url and not isinstance(url, str):
61
+ raise TypeError("Expected argument 'url' to be a str")
62
+ pulumi.set(__self__, "url", url)
63
+
64
+ @property
65
+ @pulumi.getter(name="createdAt")
66
+ def created_at(self) -> str:
67
+ """
68
+ The date and time the data source was created (in RFC 3339 format).
69
+ """
70
+ return pulumi.get(self, "created_at")
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def id(self) -> str:
75
+ """
76
+ The unique identifier of the data source in the `{region}/{id}` format.
77
+ """
78
+ return pulumi.get(self, "id")
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def name(self) -> str:
83
+ return pulumi.get(self, "name")
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def origin(self) -> str:
88
+ """
89
+ The origin of the data source.
90
+ """
91
+ return pulumi.get(self, "origin")
92
+
93
+ @property
94
+ @pulumi.getter(name="projectId")
95
+ def project_id(self) -> str:
96
+ return pulumi.get(self, "project_id")
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def region(self) -> str:
101
+ return pulumi.get(self, "region")
102
+
103
+ @property
104
+ @pulumi.getter(name="retentionDays")
105
+ def retention_days(self) -> int:
106
+ """
107
+ The number of days the data is retained in the data source.
108
+ """
109
+ return pulumi.get(self, "retention_days")
110
+
111
+ @property
112
+ @pulumi.getter(name="synchronizedWithGrafana")
113
+ def synchronized_with_grafana(self) -> bool:
114
+ """
115
+ Indicates whether the data source is synchronized with Grafana.
116
+ """
117
+ return pulumi.get(self, "synchronized_with_grafana")
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def type(self) -> str:
122
+ return pulumi.get(self, "type")
123
+
124
+ @property
125
+ @pulumi.getter(name="updatedAt")
126
+ def updated_at(self) -> str:
127
+ """
128
+ The date and time the data source was last updated (in RFC 3339 format).
129
+ """
130
+ return pulumi.get(self, "updated_at")
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def url(self) -> str:
135
+ """
136
+ The URL of the Cockpit data source.
137
+ """
138
+ return pulumi.get(self, "url")
139
+
140
+
141
+ class AwaitableGetSourceResult(GetSourceResult):
142
+ # pylint: disable=using-constant-test
143
+ def __await__(self):
144
+ if False:
145
+ yield self
146
+ return GetSourceResult(
147
+ created_at=self.created_at,
148
+ id=self.id,
149
+ name=self.name,
150
+ origin=self.origin,
151
+ project_id=self.project_id,
152
+ region=self.region,
153
+ retention_days=self.retention_days,
154
+ synchronized_with_grafana=self.synchronized_with_grafana,
155
+ type=self.type,
156
+ updated_at=self.updated_at,
157
+ url=self.url)
158
+
159
+
160
+ def get_source(id: Optional[str] = None,
161
+ name: Optional[str] = None,
162
+ origin: Optional[str] = None,
163
+ project_id: Optional[str] = None,
164
+ type: Optional[str] = None,
165
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSourceResult:
166
+ """
167
+ The `observability.Source` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit.
168
+
169
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
170
+
171
+ ## Example Usage
172
+
173
+ ### Retrieve a specific data source by ID
174
+
175
+ The following example retrieves a Cockpit data source by its unique ID.
176
+
177
+ ```python
178
+ import pulumi
179
+ import pulumi_scaleway as scaleway
180
+
181
+ example = scaleway.observability.get_source(id="fr-par/11111111-1111-1111-1111-111111111111")
182
+ ```
183
+
184
+
185
+ :param str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored.
186
+ :param str name: The name of the data source.
187
+ :param str origin: The origin of the data source. Possible values are:
188
+ :param str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration.
189
+ :param str type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
190
+ """
191
+ __args__ = dict()
192
+ __args__['id'] = id
193
+ __args__['name'] = name
194
+ __args__['origin'] = origin
195
+ __args__['projectId'] = project_id
196
+ __args__['type'] = type
197
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
198
+ __ret__ = pulumi.runtime.invoke('scaleway:observability/getSource:getSource', __args__, opts=opts, typ=GetSourceResult).value
199
+
200
+ return AwaitableGetSourceResult(
201
+ created_at=pulumi.get(__ret__, 'created_at'),
202
+ id=pulumi.get(__ret__, 'id'),
203
+ name=pulumi.get(__ret__, 'name'),
204
+ origin=pulumi.get(__ret__, 'origin'),
205
+ project_id=pulumi.get(__ret__, 'project_id'),
206
+ region=pulumi.get(__ret__, 'region'),
207
+ retention_days=pulumi.get(__ret__, 'retention_days'),
208
+ synchronized_with_grafana=pulumi.get(__ret__, 'synchronized_with_grafana'),
209
+ type=pulumi.get(__ret__, 'type'),
210
+ updated_at=pulumi.get(__ret__, 'updated_at'),
211
+ url=pulumi.get(__ret__, 'url'))
212
+ def get_source_output(id: Optional[pulumi.Input[Optional[str]]] = None,
213
+ name: Optional[pulumi.Input[Optional[str]]] = None,
214
+ origin: Optional[pulumi.Input[Optional[str]]] = None,
215
+ project_id: Optional[pulumi.Input[Optional[str]]] = None,
216
+ type: Optional[pulumi.Input[Optional[str]]] = None,
217
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSourceResult]:
218
+ """
219
+ The `observability.Source` data source allows you to retrieve information about a specific [data source](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-sources) in Scaleway's Cockpit.
220
+
221
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
222
+
223
+ ## Example Usage
224
+
225
+ ### Retrieve a specific data source by ID
226
+
227
+ The following example retrieves a Cockpit data source by its unique ID.
228
+
229
+ ```python
230
+ import pulumi
231
+ import pulumi_scaleway as scaleway
232
+
233
+ example = scaleway.observability.get_source(id="fr-par/11111111-1111-1111-1111-111111111111")
234
+ ```
235
+
236
+
237
+ :param str id: The unique identifier of the Cockpit data source in the `{region}/{id}` format. If specified, other filters are ignored.
238
+ :param str name: The name of the data source.
239
+ :param str origin: The origin of the data source. Possible values are:
240
+ :param str project_id: The ID of the Project the data source is associated with. Defaults to the Project ID specified in the provider configuration.
241
+ :param str type: The [type](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#data-types) of data source. Possible values are: `metrics`, `logs`, or `traces`.
242
+ """
243
+ __args__ = dict()
244
+ __args__['id'] = id
245
+ __args__['name'] = name
246
+ __args__['origin'] = origin
247
+ __args__['projectId'] = project_id
248
+ __args__['type'] = type
249
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
250
+ __ret__ = pulumi.runtime.invoke_output('scaleway:observability/getSource:getSource', __args__, opts=opts, typ=GetSourceResult)
251
+ return __ret__.apply(lambda __response__: GetSourceResult(
252
+ created_at=pulumi.get(__response__, 'created_at'),
253
+ id=pulumi.get(__response__, 'id'),
254
+ name=pulumi.get(__response__, 'name'),
255
+ origin=pulumi.get(__response__, 'origin'),
256
+ project_id=pulumi.get(__response__, 'project_id'),
257
+ region=pulumi.get(__response__, 'region'),
258
+ retention_days=pulumi.get(__response__, 'retention_days'),
259
+ synchronized_with_grafana=pulumi.get(__response__, 'synchronized_with_grafana'),
260
+ type=pulumi.get(__response__, 'type'),
261
+ updated_at=pulumi.get(__response__, 'updated_at'),
262
+ url=pulumi.get(__response__, 'url')))
@@ -0,0 +1,364 @@
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__ = ['GrafanaUserArgs', 'GrafanaUser']
18
+
19
+ @pulumi.input_type
20
+ class GrafanaUserArgs:
21
+ def __init__(__self__, *,
22
+ login: pulumi.Input[str],
23
+ role: pulumi.Input[str],
24
+ project_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a GrafanaUser resource.
27
+ :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
28
+ :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`.
29
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
30
+ """
31
+ pulumi.set(__self__, "login", login)
32
+ pulumi.set(__self__, "role", role)
33
+ if project_id is not None:
34
+ pulumi.set(__self__, "project_id", project_id)
35
+
36
+ @property
37
+ @pulumi.getter
38
+ def login(self) -> pulumi.Input[str]:
39
+ """
40
+ The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
41
+ """
42
+ return pulumi.get(self, "login")
43
+
44
+ @login.setter
45
+ def login(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "login", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def role(self) -> pulumi.Input[str]:
51
+ """
52
+ The role assigned to the Grafana user. Must be `editor` or `viewer`.
53
+ """
54
+ return pulumi.get(self, "role")
55
+
56
+ @role.setter
57
+ def role(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "role", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="projectId")
62
+ def project_id(self) -> Optional[pulumi.Input[str]]:
63
+ """
64
+ ) The ID of the Project the Cockpit is associated with.
65
+ """
66
+ return pulumi.get(self, "project_id")
67
+
68
+ @project_id.setter
69
+ def project_id(self, value: Optional[pulumi.Input[str]]):
70
+ pulumi.set(self, "project_id", value)
71
+
72
+
73
+ @pulumi.input_type
74
+ class _GrafanaUserState:
75
+ def __init__(__self__, *,
76
+ grafana_url: Optional[pulumi.Input[str]] = None,
77
+ login: Optional[pulumi.Input[str]] = None,
78
+ password: Optional[pulumi.Input[str]] = None,
79
+ project_id: Optional[pulumi.Input[str]] = None,
80
+ role: Optional[pulumi.Input[str]] = None):
81
+ """
82
+ Input properties used for looking up and filtering GrafanaUser resources.
83
+ :param pulumi.Input[str] grafana_url: URL for Grafana.
84
+ :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
85
+ :param pulumi.Input[str] password: The password of the Grafana user.
86
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
87
+ :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`.
88
+ """
89
+ if grafana_url is not None:
90
+ pulumi.set(__self__, "grafana_url", grafana_url)
91
+ if login is not None:
92
+ pulumi.set(__self__, "login", login)
93
+ if password is not None:
94
+ pulumi.set(__self__, "password", password)
95
+ if project_id is not None:
96
+ pulumi.set(__self__, "project_id", project_id)
97
+ if role is not None:
98
+ pulumi.set(__self__, "role", role)
99
+
100
+ @property
101
+ @pulumi.getter(name="grafanaUrl")
102
+ def grafana_url(self) -> Optional[pulumi.Input[str]]:
103
+ """
104
+ URL for Grafana.
105
+ """
106
+ return pulumi.get(self, "grafana_url")
107
+
108
+ @grafana_url.setter
109
+ def grafana_url(self, value: Optional[pulumi.Input[str]]):
110
+ pulumi.set(self, "grafana_url", value)
111
+
112
+ @property
113
+ @pulumi.getter
114
+ def login(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
117
+ """
118
+ return pulumi.get(self, "login")
119
+
120
+ @login.setter
121
+ def login(self, value: Optional[pulumi.Input[str]]):
122
+ pulumi.set(self, "login", value)
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def password(self) -> Optional[pulumi.Input[str]]:
127
+ """
128
+ The password of the Grafana user.
129
+ """
130
+ return pulumi.get(self, "password")
131
+
132
+ @password.setter
133
+ def password(self, value: Optional[pulumi.Input[str]]):
134
+ pulumi.set(self, "password", value)
135
+
136
+ @property
137
+ @pulumi.getter(name="projectId")
138
+ def project_id(self) -> Optional[pulumi.Input[str]]:
139
+ """
140
+ ) The ID of the Project the Cockpit is associated with.
141
+ """
142
+ return pulumi.get(self, "project_id")
143
+
144
+ @project_id.setter
145
+ def project_id(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "project_id", value)
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def role(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ The role assigned to the Grafana user. Must be `editor` or `viewer`.
153
+ """
154
+ return pulumi.get(self, "role")
155
+
156
+ @role.setter
157
+ def role(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "role", value)
159
+
160
+
161
+ class GrafanaUser(pulumi.CustomResource):
162
+ @overload
163
+ def __init__(__self__,
164
+ resource_name: str,
165
+ opts: Optional[pulumi.ResourceOptions] = None,
166
+ login: Optional[pulumi.Input[str]] = None,
167
+ project_id: Optional[pulumi.Input[str]] = None,
168
+ role: Optional[pulumi.Input[str]] = None,
169
+ __props__=None):
170
+ """
171
+ The `observability.GrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit.
172
+
173
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
174
+
175
+ ## Example Usage
176
+
177
+ ### Create a Grafana user
178
+
179
+ The following command allows you to create a Grafana user within a specific Scaleway Project.
180
+
181
+ ```python
182
+ import pulumi
183
+ import pulumiverse_scaleway as scaleway
184
+
185
+ project = scaleway.account.Project("project", name="test project grafana user")
186
+ main = scaleway.observability.GrafanaUser("main",
187
+ project_id=project.id,
188
+ login="my-awesome-user",
189
+ role="editor")
190
+ ```
191
+
192
+ ## Import
193
+
194
+ This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format.
195
+
196
+ bash
197
+
198
+ ```sh
199
+ $ pulumi import scaleway:observability/grafanaUser:GrafanaUser main 11111111-1111-1111-1111-111111111111/2
200
+ ```
201
+
202
+ :param str resource_name: The name of the resource.
203
+ :param pulumi.ResourceOptions opts: Options for the resource.
204
+ :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
205
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
206
+ :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`.
207
+ """
208
+ ...
209
+ @overload
210
+ def __init__(__self__,
211
+ resource_name: str,
212
+ args: GrafanaUserArgs,
213
+ opts: Optional[pulumi.ResourceOptions] = None):
214
+ """
215
+ The `observability.GrafanaUser` resource allows you to create and manage [Grafana users](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#grafana-users) in Scaleway Cockpit.
216
+
217
+ Refer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.
218
+
219
+ ## Example Usage
220
+
221
+ ### Create a Grafana user
222
+
223
+ The following command allows you to create a Grafana user within a specific Scaleway Project.
224
+
225
+ ```python
226
+ import pulumi
227
+ import pulumiverse_scaleway as scaleway
228
+
229
+ project = scaleway.account.Project("project", name="test project grafana user")
230
+ main = scaleway.observability.GrafanaUser("main",
231
+ project_id=project.id,
232
+ login="my-awesome-user",
233
+ role="editor")
234
+ ```
235
+
236
+ ## Import
237
+
238
+ This section explains how to import Grafana users using the ID of the Project associated with Cockpit, and the Grafana user ID in the `{project_id}/{grafana_user_id}` format.
239
+
240
+ bash
241
+
242
+ ```sh
243
+ $ pulumi import scaleway:observability/grafanaUser:GrafanaUser main 11111111-1111-1111-1111-111111111111/2
244
+ ```
245
+
246
+ :param str resource_name: The name of the resource.
247
+ :param GrafanaUserArgs args: The arguments to use to populate this resource's properties.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ """
250
+ ...
251
+ def __init__(__self__, resource_name: str, *args, **kwargs):
252
+ resource_args, opts = _utilities.get_resource_args_opts(GrafanaUserArgs, pulumi.ResourceOptions, *args, **kwargs)
253
+ if resource_args is not None:
254
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
255
+ else:
256
+ __self__._internal_init(resource_name, *args, **kwargs)
257
+
258
+ def _internal_init(__self__,
259
+ resource_name: str,
260
+ opts: Optional[pulumi.ResourceOptions] = None,
261
+ login: Optional[pulumi.Input[str]] = None,
262
+ project_id: Optional[pulumi.Input[str]] = None,
263
+ role: Optional[pulumi.Input[str]] = None,
264
+ __props__=None):
265
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
266
+ if not isinstance(opts, pulumi.ResourceOptions):
267
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
268
+ if opts.id is None:
269
+ if __props__ is not None:
270
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
271
+ __props__ = GrafanaUserArgs.__new__(GrafanaUserArgs)
272
+
273
+ if login is None and not opts.urn:
274
+ raise TypeError("Missing required property 'login'")
275
+ __props__.__dict__["login"] = login
276
+ __props__.__dict__["project_id"] = project_id
277
+ if role is None and not opts.urn:
278
+ raise TypeError("Missing required property 'role'")
279
+ __props__.__dict__["role"] = role
280
+ __props__.__dict__["grafana_url"] = None
281
+ __props__.__dict__["password"] = None
282
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/cockpitGrafanaUser:CockpitGrafanaUser")])
283
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
284
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
285
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
286
+ super(GrafanaUser, __self__).__init__(
287
+ 'scaleway:observability/grafanaUser:GrafanaUser',
288
+ resource_name,
289
+ __props__,
290
+ opts)
291
+
292
+ @staticmethod
293
+ def get(resource_name: str,
294
+ id: pulumi.Input[str],
295
+ opts: Optional[pulumi.ResourceOptions] = None,
296
+ grafana_url: Optional[pulumi.Input[str]] = None,
297
+ login: Optional[pulumi.Input[str]] = None,
298
+ password: Optional[pulumi.Input[str]] = None,
299
+ project_id: Optional[pulumi.Input[str]] = None,
300
+ role: Optional[pulumi.Input[str]] = None) -> 'GrafanaUser':
301
+ """
302
+ Get an existing GrafanaUser resource's state with the given name, id, and optional extra
303
+ properties used to qualify the lookup.
304
+
305
+ :param str resource_name: The unique name of the resulting resource.
306
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
307
+ :param pulumi.ResourceOptions opts: Options for the resource.
308
+ :param pulumi.Input[str] grafana_url: URL for Grafana.
309
+ :param pulumi.Input[str] login: The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
310
+ :param pulumi.Input[str] password: The password of the Grafana user.
311
+ :param pulumi.Input[str] project_id: ) The ID of the Project the Cockpit is associated with.
312
+ :param pulumi.Input[str] role: The role assigned to the Grafana user. Must be `editor` or `viewer`.
313
+ """
314
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
315
+
316
+ __props__ = _GrafanaUserState.__new__(_GrafanaUserState)
317
+
318
+ __props__.__dict__["grafana_url"] = grafana_url
319
+ __props__.__dict__["login"] = login
320
+ __props__.__dict__["password"] = password
321
+ __props__.__dict__["project_id"] = project_id
322
+ __props__.__dict__["role"] = role
323
+ return GrafanaUser(resource_name, opts=opts, __props__=__props__)
324
+
325
+ @property
326
+ @pulumi.getter(name="grafanaUrl")
327
+ def grafana_url(self) -> pulumi.Output[str]:
328
+ """
329
+ URL for Grafana.
330
+ """
331
+ return pulumi.get(self, "grafana_url")
332
+
333
+ @property
334
+ @pulumi.getter
335
+ def login(self) -> pulumi.Output[str]:
336
+ """
337
+ The username of the Grafana user. The `admin` user is not yet available for creation. You need your Grafana username to log in to Grafana and access your dashboards.
338
+ """
339
+ return pulumi.get(self, "login")
340
+
341
+ @property
342
+ @pulumi.getter
343
+ def password(self) -> pulumi.Output[str]:
344
+ """
345
+ The password of the Grafana user.
346
+ """
347
+ return pulumi.get(self, "password")
348
+
349
+ @property
350
+ @pulumi.getter(name="projectId")
351
+ def project_id(self) -> pulumi.Output[str]:
352
+ """
353
+ ) The ID of the Project the Cockpit is associated with.
354
+ """
355
+ return pulumi.get(self, "project_id")
356
+
357
+ @property
358
+ @pulumi.getter
359
+ def role(self) -> pulumi.Output[str]:
360
+ """
361
+ The role assigned to the Grafana user. Must be `editor` or `viewer`.
362
+ """
363
+ return pulumi.get(self, "role")
364
+