pulumiverse-scaleway 1.24.0a1741679978__py3-none-any.whl → 1.25.0__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.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/METADATA +2 -2
  458. pulumiverse_scaleway-1.25.0.dist-info/RECORD +470 -0
  459. {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
  460. pulumiverse_scaleway-1.24.0a1741679978.dist-info/RECORD +0 -206
  461. {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,722 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SecurityGroupArgs', 'SecurityGroup']
20
+
21
+ @pulumi.input_type
22
+ class SecurityGroupArgs:
23
+ def __init__(__self__, *,
24
+ description: Optional[pulumi.Input[str]] = None,
25
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
26
+ external_rules: Optional[pulumi.Input[bool]] = None,
27
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
28
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]] = None,
29
+ name: Optional[pulumi.Input[str]] = None,
30
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
31
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]] = None,
32
+ project_id: Optional[pulumi.Input[str]] = None,
33
+ stateful: Optional[pulumi.Input[bool]] = None,
34
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
35
+ zone: Optional[pulumi.Input[str]] = None):
36
+ """
37
+ The set of arguments for constructing a SecurityGroup resource.
38
+ :param pulumi.Input[str] description: The description of the security group.
39
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
40
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
41
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
42
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
43
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
44
+ :param pulumi.Input[str] name: The name of the security group.
45
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
46
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
47
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
48
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
49
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
50
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
51
+ """
52
+ if description is not None:
53
+ pulumi.set(__self__, "description", description)
54
+ if enable_default_security is not None:
55
+ pulumi.set(__self__, "enable_default_security", enable_default_security)
56
+ if external_rules is not None:
57
+ pulumi.set(__self__, "external_rules", external_rules)
58
+ if inbound_default_policy is not None:
59
+ pulumi.set(__self__, "inbound_default_policy", inbound_default_policy)
60
+ if inbound_rules is not None:
61
+ pulumi.set(__self__, "inbound_rules", inbound_rules)
62
+ if name is not None:
63
+ pulumi.set(__self__, "name", name)
64
+ if outbound_default_policy is not None:
65
+ pulumi.set(__self__, "outbound_default_policy", outbound_default_policy)
66
+ if outbound_rules is not None:
67
+ pulumi.set(__self__, "outbound_rules", outbound_rules)
68
+ if project_id is not None:
69
+ pulumi.set(__self__, "project_id", project_id)
70
+ if stateful is not None:
71
+ pulumi.set(__self__, "stateful", stateful)
72
+ if tags is not None:
73
+ pulumi.set(__self__, "tags", tags)
74
+ if zone is not None:
75
+ pulumi.set(__self__, "zone", zone)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def description(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ The description of the security group.
82
+ """
83
+ return pulumi.get(self, "description")
84
+
85
+ @description.setter
86
+ def description(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "description", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="enableDefaultSecurity")
91
+ def enable_default_security(self) -> Optional[pulumi.Input[bool]]:
92
+ """
93
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
94
+ """
95
+ return pulumi.get(self, "enable_default_security")
96
+
97
+ @enable_default_security.setter
98
+ def enable_default_security(self, value: Optional[pulumi.Input[bool]]):
99
+ pulumi.set(self, "enable_default_security", value)
100
+
101
+ @property
102
+ @pulumi.getter(name="externalRules")
103
+ def external_rules(self) -> Optional[pulumi.Input[bool]]:
104
+ """
105
+ A boolean to specify whether to use instance_security_group_rules.
106
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
107
+ """
108
+ return pulumi.get(self, "external_rules")
109
+
110
+ @external_rules.setter
111
+ def external_rules(self, value: Optional[pulumi.Input[bool]]):
112
+ pulumi.set(self, "external_rules", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="inboundDefaultPolicy")
116
+ def inbound_default_policy(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
119
+ """
120
+ return pulumi.get(self, "inbound_default_policy")
121
+
122
+ @inbound_default_policy.setter
123
+ def inbound_default_policy(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "inbound_default_policy", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="inboundRules")
128
+ def inbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]]:
129
+ """
130
+ A list of inbound rule to add to the security group. (Structure is documented below.)
131
+ """
132
+ return pulumi.get(self, "inbound_rules")
133
+
134
+ @inbound_rules.setter
135
+ def inbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]]):
136
+ pulumi.set(self, "inbound_rules", value)
137
+
138
+ @property
139
+ @pulumi.getter
140
+ def name(self) -> Optional[pulumi.Input[str]]:
141
+ """
142
+ The name of the security group.
143
+ """
144
+ return pulumi.get(self, "name")
145
+
146
+ @name.setter
147
+ def name(self, value: Optional[pulumi.Input[str]]):
148
+ pulumi.set(self, "name", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="outboundDefaultPolicy")
152
+ def outbound_default_policy(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
155
+ """
156
+ return pulumi.get(self, "outbound_default_policy")
157
+
158
+ @outbound_default_policy.setter
159
+ def outbound_default_policy(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "outbound_default_policy", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="outboundRules")
164
+ def outbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]]:
165
+ """
166
+ A list of outbound rule to add to the security group. (Structure is documented below.)
167
+ """
168
+ return pulumi.get(self, "outbound_rules")
169
+
170
+ @outbound_rules.setter
171
+ def outbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]]):
172
+ pulumi.set(self, "outbound_rules", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="projectId")
176
+ def project_id(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ `project_id`) The ID of the project the security group is associated with.
179
+ """
180
+ return pulumi.get(self, "project_id")
181
+
182
+ @project_id.setter
183
+ def project_id(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "project_id", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def stateful(self) -> Optional[pulumi.Input[bool]]:
189
+ """
190
+ A boolean to specify whether the security group should be stateful or not.
191
+ """
192
+ return pulumi.get(self, "stateful")
193
+
194
+ @stateful.setter
195
+ def stateful(self, value: Optional[pulumi.Input[bool]]):
196
+ pulumi.set(self, "stateful", value)
197
+
198
+ @property
199
+ @pulumi.getter
200
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
201
+ """
202
+ The tags associated with the security group
203
+ """
204
+ return pulumi.get(self, "tags")
205
+
206
+ @tags.setter
207
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
208
+ pulumi.set(self, "tags", value)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def zone(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ `zone`) The zone in which the security group should be created.
215
+ """
216
+ return pulumi.get(self, "zone")
217
+
218
+ @zone.setter
219
+ def zone(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "zone", value)
221
+
222
+
223
+ @pulumi.input_type
224
+ class _SecurityGroupState:
225
+ def __init__(__self__, *,
226
+ description: Optional[pulumi.Input[str]] = None,
227
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
228
+ external_rules: Optional[pulumi.Input[bool]] = None,
229
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
230
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]] = None,
231
+ name: Optional[pulumi.Input[str]] = None,
232
+ organization_id: Optional[pulumi.Input[str]] = None,
233
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
234
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]] = None,
235
+ project_id: Optional[pulumi.Input[str]] = None,
236
+ stateful: Optional[pulumi.Input[bool]] = None,
237
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
238
+ zone: Optional[pulumi.Input[str]] = None):
239
+ """
240
+ Input properties used for looking up and filtering SecurityGroup resources.
241
+ :param pulumi.Input[str] description: The description of the security group.
242
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
243
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
244
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
245
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
246
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
247
+ :param pulumi.Input[str] name: The name of the security group.
248
+ :param pulumi.Input[str] organization_id: The organization ID the security group is associated with.
249
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
250
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
251
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
252
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
253
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
254
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
255
+ """
256
+ if description is not None:
257
+ pulumi.set(__self__, "description", description)
258
+ if enable_default_security is not None:
259
+ pulumi.set(__self__, "enable_default_security", enable_default_security)
260
+ if external_rules is not None:
261
+ pulumi.set(__self__, "external_rules", external_rules)
262
+ if inbound_default_policy is not None:
263
+ pulumi.set(__self__, "inbound_default_policy", inbound_default_policy)
264
+ if inbound_rules is not None:
265
+ pulumi.set(__self__, "inbound_rules", inbound_rules)
266
+ if name is not None:
267
+ pulumi.set(__self__, "name", name)
268
+ if organization_id is not None:
269
+ pulumi.set(__self__, "organization_id", organization_id)
270
+ if outbound_default_policy is not None:
271
+ pulumi.set(__self__, "outbound_default_policy", outbound_default_policy)
272
+ if outbound_rules is not None:
273
+ pulumi.set(__self__, "outbound_rules", outbound_rules)
274
+ if project_id is not None:
275
+ pulumi.set(__self__, "project_id", project_id)
276
+ if stateful is not None:
277
+ pulumi.set(__self__, "stateful", stateful)
278
+ if tags is not None:
279
+ pulumi.set(__self__, "tags", tags)
280
+ if zone is not None:
281
+ pulumi.set(__self__, "zone", zone)
282
+
283
+ @property
284
+ @pulumi.getter
285
+ def description(self) -> Optional[pulumi.Input[str]]:
286
+ """
287
+ The description of the security group.
288
+ """
289
+ return pulumi.get(self, "description")
290
+
291
+ @description.setter
292
+ def description(self, value: Optional[pulumi.Input[str]]):
293
+ pulumi.set(self, "description", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="enableDefaultSecurity")
297
+ def enable_default_security(self) -> Optional[pulumi.Input[bool]]:
298
+ """
299
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
300
+ """
301
+ return pulumi.get(self, "enable_default_security")
302
+
303
+ @enable_default_security.setter
304
+ def enable_default_security(self, value: Optional[pulumi.Input[bool]]):
305
+ pulumi.set(self, "enable_default_security", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="externalRules")
309
+ def external_rules(self) -> Optional[pulumi.Input[bool]]:
310
+ """
311
+ A boolean to specify whether to use instance_security_group_rules.
312
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
313
+ """
314
+ return pulumi.get(self, "external_rules")
315
+
316
+ @external_rules.setter
317
+ def external_rules(self, value: Optional[pulumi.Input[bool]]):
318
+ pulumi.set(self, "external_rules", value)
319
+
320
+ @property
321
+ @pulumi.getter(name="inboundDefaultPolicy")
322
+ def inbound_default_policy(self) -> Optional[pulumi.Input[str]]:
323
+ """
324
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
325
+ """
326
+ return pulumi.get(self, "inbound_default_policy")
327
+
328
+ @inbound_default_policy.setter
329
+ def inbound_default_policy(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "inbound_default_policy", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="inboundRules")
334
+ def inbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]]:
335
+ """
336
+ A list of inbound rule to add to the security group. (Structure is documented below.)
337
+ """
338
+ return pulumi.get(self, "inbound_rules")
339
+
340
+ @inbound_rules.setter
341
+ def inbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupInboundRuleArgs']]]]):
342
+ pulumi.set(self, "inbound_rules", value)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def name(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ The name of the security group.
349
+ """
350
+ return pulumi.get(self, "name")
351
+
352
+ @name.setter
353
+ def name(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "name", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="organizationId")
358
+ def organization_id(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ The organization ID the security group is associated with.
361
+ """
362
+ return pulumi.get(self, "organization_id")
363
+
364
+ @organization_id.setter
365
+ def organization_id(self, value: Optional[pulumi.Input[str]]):
366
+ pulumi.set(self, "organization_id", value)
367
+
368
+ @property
369
+ @pulumi.getter(name="outboundDefaultPolicy")
370
+ def outbound_default_policy(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
373
+ """
374
+ return pulumi.get(self, "outbound_default_policy")
375
+
376
+ @outbound_default_policy.setter
377
+ def outbound_default_policy(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "outbound_default_policy", value)
379
+
380
+ @property
381
+ @pulumi.getter(name="outboundRules")
382
+ def outbound_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]]:
383
+ """
384
+ A list of outbound rule to add to the security group. (Structure is documented below.)
385
+ """
386
+ return pulumi.get(self, "outbound_rules")
387
+
388
+ @outbound_rules.setter
389
+ def outbound_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGroupOutboundRuleArgs']]]]):
390
+ pulumi.set(self, "outbound_rules", value)
391
+
392
+ @property
393
+ @pulumi.getter(name="projectId")
394
+ def project_id(self) -> Optional[pulumi.Input[str]]:
395
+ """
396
+ `project_id`) The ID of the project the security group is associated with.
397
+ """
398
+ return pulumi.get(self, "project_id")
399
+
400
+ @project_id.setter
401
+ def project_id(self, value: Optional[pulumi.Input[str]]):
402
+ pulumi.set(self, "project_id", value)
403
+
404
+ @property
405
+ @pulumi.getter
406
+ def stateful(self) -> Optional[pulumi.Input[bool]]:
407
+ """
408
+ A boolean to specify whether the security group should be stateful or not.
409
+ """
410
+ return pulumi.get(self, "stateful")
411
+
412
+ @stateful.setter
413
+ def stateful(self, value: Optional[pulumi.Input[bool]]):
414
+ pulumi.set(self, "stateful", value)
415
+
416
+ @property
417
+ @pulumi.getter
418
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
419
+ """
420
+ The tags associated with the security group
421
+ """
422
+ return pulumi.get(self, "tags")
423
+
424
+ @tags.setter
425
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
426
+ pulumi.set(self, "tags", value)
427
+
428
+ @property
429
+ @pulumi.getter
430
+ def zone(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ `zone`) The zone in which the security group should be created.
433
+ """
434
+ return pulumi.get(self, "zone")
435
+
436
+ @zone.setter
437
+ def zone(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "zone", value)
439
+
440
+
441
+ class SecurityGroup(pulumi.CustomResource):
442
+ @overload
443
+ def __init__(__self__,
444
+ resource_name: str,
445
+ opts: Optional[pulumi.ResourceOptions] = None,
446
+ description: Optional[pulumi.Input[str]] = None,
447
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
448
+ external_rules: Optional[pulumi.Input[bool]] = None,
449
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
450
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupInboundRuleArgs', 'SecurityGroupInboundRuleArgsDict']]]]] = None,
451
+ name: Optional[pulumi.Input[str]] = None,
452
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
453
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupOutboundRuleArgs', 'SecurityGroupOutboundRuleArgsDict']]]]] = None,
454
+ project_id: Optional[pulumi.Input[str]] = None,
455
+ stateful: Optional[pulumi.Input[bool]] = None,
456
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
457
+ zone: Optional[pulumi.Input[str]] = None,
458
+ __props__=None):
459
+ """
460
+ ## Import
461
+
462
+ Instance security group can be imported using the `{zone}/{id}`, e.g.
463
+
464
+ bash
465
+
466
+ ```sh
467
+ $ pulumi import scaleway:instance/securityGroup:SecurityGroup web fr-par-1/11111111-1111-1111-1111-111111111111
468
+ ```
469
+
470
+ :param str resource_name: The name of the resource.
471
+ :param pulumi.ResourceOptions opts: Options for the resource.
472
+ :param pulumi.Input[str] description: The description of the security group.
473
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
474
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
475
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
476
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
477
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupInboundRuleArgs', 'SecurityGroupInboundRuleArgsDict']]]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
478
+ :param pulumi.Input[str] name: The name of the security group.
479
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
480
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupOutboundRuleArgs', 'SecurityGroupOutboundRuleArgsDict']]]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
481
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
482
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
483
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
484
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
485
+ """
486
+ ...
487
+ @overload
488
+ def __init__(__self__,
489
+ resource_name: str,
490
+ args: Optional[SecurityGroupArgs] = None,
491
+ opts: Optional[pulumi.ResourceOptions] = None):
492
+ """
493
+ ## Import
494
+
495
+ Instance security group can be imported using the `{zone}/{id}`, e.g.
496
+
497
+ bash
498
+
499
+ ```sh
500
+ $ pulumi import scaleway:instance/securityGroup:SecurityGroup web fr-par-1/11111111-1111-1111-1111-111111111111
501
+ ```
502
+
503
+ :param str resource_name: The name of the resource.
504
+ :param SecurityGroupArgs args: The arguments to use to populate this resource's properties.
505
+ :param pulumi.ResourceOptions opts: Options for the resource.
506
+ """
507
+ ...
508
+ def __init__(__self__, resource_name: str, *args, **kwargs):
509
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
510
+ if resource_args is not None:
511
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
512
+ else:
513
+ __self__._internal_init(resource_name, *args, **kwargs)
514
+
515
+ def _internal_init(__self__,
516
+ resource_name: str,
517
+ opts: Optional[pulumi.ResourceOptions] = None,
518
+ description: Optional[pulumi.Input[str]] = None,
519
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
520
+ external_rules: Optional[pulumi.Input[bool]] = None,
521
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
522
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupInboundRuleArgs', 'SecurityGroupInboundRuleArgsDict']]]]] = None,
523
+ name: Optional[pulumi.Input[str]] = None,
524
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
525
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupOutboundRuleArgs', 'SecurityGroupOutboundRuleArgsDict']]]]] = None,
526
+ project_id: Optional[pulumi.Input[str]] = None,
527
+ stateful: Optional[pulumi.Input[bool]] = None,
528
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
529
+ zone: Optional[pulumi.Input[str]] = None,
530
+ __props__=None):
531
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
532
+ if not isinstance(opts, pulumi.ResourceOptions):
533
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
534
+ if opts.id is None:
535
+ if __props__ is not None:
536
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
537
+ __props__ = SecurityGroupArgs.__new__(SecurityGroupArgs)
538
+
539
+ __props__.__dict__["description"] = description
540
+ __props__.__dict__["enable_default_security"] = enable_default_security
541
+ __props__.__dict__["external_rules"] = external_rules
542
+ __props__.__dict__["inbound_default_policy"] = inbound_default_policy
543
+ __props__.__dict__["inbound_rules"] = inbound_rules
544
+ __props__.__dict__["name"] = name
545
+ __props__.__dict__["outbound_default_policy"] = outbound_default_policy
546
+ __props__.__dict__["outbound_rules"] = outbound_rules
547
+ __props__.__dict__["project_id"] = project_id
548
+ __props__.__dict__["stateful"] = stateful
549
+ __props__.__dict__["tags"] = tags
550
+ __props__.__dict__["zone"] = zone
551
+ __props__.__dict__["organization_id"] = None
552
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instanceSecurityGroup:InstanceSecurityGroup")])
553
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
554
+ super(SecurityGroup, __self__).__init__(
555
+ 'scaleway:instance/securityGroup:SecurityGroup',
556
+ resource_name,
557
+ __props__,
558
+ opts)
559
+
560
+ @staticmethod
561
+ def get(resource_name: str,
562
+ id: pulumi.Input[str],
563
+ opts: Optional[pulumi.ResourceOptions] = None,
564
+ description: Optional[pulumi.Input[str]] = None,
565
+ enable_default_security: Optional[pulumi.Input[bool]] = None,
566
+ external_rules: Optional[pulumi.Input[bool]] = None,
567
+ inbound_default_policy: Optional[pulumi.Input[str]] = None,
568
+ inbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupInboundRuleArgs', 'SecurityGroupInboundRuleArgsDict']]]]] = None,
569
+ name: Optional[pulumi.Input[str]] = None,
570
+ organization_id: Optional[pulumi.Input[str]] = None,
571
+ outbound_default_policy: Optional[pulumi.Input[str]] = None,
572
+ outbound_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupOutboundRuleArgs', 'SecurityGroupOutboundRuleArgsDict']]]]] = None,
573
+ project_id: Optional[pulumi.Input[str]] = None,
574
+ stateful: Optional[pulumi.Input[bool]] = None,
575
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
576
+ zone: Optional[pulumi.Input[str]] = None) -> 'SecurityGroup':
577
+ """
578
+ Get an existing SecurityGroup resource's state with the given name, id, and optional extra
579
+ properties used to qualify the lookup.
580
+
581
+ :param str resource_name: The unique name of the resulting resource.
582
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
583
+ :param pulumi.ResourceOptions opts: Options for the resource.
584
+ :param pulumi.Input[str] description: The description of the security group.
585
+ :param pulumi.Input[bool] enable_default_security: Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
586
+ :param pulumi.Input[bool] external_rules: A boolean to specify whether to use instance_security_group_rules.
587
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
588
+ :param pulumi.Input[str] inbound_default_policy: The default policy on incoming traffic. Possible values are: `accept` or `drop`.
589
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupInboundRuleArgs', 'SecurityGroupInboundRuleArgsDict']]]] inbound_rules: A list of inbound rule to add to the security group. (Structure is documented below.)
590
+ :param pulumi.Input[str] name: The name of the security group.
591
+ :param pulumi.Input[str] organization_id: The organization ID the security group is associated with.
592
+ :param pulumi.Input[str] outbound_default_policy: The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
593
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecurityGroupOutboundRuleArgs', 'SecurityGroupOutboundRuleArgsDict']]]] outbound_rules: A list of outbound rule to add to the security group. (Structure is documented below.)
594
+ :param pulumi.Input[str] project_id: `project_id`) The ID of the project the security group is associated with.
595
+ :param pulumi.Input[bool] stateful: A boolean to specify whether the security group should be stateful or not.
596
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the security group
597
+ :param pulumi.Input[str] zone: `zone`) The zone in which the security group should be created.
598
+ """
599
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
600
+
601
+ __props__ = _SecurityGroupState.__new__(_SecurityGroupState)
602
+
603
+ __props__.__dict__["description"] = description
604
+ __props__.__dict__["enable_default_security"] = enable_default_security
605
+ __props__.__dict__["external_rules"] = external_rules
606
+ __props__.__dict__["inbound_default_policy"] = inbound_default_policy
607
+ __props__.__dict__["inbound_rules"] = inbound_rules
608
+ __props__.__dict__["name"] = name
609
+ __props__.__dict__["organization_id"] = organization_id
610
+ __props__.__dict__["outbound_default_policy"] = outbound_default_policy
611
+ __props__.__dict__["outbound_rules"] = outbound_rules
612
+ __props__.__dict__["project_id"] = project_id
613
+ __props__.__dict__["stateful"] = stateful
614
+ __props__.__dict__["tags"] = tags
615
+ __props__.__dict__["zone"] = zone
616
+ return SecurityGroup(resource_name, opts=opts, __props__=__props__)
617
+
618
+ @property
619
+ @pulumi.getter
620
+ def description(self) -> pulumi.Output[Optional[str]]:
621
+ """
622
+ The description of the security group.
623
+ """
624
+ return pulumi.get(self, "description")
625
+
626
+ @property
627
+ @pulumi.getter(name="enableDefaultSecurity")
628
+ def enable_default_security(self) -> pulumi.Output[Optional[bool]]:
629
+ """
630
+ Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
631
+ """
632
+ return pulumi.get(self, "enable_default_security")
633
+
634
+ @property
635
+ @pulumi.getter(name="externalRules")
636
+ def external_rules(self) -> pulumi.Output[Optional[bool]]:
637
+ """
638
+ A boolean to specify whether to use instance_security_group_rules.
639
+ If `external_rules` is set to `true`, `inbound_rule` and `outbound_rule` can not be set directly in the security group.
640
+ """
641
+ return pulumi.get(self, "external_rules")
642
+
643
+ @property
644
+ @pulumi.getter(name="inboundDefaultPolicy")
645
+ def inbound_default_policy(self) -> pulumi.Output[Optional[str]]:
646
+ """
647
+ The default policy on incoming traffic. Possible values are: `accept` or `drop`.
648
+ """
649
+ return pulumi.get(self, "inbound_default_policy")
650
+
651
+ @property
652
+ @pulumi.getter(name="inboundRules")
653
+ def inbound_rules(self) -> pulumi.Output[Optional[Sequence['outputs.SecurityGroupInboundRule']]]:
654
+ """
655
+ A list of inbound rule to add to the security group. (Structure is documented below.)
656
+ """
657
+ return pulumi.get(self, "inbound_rules")
658
+
659
+ @property
660
+ @pulumi.getter
661
+ def name(self) -> pulumi.Output[str]:
662
+ """
663
+ The name of the security group.
664
+ """
665
+ return pulumi.get(self, "name")
666
+
667
+ @property
668
+ @pulumi.getter(name="organizationId")
669
+ def organization_id(self) -> pulumi.Output[str]:
670
+ """
671
+ The organization ID the security group is associated with.
672
+ """
673
+ return pulumi.get(self, "organization_id")
674
+
675
+ @property
676
+ @pulumi.getter(name="outboundDefaultPolicy")
677
+ def outbound_default_policy(self) -> pulumi.Output[Optional[str]]:
678
+ """
679
+ The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
680
+ """
681
+ return pulumi.get(self, "outbound_default_policy")
682
+
683
+ @property
684
+ @pulumi.getter(name="outboundRules")
685
+ def outbound_rules(self) -> pulumi.Output[Optional[Sequence['outputs.SecurityGroupOutboundRule']]]:
686
+ """
687
+ A list of outbound rule to add to the security group. (Structure is documented below.)
688
+ """
689
+ return pulumi.get(self, "outbound_rules")
690
+
691
+ @property
692
+ @pulumi.getter(name="projectId")
693
+ def project_id(self) -> pulumi.Output[str]:
694
+ """
695
+ `project_id`) The ID of the project the security group is associated with.
696
+ """
697
+ return pulumi.get(self, "project_id")
698
+
699
+ @property
700
+ @pulumi.getter
701
+ def stateful(self) -> pulumi.Output[Optional[bool]]:
702
+ """
703
+ A boolean to specify whether the security group should be stateful or not.
704
+ """
705
+ return pulumi.get(self, "stateful")
706
+
707
+ @property
708
+ @pulumi.getter
709
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
710
+ """
711
+ The tags associated with the security group
712
+ """
713
+ return pulumi.get(self, "tags")
714
+
715
+ @property
716
+ @pulumi.getter
717
+ def zone(self) -> pulumi.Output[str]:
718
+ """
719
+ `zone`) The zone in which the security group should be created.
720
+ """
721
+ return pulumi.get(self, "zone")
722
+