pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.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 (476) hide show
  1. pulumiverse_scaleway/__init__.py +1034 -0
  2. pulumiverse_scaleway/_inputs.py +663 -0
  3. pulumiverse_scaleway/account/__init__.py +12 -0
  4. pulumiverse_scaleway/account/get_availability_zones.py +139 -0
  5. pulumiverse_scaleway/account/get_project.py +170 -0
  6. pulumiverse_scaleway/account/get_ssh_key.py +205 -0
  7. pulumiverse_scaleway/account/project.py +318 -0
  8. pulumiverse_scaleway/account/ssh_key.py +456 -0
  9. pulumiverse_scaleway/account_project.py +6 -0
  10. pulumiverse_scaleway/account_ssh_key.py +12 -6
  11. pulumiverse_scaleway/apple_silicon_server.py +113 -2
  12. pulumiverse_scaleway/applesilicon/__init__.py +10 -0
  13. pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
  14. pulumiverse_scaleway/applesilicon/outputs.py +119 -0
  15. pulumiverse_scaleway/applesilicon/server.py +795 -0
  16. pulumiverse_scaleway/baremetal_server.py +64 -58
  17. pulumiverse_scaleway/billing/__init__.py +10 -0
  18. pulumiverse_scaleway/billing/get_consumptions.py +134 -0
  19. pulumiverse_scaleway/billing/get_invoices.py +154 -0
  20. pulumiverse_scaleway/billing/outputs.py +288 -0
  21. pulumiverse_scaleway/block/__init__.py +11 -0
  22. pulumiverse_scaleway/block/get_snapshot.py +174 -0
  23. pulumiverse_scaleway/block/get_volume.py +199 -0
  24. pulumiverse_scaleway/block/snapshot.py +403 -0
  25. pulumiverse_scaleway/block/volume.py +576 -0
  26. pulumiverse_scaleway/block_snapshot.py +12 -6
  27. pulumiverse_scaleway/block_volume.py +16 -10
  28. pulumiverse_scaleway/cockpit.py +10 -4
  29. pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
  30. pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
  31. pulumiverse_scaleway/cockpit_source.py +12 -6
  32. pulumiverse_scaleway/cockpit_token.py +16 -10
  33. pulumiverse_scaleway/container.py +16 -10
  34. pulumiverse_scaleway/container_cron.py +14 -8
  35. pulumiverse_scaleway/container_domain.py +24 -18
  36. pulumiverse_scaleway/container_namespace.py +10 -4
  37. pulumiverse_scaleway/container_token.py +32 -26
  38. pulumiverse_scaleway/container_trigger.py +12 -6
  39. pulumiverse_scaleway/containers/__init__.py +17 -0
  40. pulumiverse_scaleway/containers/_inputs.py +389 -0
  41. pulumiverse_scaleway/containers/container.py +1635 -0
  42. pulumiverse_scaleway/containers/cron.py +460 -0
  43. pulumiverse_scaleway/containers/domain.py +408 -0
  44. pulumiverse_scaleway/containers/get_container.py +562 -0
  45. pulumiverse_scaleway/containers/get_namespace.py +283 -0
  46. pulumiverse_scaleway/containers/namespace.py +638 -0
  47. pulumiverse_scaleway/containers/outputs.py +412 -0
  48. pulumiverse_scaleway/containers/token.py +454 -0
  49. pulumiverse_scaleway/containers/trigger.py +482 -0
  50. pulumiverse_scaleway/database.py +10 -4
  51. pulumiverse_scaleway/database_acl.py +10 -4
  52. pulumiverse_scaleway/database_backup.py +14 -8
  53. pulumiverse_scaleway/database_instance.py +24 -18
  54. pulumiverse_scaleway/database_privilege.py +16 -10
  55. pulumiverse_scaleway/database_read_replica.py +22 -16
  56. pulumiverse_scaleway/database_user.py +10 -4
  57. pulumiverse_scaleway/databases/__init__.py +23 -0
  58. pulumiverse_scaleway/databases/_inputs.py +822 -0
  59. pulumiverse_scaleway/databases/acl.py +334 -0
  60. pulumiverse_scaleway/databases/database.py +409 -0
  61. pulumiverse_scaleway/databases/database_backup.py +576 -0
  62. pulumiverse_scaleway/databases/get_acl.py +143 -0
  63. pulumiverse_scaleway/databases/get_database.py +187 -0
  64. pulumiverse_scaleway/databases/get_database_backup.py +253 -0
  65. pulumiverse_scaleway/databases/get_instance.py +415 -0
  66. pulumiverse_scaleway/databases/get_privilege.py +181 -0
  67. pulumiverse_scaleway/databases/instance.py +1696 -0
  68. pulumiverse_scaleway/databases/outputs.py +866 -0
  69. pulumiverse_scaleway/databases/privilege.py +424 -0
  70. pulumiverse_scaleway/databases/read_replica.py +530 -0
  71. pulumiverse_scaleway/databases/serverless_database.py +434 -0
  72. pulumiverse_scaleway/databases/snapshot.py +610 -0
  73. pulumiverse_scaleway/databases/user.py +448 -0
  74. pulumiverse_scaleway/domain/__init__.py +14 -0
  75. pulumiverse_scaleway/domain/_inputs.py +3038 -0
  76. pulumiverse_scaleway/domain/get_record.py +340 -0
  77. pulumiverse_scaleway/domain/get_zone.py +201 -0
  78. pulumiverse_scaleway/domain/outputs.py +2553 -0
  79. pulumiverse_scaleway/domain/record.py +1118 -0
  80. pulumiverse_scaleway/domain/registration.py +777 -0
  81. pulumiverse_scaleway/domain/zone.py +432 -0
  82. pulumiverse_scaleway/domain_record.py +36 -30
  83. pulumiverse_scaleway/domain_zone.py +6 -0
  84. pulumiverse_scaleway/edge_services_backend_stage.py +472 -0
  85. pulumiverse_scaleway/edge_services_cache_stage.py +490 -0
  86. pulumiverse_scaleway/edge_services_dns_stage.py +516 -0
  87. pulumiverse_scaleway/edge_services_head_stage.py +258 -0
  88. pulumiverse_scaleway/edge_services_pipeline.py +436 -0
  89. pulumiverse_scaleway/edge_services_plan.py +239 -0
  90. pulumiverse_scaleway/edge_services_route_stage.py +422 -0
  91. pulumiverse_scaleway/edge_services_tls_stage.py +546 -0
  92. pulumiverse_scaleway/edge_services_waf_stage.py +444 -0
  93. pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
  94. pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
  95. pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
  96. pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
  97. pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
  98. pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
  99. pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
  100. pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
  101. pulumiverse_scaleway/elasticmetal/ip.py +710 -0
  102. pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
  103. pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
  104. pulumiverse_scaleway/elasticmetal/server.py +1591 -0
  105. pulumiverse_scaleway/flexible_ip.py +35 -23
  106. pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
  107. pulumiverse_scaleway/function.py +6 -0
  108. pulumiverse_scaleway/function_cron.py +16 -10
  109. pulumiverse_scaleway/function_domain.py +16 -10
  110. pulumiverse_scaleway/function_namespace.py +10 -4
  111. pulumiverse_scaleway/function_token.py +32 -26
  112. pulumiverse_scaleway/function_trigger.py +12 -6
  113. pulumiverse_scaleway/functions/__init__.py +17 -0
  114. pulumiverse_scaleway/functions/_inputs.py +211 -0
  115. pulumiverse_scaleway/functions/cron.py +464 -0
  116. pulumiverse_scaleway/functions/domain.py +372 -0
  117. pulumiverse_scaleway/functions/function.py +1105 -0
  118. pulumiverse_scaleway/functions/get_function.py +365 -0
  119. pulumiverse_scaleway/functions/get_namespace.py +238 -0
  120. pulumiverse_scaleway/functions/namespace.py +582 -0
  121. pulumiverse_scaleway/functions/outputs.py +168 -0
  122. pulumiverse_scaleway/functions/token.py +462 -0
  123. pulumiverse_scaleway/functions/trigger.py +482 -0
  124. pulumiverse_scaleway/get_account_project.py +6 -2
  125. pulumiverse_scaleway/get_account_ssh_key.py +6 -2
  126. pulumiverse_scaleway/get_availability_zones.py +8 -4
  127. pulumiverse_scaleway/get_baremetal_offer.py +4 -0
  128. pulumiverse_scaleway/get_baremetal_option.py +8 -4
  129. pulumiverse_scaleway/get_baremetal_os.py +8 -4
  130. pulumiverse_scaleway/get_baremetal_server.py +8 -4
  131. pulumiverse_scaleway/get_billing_consumptions.py +4 -0
  132. pulumiverse_scaleway/get_billing_invoices.py +4 -0
  133. pulumiverse_scaleway/get_block_snapshot.py +6 -2
  134. pulumiverse_scaleway/get_block_volume.py +6 -2
  135. pulumiverse_scaleway/get_cockpit.py +12 -8
  136. pulumiverse_scaleway/get_cockpit_plan.py +10 -6
  137. pulumiverse_scaleway/get_cockpit_source.py +8 -4
  138. pulumiverse_scaleway/get_container.py +16 -12
  139. pulumiverse_scaleway/get_container_namespace.py +10 -6
  140. pulumiverse_scaleway/get_database.py +6 -2
  141. pulumiverse_scaleway/get_database_acl.py +6 -2
  142. pulumiverse_scaleway/get_database_backup.py +10 -6
  143. pulumiverse_scaleway/get_database_instance.py +4 -0
  144. pulumiverse_scaleway/get_database_privilege.py +6 -2
  145. pulumiverse_scaleway/get_domain_record.py +10 -6
  146. pulumiverse_scaleway/get_domain_zone.py +4 -0
  147. pulumiverse_scaleway/get_flexible_ip.py +4 -0
  148. pulumiverse_scaleway/get_flexible_ips.py +16 -12
  149. pulumiverse_scaleway/get_function.py +6 -2
  150. pulumiverse_scaleway/get_function_namespace.py +6 -2
  151. pulumiverse_scaleway/get_iam_api_key.py +6 -2
  152. pulumiverse_scaleway/get_iam_application.py +8 -4
  153. pulumiverse_scaleway/get_iam_group.py +8 -4
  154. pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
  155. pulumiverse_scaleway/get_iam_user.py +8 -4
  156. pulumiverse_scaleway/get_instance_image.py +4 -0
  157. pulumiverse_scaleway/get_instance_ip.py +4 -0
  158. pulumiverse_scaleway/get_instance_placement_group.py +4 -0
  159. pulumiverse_scaleway/get_instance_private_nic.py +10 -6
  160. pulumiverse_scaleway/get_instance_security_group.py +4 -0
  161. pulumiverse_scaleway/get_instance_server.py +4 -0
  162. pulumiverse_scaleway/get_instance_servers.py +4 -0
  163. pulumiverse_scaleway/get_instance_snapshot.py +8 -4
  164. pulumiverse_scaleway/get_instance_volume.py +4 -0
  165. pulumiverse_scaleway/get_iot_device.py +4 -0
  166. pulumiverse_scaleway/get_iot_hub.py +4 -0
  167. pulumiverse_scaleway/get_ipam_ip.py +18 -14
  168. pulumiverse_scaleway/get_ipam_ips.py +14 -10
  169. pulumiverse_scaleway/get_k8s_version.py +8 -4
  170. pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
  171. pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
  172. pulumiverse_scaleway/get_lb_acls.py +8 -4
  173. pulumiverse_scaleway/get_lb_backend.py +18 -14
  174. pulumiverse_scaleway/get_lb_backends.py +8 -4
  175. pulumiverse_scaleway/get_lb_frontend.py +28 -13
  176. pulumiverse_scaleway/get_lb_frontends.py +8 -4
  177. pulumiverse_scaleway/get_lb_ips.py +4 -0
  178. pulumiverse_scaleway/get_lb_route.py +28 -13
  179. pulumiverse_scaleway/get_lb_routes.py +8 -4
  180. pulumiverse_scaleway/get_lbs.py +4 -0
  181. pulumiverse_scaleway/get_loadbalancer.py +8 -4
  182. pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
  183. pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
  184. pulumiverse_scaleway/get_mnq_sns.py +8 -4
  185. pulumiverse_scaleway/get_mnq_sqs.py +8 -4
  186. pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
  187. pulumiverse_scaleway/get_object_bucket.py +12 -8
  188. pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
  189. pulumiverse_scaleway/get_redis_cluster.py +4 -0
  190. pulumiverse_scaleway/get_registry_image.py +4 -0
  191. pulumiverse_scaleway/get_registry_image_tag.py +4 -0
  192. pulumiverse_scaleway/get_registry_namespace.py +4 -0
  193. pulumiverse_scaleway/get_secret.py +27 -12
  194. pulumiverse_scaleway/get_secret_version.py +14 -10
  195. pulumiverse_scaleway/get_tem_domain.py +4 -0
  196. pulumiverse_scaleway/get_vpc.py +10 -6
  197. pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
  198. pulumiverse_scaleway/get_vpc_private_network.py +10 -6
  199. pulumiverse_scaleway/get_vpc_public_gateway.py +44 -7
  200. pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +16 -4
  201. pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +78 -66
  202. pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
  203. pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
  204. pulumiverse_scaleway/get_vpc_routes.py +4 -0
  205. pulumiverse_scaleway/get_vpcs.py +4 -0
  206. pulumiverse_scaleway/get_web_host_offer.py +8 -4
  207. pulumiverse_scaleway/get_webhosting.py +8 -4
  208. pulumiverse_scaleway/hosting/__init__.py +12 -0
  209. pulumiverse_scaleway/hosting/_inputs.py +295 -0
  210. pulumiverse_scaleway/hosting/get_hosting.py +354 -0
  211. pulumiverse_scaleway/hosting/get_offer.py +229 -0
  212. pulumiverse_scaleway/hosting/hosting.py +870 -0
  213. pulumiverse_scaleway/hosting/outputs.py +626 -0
  214. pulumiverse_scaleway/iam/__init__.py +21 -0
  215. pulumiverse_scaleway/iam/_inputs.py +138 -0
  216. pulumiverse_scaleway/iam/api_key.py +622 -0
  217. pulumiverse_scaleway/iam/application.py +419 -0
  218. pulumiverse_scaleway/iam/get_api_key.py +210 -0
  219. pulumiverse_scaleway/iam/get_application.py +210 -0
  220. pulumiverse_scaleway/iam/get_group.py +236 -0
  221. pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
  222. pulumiverse_scaleway/iam/get_user.py +177 -0
  223. pulumiverse_scaleway/iam/group.py +568 -0
  224. pulumiverse_scaleway/iam/group_membership.py +325 -0
  225. pulumiverse_scaleway/iam/outputs.py +111 -0
  226. pulumiverse_scaleway/iam/policy.py +775 -0
  227. pulumiverse_scaleway/iam/ssh_key.py +457 -0
  228. pulumiverse_scaleway/iam/user.py +515 -0
  229. pulumiverse_scaleway/iam_api_key.py +16 -10
  230. pulumiverse_scaleway/iam_application.py +8 -2
  231. pulumiverse_scaleway/iam_group.py +12 -6
  232. pulumiverse_scaleway/iam_group_membership.py +12 -6
  233. pulumiverse_scaleway/iam_policy.py +18 -12
  234. pulumiverse_scaleway/iam_ssh_key.py +8 -2
  235. pulumiverse_scaleway/iam_user.py +8 -2
  236. pulumiverse_scaleway/inference/__init__.py +10 -0
  237. pulumiverse_scaleway/inference/_inputs.py +209 -0
  238. pulumiverse_scaleway/inference/deployment.py +824 -0
  239. pulumiverse_scaleway/inference/outputs.py +169 -0
  240. pulumiverse_scaleway/inference_deployment.py +8 -2
  241. pulumiverse_scaleway/instance/__init__.py +29 -0
  242. pulumiverse_scaleway/instance/_inputs.py +1237 -0
  243. pulumiverse_scaleway/instance/get_image.py +305 -0
  244. pulumiverse_scaleway/instance/get_ip.py +204 -0
  245. pulumiverse_scaleway/instance/get_placement_group.py +212 -0
  246. pulumiverse_scaleway/instance/get_private_nic.py +226 -0
  247. pulumiverse_scaleway/instance/get_security_group.py +268 -0
  248. pulumiverse_scaleway/instance/get_server.py +488 -0
  249. pulumiverse_scaleway/instance/get_servers.py +187 -0
  250. pulumiverse_scaleway/instance/get_snapshot.py +248 -0
  251. pulumiverse_scaleway/instance/get_volume.py +226 -0
  252. pulumiverse_scaleway/instance/image.py +752 -0
  253. pulumiverse_scaleway/instance/ip.py +471 -0
  254. pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
  255. pulumiverse_scaleway/instance/outputs.py +1533 -0
  256. pulumiverse_scaleway/instance/placement_group.py +481 -0
  257. pulumiverse_scaleway/instance/private_nic.py +557 -0
  258. pulumiverse_scaleway/instance/security_group.py +722 -0
  259. pulumiverse_scaleway/instance/security_group_rules.py +441 -0
  260. pulumiverse_scaleway/instance/server.py +1938 -0
  261. pulumiverse_scaleway/instance/snapshot.py +671 -0
  262. pulumiverse_scaleway/instance/user_data.py +437 -0
  263. pulumiverse_scaleway/instance/volume.py +584 -0
  264. pulumiverse_scaleway/instance_image.py +18 -12
  265. pulumiverse_scaleway/instance_ip.py +8 -2
  266. pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
  267. pulumiverse_scaleway/instance_placement_group.py +8 -2
  268. pulumiverse_scaleway/instance_private_nic.py +24 -18
  269. pulumiverse_scaleway/instance_security_group.py +6 -0
  270. pulumiverse_scaleway/instance_security_group_rules.py +22 -16
  271. pulumiverse_scaleway/instance_server.py +74 -68
  272. pulumiverse_scaleway/instance_snapshot.py +22 -16
  273. pulumiverse_scaleway/instance_user_data.py +16 -10
  274. pulumiverse_scaleway/instance_volume.py +8 -2
  275. pulumiverse_scaleway/iot/__init__.py +15 -0
  276. pulumiverse_scaleway/iot/_inputs.py +539 -0
  277. pulumiverse_scaleway/iot/device.py +752 -0
  278. pulumiverse_scaleway/iot/get_device.py +257 -0
  279. pulumiverse_scaleway/iot/get_hub.py +322 -0
  280. pulumiverse_scaleway/iot/hub.py +898 -0
  281. pulumiverse_scaleway/iot/network.py +474 -0
  282. pulumiverse_scaleway/iot/outputs.py +465 -0
  283. pulumiverse_scaleway/iot/route.py +662 -0
  284. pulumiverse_scaleway/iot_device.py +14 -8
  285. pulumiverse_scaleway/iot_hub.py +8 -2
  286. pulumiverse_scaleway/iot_network.py +12 -6
  287. pulumiverse_scaleway/iot_route.py +32 -26
  288. pulumiverse_scaleway/ipam/__init__.py +13 -0
  289. pulumiverse_scaleway/ipam/_inputs.py +442 -0
  290. pulumiverse_scaleway/ipam/get_ip.py +419 -0
  291. pulumiverse_scaleway/ipam/get_ips.py +358 -0
  292. pulumiverse_scaleway/ipam/ip.py +759 -0
  293. pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
  294. pulumiverse_scaleway/ipam/outputs.py +481 -0
  295. pulumiverse_scaleway/ipam_ip.py +30 -24
  296. pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
  297. pulumiverse_scaleway/job/__init__.py +10 -0
  298. pulumiverse_scaleway/job/_inputs.py +73 -0
  299. pulumiverse_scaleway/job/definition.py +694 -0
  300. pulumiverse_scaleway/job/outputs.py +49 -0
  301. pulumiverse_scaleway/job_definition.py +8 -2
  302. pulumiverse_scaleway/kubernetes/__init__.py +14 -0
  303. pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
  304. pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
  305. pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
  306. pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
  307. pulumiverse_scaleway/kubernetes/get_version.py +196 -0
  308. pulumiverse_scaleway/kubernetes/outputs.py +944 -0
  309. pulumiverse_scaleway/kubernetes/pool.py +1313 -0
  310. pulumiverse_scaleway/kubernetes_cluster.py +36 -30
  311. pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
  312. pulumiverse_scaleway/loadbalancer.py +35 -29
  313. pulumiverse_scaleway/loadbalancer_acl.py +8 -2
  314. pulumiverse_scaleway/loadbalancer_backend.py +12 -6
  315. pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
  316. pulumiverse_scaleway/loadbalancer_frontend.py +57 -4
  317. pulumiverse_scaleway/loadbalancer_ip.py +10 -4
  318. pulumiverse_scaleway/loadbalancer_route.py +74 -21
  319. pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
  320. pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
  321. pulumiverse_scaleway/loadbalancers/acl.py +522 -0
  322. pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
  323. pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
  324. pulumiverse_scaleway/loadbalancers/frontend.py +878 -0
  325. pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
  326. pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
  327. pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
  328. pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
  329. pulumiverse_scaleway/loadbalancers/get_frontend.py +285 -0
  330. pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
  331. pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
  332. pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
  333. pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
  334. pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
  335. pulumiverse_scaleway/loadbalancers/get_route.py +228 -0
  336. pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
  337. pulumiverse_scaleway/loadbalancers/ip.py +516 -0
  338. pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
  339. pulumiverse_scaleway/loadbalancers/outputs.py +2502 -0
  340. pulumiverse_scaleway/loadbalancers/route.py +572 -0
  341. pulumiverse_scaleway/mnq/__init__.py +20 -0
  342. pulumiverse_scaleway/mnq/_inputs.py +169 -0
  343. pulumiverse_scaleway/mnq/get_sns.py +150 -0
  344. pulumiverse_scaleway/mnq/get_sqs.py +150 -0
  345. pulumiverse_scaleway/mnq/nats_account.py +336 -0
  346. pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
  347. pulumiverse_scaleway/mnq/outputs.py +149 -0
  348. pulumiverse_scaleway/mnq/sns.py +308 -0
  349. pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
  350. pulumiverse_scaleway/mnq/sns_topic.py +661 -0
  351. pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
  352. pulumiverse_scaleway/mnq/sqs.py +306 -0
  353. pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
  354. pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
  355. pulumiverse_scaleway/mnq_nats_account.py +8 -2
  356. pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
  357. pulumiverse_scaleway/mnq_sns.py +12 -6
  358. pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
  359. pulumiverse_scaleway/mnq_sns_topic.py +16 -10
  360. pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
  361. pulumiverse_scaleway/mnq_sqs.py +12 -6
  362. pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
  363. pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
  364. pulumiverse_scaleway/mongo_db_instance.py +14 -8
  365. pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
  366. pulumiverse_scaleway/mongodb/__init__.py +12 -0
  367. pulumiverse_scaleway/mongodb/_inputs.py +208 -0
  368. pulumiverse_scaleway/mongodb/get_instance.py +335 -0
  369. pulumiverse_scaleway/mongodb/instance.py +1000 -0
  370. pulumiverse_scaleway/mongodb/outputs.py +270 -0
  371. pulumiverse_scaleway/mongodb/snapshot.py +523 -0
  372. pulumiverse_scaleway/network/__init__.py +30 -0
  373. pulumiverse_scaleway/network/_inputs.py +577 -0
  374. pulumiverse_scaleway/network/acl.py +415 -0
  375. pulumiverse_scaleway/network/gateway_network.py +850 -0
  376. pulumiverse_scaleway/network/get_gateway_network.py +287 -0
  377. pulumiverse_scaleway/network/get_private_network.py +282 -0
  378. pulumiverse_scaleway/network/get_public_gateway.py +337 -0
  379. pulumiverse_scaleway/network/get_public_gateway_dhcp.py +313 -0
  380. pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +390 -0
  381. pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
  382. pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
  383. pulumiverse_scaleway/network/get_routes.py +208 -0
  384. pulumiverse_scaleway/network/get_vpc.py +246 -0
  385. pulumiverse_scaleway/network/get_vpcs.py +174 -0
  386. pulumiverse_scaleway/network/outputs.py +886 -0
  387. pulumiverse_scaleway/network/private_network.py +736 -0
  388. pulumiverse_scaleway/network/public_gateway.py +894 -0
  389. pulumiverse_scaleway/network/public_gateway_dhcp.py +957 -0
  390. pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +524 -0
  391. pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
  392. pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
  393. pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
  394. pulumiverse_scaleway/network/route.py +579 -0
  395. pulumiverse_scaleway/network/vpc.py +538 -0
  396. pulumiverse_scaleway/object/__init__.py +17 -0
  397. pulumiverse_scaleway/object/_inputs.py +831 -0
  398. pulumiverse_scaleway/object/bucket.py +876 -0
  399. pulumiverse_scaleway/object/bucket_acl.py +598 -0
  400. pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
  401. pulumiverse_scaleway/object/bucket_policy.py +675 -0
  402. pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
  403. pulumiverse_scaleway/object/get_bucket.py +290 -0
  404. pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
  405. pulumiverse_scaleway/object/item.py +778 -0
  406. pulumiverse_scaleway/object/outputs.py +802 -0
  407. pulumiverse_scaleway/object_bucket.py +28 -22
  408. pulumiverse_scaleway/object_bucket_acl.py +14 -8
  409. pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
  410. pulumiverse_scaleway/object_bucket_policy.py +46 -40
  411. pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
  412. pulumiverse_scaleway/object_item.py +8 -2
  413. pulumiverse_scaleway/observability/__init__.py +17 -0
  414. pulumiverse_scaleway/observability/_inputs.py +417 -0
  415. pulumiverse_scaleway/observability/alert_manager.py +403 -0
  416. pulumiverse_scaleway/observability/cockpit.py +325 -0
  417. pulumiverse_scaleway/observability/get_instance.py +205 -0
  418. pulumiverse_scaleway/observability/get_plan.py +125 -0
  419. pulumiverse_scaleway/observability/get_source.py +262 -0
  420. pulumiverse_scaleway/observability/grafana_user.py +364 -0
  421. pulumiverse_scaleway/observability/outputs.py +425 -0
  422. pulumiverse_scaleway/observability/source.py +569 -0
  423. pulumiverse_scaleway/observability/token.py +481 -0
  424. pulumiverse_scaleway/outputs.py +662 -2
  425. pulumiverse_scaleway/pulumi-plugin.json +1 -1
  426. pulumiverse_scaleway/rdb_snapshot.py +16 -10
  427. pulumiverse_scaleway/redis/__init__.py +11 -0
  428. pulumiverse_scaleway/redis/_inputs.py +330 -0
  429. pulumiverse_scaleway/redis/cluster.py +1203 -0
  430. pulumiverse_scaleway/redis/get_cluster.py +347 -0
  431. pulumiverse_scaleway/redis/outputs.py +356 -0
  432. pulumiverse_scaleway/redis_cluster.py +14 -8
  433. pulumiverse_scaleway/registry/__init__.py +11 -0
  434. pulumiverse_scaleway/registry/get_image.py +239 -0
  435. pulumiverse_scaleway/registry/get_image_tag.py +229 -0
  436. pulumiverse_scaleway/registry/get_namespace.py +199 -0
  437. pulumiverse_scaleway/registry/namespace.py +460 -0
  438. pulumiverse_scaleway/registry_namespace.py +8 -2
  439. pulumiverse_scaleway/sdb_database.py +10 -4
  440. pulumiverse_scaleway/secret.py +28 -2
  441. pulumiverse_scaleway/secret_version.py +18 -12
  442. pulumiverse_scaleway/secrets/__init__.py +13 -0
  443. pulumiverse_scaleway/secrets/_inputs.py +248 -0
  444. pulumiverse_scaleway/secrets/get_secret.py +349 -0
  445. pulumiverse_scaleway/secrets/get_version.py +340 -0
  446. pulumiverse_scaleway/secrets/outputs.py +320 -0
  447. pulumiverse_scaleway/secrets/secret.py +685 -0
  448. pulumiverse_scaleway/secrets/version.py +489 -0
  449. pulumiverse_scaleway/tem/__init__.py +15 -0
  450. pulumiverse_scaleway/tem/_inputs.py +135 -0
  451. pulumiverse_scaleway/tem/blocked_list.py +442 -0
  452. pulumiverse_scaleway/tem/domain.py +1039 -0
  453. pulumiverse_scaleway/tem/domain_validation.py +305 -0
  454. pulumiverse_scaleway/tem/get_domain.py +378 -0
  455. pulumiverse_scaleway/tem/get_offer_subscription.py +254 -0
  456. pulumiverse_scaleway/tem/outputs.py +171 -0
  457. pulumiverse_scaleway/tem/webhook.py +642 -0
  458. pulumiverse_scaleway/tem_domain.py +27 -14
  459. pulumiverse_scaleway/tem_domain_validation.py +10 -4
  460. pulumiverse_scaleway/tem_webhook.py +28 -22
  461. pulumiverse_scaleway/vpc.py +10 -4
  462. pulumiverse_scaleway/vpc_gateway_network.py +128 -140
  463. pulumiverse_scaleway/vpc_private_network.py +10 -4
  464. pulumiverse_scaleway/vpc_public_gateway.py +132 -23
  465. pulumiverse_scaleway/vpc_public_gateway_dhcp.py +23 -9
  466. pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +40 -26
  467. pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
  468. pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
  469. pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
  470. pulumiverse_scaleway/vpc_route.py +16 -10
  471. pulumiverse_scaleway/webhosting.py +10 -4
  472. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/METADATA +1 -1
  473. pulumiverse_scaleway-1.26.0.dist-info/RECORD +483 -0
  474. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/WHEEL +1 -1
  475. pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
  476. {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2553 @@
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
+
18
+ __all__ = [
19
+ 'RecordGeoIp',
20
+ 'RecordGeoIpMatch',
21
+ 'RecordHttpService',
22
+ 'RecordView',
23
+ 'RecordWeighted',
24
+ 'RegistrationAdministrativeContact',
25
+ 'RegistrationAdministrativeContactExtensionEu',
26
+ 'RegistrationAdministrativeContactExtensionFr',
27
+ 'RegistrationAdministrativeContactExtensionFrAssociationInfo',
28
+ 'RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo',
29
+ 'RegistrationAdministrativeContactExtensionFrDunsInfo',
30
+ 'RegistrationAdministrativeContactExtensionFrIndividualInfo',
31
+ 'RegistrationAdministrativeContactExtensionFrTrademarkInfo',
32
+ 'RegistrationDsRecord',
33
+ 'RegistrationDsRecordDigest',
34
+ 'RegistrationDsRecordDigestPublicKey',
35
+ 'RegistrationDsRecordPublicKey',
36
+ 'RegistrationOwnerContact',
37
+ 'RegistrationOwnerContactExtensionEu',
38
+ 'RegistrationOwnerContactExtensionFr',
39
+ 'RegistrationOwnerContactExtensionFrAssociationInfo',
40
+ 'RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo',
41
+ 'RegistrationOwnerContactExtensionFrDunsInfo',
42
+ 'RegistrationOwnerContactExtensionFrIndividualInfo',
43
+ 'RegistrationOwnerContactExtensionFrTrademarkInfo',
44
+ 'RegistrationTechnicalContact',
45
+ 'RegistrationTechnicalContactExtensionEu',
46
+ 'RegistrationTechnicalContactExtensionFr',
47
+ 'RegistrationTechnicalContactExtensionFrAssociationInfo',
48
+ 'RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo',
49
+ 'RegistrationTechnicalContactExtensionFrDunsInfo',
50
+ 'RegistrationTechnicalContactExtensionFrIndividualInfo',
51
+ 'RegistrationTechnicalContactExtensionFrTrademarkInfo',
52
+ 'GetRecordGeoIpResult',
53
+ 'GetRecordGeoIpMatchResult',
54
+ 'GetRecordHttpServiceResult',
55
+ 'GetRecordViewResult',
56
+ 'GetRecordWeightedResult',
57
+ ]
58
+
59
+ @pulumi.output_type
60
+ class RecordGeoIp(dict):
61
+ def __init__(__self__, *,
62
+ matches: Sequence['outputs.RecordGeoIpMatch']):
63
+ """
64
+ :param Sequence['RecordGeoIpMatchArgs'] matches: The list of matches
65
+ """
66
+ pulumi.set(__self__, "matches", matches)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def matches(self) -> Sequence['outputs.RecordGeoIpMatch']:
71
+ """
72
+ The list of matches
73
+ """
74
+ return pulumi.get(self, "matches")
75
+
76
+
77
+ @pulumi.output_type
78
+ class RecordGeoIpMatch(dict):
79
+ def __init__(__self__, *,
80
+ data: str,
81
+ continents: Optional[Sequence[str]] = None,
82
+ countries: Optional[Sequence[str]] = None):
83
+ """
84
+ :param str data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).
85
+ :param Sequence[str] continents: List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
86
+ :param Sequence[str] countries: List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
87
+ """
88
+ pulumi.set(__self__, "data", data)
89
+ if continents is not None:
90
+ pulumi.set(__self__, "continents", continents)
91
+ if countries is not None:
92
+ pulumi.set(__self__, "countries", countries)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def data(self) -> str:
97
+ """
98
+ The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).
99
+ """
100
+ return pulumi.get(self, "data")
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def continents(self) -> Optional[Sequence[str]]:
105
+ """
106
+ List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
107
+ """
108
+ return pulumi.get(self, "continents")
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def countries(self) -> Optional[Sequence[str]]:
113
+ """
114
+ List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
115
+ """
116
+ return pulumi.get(self, "countries")
117
+
118
+
119
+ @pulumi.output_type
120
+ class RecordHttpService(dict):
121
+ @staticmethod
122
+ def __key_warning(key: str):
123
+ suggest = None
124
+ if key == "mustContain":
125
+ suggest = "must_contain"
126
+ elif key == "userAgent":
127
+ suggest = "user_agent"
128
+
129
+ if suggest:
130
+ pulumi.log.warn(f"Key '{key}' not found in RecordHttpService. Access the value via the '{suggest}' property getter instead.")
131
+
132
+ def __getitem__(self, key: str) -> Any:
133
+ RecordHttpService.__key_warning(key)
134
+ return super().__getitem__(key)
135
+
136
+ def get(self, key: str, default = None) -> Any:
137
+ RecordHttpService.__key_warning(key)
138
+ return super().get(key, default)
139
+
140
+ def __init__(__self__, *,
141
+ ips: Sequence[str],
142
+ must_contain: str,
143
+ strategy: str,
144
+ url: str,
145
+ user_agent: Optional[str] = None):
146
+ """
147
+ :param Sequence[str] ips: IPs to check
148
+ :param str must_contain: Text to search
149
+ :param str strategy: Strategy to return an IP from the IPs list
150
+ :param str url: URL to match the must_contain text to validate an IP
151
+ :param str user_agent: User-agent used when checking the URL
152
+ """
153
+ pulumi.set(__self__, "ips", ips)
154
+ pulumi.set(__self__, "must_contain", must_contain)
155
+ pulumi.set(__self__, "strategy", strategy)
156
+ pulumi.set(__self__, "url", url)
157
+ if user_agent is not None:
158
+ pulumi.set(__self__, "user_agent", user_agent)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def ips(self) -> Sequence[str]:
163
+ """
164
+ IPs to check
165
+ """
166
+ return pulumi.get(self, "ips")
167
+
168
+ @property
169
+ @pulumi.getter(name="mustContain")
170
+ def must_contain(self) -> str:
171
+ """
172
+ Text to search
173
+ """
174
+ return pulumi.get(self, "must_contain")
175
+
176
+ @property
177
+ @pulumi.getter
178
+ def strategy(self) -> str:
179
+ """
180
+ Strategy to return an IP from the IPs list
181
+ """
182
+ return pulumi.get(self, "strategy")
183
+
184
+ @property
185
+ @pulumi.getter
186
+ def url(self) -> str:
187
+ """
188
+ URL to match the must_contain text to validate an IP
189
+ """
190
+ return pulumi.get(self, "url")
191
+
192
+ @property
193
+ @pulumi.getter(name="userAgent")
194
+ def user_agent(self) -> Optional[str]:
195
+ """
196
+ User-agent used when checking the URL
197
+ """
198
+ return pulumi.get(self, "user_agent")
199
+
200
+
201
+ @pulumi.output_type
202
+ class RecordView(dict):
203
+ def __init__(__self__, *,
204
+ data: str,
205
+ subnet: str):
206
+ """
207
+ :param str data: The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).
208
+ :param str subnet: The subnet of the view
209
+ """
210
+ pulumi.set(__self__, "data", data)
211
+ pulumi.set(__self__, "subnet", subnet)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def data(self) -> str:
216
+ """
217
+ The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).
218
+ """
219
+ return pulumi.get(self, "data")
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def subnet(self) -> str:
224
+ """
225
+ The subnet of the view
226
+ """
227
+ return pulumi.get(self, "subnet")
228
+
229
+
230
+ @pulumi.output_type
231
+ class RecordWeighted(dict):
232
+ def __init__(__self__, *,
233
+ ip: str,
234
+ weight: int):
235
+ """
236
+ :param str ip: The weighted IP
237
+ :param int weight: The weight of the IP
238
+ """
239
+ pulumi.set(__self__, "ip", ip)
240
+ pulumi.set(__self__, "weight", weight)
241
+
242
+ @property
243
+ @pulumi.getter
244
+ def ip(self) -> str:
245
+ """
246
+ The weighted IP
247
+ """
248
+ return pulumi.get(self, "ip")
249
+
250
+ @property
251
+ @pulumi.getter
252
+ def weight(self) -> int:
253
+ """
254
+ The weight of the IP
255
+ """
256
+ return pulumi.get(self, "weight")
257
+
258
+
259
+ @pulumi.output_type
260
+ class RegistrationAdministrativeContact(dict):
261
+ @staticmethod
262
+ def __key_warning(key: str):
263
+ suggest = None
264
+ if key == "addressLine1":
265
+ suggest = "address_line1"
266
+ elif key == "companyIdentificationCode":
267
+ suggest = "company_identification_code"
268
+ elif key == "legalForm":
269
+ suggest = "legal_form"
270
+ elif key == "phoneNumber":
271
+ suggest = "phone_number"
272
+ elif key == "vatIdentificationCode":
273
+ suggest = "vat_identification_code"
274
+ elif key == "addressLine2":
275
+ suggest = "address_line2"
276
+ elif key == "companyName":
277
+ suggest = "company_name"
278
+ elif key == "emailAlt":
279
+ suggest = "email_alt"
280
+ elif key == "extensionEu":
281
+ suggest = "extension_eu"
282
+ elif key == "extensionFr":
283
+ suggest = "extension_fr"
284
+ elif key == "extensionNls":
285
+ suggest = "extension_nls"
286
+ elif key == "faxNumber":
287
+ suggest = "fax_number"
288
+ elif key == "whoisOptIn":
289
+ suggest = "whois_opt_in"
290
+
291
+ if suggest:
292
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContact. Access the value via the '{suggest}' property getter instead.")
293
+
294
+ def __getitem__(self, key: str) -> Any:
295
+ RegistrationAdministrativeContact.__key_warning(key)
296
+ return super().__getitem__(key)
297
+
298
+ def get(self, key: str, default = None) -> Any:
299
+ RegistrationAdministrativeContact.__key_warning(key)
300
+ return super().get(key, default)
301
+
302
+ def __init__(__self__, *,
303
+ address_line1: str,
304
+ city: str,
305
+ company_identification_code: str,
306
+ country: str,
307
+ email: str,
308
+ firstname: str,
309
+ lastname: str,
310
+ legal_form: str,
311
+ phone_number: str,
312
+ vat_identification_code: str,
313
+ zip: str,
314
+ address_line2: Optional[str] = None,
315
+ company_name: Optional[str] = None,
316
+ email_alt: Optional[str] = None,
317
+ extension_eu: Optional['outputs.RegistrationAdministrativeContactExtensionEu'] = None,
318
+ extension_fr: Optional['outputs.RegistrationAdministrativeContactExtensionFr'] = None,
319
+ extension_nls: Optional[Sequence[str]] = None,
320
+ fax_number: Optional[str] = None,
321
+ lang: Optional[str] = None,
322
+ resale: Optional[bool] = None,
323
+ state: Optional[str] = None,
324
+ whois_opt_in: Optional[bool] = None):
325
+ """
326
+ :param str address_line1: Primary address line for the contact.
327
+ :param str city: City of the contact's address.
328
+ :param str company_identification_code: Company identification code (e.g., SIREN/SIRET in France) for the contact.
329
+ :param str country: Country code of the contact's address (ISO format).
330
+ :param str email: Primary email address of the contact.
331
+ :param str firstname: First name of the contact.
332
+ :param str lastname: Last name of the contact.
333
+ :param str legal_form: Legal form of the contact (e.g., 'individual' or 'organization').
334
+ :param str phone_number: Primary phone number of the contact.
335
+ :param str vat_identification_code: VAT identification code of the contact, if applicable.
336
+ :param str zip: Postal code of the contact's address.
337
+ :param str address_line2: Secondary address line for the contact (optional).
338
+ :param str company_name: Name of the company associated with the contact (if applicable).
339
+ :param str email_alt: Alternative email address for the contact.
340
+ :param 'RegistrationAdministrativeContactExtensionEuArgs' extension_eu: Details specific to European domain extensions.
341
+ :param 'RegistrationAdministrativeContactExtensionFrArgs' extension_fr: Details specific to French domain extensions.
342
+ :param Sequence[str] extension_nls: Extension details specific to Dutch domain registrations.
343
+ :param str fax_number: Fax number for the contact (if available).
344
+ :param str lang: Preferred language of the contact (e.g., 'en_US', 'fr_FR').
345
+ :param bool resale: Indicates if the contact is used for resale purposes.
346
+ :param str state: State or region of the contact.
347
+ :param bool whois_opt_in: Indicates whether the contact has opted into WHOIS publishing.
348
+ """
349
+ pulumi.set(__self__, "address_line1", address_line1)
350
+ pulumi.set(__self__, "city", city)
351
+ pulumi.set(__self__, "company_identification_code", company_identification_code)
352
+ pulumi.set(__self__, "country", country)
353
+ pulumi.set(__self__, "email", email)
354
+ pulumi.set(__self__, "firstname", firstname)
355
+ pulumi.set(__self__, "lastname", lastname)
356
+ pulumi.set(__self__, "legal_form", legal_form)
357
+ pulumi.set(__self__, "phone_number", phone_number)
358
+ pulumi.set(__self__, "vat_identification_code", vat_identification_code)
359
+ pulumi.set(__self__, "zip", zip)
360
+ if address_line2 is not None:
361
+ pulumi.set(__self__, "address_line2", address_line2)
362
+ if company_name is not None:
363
+ pulumi.set(__self__, "company_name", company_name)
364
+ if email_alt is not None:
365
+ pulumi.set(__self__, "email_alt", email_alt)
366
+ if extension_eu is not None:
367
+ pulumi.set(__self__, "extension_eu", extension_eu)
368
+ if extension_fr is not None:
369
+ pulumi.set(__self__, "extension_fr", extension_fr)
370
+ if extension_nls is not None:
371
+ pulumi.set(__self__, "extension_nls", extension_nls)
372
+ if fax_number is not None:
373
+ pulumi.set(__self__, "fax_number", fax_number)
374
+ if lang is not None:
375
+ pulumi.set(__self__, "lang", lang)
376
+ if resale is not None:
377
+ pulumi.set(__self__, "resale", resale)
378
+ if state is not None:
379
+ pulumi.set(__self__, "state", state)
380
+ if whois_opt_in is not None:
381
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
382
+
383
+ @property
384
+ @pulumi.getter(name="addressLine1")
385
+ def address_line1(self) -> str:
386
+ """
387
+ Primary address line for the contact.
388
+ """
389
+ return pulumi.get(self, "address_line1")
390
+
391
+ @property
392
+ @pulumi.getter
393
+ def city(self) -> str:
394
+ """
395
+ City of the contact's address.
396
+ """
397
+ return pulumi.get(self, "city")
398
+
399
+ @property
400
+ @pulumi.getter(name="companyIdentificationCode")
401
+ def company_identification_code(self) -> str:
402
+ """
403
+ Company identification code (e.g., SIREN/SIRET in France) for the contact.
404
+ """
405
+ return pulumi.get(self, "company_identification_code")
406
+
407
+ @property
408
+ @pulumi.getter
409
+ def country(self) -> str:
410
+ """
411
+ Country code of the contact's address (ISO format).
412
+ """
413
+ return pulumi.get(self, "country")
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def email(self) -> str:
418
+ """
419
+ Primary email address of the contact.
420
+ """
421
+ return pulumi.get(self, "email")
422
+
423
+ @property
424
+ @pulumi.getter
425
+ def firstname(self) -> str:
426
+ """
427
+ First name of the contact.
428
+ """
429
+ return pulumi.get(self, "firstname")
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def lastname(self) -> str:
434
+ """
435
+ Last name of the contact.
436
+ """
437
+ return pulumi.get(self, "lastname")
438
+
439
+ @property
440
+ @pulumi.getter(name="legalForm")
441
+ def legal_form(self) -> str:
442
+ """
443
+ Legal form of the contact (e.g., 'individual' or 'organization').
444
+ """
445
+ return pulumi.get(self, "legal_form")
446
+
447
+ @property
448
+ @pulumi.getter(name="phoneNumber")
449
+ def phone_number(self) -> str:
450
+ """
451
+ Primary phone number of the contact.
452
+ """
453
+ return pulumi.get(self, "phone_number")
454
+
455
+ @property
456
+ @pulumi.getter(name="vatIdentificationCode")
457
+ def vat_identification_code(self) -> str:
458
+ """
459
+ VAT identification code of the contact, if applicable.
460
+ """
461
+ return pulumi.get(self, "vat_identification_code")
462
+
463
+ @property
464
+ @pulumi.getter
465
+ def zip(self) -> str:
466
+ """
467
+ Postal code of the contact's address.
468
+ """
469
+ return pulumi.get(self, "zip")
470
+
471
+ @property
472
+ @pulumi.getter(name="addressLine2")
473
+ def address_line2(self) -> Optional[str]:
474
+ """
475
+ Secondary address line for the contact (optional).
476
+ """
477
+ return pulumi.get(self, "address_line2")
478
+
479
+ @property
480
+ @pulumi.getter(name="companyName")
481
+ def company_name(self) -> Optional[str]:
482
+ """
483
+ Name of the company associated with the contact (if applicable).
484
+ """
485
+ return pulumi.get(self, "company_name")
486
+
487
+ @property
488
+ @pulumi.getter(name="emailAlt")
489
+ def email_alt(self) -> Optional[str]:
490
+ """
491
+ Alternative email address for the contact.
492
+ """
493
+ return pulumi.get(self, "email_alt")
494
+
495
+ @property
496
+ @pulumi.getter(name="extensionEu")
497
+ def extension_eu(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionEu']:
498
+ """
499
+ Details specific to European domain extensions.
500
+ """
501
+ return pulumi.get(self, "extension_eu")
502
+
503
+ @property
504
+ @pulumi.getter(name="extensionFr")
505
+ def extension_fr(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFr']:
506
+ """
507
+ Details specific to French domain extensions.
508
+ """
509
+ return pulumi.get(self, "extension_fr")
510
+
511
+ @property
512
+ @pulumi.getter(name="extensionNls")
513
+ def extension_nls(self) -> Optional[Sequence[str]]:
514
+ """
515
+ Extension details specific to Dutch domain registrations.
516
+ """
517
+ return pulumi.get(self, "extension_nls")
518
+
519
+ @property
520
+ @pulumi.getter(name="faxNumber")
521
+ def fax_number(self) -> Optional[str]:
522
+ """
523
+ Fax number for the contact (if available).
524
+ """
525
+ return pulumi.get(self, "fax_number")
526
+
527
+ @property
528
+ @pulumi.getter
529
+ def lang(self) -> Optional[str]:
530
+ """
531
+ Preferred language of the contact (e.g., 'en_US', 'fr_FR').
532
+ """
533
+ return pulumi.get(self, "lang")
534
+
535
+ @property
536
+ @pulumi.getter
537
+ def resale(self) -> Optional[bool]:
538
+ """
539
+ Indicates if the contact is used for resale purposes.
540
+ """
541
+ return pulumi.get(self, "resale")
542
+
543
+ @property
544
+ @pulumi.getter
545
+ def state(self) -> Optional[str]:
546
+ """
547
+ State or region of the contact.
548
+ """
549
+ return pulumi.get(self, "state")
550
+
551
+ @property
552
+ @pulumi.getter(name="whoisOptIn")
553
+ def whois_opt_in(self) -> Optional[bool]:
554
+ """
555
+ Indicates whether the contact has opted into WHOIS publishing.
556
+ """
557
+ return pulumi.get(self, "whois_opt_in")
558
+
559
+
560
+ @pulumi.output_type
561
+ class RegistrationAdministrativeContactExtensionEu(dict):
562
+ @staticmethod
563
+ def __key_warning(key: str):
564
+ suggest = None
565
+ if key == "europeanCitizenship":
566
+ suggest = "european_citizenship"
567
+
568
+ if suggest:
569
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionEu. Access the value via the '{suggest}' property getter instead.")
570
+
571
+ def __getitem__(self, key: str) -> Any:
572
+ RegistrationAdministrativeContactExtensionEu.__key_warning(key)
573
+ return super().__getitem__(key)
574
+
575
+ def get(self, key: str, default = None) -> Any:
576
+ RegistrationAdministrativeContactExtensionEu.__key_warning(key)
577
+ return super().get(key, default)
578
+
579
+ def __init__(__self__, *,
580
+ european_citizenship: Optional[str] = None):
581
+ """
582
+ :param str european_citizenship: Indicates the European citizenship of the contact.
583
+ """
584
+ if european_citizenship is not None:
585
+ pulumi.set(__self__, "european_citizenship", european_citizenship)
586
+
587
+ @property
588
+ @pulumi.getter(name="europeanCitizenship")
589
+ def european_citizenship(self) -> Optional[str]:
590
+ """
591
+ Indicates the European citizenship of the contact.
592
+ """
593
+ return pulumi.get(self, "european_citizenship")
594
+
595
+
596
+ @pulumi.output_type
597
+ class RegistrationAdministrativeContactExtensionFr(dict):
598
+ @staticmethod
599
+ def __key_warning(key: str):
600
+ suggest = None
601
+ if key == "associationInfo":
602
+ suggest = "association_info"
603
+ elif key == "codeAuthAfnicInfo":
604
+ suggest = "code_auth_afnic_info"
605
+ elif key == "dunsInfo":
606
+ suggest = "duns_info"
607
+ elif key == "individualInfo":
608
+ suggest = "individual_info"
609
+ elif key == "trademarkInfo":
610
+ suggest = "trademark_info"
611
+
612
+ if suggest:
613
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFr. Access the value via the '{suggest}' property getter instead.")
614
+
615
+ def __getitem__(self, key: str) -> Any:
616
+ RegistrationAdministrativeContactExtensionFr.__key_warning(key)
617
+ return super().__getitem__(key)
618
+
619
+ def get(self, key: str, default = None) -> Any:
620
+ RegistrationAdministrativeContactExtensionFr.__key_warning(key)
621
+ return super().get(key, default)
622
+
623
+ def __init__(__self__, *,
624
+ association_info: Optional['outputs.RegistrationAdministrativeContactExtensionFrAssociationInfo'] = None,
625
+ code_auth_afnic_info: Optional['outputs.RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo'] = None,
626
+ duns_info: Optional['outputs.RegistrationAdministrativeContactExtensionFrDunsInfo'] = None,
627
+ individual_info: Optional['outputs.RegistrationAdministrativeContactExtensionFrIndividualInfo'] = None,
628
+ mode: Optional[str] = None,
629
+ trademark_info: Optional['outputs.RegistrationAdministrativeContactExtensionFrTrademarkInfo'] = None):
630
+ """
631
+ :param 'RegistrationAdministrativeContactExtensionFrAssociationInfoArgs' association_info: Association-specific information for the domain (French extension).
632
+ :param 'RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfoArgs' code_auth_afnic_info: AFNIC authorization information for the contact (French extension).
633
+ :param 'RegistrationAdministrativeContactExtensionFrDunsInfoArgs' duns_info: DUNS information for the domain owner (specific to French domains).
634
+ :param 'RegistrationAdministrativeContactExtensionFrIndividualInfoArgs' individual_info: Information about the individual registration for French domains.
635
+ :param str mode: Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
636
+ :param 'RegistrationAdministrativeContactExtensionFrTrademarkInfoArgs' trademark_info: Trademark-related information for the domain (French extension).
637
+ """
638
+ if association_info is not None:
639
+ pulumi.set(__self__, "association_info", association_info)
640
+ if code_auth_afnic_info is not None:
641
+ pulumi.set(__self__, "code_auth_afnic_info", code_auth_afnic_info)
642
+ if duns_info is not None:
643
+ pulumi.set(__self__, "duns_info", duns_info)
644
+ if individual_info is not None:
645
+ pulumi.set(__self__, "individual_info", individual_info)
646
+ if mode is not None:
647
+ pulumi.set(__self__, "mode", mode)
648
+ if trademark_info is not None:
649
+ pulumi.set(__self__, "trademark_info", trademark_info)
650
+
651
+ @property
652
+ @pulumi.getter(name="associationInfo")
653
+ def association_info(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFrAssociationInfo']:
654
+ """
655
+ Association-specific information for the domain (French extension).
656
+ """
657
+ return pulumi.get(self, "association_info")
658
+
659
+ @property
660
+ @pulumi.getter(name="codeAuthAfnicInfo")
661
+ def code_auth_afnic_info(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo']:
662
+ """
663
+ AFNIC authorization information for the contact (French extension).
664
+ """
665
+ return pulumi.get(self, "code_auth_afnic_info")
666
+
667
+ @property
668
+ @pulumi.getter(name="dunsInfo")
669
+ def duns_info(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFrDunsInfo']:
670
+ """
671
+ DUNS information for the domain owner (specific to French domains).
672
+ """
673
+ return pulumi.get(self, "duns_info")
674
+
675
+ @property
676
+ @pulumi.getter(name="individualInfo")
677
+ def individual_info(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFrIndividualInfo']:
678
+ """
679
+ Information about the individual registration for French domains.
680
+ """
681
+ return pulumi.get(self, "individual_info")
682
+
683
+ @property
684
+ @pulumi.getter
685
+ def mode(self) -> Optional[str]:
686
+ """
687
+ Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
688
+ """
689
+ return pulumi.get(self, "mode")
690
+
691
+ @property
692
+ @pulumi.getter(name="trademarkInfo")
693
+ def trademark_info(self) -> Optional['outputs.RegistrationAdministrativeContactExtensionFrTrademarkInfo']:
694
+ """
695
+ Trademark-related information for the domain (French extension).
696
+ """
697
+ return pulumi.get(self, "trademark_info")
698
+
699
+
700
+ @pulumi.output_type
701
+ class RegistrationAdministrativeContactExtensionFrAssociationInfo(dict):
702
+ @staticmethod
703
+ def __key_warning(key: str):
704
+ suggest = None
705
+ if key == "publicationJo":
706
+ suggest = "publication_jo"
707
+ elif key == "publicationJoPage":
708
+ suggest = "publication_jo_page"
709
+
710
+ if suggest:
711
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFrAssociationInfo. Access the value via the '{suggest}' property getter instead.")
712
+
713
+ def __getitem__(self, key: str) -> Any:
714
+ RegistrationAdministrativeContactExtensionFrAssociationInfo.__key_warning(key)
715
+ return super().__getitem__(key)
716
+
717
+ def get(self, key: str, default = None) -> Any:
718
+ RegistrationAdministrativeContactExtensionFrAssociationInfo.__key_warning(key)
719
+ return super().get(key, default)
720
+
721
+ def __init__(__self__, *,
722
+ publication_jo: Optional[str] = None,
723
+ publication_jo_page: Optional[int] = None):
724
+ """
725
+ :param str publication_jo: Publication date in the Official Journal (RFC3339 format) for association information.
726
+ :param int publication_jo_page: Page number of the publication in the Official Journal for association information.
727
+ """
728
+ if publication_jo is not None:
729
+ pulumi.set(__self__, "publication_jo", publication_jo)
730
+ if publication_jo_page is not None:
731
+ pulumi.set(__self__, "publication_jo_page", publication_jo_page)
732
+
733
+ @property
734
+ @pulumi.getter(name="publicationJo")
735
+ def publication_jo(self) -> Optional[str]:
736
+ """
737
+ Publication date in the Official Journal (RFC3339 format) for association information.
738
+ """
739
+ return pulumi.get(self, "publication_jo")
740
+
741
+ @property
742
+ @pulumi.getter(name="publicationJoPage")
743
+ def publication_jo_page(self) -> Optional[int]:
744
+ """
745
+ Page number of the publication in the Official Journal for association information.
746
+ """
747
+ return pulumi.get(self, "publication_jo_page")
748
+
749
+
750
+ @pulumi.output_type
751
+ class RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo(dict):
752
+ @staticmethod
753
+ def __key_warning(key: str):
754
+ suggest = None
755
+ if key == "codeAuthAfnic":
756
+ suggest = "code_auth_afnic"
757
+
758
+ if suggest:
759
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo. Access the value via the '{suggest}' property getter instead.")
760
+
761
+ def __getitem__(self, key: str) -> Any:
762
+ RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
763
+ return super().__getitem__(key)
764
+
765
+ def get(self, key: str, default = None) -> Any:
766
+ RegistrationAdministrativeContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
767
+ return super().get(key, default)
768
+
769
+ def __init__(__self__, *,
770
+ code_auth_afnic: Optional[str] = None):
771
+ """
772
+ :param str code_auth_afnic: AFNIC authorization code for the contact (specific to French domains).
773
+ """
774
+ if code_auth_afnic is not None:
775
+ pulumi.set(__self__, "code_auth_afnic", code_auth_afnic)
776
+
777
+ @property
778
+ @pulumi.getter(name="codeAuthAfnic")
779
+ def code_auth_afnic(self) -> Optional[str]:
780
+ """
781
+ AFNIC authorization code for the contact (specific to French domains).
782
+ """
783
+ return pulumi.get(self, "code_auth_afnic")
784
+
785
+
786
+ @pulumi.output_type
787
+ class RegistrationAdministrativeContactExtensionFrDunsInfo(dict):
788
+ @staticmethod
789
+ def __key_warning(key: str):
790
+ suggest = None
791
+ if key == "dunsId":
792
+ suggest = "duns_id"
793
+ elif key == "localId":
794
+ suggest = "local_id"
795
+
796
+ if suggest:
797
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFrDunsInfo. Access the value via the '{suggest}' property getter instead.")
798
+
799
+ def __getitem__(self, key: str) -> Any:
800
+ RegistrationAdministrativeContactExtensionFrDunsInfo.__key_warning(key)
801
+ return super().__getitem__(key)
802
+
803
+ def get(self, key: str, default = None) -> Any:
804
+ RegistrationAdministrativeContactExtensionFrDunsInfo.__key_warning(key)
805
+ return super().get(key, default)
806
+
807
+ def __init__(__self__, *,
808
+ duns_id: Optional[str] = None,
809
+ local_id: Optional[str] = None):
810
+ """
811
+ :param str duns_id: DUNS ID associated with the domain owner (for French domains).
812
+ :param str local_id: Local identifier of the domain owner (for French domains).
813
+ """
814
+ if duns_id is not None:
815
+ pulumi.set(__self__, "duns_id", duns_id)
816
+ if local_id is not None:
817
+ pulumi.set(__self__, "local_id", local_id)
818
+
819
+ @property
820
+ @pulumi.getter(name="dunsId")
821
+ def duns_id(self) -> Optional[str]:
822
+ """
823
+ DUNS ID associated with the domain owner (for French domains).
824
+ """
825
+ return pulumi.get(self, "duns_id")
826
+
827
+ @property
828
+ @pulumi.getter(name="localId")
829
+ def local_id(self) -> Optional[str]:
830
+ """
831
+ Local identifier of the domain owner (for French domains).
832
+ """
833
+ return pulumi.get(self, "local_id")
834
+
835
+
836
+ @pulumi.output_type
837
+ class RegistrationAdministrativeContactExtensionFrIndividualInfo(dict):
838
+ @staticmethod
839
+ def __key_warning(key: str):
840
+ suggest = None
841
+ if key == "whoisOptIn":
842
+ suggest = "whois_opt_in"
843
+
844
+ if suggest:
845
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFrIndividualInfo. Access the value via the '{suggest}' property getter instead.")
846
+
847
+ def __getitem__(self, key: str) -> Any:
848
+ RegistrationAdministrativeContactExtensionFrIndividualInfo.__key_warning(key)
849
+ return super().__getitem__(key)
850
+
851
+ def get(self, key: str, default = None) -> Any:
852
+ RegistrationAdministrativeContactExtensionFrIndividualInfo.__key_warning(key)
853
+ return super().get(key, default)
854
+
855
+ def __init__(__self__, *,
856
+ whois_opt_in: Optional[bool] = None):
857
+ """
858
+ :param bool whois_opt_in: Whether the individual contact has opted into WHOIS publishing.
859
+ """
860
+ if whois_opt_in is not None:
861
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
862
+
863
+ @property
864
+ @pulumi.getter(name="whoisOptIn")
865
+ def whois_opt_in(self) -> Optional[bool]:
866
+ """
867
+ Whether the individual contact has opted into WHOIS publishing.
868
+ """
869
+ return pulumi.get(self, "whois_opt_in")
870
+
871
+
872
+ @pulumi.output_type
873
+ class RegistrationAdministrativeContactExtensionFrTrademarkInfo(dict):
874
+ @staticmethod
875
+ def __key_warning(key: str):
876
+ suggest = None
877
+ if key == "trademarkInpi":
878
+ suggest = "trademark_inpi"
879
+
880
+ if suggest:
881
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationAdministrativeContactExtensionFrTrademarkInfo. Access the value via the '{suggest}' property getter instead.")
882
+
883
+ def __getitem__(self, key: str) -> Any:
884
+ RegistrationAdministrativeContactExtensionFrTrademarkInfo.__key_warning(key)
885
+ return super().__getitem__(key)
886
+
887
+ def get(self, key: str, default = None) -> Any:
888
+ RegistrationAdministrativeContactExtensionFrTrademarkInfo.__key_warning(key)
889
+ return super().get(key, default)
890
+
891
+ def __init__(__self__, *,
892
+ trademark_inpi: Optional[str] = None):
893
+ """
894
+ :param str trademark_inpi: Trademark information from INPI (French extension).
895
+ """
896
+ if trademark_inpi is not None:
897
+ pulumi.set(__self__, "trademark_inpi", trademark_inpi)
898
+
899
+ @property
900
+ @pulumi.getter(name="trademarkInpi")
901
+ def trademark_inpi(self) -> Optional[str]:
902
+ """
903
+ Trademark information from INPI (French extension).
904
+ """
905
+ return pulumi.get(self, "trademark_inpi")
906
+
907
+
908
+ @pulumi.output_type
909
+ class RegistrationDsRecord(dict):
910
+ @staticmethod
911
+ def __key_warning(key: str):
912
+ suggest = None
913
+ if key == "keyId":
914
+ suggest = "key_id"
915
+ elif key == "publicKeys":
916
+ suggest = "public_keys"
917
+
918
+ if suggest:
919
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationDsRecord. Access the value via the '{suggest}' property getter instead.")
920
+
921
+ def __getitem__(self, key: str) -> Any:
922
+ RegistrationDsRecord.__key_warning(key)
923
+ return super().__getitem__(key)
924
+
925
+ def get(self, key: str, default = None) -> Any:
926
+ RegistrationDsRecord.__key_warning(key)
927
+ return super().get(key, default)
928
+
929
+ def __init__(__self__, *,
930
+ algorithm: Optional[str] = None,
931
+ digests: Optional[Sequence['outputs.RegistrationDsRecordDigest']] = None,
932
+ key_id: Optional[int] = None,
933
+ public_keys: Optional[Sequence['outputs.RegistrationDsRecordPublicKey']] = None):
934
+ """
935
+ :param str algorithm: The algorithm used for dnssec (e.g., rsasha256, ecdsap256sha256).
936
+ :param Sequence['RegistrationDsRecordDigestArgs'] digests: Details about the digest.
937
+ :param int key_id: The identifier for the dnssec key.
938
+ :param Sequence['RegistrationDsRecordPublicKeyArgs'] public_keys: Public key associated with the dnssec record.
939
+ """
940
+ if algorithm is not None:
941
+ pulumi.set(__self__, "algorithm", algorithm)
942
+ if digests is not None:
943
+ pulumi.set(__self__, "digests", digests)
944
+ if key_id is not None:
945
+ pulumi.set(__self__, "key_id", key_id)
946
+ if public_keys is not None:
947
+ pulumi.set(__self__, "public_keys", public_keys)
948
+
949
+ @property
950
+ @pulumi.getter
951
+ def algorithm(self) -> Optional[str]:
952
+ """
953
+ The algorithm used for dnssec (e.g., rsasha256, ecdsap256sha256).
954
+ """
955
+ return pulumi.get(self, "algorithm")
956
+
957
+ @property
958
+ @pulumi.getter
959
+ def digests(self) -> Optional[Sequence['outputs.RegistrationDsRecordDigest']]:
960
+ """
961
+ Details about the digest.
962
+ """
963
+ return pulumi.get(self, "digests")
964
+
965
+ @property
966
+ @pulumi.getter(name="keyId")
967
+ def key_id(self) -> Optional[int]:
968
+ """
969
+ The identifier for the dnssec key.
970
+ """
971
+ return pulumi.get(self, "key_id")
972
+
973
+ @property
974
+ @pulumi.getter(name="publicKeys")
975
+ def public_keys(self) -> Optional[Sequence['outputs.RegistrationDsRecordPublicKey']]:
976
+ """
977
+ Public key associated with the dnssec record.
978
+ """
979
+ return pulumi.get(self, "public_keys")
980
+
981
+
982
+ @pulumi.output_type
983
+ class RegistrationDsRecordDigest(dict):
984
+ @staticmethod
985
+ def __key_warning(key: str):
986
+ suggest = None
987
+ if key == "publicKeys":
988
+ suggest = "public_keys"
989
+
990
+ if suggest:
991
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationDsRecordDigest. Access the value via the '{suggest}' property getter instead.")
992
+
993
+ def __getitem__(self, key: str) -> Any:
994
+ RegistrationDsRecordDigest.__key_warning(key)
995
+ return super().__getitem__(key)
996
+
997
+ def get(self, key: str, default = None) -> Any:
998
+ RegistrationDsRecordDigest.__key_warning(key)
999
+ return super().get(key, default)
1000
+
1001
+ def __init__(__self__, *,
1002
+ digest: Optional[str] = None,
1003
+ public_keys: Optional[Sequence['outputs.RegistrationDsRecordDigestPublicKey']] = None,
1004
+ type: Optional[str] = None):
1005
+ """
1006
+ :param str digest: The digest value.
1007
+ :param Sequence['RegistrationDsRecordDigestPublicKeyArgs'] public_keys: The public key associated with the digest.
1008
+ :param str type: The digest type for the DS record (e.g., sha_1, sha_256, gost_r_34_11_94, sha_384).
1009
+ """
1010
+ if digest is not None:
1011
+ pulumi.set(__self__, "digest", digest)
1012
+ if public_keys is not None:
1013
+ pulumi.set(__self__, "public_keys", public_keys)
1014
+ if type is not None:
1015
+ pulumi.set(__self__, "type", type)
1016
+
1017
+ @property
1018
+ @pulumi.getter
1019
+ def digest(self) -> Optional[str]:
1020
+ """
1021
+ The digest value.
1022
+ """
1023
+ return pulumi.get(self, "digest")
1024
+
1025
+ @property
1026
+ @pulumi.getter(name="publicKeys")
1027
+ def public_keys(self) -> Optional[Sequence['outputs.RegistrationDsRecordDigestPublicKey']]:
1028
+ """
1029
+ The public key associated with the digest.
1030
+ """
1031
+ return pulumi.get(self, "public_keys")
1032
+
1033
+ @property
1034
+ @pulumi.getter
1035
+ def type(self) -> Optional[str]:
1036
+ """
1037
+ The digest type for the DS record (e.g., sha_1, sha_256, gost_r_34_11_94, sha_384).
1038
+ """
1039
+ return pulumi.get(self, "type")
1040
+
1041
+
1042
+ @pulumi.output_type
1043
+ class RegistrationDsRecordDigestPublicKey(dict):
1044
+ def __init__(__self__, *,
1045
+ key: str):
1046
+ """
1047
+ :param str key: The public key value.
1048
+ """
1049
+ pulumi.set(__self__, "key", key)
1050
+
1051
+ @property
1052
+ @pulumi.getter
1053
+ def key(self) -> str:
1054
+ """
1055
+ The public key value.
1056
+ """
1057
+ return pulumi.get(self, "key")
1058
+
1059
+
1060
+ @pulumi.output_type
1061
+ class RegistrationDsRecordPublicKey(dict):
1062
+ def __init__(__self__, *,
1063
+ key: str):
1064
+ """
1065
+ :param str key: The public key value.
1066
+ """
1067
+ pulumi.set(__self__, "key", key)
1068
+
1069
+ @property
1070
+ @pulumi.getter
1071
+ def key(self) -> str:
1072
+ """
1073
+ The public key value.
1074
+ """
1075
+ return pulumi.get(self, "key")
1076
+
1077
+
1078
+ @pulumi.output_type
1079
+ class RegistrationOwnerContact(dict):
1080
+ @staticmethod
1081
+ def __key_warning(key: str):
1082
+ suggest = None
1083
+ if key == "addressLine1":
1084
+ suggest = "address_line1"
1085
+ elif key == "companyIdentificationCode":
1086
+ suggest = "company_identification_code"
1087
+ elif key == "legalForm":
1088
+ suggest = "legal_form"
1089
+ elif key == "phoneNumber":
1090
+ suggest = "phone_number"
1091
+ elif key == "vatIdentificationCode":
1092
+ suggest = "vat_identification_code"
1093
+ elif key == "addressLine2":
1094
+ suggest = "address_line2"
1095
+ elif key == "companyName":
1096
+ suggest = "company_name"
1097
+ elif key == "emailAlt":
1098
+ suggest = "email_alt"
1099
+ elif key == "extensionEu":
1100
+ suggest = "extension_eu"
1101
+ elif key == "extensionFr":
1102
+ suggest = "extension_fr"
1103
+ elif key == "extensionNls":
1104
+ suggest = "extension_nls"
1105
+ elif key == "faxNumber":
1106
+ suggest = "fax_number"
1107
+ elif key == "whoisOptIn":
1108
+ suggest = "whois_opt_in"
1109
+
1110
+ if suggest:
1111
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContact. Access the value via the '{suggest}' property getter instead.")
1112
+
1113
+ def __getitem__(self, key: str) -> Any:
1114
+ RegistrationOwnerContact.__key_warning(key)
1115
+ return super().__getitem__(key)
1116
+
1117
+ def get(self, key: str, default = None) -> Any:
1118
+ RegistrationOwnerContact.__key_warning(key)
1119
+ return super().get(key, default)
1120
+
1121
+ def __init__(__self__, *,
1122
+ address_line1: str,
1123
+ city: str,
1124
+ company_identification_code: str,
1125
+ country: str,
1126
+ email: str,
1127
+ firstname: str,
1128
+ lastname: str,
1129
+ legal_form: str,
1130
+ phone_number: str,
1131
+ vat_identification_code: str,
1132
+ zip: str,
1133
+ address_line2: Optional[str] = None,
1134
+ company_name: Optional[str] = None,
1135
+ email_alt: Optional[str] = None,
1136
+ extension_eu: Optional['outputs.RegistrationOwnerContactExtensionEu'] = None,
1137
+ extension_fr: Optional['outputs.RegistrationOwnerContactExtensionFr'] = None,
1138
+ extension_nls: Optional[Sequence[str]] = None,
1139
+ fax_number: Optional[str] = None,
1140
+ lang: Optional[str] = None,
1141
+ resale: Optional[bool] = None,
1142
+ state: Optional[str] = None,
1143
+ whois_opt_in: Optional[bool] = None):
1144
+ """
1145
+ :param str address_line1: Primary address line for the contact.
1146
+ :param str city: City of the contact's address.
1147
+ :param str company_identification_code: Company identification code (e.g., SIREN/SIRET in France) for the contact.
1148
+ :param str country: Country code of the contact's address (ISO format).
1149
+ :param str email: Primary email address of the contact.
1150
+ :param str firstname: First name of the contact.
1151
+ :param str lastname: Last name of the contact.
1152
+ :param str legal_form: Legal form of the contact (e.g., 'individual' or 'organization').
1153
+ :param str phone_number: Primary phone number of the contact.
1154
+ :param str vat_identification_code: VAT identification code of the contact, if applicable.
1155
+ :param str zip: Postal code of the contact's address.
1156
+ :param str address_line2: Secondary address line for the contact (optional).
1157
+ :param str company_name: Name of the company associated with the contact (if applicable).
1158
+ :param str email_alt: Alternative email address for the contact.
1159
+ :param 'RegistrationOwnerContactExtensionEuArgs' extension_eu: Details specific to European domain extensions.
1160
+ :param 'RegistrationOwnerContactExtensionFrArgs' extension_fr: Details specific to French domain extensions.
1161
+ :param Sequence[str] extension_nls: Extension details specific to Dutch domain registrations.
1162
+ :param str fax_number: Fax number for the contact (if available).
1163
+ :param str lang: Preferred language of the contact (e.g., 'en_US', 'fr_FR').
1164
+ :param bool resale: Indicates if the contact is used for resale purposes.
1165
+ :param str state: State or region of the contact.
1166
+ :param bool whois_opt_in: Indicates whether the contact has opted into WHOIS publishing.
1167
+ """
1168
+ pulumi.set(__self__, "address_line1", address_line1)
1169
+ pulumi.set(__self__, "city", city)
1170
+ pulumi.set(__self__, "company_identification_code", company_identification_code)
1171
+ pulumi.set(__self__, "country", country)
1172
+ pulumi.set(__self__, "email", email)
1173
+ pulumi.set(__self__, "firstname", firstname)
1174
+ pulumi.set(__self__, "lastname", lastname)
1175
+ pulumi.set(__self__, "legal_form", legal_form)
1176
+ pulumi.set(__self__, "phone_number", phone_number)
1177
+ pulumi.set(__self__, "vat_identification_code", vat_identification_code)
1178
+ pulumi.set(__self__, "zip", zip)
1179
+ if address_line2 is not None:
1180
+ pulumi.set(__self__, "address_line2", address_line2)
1181
+ if company_name is not None:
1182
+ pulumi.set(__self__, "company_name", company_name)
1183
+ if email_alt is not None:
1184
+ pulumi.set(__self__, "email_alt", email_alt)
1185
+ if extension_eu is not None:
1186
+ pulumi.set(__self__, "extension_eu", extension_eu)
1187
+ if extension_fr is not None:
1188
+ pulumi.set(__self__, "extension_fr", extension_fr)
1189
+ if extension_nls is not None:
1190
+ pulumi.set(__self__, "extension_nls", extension_nls)
1191
+ if fax_number is not None:
1192
+ pulumi.set(__self__, "fax_number", fax_number)
1193
+ if lang is not None:
1194
+ pulumi.set(__self__, "lang", lang)
1195
+ if resale is not None:
1196
+ pulumi.set(__self__, "resale", resale)
1197
+ if state is not None:
1198
+ pulumi.set(__self__, "state", state)
1199
+ if whois_opt_in is not None:
1200
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
1201
+
1202
+ @property
1203
+ @pulumi.getter(name="addressLine1")
1204
+ def address_line1(self) -> str:
1205
+ """
1206
+ Primary address line for the contact.
1207
+ """
1208
+ return pulumi.get(self, "address_line1")
1209
+
1210
+ @property
1211
+ @pulumi.getter
1212
+ def city(self) -> str:
1213
+ """
1214
+ City of the contact's address.
1215
+ """
1216
+ return pulumi.get(self, "city")
1217
+
1218
+ @property
1219
+ @pulumi.getter(name="companyIdentificationCode")
1220
+ def company_identification_code(self) -> str:
1221
+ """
1222
+ Company identification code (e.g., SIREN/SIRET in France) for the contact.
1223
+ """
1224
+ return pulumi.get(self, "company_identification_code")
1225
+
1226
+ @property
1227
+ @pulumi.getter
1228
+ def country(self) -> str:
1229
+ """
1230
+ Country code of the contact's address (ISO format).
1231
+ """
1232
+ return pulumi.get(self, "country")
1233
+
1234
+ @property
1235
+ @pulumi.getter
1236
+ def email(self) -> str:
1237
+ """
1238
+ Primary email address of the contact.
1239
+ """
1240
+ return pulumi.get(self, "email")
1241
+
1242
+ @property
1243
+ @pulumi.getter
1244
+ def firstname(self) -> str:
1245
+ """
1246
+ First name of the contact.
1247
+ """
1248
+ return pulumi.get(self, "firstname")
1249
+
1250
+ @property
1251
+ @pulumi.getter
1252
+ def lastname(self) -> str:
1253
+ """
1254
+ Last name of the contact.
1255
+ """
1256
+ return pulumi.get(self, "lastname")
1257
+
1258
+ @property
1259
+ @pulumi.getter(name="legalForm")
1260
+ def legal_form(self) -> str:
1261
+ """
1262
+ Legal form of the contact (e.g., 'individual' or 'organization').
1263
+ """
1264
+ return pulumi.get(self, "legal_form")
1265
+
1266
+ @property
1267
+ @pulumi.getter(name="phoneNumber")
1268
+ def phone_number(self) -> str:
1269
+ """
1270
+ Primary phone number of the contact.
1271
+ """
1272
+ return pulumi.get(self, "phone_number")
1273
+
1274
+ @property
1275
+ @pulumi.getter(name="vatIdentificationCode")
1276
+ def vat_identification_code(self) -> str:
1277
+ """
1278
+ VAT identification code of the contact, if applicable.
1279
+ """
1280
+ return pulumi.get(self, "vat_identification_code")
1281
+
1282
+ @property
1283
+ @pulumi.getter
1284
+ def zip(self) -> str:
1285
+ """
1286
+ Postal code of the contact's address.
1287
+ """
1288
+ return pulumi.get(self, "zip")
1289
+
1290
+ @property
1291
+ @pulumi.getter(name="addressLine2")
1292
+ def address_line2(self) -> Optional[str]:
1293
+ """
1294
+ Secondary address line for the contact (optional).
1295
+ """
1296
+ return pulumi.get(self, "address_line2")
1297
+
1298
+ @property
1299
+ @pulumi.getter(name="companyName")
1300
+ def company_name(self) -> Optional[str]:
1301
+ """
1302
+ Name of the company associated with the contact (if applicable).
1303
+ """
1304
+ return pulumi.get(self, "company_name")
1305
+
1306
+ @property
1307
+ @pulumi.getter(name="emailAlt")
1308
+ def email_alt(self) -> Optional[str]:
1309
+ """
1310
+ Alternative email address for the contact.
1311
+ """
1312
+ return pulumi.get(self, "email_alt")
1313
+
1314
+ @property
1315
+ @pulumi.getter(name="extensionEu")
1316
+ def extension_eu(self) -> Optional['outputs.RegistrationOwnerContactExtensionEu']:
1317
+ """
1318
+ Details specific to European domain extensions.
1319
+ """
1320
+ return pulumi.get(self, "extension_eu")
1321
+
1322
+ @property
1323
+ @pulumi.getter(name="extensionFr")
1324
+ def extension_fr(self) -> Optional['outputs.RegistrationOwnerContactExtensionFr']:
1325
+ """
1326
+ Details specific to French domain extensions.
1327
+ """
1328
+ return pulumi.get(self, "extension_fr")
1329
+
1330
+ @property
1331
+ @pulumi.getter(name="extensionNls")
1332
+ def extension_nls(self) -> Optional[Sequence[str]]:
1333
+ """
1334
+ Extension details specific to Dutch domain registrations.
1335
+ """
1336
+ return pulumi.get(self, "extension_nls")
1337
+
1338
+ @property
1339
+ @pulumi.getter(name="faxNumber")
1340
+ def fax_number(self) -> Optional[str]:
1341
+ """
1342
+ Fax number for the contact (if available).
1343
+ """
1344
+ return pulumi.get(self, "fax_number")
1345
+
1346
+ @property
1347
+ @pulumi.getter
1348
+ def lang(self) -> Optional[str]:
1349
+ """
1350
+ Preferred language of the contact (e.g., 'en_US', 'fr_FR').
1351
+ """
1352
+ return pulumi.get(self, "lang")
1353
+
1354
+ @property
1355
+ @pulumi.getter
1356
+ def resale(self) -> Optional[bool]:
1357
+ """
1358
+ Indicates if the contact is used for resale purposes.
1359
+ """
1360
+ return pulumi.get(self, "resale")
1361
+
1362
+ @property
1363
+ @pulumi.getter
1364
+ def state(self) -> Optional[str]:
1365
+ """
1366
+ State or region of the contact.
1367
+ """
1368
+ return pulumi.get(self, "state")
1369
+
1370
+ @property
1371
+ @pulumi.getter(name="whoisOptIn")
1372
+ def whois_opt_in(self) -> Optional[bool]:
1373
+ """
1374
+ Indicates whether the contact has opted into WHOIS publishing.
1375
+ """
1376
+ return pulumi.get(self, "whois_opt_in")
1377
+
1378
+
1379
+ @pulumi.output_type
1380
+ class RegistrationOwnerContactExtensionEu(dict):
1381
+ @staticmethod
1382
+ def __key_warning(key: str):
1383
+ suggest = None
1384
+ if key == "europeanCitizenship":
1385
+ suggest = "european_citizenship"
1386
+
1387
+ if suggest:
1388
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionEu. Access the value via the '{suggest}' property getter instead.")
1389
+
1390
+ def __getitem__(self, key: str) -> Any:
1391
+ RegistrationOwnerContactExtensionEu.__key_warning(key)
1392
+ return super().__getitem__(key)
1393
+
1394
+ def get(self, key: str, default = None) -> Any:
1395
+ RegistrationOwnerContactExtensionEu.__key_warning(key)
1396
+ return super().get(key, default)
1397
+
1398
+ def __init__(__self__, *,
1399
+ european_citizenship: Optional[str] = None):
1400
+ """
1401
+ :param str european_citizenship: Indicates the European citizenship of the contact.
1402
+ """
1403
+ if european_citizenship is not None:
1404
+ pulumi.set(__self__, "european_citizenship", european_citizenship)
1405
+
1406
+ @property
1407
+ @pulumi.getter(name="europeanCitizenship")
1408
+ def european_citizenship(self) -> Optional[str]:
1409
+ """
1410
+ Indicates the European citizenship of the contact.
1411
+ """
1412
+ return pulumi.get(self, "european_citizenship")
1413
+
1414
+
1415
+ @pulumi.output_type
1416
+ class RegistrationOwnerContactExtensionFr(dict):
1417
+ @staticmethod
1418
+ def __key_warning(key: str):
1419
+ suggest = None
1420
+ if key == "associationInfo":
1421
+ suggest = "association_info"
1422
+ elif key == "codeAuthAfnicInfo":
1423
+ suggest = "code_auth_afnic_info"
1424
+ elif key == "dunsInfo":
1425
+ suggest = "duns_info"
1426
+ elif key == "individualInfo":
1427
+ suggest = "individual_info"
1428
+ elif key == "trademarkInfo":
1429
+ suggest = "trademark_info"
1430
+
1431
+ if suggest:
1432
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFr. Access the value via the '{suggest}' property getter instead.")
1433
+
1434
+ def __getitem__(self, key: str) -> Any:
1435
+ RegistrationOwnerContactExtensionFr.__key_warning(key)
1436
+ return super().__getitem__(key)
1437
+
1438
+ def get(self, key: str, default = None) -> Any:
1439
+ RegistrationOwnerContactExtensionFr.__key_warning(key)
1440
+ return super().get(key, default)
1441
+
1442
+ def __init__(__self__, *,
1443
+ association_info: Optional['outputs.RegistrationOwnerContactExtensionFrAssociationInfo'] = None,
1444
+ code_auth_afnic_info: Optional['outputs.RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo'] = None,
1445
+ duns_info: Optional['outputs.RegistrationOwnerContactExtensionFrDunsInfo'] = None,
1446
+ individual_info: Optional['outputs.RegistrationOwnerContactExtensionFrIndividualInfo'] = None,
1447
+ mode: Optional[str] = None,
1448
+ trademark_info: Optional['outputs.RegistrationOwnerContactExtensionFrTrademarkInfo'] = None):
1449
+ """
1450
+ :param 'RegistrationOwnerContactExtensionFrAssociationInfoArgs' association_info: Association-specific information for the domain (French extension).
1451
+ :param 'RegistrationOwnerContactExtensionFrCodeAuthAfnicInfoArgs' code_auth_afnic_info: AFNIC authorization information for the contact (French extension).
1452
+ :param 'RegistrationOwnerContactExtensionFrDunsInfoArgs' duns_info: DUNS information for the domain owner (specific to French domains).
1453
+ :param 'RegistrationOwnerContactExtensionFrIndividualInfoArgs' individual_info: Information about the individual registration for French domains.
1454
+ :param str mode: Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
1455
+ :param 'RegistrationOwnerContactExtensionFrTrademarkInfoArgs' trademark_info: Trademark-related information for the domain (French extension).
1456
+ """
1457
+ if association_info is not None:
1458
+ pulumi.set(__self__, "association_info", association_info)
1459
+ if code_auth_afnic_info is not None:
1460
+ pulumi.set(__self__, "code_auth_afnic_info", code_auth_afnic_info)
1461
+ if duns_info is not None:
1462
+ pulumi.set(__self__, "duns_info", duns_info)
1463
+ if individual_info is not None:
1464
+ pulumi.set(__self__, "individual_info", individual_info)
1465
+ if mode is not None:
1466
+ pulumi.set(__self__, "mode", mode)
1467
+ if trademark_info is not None:
1468
+ pulumi.set(__self__, "trademark_info", trademark_info)
1469
+
1470
+ @property
1471
+ @pulumi.getter(name="associationInfo")
1472
+ def association_info(self) -> Optional['outputs.RegistrationOwnerContactExtensionFrAssociationInfo']:
1473
+ """
1474
+ Association-specific information for the domain (French extension).
1475
+ """
1476
+ return pulumi.get(self, "association_info")
1477
+
1478
+ @property
1479
+ @pulumi.getter(name="codeAuthAfnicInfo")
1480
+ def code_auth_afnic_info(self) -> Optional['outputs.RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo']:
1481
+ """
1482
+ AFNIC authorization information for the contact (French extension).
1483
+ """
1484
+ return pulumi.get(self, "code_auth_afnic_info")
1485
+
1486
+ @property
1487
+ @pulumi.getter(name="dunsInfo")
1488
+ def duns_info(self) -> Optional['outputs.RegistrationOwnerContactExtensionFrDunsInfo']:
1489
+ """
1490
+ DUNS information for the domain owner (specific to French domains).
1491
+ """
1492
+ return pulumi.get(self, "duns_info")
1493
+
1494
+ @property
1495
+ @pulumi.getter(name="individualInfo")
1496
+ def individual_info(self) -> Optional['outputs.RegistrationOwnerContactExtensionFrIndividualInfo']:
1497
+ """
1498
+ Information about the individual registration for French domains.
1499
+ """
1500
+ return pulumi.get(self, "individual_info")
1501
+
1502
+ @property
1503
+ @pulumi.getter
1504
+ def mode(self) -> Optional[str]:
1505
+ """
1506
+ Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
1507
+ """
1508
+ return pulumi.get(self, "mode")
1509
+
1510
+ @property
1511
+ @pulumi.getter(name="trademarkInfo")
1512
+ def trademark_info(self) -> Optional['outputs.RegistrationOwnerContactExtensionFrTrademarkInfo']:
1513
+ """
1514
+ Trademark-related information for the domain (French extension).
1515
+ """
1516
+ return pulumi.get(self, "trademark_info")
1517
+
1518
+
1519
+ @pulumi.output_type
1520
+ class RegistrationOwnerContactExtensionFrAssociationInfo(dict):
1521
+ @staticmethod
1522
+ def __key_warning(key: str):
1523
+ suggest = None
1524
+ if key == "publicationJo":
1525
+ suggest = "publication_jo"
1526
+ elif key == "publicationJoPage":
1527
+ suggest = "publication_jo_page"
1528
+
1529
+ if suggest:
1530
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFrAssociationInfo. Access the value via the '{suggest}' property getter instead.")
1531
+
1532
+ def __getitem__(self, key: str) -> Any:
1533
+ RegistrationOwnerContactExtensionFrAssociationInfo.__key_warning(key)
1534
+ return super().__getitem__(key)
1535
+
1536
+ def get(self, key: str, default = None) -> Any:
1537
+ RegistrationOwnerContactExtensionFrAssociationInfo.__key_warning(key)
1538
+ return super().get(key, default)
1539
+
1540
+ def __init__(__self__, *,
1541
+ publication_jo: Optional[str] = None,
1542
+ publication_jo_page: Optional[int] = None):
1543
+ """
1544
+ :param str publication_jo: Publication date in the Official Journal (RFC3339 format) for association information.
1545
+ :param int publication_jo_page: Page number of the publication in the Official Journal for association information.
1546
+ """
1547
+ if publication_jo is not None:
1548
+ pulumi.set(__self__, "publication_jo", publication_jo)
1549
+ if publication_jo_page is not None:
1550
+ pulumi.set(__self__, "publication_jo_page", publication_jo_page)
1551
+
1552
+ @property
1553
+ @pulumi.getter(name="publicationJo")
1554
+ def publication_jo(self) -> Optional[str]:
1555
+ """
1556
+ Publication date in the Official Journal (RFC3339 format) for association information.
1557
+ """
1558
+ return pulumi.get(self, "publication_jo")
1559
+
1560
+ @property
1561
+ @pulumi.getter(name="publicationJoPage")
1562
+ def publication_jo_page(self) -> Optional[int]:
1563
+ """
1564
+ Page number of the publication in the Official Journal for association information.
1565
+ """
1566
+ return pulumi.get(self, "publication_jo_page")
1567
+
1568
+
1569
+ @pulumi.output_type
1570
+ class RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo(dict):
1571
+ @staticmethod
1572
+ def __key_warning(key: str):
1573
+ suggest = None
1574
+ if key == "codeAuthAfnic":
1575
+ suggest = "code_auth_afnic"
1576
+
1577
+ if suggest:
1578
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo. Access the value via the '{suggest}' property getter instead.")
1579
+
1580
+ def __getitem__(self, key: str) -> Any:
1581
+ RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
1582
+ return super().__getitem__(key)
1583
+
1584
+ def get(self, key: str, default = None) -> Any:
1585
+ RegistrationOwnerContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
1586
+ return super().get(key, default)
1587
+
1588
+ def __init__(__self__, *,
1589
+ code_auth_afnic: Optional[str] = None):
1590
+ """
1591
+ :param str code_auth_afnic: AFNIC authorization code for the contact (specific to French domains).
1592
+ """
1593
+ if code_auth_afnic is not None:
1594
+ pulumi.set(__self__, "code_auth_afnic", code_auth_afnic)
1595
+
1596
+ @property
1597
+ @pulumi.getter(name="codeAuthAfnic")
1598
+ def code_auth_afnic(self) -> Optional[str]:
1599
+ """
1600
+ AFNIC authorization code for the contact (specific to French domains).
1601
+ """
1602
+ return pulumi.get(self, "code_auth_afnic")
1603
+
1604
+
1605
+ @pulumi.output_type
1606
+ class RegistrationOwnerContactExtensionFrDunsInfo(dict):
1607
+ @staticmethod
1608
+ def __key_warning(key: str):
1609
+ suggest = None
1610
+ if key == "dunsId":
1611
+ suggest = "duns_id"
1612
+ elif key == "localId":
1613
+ suggest = "local_id"
1614
+
1615
+ if suggest:
1616
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFrDunsInfo. Access the value via the '{suggest}' property getter instead.")
1617
+
1618
+ def __getitem__(self, key: str) -> Any:
1619
+ RegistrationOwnerContactExtensionFrDunsInfo.__key_warning(key)
1620
+ return super().__getitem__(key)
1621
+
1622
+ def get(self, key: str, default = None) -> Any:
1623
+ RegistrationOwnerContactExtensionFrDunsInfo.__key_warning(key)
1624
+ return super().get(key, default)
1625
+
1626
+ def __init__(__self__, *,
1627
+ duns_id: Optional[str] = None,
1628
+ local_id: Optional[str] = None):
1629
+ """
1630
+ :param str duns_id: DUNS ID associated with the domain owner (for French domains).
1631
+ :param str local_id: Local identifier of the domain owner (for French domains).
1632
+ """
1633
+ if duns_id is not None:
1634
+ pulumi.set(__self__, "duns_id", duns_id)
1635
+ if local_id is not None:
1636
+ pulumi.set(__self__, "local_id", local_id)
1637
+
1638
+ @property
1639
+ @pulumi.getter(name="dunsId")
1640
+ def duns_id(self) -> Optional[str]:
1641
+ """
1642
+ DUNS ID associated with the domain owner (for French domains).
1643
+ """
1644
+ return pulumi.get(self, "duns_id")
1645
+
1646
+ @property
1647
+ @pulumi.getter(name="localId")
1648
+ def local_id(self) -> Optional[str]:
1649
+ """
1650
+ Local identifier of the domain owner (for French domains).
1651
+ """
1652
+ return pulumi.get(self, "local_id")
1653
+
1654
+
1655
+ @pulumi.output_type
1656
+ class RegistrationOwnerContactExtensionFrIndividualInfo(dict):
1657
+ @staticmethod
1658
+ def __key_warning(key: str):
1659
+ suggest = None
1660
+ if key == "whoisOptIn":
1661
+ suggest = "whois_opt_in"
1662
+
1663
+ if suggest:
1664
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFrIndividualInfo. Access the value via the '{suggest}' property getter instead.")
1665
+
1666
+ def __getitem__(self, key: str) -> Any:
1667
+ RegistrationOwnerContactExtensionFrIndividualInfo.__key_warning(key)
1668
+ return super().__getitem__(key)
1669
+
1670
+ def get(self, key: str, default = None) -> Any:
1671
+ RegistrationOwnerContactExtensionFrIndividualInfo.__key_warning(key)
1672
+ return super().get(key, default)
1673
+
1674
+ def __init__(__self__, *,
1675
+ whois_opt_in: Optional[bool] = None):
1676
+ """
1677
+ :param bool whois_opt_in: Whether the individual contact has opted into WHOIS publishing.
1678
+ """
1679
+ if whois_opt_in is not None:
1680
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
1681
+
1682
+ @property
1683
+ @pulumi.getter(name="whoisOptIn")
1684
+ def whois_opt_in(self) -> Optional[bool]:
1685
+ """
1686
+ Whether the individual contact has opted into WHOIS publishing.
1687
+ """
1688
+ return pulumi.get(self, "whois_opt_in")
1689
+
1690
+
1691
+ @pulumi.output_type
1692
+ class RegistrationOwnerContactExtensionFrTrademarkInfo(dict):
1693
+ @staticmethod
1694
+ def __key_warning(key: str):
1695
+ suggest = None
1696
+ if key == "trademarkInpi":
1697
+ suggest = "trademark_inpi"
1698
+
1699
+ if suggest:
1700
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationOwnerContactExtensionFrTrademarkInfo. Access the value via the '{suggest}' property getter instead.")
1701
+
1702
+ def __getitem__(self, key: str) -> Any:
1703
+ RegistrationOwnerContactExtensionFrTrademarkInfo.__key_warning(key)
1704
+ return super().__getitem__(key)
1705
+
1706
+ def get(self, key: str, default = None) -> Any:
1707
+ RegistrationOwnerContactExtensionFrTrademarkInfo.__key_warning(key)
1708
+ return super().get(key, default)
1709
+
1710
+ def __init__(__self__, *,
1711
+ trademark_inpi: Optional[str] = None):
1712
+ """
1713
+ :param str trademark_inpi: Trademark information from INPI (French extension).
1714
+ """
1715
+ if trademark_inpi is not None:
1716
+ pulumi.set(__self__, "trademark_inpi", trademark_inpi)
1717
+
1718
+ @property
1719
+ @pulumi.getter(name="trademarkInpi")
1720
+ def trademark_inpi(self) -> Optional[str]:
1721
+ """
1722
+ Trademark information from INPI (French extension).
1723
+ """
1724
+ return pulumi.get(self, "trademark_inpi")
1725
+
1726
+
1727
+ @pulumi.output_type
1728
+ class RegistrationTechnicalContact(dict):
1729
+ @staticmethod
1730
+ def __key_warning(key: str):
1731
+ suggest = None
1732
+ if key == "addressLine1":
1733
+ suggest = "address_line1"
1734
+ elif key == "companyIdentificationCode":
1735
+ suggest = "company_identification_code"
1736
+ elif key == "legalForm":
1737
+ suggest = "legal_form"
1738
+ elif key == "phoneNumber":
1739
+ suggest = "phone_number"
1740
+ elif key == "vatIdentificationCode":
1741
+ suggest = "vat_identification_code"
1742
+ elif key == "addressLine2":
1743
+ suggest = "address_line2"
1744
+ elif key == "companyName":
1745
+ suggest = "company_name"
1746
+ elif key == "emailAlt":
1747
+ suggest = "email_alt"
1748
+ elif key == "extensionEu":
1749
+ suggest = "extension_eu"
1750
+ elif key == "extensionFr":
1751
+ suggest = "extension_fr"
1752
+ elif key == "extensionNls":
1753
+ suggest = "extension_nls"
1754
+ elif key == "faxNumber":
1755
+ suggest = "fax_number"
1756
+ elif key == "whoisOptIn":
1757
+ suggest = "whois_opt_in"
1758
+
1759
+ if suggest:
1760
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContact. Access the value via the '{suggest}' property getter instead.")
1761
+
1762
+ def __getitem__(self, key: str) -> Any:
1763
+ RegistrationTechnicalContact.__key_warning(key)
1764
+ return super().__getitem__(key)
1765
+
1766
+ def get(self, key: str, default = None) -> Any:
1767
+ RegistrationTechnicalContact.__key_warning(key)
1768
+ return super().get(key, default)
1769
+
1770
+ def __init__(__self__, *,
1771
+ address_line1: str,
1772
+ city: str,
1773
+ company_identification_code: str,
1774
+ country: str,
1775
+ email: str,
1776
+ firstname: str,
1777
+ lastname: str,
1778
+ legal_form: str,
1779
+ phone_number: str,
1780
+ vat_identification_code: str,
1781
+ zip: str,
1782
+ address_line2: Optional[str] = None,
1783
+ company_name: Optional[str] = None,
1784
+ email_alt: Optional[str] = None,
1785
+ extension_eu: Optional['outputs.RegistrationTechnicalContactExtensionEu'] = None,
1786
+ extension_fr: Optional['outputs.RegistrationTechnicalContactExtensionFr'] = None,
1787
+ extension_nls: Optional[Sequence[str]] = None,
1788
+ fax_number: Optional[str] = None,
1789
+ lang: Optional[str] = None,
1790
+ resale: Optional[bool] = None,
1791
+ state: Optional[str] = None,
1792
+ whois_opt_in: Optional[bool] = None):
1793
+ """
1794
+ :param str address_line1: Primary address line for the contact.
1795
+ :param str city: City of the contact's address.
1796
+ :param str company_identification_code: Company identification code (e.g., SIREN/SIRET in France) for the contact.
1797
+ :param str country: Country code of the contact's address (ISO format).
1798
+ :param str email: Primary email address of the contact.
1799
+ :param str firstname: First name of the contact.
1800
+ :param str lastname: Last name of the contact.
1801
+ :param str legal_form: Legal form of the contact (e.g., 'individual' or 'organization').
1802
+ :param str phone_number: Primary phone number of the contact.
1803
+ :param str vat_identification_code: VAT identification code of the contact, if applicable.
1804
+ :param str zip: Postal code of the contact's address.
1805
+ :param str address_line2: Secondary address line for the contact (optional).
1806
+ :param str company_name: Name of the company associated with the contact (if applicable).
1807
+ :param str email_alt: Alternative email address for the contact.
1808
+ :param 'RegistrationTechnicalContactExtensionEuArgs' extension_eu: Details specific to European domain extensions.
1809
+ :param 'RegistrationTechnicalContactExtensionFrArgs' extension_fr: Details specific to French domain extensions.
1810
+ :param Sequence[str] extension_nls: Extension details specific to Dutch domain registrations.
1811
+ :param str fax_number: Fax number for the contact (if available).
1812
+ :param str lang: Preferred language of the contact (e.g., 'en_US', 'fr_FR').
1813
+ :param bool resale: Indicates if the contact is used for resale purposes.
1814
+ :param str state: State or region of the contact.
1815
+ :param bool whois_opt_in: Indicates whether the contact has opted into WHOIS publishing.
1816
+ """
1817
+ pulumi.set(__self__, "address_line1", address_line1)
1818
+ pulumi.set(__self__, "city", city)
1819
+ pulumi.set(__self__, "company_identification_code", company_identification_code)
1820
+ pulumi.set(__self__, "country", country)
1821
+ pulumi.set(__self__, "email", email)
1822
+ pulumi.set(__self__, "firstname", firstname)
1823
+ pulumi.set(__self__, "lastname", lastname)
1824
+ pulumi.set(__self__, "legal_form", legal_form)
1825
+ pulumi.set(__self__, "phone_number", phone_number)
1826
+ pulumi.set(__self__, "vat_identification_code", vat_identification_code)
1827
+ pulumi.set(__self__, "zip", zip)
1828
+ if address_line2 is not None:
1829
+ pulumi.set(__self__, "address_line2", address_line2)
1830
+ if company_name is not None:
1831
+ pulumi.set(__self__, "company_name", company_name)
1832
+ if email_alt is not None:
1833
+ pulumi.set(__self__, "email_alt", email_alt)
1834
+ if extension_eu is not None:
1835
+ pulumi.set(__self__, "extension_eu", extension_eu)
1836
+ if extension_fr is not None:
1837
+ pulumi.set(__self__, "extension_fr", extension_fr)
1838
+ if extension_nls is not None:
1839
+ pulumi.set(__self__, "extension_nls", extension_nls)
1840
+ if fax_number is not None:
1841
+ pulumi.set(__self__, "fax_number", fax_number)
1842
+ if lang is not None:
1843
+ pulumi.set(__self__, "lang", lang)
1844
+ if resale is not None:
1845
+ pulumi.set(__self__, "resale", resale)
1846
+ if state is not None:
1847
+ pulumi.set(__self__, "state", state)
1848
+ if whois_opt_in is not None:
1849
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
1850
+
1851
+ @property
1852
+ @pulumi.getter(name="addressLine1")
1853
+ def address_line1(self) -> str:
1854
+ """
1855
+ Primary address line for the contact.
1856
+ """
1857
+ return pulumi.get(self, "address_line1")
1858
+
1859
+ @property
1860
+ @pulumi.getter
1861
+ def city(self) -> str:
1862
+ """
1863
+ City of the contact's address.
1864
+ """
1865
+ return pulumi.get(self, "city")
1866
+
1867
+ @property
1868
+ @pulumi.getter(name="companyIdentificationCode")
1869
+ def company_identification_code(self) -> str:
1870
+ """
1871
+ Company identification code (e.g., SIREN/SIRET in France) for the contact.
1872
+ """
1873
+ return pulumi.get(self, "company_identification_code")
1874
+
1875
+ @property
1876
+ @pulumi.getter
1877
+ def country(self) -> str:
1878
+ """
1879
+ Country code of the contact's address (ISO format).
1880
+ """
1881
+ return pulumi.get(self, "country")
1882
+
1883
+ @property
1884
+ @pulumi.getter
1885
+ def email(self) -> str:
1886
+ """
1887
+ Primary email address of the contact.
1888
+ """
1889
+ return pulumi.get(self, "email")
1890
+
1891
+ @property
1892
+ @pulumi.getter
1893
+ def firstname(self) -> str:
1894
+ """
1895
+ First name of the contact.
1896
+ """
1897
+ return pulumi.get(self, "firstname")
1898
+
1899
+ @property
1900
+ @pulumi.getter
1901
+ def lastname(self) -> str:
1902
+ """
1903
+ Last name of the contact.
1904
+ """
1905
+ return pulumi.get(self, "lastname")
1906
+
1907
+ @property
1908
+ @pulumi.getter(name="legalForm")
1909
+ def legal_form(self) -> str:
1910
+ """
1911
+ Legal form of the contact (e.g., 'individual' or 'organization').
1912
+ """
1913
+ return pulumi.get(self, "legal_form")
1914
+
1915
+ @property
1916
+ @pulumi.getter(name="phoneNumber")
1917
+ def phone_number(self) -> str:
1918
+ """
1919
+ Primary phone number of the contact.
1920
+ """
1921
+ return pulumi.get(self, "phone_number")
1922
+
1923
+ @property
1924
+ @pulumi.getter(name="vatIdentificationCode")
1925
+ def vat_identification_code(self) -> str:
1926
+ """
1927
+ VAT identification code of the contact, if applicable.
1928
+ """
1929
+ return pulumi.get(self, "vat_identification_code")
1930
+
1931
+ @property
1932
+ @pulumi.getter
1933
+ def zip(self) -> str:
1934
+ """
1935
+ Postal code of the contact's address.
1936
+ """
1937
+ return pulumi.get(self, "zip")
1938
+
1939
+ @property
1940
+ @pulumi.getter(name="addressLine2")
1941
+ def address_line2(self) -> Optional[str]:
1942
+ """
1943
+ Secondary address line for the contact (optional).
1944
+ """
1945
+ return pulumi.get(self, "address_line2")
1946
+
1947
+ @property
1948
+ @pulumi.getter(name="companyName")
1949
+ def company_name(self) -> Optional[str]:
1950
+ """
1951
+ Name of the company associated with the contact (if applicable).
1952
+ """
1953
+ return pulumi.get(self, "company_name")
1954
+
1955
+ @property
1956
+ @pulumi.getter(name="emailAlt")
1957
+ def email_alt(self) -> Optional[str]:
1958
+ """
1959
+ Alternative email address for the contact.
1960
+ """
1961
+ return pulumi.get(self, "email_alt")
1962
+
1963
+ @property
1964
+ @pulumi.getter(name="extensionEu")
1965
+ def extension_eu(self) -> Optional['outputs.RegistrationTechnicalContactExtensionEu']:
1966
+ """
1967
+ Details specific to European domain extensions.
1968
+ """
1969
+ return pulumi.get(self, "extension_eu")
1970
+
1971
+ @property
1972
+ @pulumi.getter(name="extensionFr")
1973
+ def extension_fr(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFr']:
1974
+ """
1975
+ Details specific to French domain extensions.
1976
+ """
1977
+ return pulumi.get(self, "extension_fr")
1978
+
1979
+ @property
1980
+ @pulumi.getter(name="extensionNls")
1981
+ def extension_nls(self) -> Optional[Sequence[str]]:
1982
+ """
1983
+ Extension details specific to Dutch domain registrations.
1984
+ """
1985
+ return pulumi.get(self, "extension_nls")
1986
+
1987
+ @property
1988
+ @pulumi.getter(name="faxNumber")
1989
+ def fax_number(self) -> Optional[str]:
1990
+ """
1991
+ Fax number for the contact (if available).
1992
+ """
1993
+ return pulumi.get(self, "fax_number")
1994
+
1995
+ @property
1996
+ @pulumi.getter
1997
+ def lang(self) -> Optional[str]:
1998
+ """
1999
+ Preferred language of the contact (e.g., 'en_US', 'fr_FR').
2000
+ """
2001
+ return pulumi.get(self, "lang")
2002
+
2003
+ @property
2004
+ @pulumi.getter
2005
+ def resale(self) -> Optional[bool]:
2006
+ """
2007
+ Indicates if the contact is used for resale purposes.
2008
+ """
2009
+ return pulumi.get(self, "resale")
2010
+
2011
+ @property
2012
+ @pulumi.getter
2013
+ def state(self) -> Optional[str]:
2014
+ """
2015
+ State or region of the contact.
2016
+ """
2017
+ return pulumi.get(self, "state")
2018
+
2019
+ @property
2020
+ @pulumi.getter(name="whoisOptIn")
2021
+ def whois_opt_in(self) -> Optional[bool]:
2022
+ """
2023
+ Indicates whether the contact has opted into WHOIS publishing.
2024
+ """
2025
+ return pulumi.get(self, "whois_opt_in")
2026
+
2027
+
2028
+ @pulumi.output_type
2029
+ class RegistrationTechnicalContactExtensionEu(dict):
2030
+ @staticmethod
2031
+ def __key_warning(key: str):
2032
+ suggest = None
2033
+ if key == "europeanCitizenship":
2034
+ suggest = "european_citizenship"
2035
+
2036
+ if suggest:
2037
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionEu. Access the value via the '{suggest}' property getter instead.")
2038
+
2039
+ def __getitem__(self, key: str) -> Any:
2040
+ RegistrationTechnicalContactExtensionEu.__key_warning(key)
2041
+ return super().__getitem__(key)
2042
+
2043
+ def get(self, key: str, default = None) -> Any:
2044
+ RegistrationTechnicalContactExtensionEu.__key_warning(key)
2045
+ return super().get(key, default)
2046
+
2047
+ def __init__(__self__, *,
2048
+ european_citizenship: Optional[str] = None):
2049
+ """
2050
+ :param str european_citizenship: Indicates the European citizenship of the contact.
2051
+ """
2052
+ if european_citizenship is not None:
2053
+ pulumi.set(__self__, "european_citizenship", european_citizenship)
2054
+
2055
+ @property
2056
+ @pulumi.getter(name="europeanCitizenship")
2057
+ def european_citizenship(self) -> Optional[str]:
2058
+ """
2059
+ Indicates the European citizenship of the contact.
2060
+ """
2061
+ return pulumi.get(self, "european_citizenship")
2062
+
2063
+
2064
+ @pulumi.output_type
2065
+ class RegistrationTechnicalContactExtensionFr(dict):
2066
+ @staticmethod
2067
+ def __key_warning(key: str):
2068
+ suggest = None
2069
+ if key == "associationInfo":
2070
+ suggest = "association_info"
2071
+ elif key == "codeAuthAfnicInfo":
2072
+ suggest = "code_auth_afnic_info"
2073
+ elif key == "dunsInfo":
2074
+ suggest = "duns_info"
2075
+ elif key == "individualInfo":
2076
+ suggest = "individual_info"
2077
+ elif key == "trademarkInfo":
2078
+ suggest = "trademark_info"
2079
+
2080
+ if suggest:
2081
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFr. Access the value via the '{suggest}' property getter instead.")
2082
+
2083
+ def __getitem__(self, key: str) -> Any:
2084
+ RegistrationTechnicalContactExtensionFr.__key_warning(key)
2085
+ return super().__getitem__(key)
2086
+
2087
+ def get(self, key: str, default = None) -> Any:
2088
+ RegistrationTechnicalContactExtensionFr.__key_warning(key)
2089
+ return super().get(key, default)
2090
+
2091
+ def __init__(__self__, *,
2092
+ association_info: Optional['outputs.RegistrationTechnicalContactExtensionFrAssociationInfo'] = None,
2093
+ code_auth_afnic_info: Optional['outputs.RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo'] = None,
2094
+ duns_info: Optional['outputs.RegistrationTechnicalContactExtensionFrDunsInfo'] = None,
2095
+ individual_info: Optional['outputs.RegistrationTechnicalContactExtensionFrIndividualInfo'] = None,
2096
+ mode: Optional[str] = None,
2097
+ trademark_info: Optional['outputs.RegistrationTechnicalContactExtensionFrTrademarkInfo'] = None):
2098
+ """
2099
+ :param 'RegistrationTechnicalContactExtensionFrAssociationInfoArgs' association_info: Association-specific information for the domain (French extension).
2100
+ :param 'RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfoArgs' code_auth_afnic_info: AFNIC authorization information for the contact (French extension).
2101
+ :param 'RegistrationTechnicalContactExtensionFrDunsInfoArgs' duns_info: DUNS information for the domain owner (specific to French domains).
2102
+ :param 'RegistrationTechnicalContactExtensionFrIndividualInfoArgs' individual_info: Information about the individual registration for French domains.
2103
+ :param str mode: Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
2104
+ :param 'RegistrationTechnicalContactExtensionFrTrademarkInfoArgs' trademark_info: Trademark-related information for the domain (French extension).
2105
+ """
2106
+ if association_info is not None:
2107
+ pulumi.set(__self__, "association_info", association_info)
2108
+ if code_auth_afnic_info is not None:
2109
+ pulumi.set(__self__, "code_auth_afnic_info", code_auth_afnic_info)
2110
+ if duns_info is not None:
2111
+ pulumi.set(__self__, "duns_info", duns_info)
2112
+ if individual_info is not None:
2113
+ pulumi.set(__self__, "individual_info", individual_info)
2114
+ if mode is not None:
2115
+ pulumi.set(__self__, "mode", mode)
2116
+ if trademark_info is not None:
2117
+ pulumi.set(__self__, "trademark_info", trademark_info)
2118
+
2119
+ @property
2120
+ @pulumi.getter(name="associationInfo")
2121
+ def association_info(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFrAssociationInfo']:
2122
+ """
2123
+ Association-specific information for the domain (French extension).
2124
+ """
2125
+ return pulumi.get(self, "association_info")
2126
+
2127
+ @property
2128
+ @pulumi.getter(name="codeAuthAfnicInfo")
2129
+ def code_auth_afnic_info(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo']:
2130
+ """
2131
+ AFNIC authorization information for the contact (French extension).
2132
+ """
2133
+ return pulumi.get(self, "code_auth_afnic_info")
2134
+
2135
+ @property
2136
+ @pulumi.getter(name="dunsInfo")
2137
+ def duns_info(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFrDunsInfo']:
2138
+ """
2139
+ DUNS information for the domain owner (specific to French domains).
2140
+ """
2141
+ return pulumi.get(self, "duns_info")
2142
+
2143
+ @property
2144
+ @pulumi.getter(name="individualInfo")
2145
+ def individual_info(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFrIndividualInfo']:
2146
+ """
2147
+ Information about the individual registration for French domains.
2148
+ """
2149
+ return pulumi.get(self, "individual_info")
2150
+
2151
+ @property
2152
+ @pulumi.getter
2153
+ def mode(self) -> Optional[str]:
2154
+ """
2155
+ Mode of the French extension (e.g., 'individual', 'duns', 'association', etc.).
2156
+ """
2157
+ return pulumi.get(self, "mode")
2158
+
2159
+ @property
2160
+ @pulumi.getter(name="trademarkInfo")
2161
+ def trademark_info(self) -> Optional['outputs.RegistrationTechnicalContactExtensionFrTrademarkInfo']:
2162
+ """
2163
+ Trademark-related information for the domain (French extension).
2164
+ """
2165
+ return pulumi.get(self, "trademark_info")
2166
+
2167
+
2168
+ @pulumi.output_type
2169
+ class RegistrationTechnicalContactExtensionFrAssociationInfo(dict):
2170
+ @staticmethod
2171
+ def __key_warning(key: str):
2172
+ suggest = None
2173
+ if key == "publicationJo":
2174
+ suggest = "publication_jo"
2175
+ elif key == "publicationJoPage":
2176
+ suggest = "publication_jo_page"
2177
+
2178
+ if suggest:
2179
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFrAssociationInfo. Access the value via the '{suggest}' property getter instead.")
2180
+
2181
+ def __getitem__(self, key: str) -> Any:
2182
+ RegistrationTechnicalContactExtensionFrAssociationInfo.__key_warning(key)
2183
+ return super().__getitem__(key)
2184
+
2185
+ def get(self, key: str, default = None) -> Any:
2186
+ RegistrationTechnicalContactExtensionFrAssociationInfo.__key_warning(key)
2187
+ return super().get(key, default)
2188
+
2189
+ def __init__(__self__, *,
2190
+ publication_jo: Optional[str] = None,
2191
+ publication_jo_page: Optional[int] = None):
2192
+ """
2193
+ :param str publication_jo: Publication date in the Official Journal (RFC3339 format) for association information.
2194
+ :param int publication_jo_page: Page number of the publication in the Official Journal for association information.
2195
+ """
2196
+ if publication_jo is not None:
2197
+ pulumi.set(__self__, "publication_jo", publication_jo)
2198
+ if publication_jo_page is not None:
2199
+ pulumi.set(__self__, "publication_jo_page", publication_jo_page)
2200
+
2201
+ @property
2202
+ @pulumi.getter(name="publicationJo")
2203
+ def publication_jo(self) -> Optional[str]:
2204
+ """
2205
+ Publication date in the Official Journal (RFC3339 format) for association information.
2206
+ """
2207
+ return pulumi.get(self, "publication_jo")
2208
+
2209
+ @property
2210
+ @pulumi.getter(name="publicationJoPage")
2211
+ def publication_jo_page(self) -> Optional[int]:
2212
+ """
2213
+ Page number of the publication in the Official Journal for association information.
2214
+ """
2215
+ return pulumi.get(self, "publication_jo_page")
2216
+
2217
+
2218
+ @pulumi.output_type
2219
+ class RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo(dict):
2220
+ @staticmethod
2221
+ def __key_warning(key: str):
2222
+ suggest = None
2223
+ if key == "codeAuthAfnic":
2224
+ suggest = "code_auth_afnic"
2225
+
2226
+ if suggest:
2227
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo. Access the value via the '{suggest}' property getter instead.")
2228
+
2229
+ def __getitem__(self, key: str) -> Any:
2230
+ RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
2231
+ return super().__getitem__(key)
2232
+
2233
+ def get(self, key: str, default = None) -> Any:
2234
+ RegistrationTechnicalContactExtensionFrCodeAuthAfnicInfo.__key_warning(key)
2235
+ return super().get(key, default)
2236
+
2237
+ def __init__(__self__, *,
2238
+ code_auth_afnic: Optional[str] = None):
2239
+ """
2240
+ :param str code_auth_afnic: AFNIC authorization code for the contact (specific to French domains).
2241
+ """
2242
+ if code_auth_afnic is not None:
2243
+ pulumi.set(__self__, "code_auth_afnic", code_auth_afnic)
2244
+
2245
+ @property
2246
+ @pulumi.getter(name="codeAuthAfnic")
2247
+ def code_auth_afnic(self) -> Optional[str]:
2248
+ """
2249
+ AFNIC authorization code for the contact (specific to French domains).
2250
+ """
2251
+ return pulumi.get(self, "code_auth_afnic")
2252
+
2253
+
2254
+ @pulumi.output_type
2255
+ class RegistrationTechnicalContactExtensionFrDunsInfo(dict):
2256
+ @staticmethod
2257
+ def __key_warning(key: str):
2258
+ suggest = None
2259
+ if key == "dunsId":
2260
+ suggest = "duns_id"
2261
+ elif key == "localId":
2262
+ suggest = "local_id"
2263
+
2264
+ if suggest:
2265
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFrDunsInfo. Access the value via the '{suggest}' property getter instead.")
2266
+
2267
+ def __getitem__(self, key: str) -> Any:
2268
+ RegistrationTechnicalContactExtensionFrDunsInfo.__key_warning(key)
2269
+ return super().__getitem__(key)
2270
+
2271
+ def get(self, key: str, default = None) -> Any:
2272
+ RegistrationTechnicalContactExtensionFrDunsInfo.__key_warning(key)
2273
+ return super().get(key, default)
2274
+
2275
+ def __init__(__self__, *,
2276
+ duns_id: Optional[str] = None,
2277
+ local_id: Optional[str] = None):
2278
+ """
2279
+ :param str duns_id: DUNS ID associated with the domain owner (for French domains).
2280
+ :param str local_id: Local identifier of the domain owner (for French domains).
2281
+ """
2282
+ if duns_id is not None:
2283
+ pulumi.set(__self__, "duns_id", duns_id)
2284
+ if local_id is not None:
2285
+ pulumi.set(__self__, "local_id", local_id)
2286
+
2287
+ @property
2288
+ @pulumi.getter(name="dunsId")
2289
+ def duns_id(self) -> Optional[str]:
2290
+ """
2291
+ DUNS ID associated with the domain owner (for French domains).
2292
+ """
2293
+ return pulumi.get(self, "duns_id")
2294
+
2295
+ @property
2296
+ @pulumi.getter(name="localId")
2297
+ def local_id(self) -> Optional[str]:
2298
+ """
2299
+ Local identifier of the domain owner (for French domains).
2300
+ """
2301
+ return pulumi.get(self, "local_id")
2302
+
2303
+
2304
+ @pulumi.output_type
2305
+ class RegistrationTechnicalContactExtensionFrIndividualInfo(dict):
2306
+ @staticmethod
2307
+ def __key_warning(key: str):
2308
+ suggest = None
2309
+ if key == "whoisOptIn":
2310
+ suggest = "whois_opt_in"
2311
+
2312
+ if suggest:
2313
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFrIndividualInfo. Access the value via the '{suggest}' property getter instead.")
2314
+
2315
+ def __getitem__(self, key: str) -> Any:
2316
+ RegistrationTechnicalContactExtensionFrIndividualInfo.__key_warning(key)
2317
+ return super().__getitem__(key)
2318
+
2319
+ def get(self, key: str, default = None) -> Any:
2320
+ RegistrationTechnicalContactExtensionFrIndividualInfo.__key_warning(key)
2321
+ return super().get(key, default)
2322
+
2323
+ def __init__(__self__, *,
2324
+ whois_opt_in: Optional[bool] = None):
2325
+ """
2326
+ :param bool whois_opt_in: Whether the individual contact has opted into WHOIS publishing.
2327
+ """
2328
+ if whois_opt_in is not None:
2329
+ pulumi.set(__self__, "whois_opt_in", whois_opt_in)
2330
+
2331
+ @property
2332
+ @pulumi.getter(name="whoisOptIn")
2333
+ def whois_opt_in(self) -> Optional[bool]:
2334
+ """
2335
+ Whether the individual contact has opted into WHOIS publishing.
2336
+ """
2337
+ return pulumi.get(self, "whois_opt_in")
2338
+
2339
+
2340
+ @pulumi.output_type
2341
+ class RegistrationTechnicalContactExtensionFrTrademarkInfo(dict):
2342
+ @staticmethod
2343
+ def __key_warning(key: str):
2344
+ suggest = None
2345
+ if key == "trademarkInpi":
2346
+ suggest = "trademark_inpi"
2347
+
2348
+ if suggest:
2349
+ pulumi.log.warn(f"Key '{key}' not found in RegistrationTechnicalContactExtensionFrTrademarkInfo. Access the value via the '{suggest}' property getter instead.")
2350
+
2351
+ def __getitem__(self, key: str) -> Any:
2352
+ RegistrationTechnicalContactExtensionFrTrademarkInfo.__key_warning(key)
2353
+ return super().__getitem__(key)
2354
+
2355
+ def get(self, key: str, default = None) -> Any:
2356
+ RegistrationTechnicalContactExtensionFrTrademarkInfo.__key_warning(key)
2357
+ return super().get(key, default)
2358
+
2359
+ def __init__(__self__, *,
2360
+ trademark_inpi: Optional[str] = None):
2361
+ """
2362
+ :param str trademark_inpi: Trademark information from INPI (French extension).
2363
+ """
2364
+ if trademark_inpi is not None:
2365
+ pulumi.set(__self__, "trademark_inpi", trademark_inpi)
2366
+
2367
+ @property
2368
+ @pulumi.getter(name="trademarkInpi")
2369
+ def trademark_inpi(self) -> Optional[str]:
2370
+ """
2371
+ Trademark information from INPI (French extension).
2372
+ """
2373
+ return pulumi.get(self, "trademark_inpi")
2374
+
2375
+
2376
+ @pulumi.output_type
2377
+ class GetRecordGeoIpResult(dict):
2378
+ def __init__(__self__, *,
2379
+ matches: Sequence['outputs.GetRecordGeoIpMatchResult']):
2380
+ """
2381
+ :param Sequence['GetRecordGeoIpMatchArgs'] matches: The list of matches
2382
+ """
2383
+ pulumi.set(__self__, "matches", matches)
2384
+
2385
+ @property
2386
+ @pulumi.getter
2387
+ def matches(self) -> Sequence['outputs.GetRecordGeoIpMatchResult']:
2388
+ """
2389
+ The list of matches
2390
+ """
2391
+ return pulumi.get(self, "matches")
2392
+
2393
+
2394
+ @pulumi.output_type
2395
+ class GetRecordGeoIpMatchResult(dict):
2396
+ def __init__(__self__, *,
2397
+ continents: Sequence[str],
2398
+ countries: Sequence[str],
2399
+ data: str):
2400
+ """
2401
+ :param Sequence[str] continents: List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
2402
+ :param Sequence[str] countries: List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
2403
+ :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
2404
+ """
2405
+ pulumi.set(__self__, "continents", continents)
2406
+ pulumi.set(__self__, "countries", countries)
2407
+ pulumi.set(__self__, "data", data)
2408
+
2409
+ @property
2410
+ @pulumi.getter
2411
+ def continents(self) -> Sequence[str]:
2412
+ """
2413
+ List of continents (eg: EU for Europe, NA for North America, AS for Asia...). List of all continents code: https://api.scaleway.com/domain-private/v2beta1/continents
2414
+ """
2415
+ return pulumi.get(self, "continents")
2416
+
2417
+ @property
2418
+ @pulumi.getter
2419
+ def countries(self) -> Sequence[str]:
2420
+ """
2421
+ List of countries (eg: FR for France, US for the United States, GB for Great Britain...). List of all countries code: https://api.scaleway.com/domain-private/v2beta1/countries
2422
+ """
2423
+ return pulumi.get(self, "countries")
2424
+
2425
+ @property
2426
+ @pulumi.getter
2427
+ def data(self) -> str:
2428
+ """
2429
+ The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
2430
+ """
2431
+ return pulumi.get(self, "data")
2432
+
2433
+
2434
+ @pulumi.output_type
2435
+ class GetRecordHttpServiceResult(dict):
2436
+ def __init__(__self__, *,
2437
+ ips: Sequence[str],
2438
+ must_contain: str,
2439
+ strategy: str,
2440
+ url: str,
2441
+ user_agent: str):
2442
+ """
2443
+ :param Sequence[str] ips: IPs to check
2444
+ :param str must_contain: Text to search
2445
+ :param str strategy: Strategy to return an IP from the IPs list
2446
+ :param str url: URL to match the must_contain text to validate an IP
2447
+ :param str user_agent: User-agent used when checking the URL
2448
+ """
2449
+ pulumi.set(__self__, "ips", ips)
2450
+ pulumi.set(__self__, "must_contain", must_contain)
2451
+ pulumi.set(__self__, "strategy", strategy)
2452
+ pulumi.set(__self__, "url", url)
2453
+ pulumi.set(__self__, "user_agent", user_agent)
2454
+
2455
+ @property
2456
+ @pulumi.getter
2457
+ def ips(self) -> Sequence[str]:
2458
+ """
2459
+ IPs to check
2460
+ """
2461
+ return pulumi.get(self, "ips")
2462
+
2463
+ @property
2464
+ @pulumi.getter(name="mustContain")
2465
+ def must_contain(self) -> str:
2466
+ """
2467
+ Text to search
2468
+ """
2469
+ return pulumi.get(self, "must_contain")
2470
+
2471
+ @property
2472
+ @pulumi.getter
2473
+ def strategy(self) -> str:
2474
+ """
2475
+ Strategy to return an IP from the IPs list
2476
+ """
2477
+ return pulumi.get(self, "strategy")
2478
+
2479
+ @property
2480
+ @pulumi.getter
2481
+ def url(self) -> str:
2482
+ """
2483
+ URL to match the must_contain text to validate an IP
2484
+ """
2485
+ return pulumi.get(self, "url")
2486
+
2487
+ @property
2488
+ @pulumi.getter(name="userAgent")
2489
+ def user_agent(self) -> str:
2490
+ """
2491
+ User-agent used when checking the URL
2492
+ """
2493
+ return pulumi.get(self, "user_agent")
2494
+
2495
+
2496
+ @pulumi.output_type
2497
+ class GetRecordViewResult(dict):
2498
+ def __init__(__self__, *,
2499
+ data: str,
2500
+ subnet: str):
2501
+ """
2502
+ :param str data: The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
2503
+ :param str subnet: The subnet of the view
2504
+ """
2505
+ pulumi.set(__self__, "data", data)
2506
+ pulumi.set(__self__, "subnet", subnet)
2507
+
2508
+ @property
2509
+ @pulumi.getter
2510
+ def data(self) -> str:
2511
+ """
2512
+ The content of the record (e.g., an IPv4 address for an `A` record or a string for a `TXT` record). Cannot be used with `record_id`.
2513
+ """
2514
+ return pulumi.get(self, "data")
2515
+
2516
+ @property
2517
+ @pulumi.getter
2518
+ def subnet(self) -> str:
2519
+ """
2520
+ The subnet of the view
2521
+ """
2522
+ return pulumi.get(self, "subnet")
2523
+
2524
+
2525
+ @pulumi.output_type
2526
+ class GetRecordWeightedResult(dict):
2527
+ def __init__(__self__, *,
2528
+ ip: str,
2529
+ weight: int):
2530
+ """
2531
+ :param str ip: The weighted IP
2532
+ :param int weight: The weight of the IP
2533
+ """
2534
+ pulumi.set(__self__, "ip", ip)
2535
+ pulumi.set(__self__, "weight", weight)
2536
+
2537
+ @property
2538
+ @pulumi.getter
2539
+ def ip(self) -> str:
2540
+ """
2541
+ The weighted IP
2542
+ """
2543
+ return pulumi.get(self, "ip")
2544
+
2545
+ @property
2546
+ @pulumi.getter
2547
+ def weight(self) -> int:
2548
+ """
2549
+ The weight of the IP
2550
+ """
2551
+ return pulumi.get(self, "weight")
2552
+
2553
+